Package com.singularsys.jep.functions
Class Average
- java.lang.Object
-
- com.singularsys.jep.functions.PostfixMathCommand
-
- com.singularsys.jep.functions.ArrayFunctionBase
-
- com.singularsys.jep.functions.Average
-
- All Implemented Interfaces:
PostfixMathCommandI
,RealUnaryFunction
,java.io.Serializable
public class Average extends ArrayFunctionBase implements RealUnaryFunction
Average function class, calculates the average of all its arguments.Since Jep 3.4 this function will flatten its arguments so
avg([1,[2,3]])
will be 2.- Since:
- 3.1.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.singularsys.jep.functions.ArrayFunctionBase
ArrayFunctionBase.ZeroLengthErrorBehaviour
-
-
Field Summary
Fields Modifier and Type Field Description protected Add
add
Function used to add pairs of elementsprotected Divide
div
Function used to divide sum of elements by the number of elements-
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
average(java.util.List<java.lang.Object> vals)
Returns the average of a set of values.protected java.lang.Object
calc(java.util.List<java.lang.Object> v)
Called by the run method, default is to callaverage(List)
but subclasses can override.double
evaluate(double val)
Just returns its argument.-
Methods inherited from class com.singularsys.jep.functions.ArrayFunctionBase
addToArray, checkNumberOfParameters, getZeroLengthErrorBehaviour, run, setZeroLengthErrorBehaviour, throwAtLeastOneExcep
-
Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString, toString
-
-
-
-
Method Detail
-
calc
protected java.lang.Object calc(java.util.List<java.lang.Object> v) throws EvaluationException
Called by the run method, default is to callaverage(List)
but subclasses can override.- Specified by:
calc
in classArrayFunctionBase
- Parameters:
v
- a list of objects to calculate the average of.- Returns:
- result of calculation
- Throws:
EvaluationException
- if the calculation cannot be performed- Since:
- 3.4.0
-
average
public java.lang.Object average(java.util.List<java.lang.Object> vals) throws EvaluationException
Returns the average of a set of values. Depends on the Add and Divide classes to perform the calculation.- Parameters:
vals
- Values to be averaged- Returns:
- the average of the values
- Throws:
EvaluationException
- if the calculation cannot be performed
-
evaluate
public double evaluate(double val)
Just returns its argument.- Specified by:
evaluate
in interfaceRealUnaryFunction
-
-