Class MultiOperandNumericFunction
java.lang.Object
org.apache.poi.ss.formula.functions.MultiOperandNumericFunction
- All Implemented Interfaces:
Function
- Direct Known Subclasses:
AggregateFunction
,MatrixFunction.MutableValueCollector
,MinaMaxa
,Mirr
This is the super class for all excel function evaluator
classes that take variable number of operands, and
where the order of operands does not matter
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
MultiOperandNumericFunction
(boolean isReferenceBoolCounted, boolean isBlankCounted) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract double
evaluate
(double[] values) final ValueEval
protected int
Maximum number of operands accepted by this function.protected final double[]
getNumberArray
(ValueEval[] operands) Returns a double array that contains values for the numeric cells from among the list of operands.boolean
Whether to count nested subtotals.
-
Constructor Details
-
MultiOperandNumericFunction
protected MultiOperandNumericFunction(boolean isReferenceBoolCounted, boolean isBlankCounted)
-
-
Method Details
-
evaluate
- Specified by:
evaluate
in interfaceFunction
- Parameters:
args
- the evaluated function arguments. Empty values are represented withBlankEval
orMissingArgEval
, nevernull
.srcCellRow
- row index of the cell containing the formula under evaluationsrcCellCol
- column index of the cell containing the formula under evaluation- Returns:
- The evaluated result, possibly an
ErrorEval
, nevernull
. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate toDouble.NaN
be sure to translate the result toErrorEval.NUM_ERROR
.
-
evaluate
- Throws:
EvaluationException
-
getMaxNumOperands
protected int getMaxNumOperands()Maximum number of operands accepted by this function. Subclasses may override to change default value. -
getNumberArray
Returns a double array that contains values for the numeric cells from among the list of operands. Blanks and Blank equivalent cells are ignored. Error operands or cells containing operands of type that are considered invalid and would result in #VALUE! error in excel cause this function to returnnull
.- Returns:
- never
null
- Throws:
EvaluationException
-
isSubtotalCounted
public boolean isSubtotalCounted()Whether to count nested subtotals.
-