## Uses of Class
org.apache.sysds.runtime.functionobjects.ValueFunction

- Packages that use ValueFunction
  Package | Description
  --- | ---
  org.apache.sysds.runtime.codegen |
  org.apache.sysds.runtime.compress.colgroup.dictionary |
  org.apache.sysds.runtime.functionobjects |
  org.apache.sysds.runtime.matrix.data |
  org.apache.sysds.runtime.matrix.operators |

- - ### Uses of ValueFunction in org.apache.sysds.runtime.codegen

    Methods in org.apache.sysds.runtime.codegen that return ValueFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ValueFunction[]` | SpoofMultiAggregate.`getAggFunctions​(SpoofCellwise.AggOp[] aggOps)` |

  - ### Uses of ValueFunction in org.apache.sysds.runtime.compress.colgroup.dictionary

    Methods in org.apache.sysds.runtime.compress.colgroup.dictionary with parameters of type ValueFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `CM_COV_Object` | ADictionary.`centralMoment​(ValueFunction fn, int[] counts, int nRows)` | Central moment function to calculate the central moment of this column group.
    `abstract CM_COV_Object` | ADictionary.`centralMoment​(CM_COV_Object ret, ValueFunction fn, int[] counts, int nRows)` | Central moment function to calculate the central moment of this column group.
    `CM_COV_Object` | Dictionary.`centralMoment​(CM_COV_Object ret, ValueFunction fn, int[] counts, int nRows)` |
    `CM_COV_Object` | MatrixBlockDictionary.`centralMoment​(CM_COV_Object ret, ValueFunction fn, int[] counts, int nRows)` |
    `CM_COV_Object` | QDictionary.`centralMoment​(CM_COV_Object ret, ValueFunction fn, int[] counts, int nRows)` |
    `CM_COV_Object` | ADictionary.`centralMomentWithReference​(ValueFunction fn, int[] counts, double reference, int nRows)` | Central moment function to calculate the central moment of this column group with a reference offset on each tuple.
    `abstract CM_COV_Object` | ADictionary.`centralMomentWithReference​(CM_COV_Object ret, ValueFunction fn, int[] counts, double reference, int nRows)` | Central moment function to calculate the central moment of this column group with a reference offset on each tuple.
    `CM_COV_Object` | Dictionary.`centralMomentWithReference​(CM_COV_Object ret, ValueFunction fn, int[] counts, double reference, int nRows)` |
    `CM_COV_Object` | MatrixBlockDictionary.`centralMomentWithReference​(CM_COV_Object ret, ValueFunction fn, int[] counts, double reference, int nRows)` |
    `CM_COV_Object` | QDictionary.`centralMomentWithReference​(CM_COV_Object ret, ValueFunction fn, int[] counts, double reference, int nRows)` |

  - ### Uses of ValueFunction in org.apache.sysds.runtime.functionobjects

    Subclasses of ValueFunction in org.apache.sysds.runtime.functionobjects
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `And` |
    `class` | `BitwAnd` |
    `class` | `BitwOr` |
    `class` | `BitwShiftL` |
    `class` | `BitwShiftR` |
    `class` | `BitwXor` |
    `class` | `Builtin` | Class with pre-defined set of objects.
    `class` | `CM` | GENERAL NOTE: * 05/28/2014: We decided to do handle weights consistently to SPSS in an operation-specific manner, i.e., we (1) round instead of casting where required (e.g.
    `class` | `COV` | GENERAL NOTE: * 05/28/2014: We decided to do handle weights consistently to SPSS in an operation-specific manner, i.e., we (1) round instead of casting where required (e.g.
    `class` | `CTable` |
    `class` | `Divide` |
    `class` | `Equals` |
    `class` | `GreaterThan` |
    `class` | `GreaterThanEquals` |
    `class` | `IfElse` |
    `class` | `IntegerDivide` |
    `class` | `KahanFunction` | Runtime function type to perform the summation of values using the Kahan summation algorithm.
    `class` | `KahanPlus` |
    `class` | `KahanPlusSq` | Runtime function to perform the summation of squared values using the Kahan summation algorithm.
    `class` | `LessThan` |
    `class` | `LessThanEquals` |
    `class` | `Mean` |
    `class` | `Minus` |
    `class` | `Minus1Multiply` |
    `class` | `MinusMultiply` |
    `class` | `MinusNz` |
    `class` | `Modulus` | Integer modulus, where we adhere to the defined R semantics: ("%% indicates x mod y and %/% indicates integer division.
    `class` | `Multiply` |
    `class` | `Multiply2` |
    `class` | `Not` |
    `class` | `NotEquals` |
    `class` | `Or` |
    `class` | `ParameterizedBuiltin` | Function object for builtin function that takes a list of name=value parameters.
    `class` | `Plus` |
    `class` | `PlusMultiply` |
    `class` | `Power` |
    `class` | `Power2` |
    `class` | `TernaryValueFunction` |
    `class` | `ValueComparisonFunction` | Abstraction for comparison (relational) operators in order to force a proper implementation by all relevant subclasses.
    `class` | `Xor` |

    Methods in org.apache.sysds.runtime.functionobjects with parameters of type ValueFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `static boolean` | Builtin.`isBuiltinCode​(ValueFunction fn, Builtin.BuiltinCode... codes)` |

  - ### Uses of ValueFunction in org.apache.sysds.runtime.matrix.data

    Methods in org.apache.sysds.runtime.matrix.data with parameters of type ValueFunction
    Modifier and Type | Method | Description
    --- | --- | ---
    `static CM_COV_Object` | LibMatrixAgg.`aggregateCmCov​(MatrixBlock in1, MatrixBlock in2, MatrixBlock in3, ValueFunction fn)` | Single threaded Covariance and Central Moment operations CM = Central Moment COV = Covariance
    `static CM_COV_Object` | LibMatrixAgg.`aggregateCmCov​(MatrixBlock in1, MatrixBlock in2, MatrixBlock in3, ValueFunction fn, int k)` | Multi threaded Covariance and Central Moment operations CM = Central Moment COV = Covariance
    `static void` | LibMatrixMult.`matrixMultWuMM​(MatrixBlock mW, MatrixBlock mU, MatrixBlock mV, MatrixBlock ret, WeightedUnaryMM.WUMMType wt, ValueFunction fn)` |
    `static void` | LibMatrixMult.`matrixMultWuMM​(MatrixBlock mW, MatrixBlock mU, MatrixBlock mV, MatrixBlock ret, WeightedUnaryMM.WUMMType wt, ValueFunction fn, int k)` |

  - ### Uses of ValueFunction in org.apache.sysds.runtime.matrix.operators

    Fields in org.apache.sysds.runtime.matrix.operators declared as ValueFunction
    Modifier and Type | Field | Description
    --- | --- | ---
    `ValueFunction` | AggregateBinaryOperator.`binaryFn` |
    `ValueFunction` | AggregateTernaryOperator.`binaryFn` |
    `ValueFunction` | BinaryOperator.`fn` |
    `ValueFunction` | CMOperator.`fn` |
    `ValueFunction` | QuaternaryOperator.`fn` |
    `ValueFunction` | ScalarOperator.`fn` |
    `ValueFunction` | UnaryOperator.`fn` |

    Constructors in org.apache.sysds.runtime.matrix.operators with parameters of type ValueFunction
    Constructor | Description
    --- | ---
    `AggregateBinaryOperator​(ValueFunction inner, AggregateOperator outer)` |
    `AggregateBinaryOperator​(ValueFunction inner, AggregateOperator outer, int numThreads)` |
    `AggregateOperator​(double initValue, ValueFunction op)` |
    `AggregateOperator​(double initValue, ValueFunction op, Types.CorrectionLocationType correctionLocation)` |
    `AggregateTernaryOperator​(ValueFunction inner, AggregateOperator outer, IndexFunction ixfun)` |
    `AggregateTernaryOperator​(ValueFunction inner, AggregateOperator outer, IndexFunction ixfun, int numThreads)` |
    `BinaryOperator​(ValueFunction p)` |
    `BinaryOperator​(ValueFunction p, int k)` |
    `CMOperator​(ValueFunction op, CMOperator.AggregateOperationTypes agg)` |
    `CMOperator​(ValueFunction op, CMOperator.AggregateOperationTypes agg, int numThreads)` |
    `LeftScalarOperator​(ValueFunction p, double cst)` |
    `LeftScalarOperator​(ValueFunction p, double cst, int numThreads)` |
    `RightScalarOperator​(ValueFunction p, double cst)` |
    `RightScalarOperator​(ValueFunction p, double cst, int numThreads)` |
    `ScalarOperator​(ValueFunction p, double cst)` |
    `UnaryOperator​(ValueFunction p)` |
    `UnaryOperator​(ValueFunction p, int numThreads, boolean inPlace)` |