org.apache.poi.ss.formula.functions

## Interface ArrayFunction

- All Known Implementing Classes:
    BooleanFunction, IfFunc, LogicalFunction, RelationalOperationEval, TwoOperandNumericOperation, UnaryMinusEval, UnaryPlusEval

      public interface ArrayFunction

  Author:
    Robert Hulbert Common Interface for any excel built-in function that has implemented array formula functionality.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `ValueEval` | `evaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex)`
    `default ValueEval` | `evaluateOneArrayArg(ValueEval arg0, int srcRowIndex, int srcColumnIndex, java.util.function.Function<ValueEval,ValueEval> evalFunc)`
    `default ValueEval` | `evaluateTwoArrayArgs(ValueEval arg0, ValueEval arg1, int srcRowIndex, int srcColumnIndex, java.util.function.BiFunction<ValueEval,ValueEval,ValueEval> evalFunc)` Evaluate an array function with two arguments.

- - ### Method Detail

    - #### evaluateArray

          ValueEval evaluateArray(ValueEval[] args,
                                  int srcRowIndex,
                                  int srcColumnIndex)

      Parameters:
        `args` - the evaluated function arguments. Empty values are represented with `BlankEval` or `MissingArgEval`, never `null`.
        `srcRowIndex` - row index of the cell containing the formula under evaluation
        `srcColumnIndex` - 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`.

    - #### evaluateTwoArrayArgs

          default ValueEval evaluateTwoArrayArgs(ValueEval arg0,
                                                 ValueEval arg1,
                                                 int srcRowIndex,
                                                 int srcColumnIndex,
                                                 java.util.function.BiFunction<ValueEval,ValueEval,ValueEval> evalFunc)

      Evaluate an array function with two arguments.
      Parameters:
        `arg0` - the first function argument. Empty values are represented with `BlankEval` or `MissingArgEval`, never `null`
        `arg1` - the first function argument. Empty values are represented with
        `srcRowIndex` - row index of the cell containing the formula under evaluation
        `srcColumnIndex` - 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`.

    - #### evaluateOneArrayArg

          default ValueEval evaluateOneArrayArg(ValueEval arg0,
                                                int srcRowIndex,
                                                int srcColumnIndex,
                                                java.util.function.Function<ValueEval,ValueEval> evalFunc)

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.