Package com.singularsys.jep.functions
Class NullaryFunction
- java.lang.Object
-
- com.singularsys.jep.functions.PostfixMathCommand
-
- com.singularsys.jep.functions.NullaryFunction
-
- All Implemented Interfaces:
PostfixMathCommandI
,java.io.Serializable
- Direct Known Subclasses:
ConstantFunction
,JepTest.MyNullary
,LightWeightComponentSetTest.NonThreadSafeFunction
,Random
,ThreadSafeRandom
public abstract class NullaryFunction extends PostfixMathCommand
Convenient base class for zero-argument nullary functions, likerandom()
. Defines anObject eval()
method for calculating the result.- Since:
- 3.5
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
-
-
Constructor Summary
Constructors Constructor Description NullaryFunction()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.lang.Object
eval()
Evaluate the functionstatic NullaryFunction
instanceOf(java.util.function.Supplier<? super java.lang.Object> fun)
Create a NullaryFunction from a lambda expression.void
run(java.util.Stack<java.lang.Object> stack)
Callseval()
-
Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkNumberOfParameters, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString, toString
-
-
-
-
Method Detail
-
run
public void run(java.util.Stack<java.lang.Object> stack) throws EvaluationException
Callseval()
- Specified by:
run
in interfacePostfixMathCommandI
- Overrides:
run
in classPostfixMathCommand
- Parameters:
stack
- arguments for function- Throws:
EvaluationException
- if function cannot be evaluated
-
eval
public abstract java.lang.Object eval() throws EvaluationException
Evaluate the function- Returns:
- value of the function
- Throws:
EvaluationException
-
instanceOf
public static NullaryFunction instanceOf(java.util.function.Supplier<? super java.lang.Object> fun)
Create a NullaryFunction from a lambda expression. For exampleNullaryFunction.instanceOf(() -> Math.sqrt(2.0)
- Parameters:
fun
- the lambda function- Returns:
- a new NullaryFunction instance
- Since:
- Jep 4.0
-
-