# Uses of Class
org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator

Packages that use AggregateUnaryOperator
Package
Description
org.apache.sysds.runtime.compress
org.apache.sysds.runtime.compress.colgroup
org.apache.sysds.runtime.compress.lib
org.apache.sysds.runtime.controlprogram.federated
org.apache.sysds.runtime.data
org.apache.sysds.runtime.instructions
org.apache.sysds.runtime.instructions.spark
org.apache.sysds.runtime.matrix.data
org.apache.sysds.runtime.matrix.operators

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.compress

Methods in org.apache.sysds.runtime.compress with parameters of type AggregateUnaryOperator
Modifier and Type
Method
Description
`MatrixBlock`
CompressedMatrixBlock.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`MatrixBlock`
CompressedMatrixBlock.`uaggouterchainOperations(MatrixBlock mbLeft, MatrixBlock mbRight, MatrixBlock mbOut, BinaryOperator bOp, AggregateUnaryOperator uaggOp)`

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.compress.colgroup

Methods in org.apache.sysds.runtime.compress.colgroup with parameters of type AggregateUnaryOperator
Modifier and Type
Method
Description
`abstract void`
AColGroup.`unaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru)`
Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed matrix.
`final void`
AColGroupCompressed.`unaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru)`
`final void`
AColGroupCompressed.`unaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru, double[] preAgg)`
`void`
ColGroupUncompressed.`unaryAggregateOperations(AggregateUnaryOperator op, double[] result, int nRows, int rl, int ru)`
`void`
ColGroupUncompressedArray.`unaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru)`

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.compress.lib

Methods in org.apache.sysds.runtime.compress.lib with parameters of type AggregateUnaryOperator
Modifier and Type
Method
Description
`static MatrixBlock`
CLALibCompAgg.`aggregateUnary(CompressedMatrixBlock inputMatrix, MatrixBlock result, AggregateUnaryOperator op, int blen, MatrixIndexes indexesIn, boolean inCP)`

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.controlprogram.federated

