Class IntOperation
java.lang.Object
ValueBase
FunctionBase
PrimitiveFunction
IntOperation
- All Implemented Interfaces:
- Function, Value
public abstract class IntOperation
- extends PrimitiveFunction
An abstract base class for integer arithmetic functions such as
+. These functions are all "curried", which means that they expect
one argument (the left operand) and then produce a new function
which in turn expects one argument (the right operand) before
producing the final result of the arithmetic. This is necessary
because we are requiring all functions to take just one argument.
Method Summary |
Value |
apply(Value arg1)
Apply this function to a specified argument Value. |
abstract int |
compute(int i1,
int i2)
This method should be implemented in each concrete subclass. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface Value |
as |
IntOperation
public IntOperation()
compute
public abstract int compute(int i1,
int i2)
- This method should be implemented in each concrete subclass.
This is where the actual operation takes place, whether that
be +, -, or whatnot.
- Parameters:
i1
- the left operandi2
- the right operand
- Returns:
- the result of the computation on i1 and i2
apply
public Value apply(Value arg1)
- Description copied from interface:
Function
- Apply this function to a specified argument Value.
- Parameters:
arg1
- the argument Value
- Returns:
- the result Value from the function application.