Class MultiOperandNumericFunction

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected MultiOperandNumericFunction​(boolean isReferenceBoolCounted, boolean isBlankCounted)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract double evaluate​(double[] values)  
      ValueEval evaluate​(ValueEval[] args, int srcCellRow, int srcCellCol)  
      protected int getMaxNumOperands()
      Maximum number of operands accepted by this function.
      protected double[] getNumberArray​(ValueEval[] operands)
      Returns a double array that contains values for the numeric cells from among the list of operands.
      boolean isSubtotalCounted()
      Whether to count nested subtotals.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MultiOperandNumericFunction

        protected MultiOperandNumericFunction​(boolean isReferenceBoolCounted,
                                              boolean isBlankCounted)
    • Method Detail

      • evaluate

        public final ValueEval evaluate​(ValueEval[] args,
                                        int srcCellRow,
                                        int srcCellCol)
        Specified by:
        evaluate in interface Function
        Parameters:
        args - the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval, never null.
        srcCellRow - row index of the cell containing the formula under evaluation
        srcCellCol - column index of the cell containing the formula under evaluation
        Returns:
        The evaluated result, possibly an ErrorEval, never null. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate to Double.NaN be sure to translate the result to ErrorEval.NUM_ERROR.
      • getMaxNumOperands

        protected int getMaxNumOperands()
        Maximum number of operands accepted by this function. Subclasses may override to change default value.
      • getNumberArray

        protected final double[] getNumberArray​(ValueEval[] operands)
                                         throws EvaluationException
        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 return null.
        Returns:
        never null
        Throws:
        EvaluationException
      • isSubtotalCounted

        public boolean isSubtotalCounted()
        Whether to count nested subtotals.