Methods in org.apache.sysds.runtime.controlprogram.federated with parameters of type AggregateUnaryOperator
Modifier and Type
Method
Description
`static MatrixBlock`
FederationUtils.`aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)`
`static MatrixBlock`
FederationUtils.`aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)`
`static MatrixBlock`
FederationUtils.`aggProd(Future<FederatedResponse>[] ffr, FederationMap fedMap, AggregateUnaryOperator aop)`
`static ScalarObject`
FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr)`
`static ScalarObject`
FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)`
`static ScalarObject`
FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)`

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.data

Methods in org.apache.sysds.runtime.data with parameters of type AggregateUnaryOperator
Modifier and Type
Method
Description
`BasicTensorBlock`
BasicTensorBlock.`aggregateUnaryOperations(AggregateUnaryOperator op, BasicTensorBlock result)`
Aggregate a unary operation on this tensor.
`static void`
LibTensorAgg.`aggregateUnaryTensor(BasicTensorBlock in, BasicTensorBlock out, AggregateUnaryOperator uaop)`
Aggregate a tensor-block with the given unary operator.
`static boolean`
LibTensorAgg.`isSupportedUnaryAggregateOperator(AggregateUnaryOperator op)`
Determines whether the unary operator is supported.

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.instructions

Methods in org.apache.sysds.runtime.instructions that return AggregateUnaryOperator
Modifier and Type
Method
Description
`static AggregateUnaryOperator`
InstructionUtils.`parseAggregateUnaryRowIndexOperator(String opcode, int numOutputs, int numThreads)`
`static AggregateUnaryOperator`
InstructionUtils.`parseBasicAggregateUnaryOperator(String opcode)`
`static AggregateUnaryOperator`
InstructionUtils.`parseBasicAggregateUnaryOperator(String opcode, int numThreads)`
Parse the given opcode into an aggregate unary operator.
`static AggregateUnaryOperator`
InstructionUtils.`parseBasicCumulativeAggregateUnaryOperator(UnaryOperator uop)`
`static AggregateUnaryOperator`
InstructionUtils.`parseCumulativeAggregateUnaryOperator(String opcode)`

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.instructions.spark

Constructors in org.apache.sysds.runtime.instructions.spark with parameters of type AggregateUnaryOperator
Modifier
Constructor
Description
``
`RDDBinUaggChainFunction(BinaryOperator bop, AggregateUnaryOperator uaggop)`
``
`RDDUAggFunction2(AggregateUnaryOperator op, int blen)`
``
`RDDUTensorAggFunction2(AggregateUnaryOperator op)`

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.matrix.data

Methods in org.apache.sysds.runtime.matrix.data with parameters of type AggregateUnaryOperator
Modifier and Type
Method
Description
`static void`
LibMatrixOuterAgg.`aggregateMatrix(MatrixBlock in1Val, MatrixBlock outVal, double[] bv, int[] bvi, BinaryOperator bOp, AggregateUnaryOperator uaggOp)`
`static void`
LibMatrixAggUnarySpecialization.`aggregateUnary(MatrixBlock mb, AggregateUnaryOperator op, MatrixBlock result, int blen, MatrixIndexes indexesIn)`
`static void`
LibMatrixAgg.`aggregateUnaryMatrix(MatrixBlock in, MatrixBlock out, AggregateUnaryOperator uaop)`
`static void`
LibMatrixAgg.`aggregateUnaryMatrix(MatrixBlock in, MatrixBlock out, AggregateUnaryOperator uaop, boolean allowReformatToSparse)`
`static void`
LibMatrixAgg.`aggregateUnaryMatrix(MatrixBlock in, MatrixBlock out, AggregateUnaryOperator uaop, int k)`
`static MatrixBlock`
LibMatrixAgg.`aggregateUnaryMatrix(AggregateUnaryOperator op, MatrixBlock in, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`final MatrixBlock`
MatrixBlock.`aggregateUnaryOperations(AggregateUnaryOperator op)`
`MatrixBlock`
MatrixBlock.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`MatrixValue`
MatrixCell.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`final MatrixValue`
MatrixValue.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)`
`abstract MatrixValue`
MatrixValue.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`MatrixValue`
WeightedCell.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`static boolean`
LibMatrixOuterAgg.`isRowIndexMax(AggregateUnaryOperator uaggOp)`
This will return if uaggOp is of type RowIndexMax
`static boolean`
LibMatrixOuterAgg.`isRowIndexMin(AggregateUnaryOperator uaggOp)`
This will return if uaggOp is of type RowIndexMin
`static boolean`
LibMatrixOuterAgg.`isSupportedUaggOp(AggregateUnaryOperator uaggOp, BinaryOperator bOp)`
`static boolean`
LibMatrixAgg.`isSupportedUnaryAggregateOperator(AggregateUnaryOperator op)`
`static void`
OperationsOnMatrixValues.`performAggregateUnary(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, AggregateUnaryOperator op, int blen)`
`static MatrixBlock`
LibMatrixAgg.`prepareAggregateUnaryOutput(MatrixBlock in, AggregateUnaryOperator op, MatrixValue result, int blen)`
`static int[]`
LibMatrixOuterAgg.`prepareRowIndices(int iCols, double[] vmb, BinaryOperator bOp, AggregateUnaryOperator uaggOp)`
`static void`
LibMatrixAgg.`recomputeIndexes(MatrixBlock out, AggregateUnaryOperator op, int blen, MatrixIndexes ix)`
Recompute outputs (e.g., maxindex or minindex) according to block indexes from MR.
`static void`
LibMatrixOuterAgg.`resetOutputMatrix(MatrixIndexes in1Ix, MatrixBlock in1Val, MatrixIndexes outIx, MatrixBlock outVal, AggregateUnaryOperator uaggOp)`
ReSet output matrix
`static boolean`
LibMatrixAgg.`satisfiesMultiThreadingConstraints(MatrixBlock in, MatrixBlock out, AggregateUnaryOperator uaop, int k)`
`MatrixBlock`
MatrixBlock.`uaggouterchainOperations(MatrixBlock mbLeft, MatrixBlock mbRight, MatrixBlock mbOut, BinaryOperator bOp, AggregateUnaryOperator uaggOp)`
`static void`
LibMatrixCUDA.`unaryAggregate(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String output, AggregateUnaryOperator op)`
Entry point to perform Unary aggregate operations on the GPU.

## Uses of AggregateUnaryOperator in org.apache.sysds.runtime.matrix.operators

Subclasses of AggregateUnaryOperator in org.apache.sysds.runtime.matrix.operators
Modifier and Type
Class
Description
`class`
`CountDistinctOperator`
`class`
`UnarySketchOperator`