Switch add and multiply to two parameters.

This commit is contained in:
Danila Fedorin 2017-08-29 18:31:47 -07:00
parent 337a38a07d
commit ae0ec0c375
1 changed files with 4 additions and 12 deletions

View File

@ -21,16 +21,12 @@ public class StandardPlugin extends Plugin {
public static final NumberOperator OP_ADD = new NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 0) { public static final NumberOperator OP_ADD = new NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 0) {
@Override @Override
public boolean matchesParams(NumberInterface[] params) { public boolean matchesParams(NumberInterface[] params) {
return params.length >= 1; return params.length == 2;
} }
@Override @Override
public NumberInterface applyInternal(NumberInterface[] params) { public NumberInterface applyInternal(NumberInterface[] params) {
NumberInterface sum = params[0]; return params[0].add(params[1]);
for (int i = 1; i < params.length; i++) {
sum = sum.add(params[i]);
}
return sum;
} }
}; };
/** /**
@ -68,16 +64,12 @@ public class StandardPlugin extends Plugin {
public static final NumberOperator OP_MULTIPLY = new NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) { public static final NumberOperator OP_MULTIPLY = new NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
@Override @Override
public boolean matchesParams(NumberInterface[] params) { public boolean matchesParams(NumberInterface[] params) {
return params.length >= 1; return params.length == 2;
} }
@Override @Override
public NumberInterface applyInternal(NumberInterface[] params) { public NumberInterface applyInternal(NumberInterface[] params) {
NumberInterface product = params[0]; return params[0].multiply(params[1]);
for (int i = 1; i < params.length; i++) {
product = product.multiply(params[i]);
}
return product;
} }
}; };
/** /**