org.apache.sysds.lops

## Class UAggOuterChain

- java.lang.Object
- - org.apache.sysds.lops.Lop
  - - org.apache.sysds.lops.UAggOuterChain

    public class UAggOuterChain
    extends Lop

TODO Currently this lop only support the right hand side in distributed cache. This should be generalized (incl hop operator selection) to left/right cache types.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.sysds.lops.Lop

`Lop.SimpleInstType, Lop.Type, Lop.VisitStatus`

### Field Summary

Fields
`static String` `OPCODE`

### Fields inherited from class org.apache.sysds.lops.Lop

`_beginColumn, _beginLine, _endColumn, _endLine, _filename, CP_CHILD_THREAD, CP_ROOT_THREAD_ID, DATATYPE_PREFIX, FILE_SEPARATOR, FRAME_VAR_NAME_PREFIX, INSTRUCTION_DELIMITOR, LITERAL_PREFIX, MATRIX_VAR_NAME_PREFIX, NAME_VALUE_SEPARATOR, OPERAND_DELIMITOR, PROCESS_PREFIX, SAMPLE_FRACTION, SCALAR_VAR_NAME_PREFIX, UPDATE_INPLACE_PREFIX, VALUETYPE_PREFIX, VARIABLE_NAME_PLACEHOLDER`

### Constructor Summary

Constructors
Constructor and Description
`UAggOuterChain(Lop input1, Lop input2, Types.AggOp uaop, Types.Direction uadir, Types.OpOp2 bop, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to setup a unaryagg outer chain

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `getInstructions(String input1, String input2, String output)` Method should be overridden if needed
`String` `toString()` Method to have Lops print their state.

### Methods inherited from class org.apache.sysds.lops.Lop

`addInput, addOutput, addToDag, createReachable, getAggType, getBeginColumn, getBeginLine, getBroadcastInput, getDataType, getEndColumn, getEndLine, getExecType, getFilename, getID, getInputs, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getLevel, getOutputParameters, getOutputs, getPrivacyConstraint, getProducesIntermediateOutput, getReachable, getSimpleInstructionType, getType, getValueType, getVisited, isAllOutputsCP, isDataExecLocation, isVariable, prepInputOperand, prepInputOperand, prepOperand, prepOperand, prepOutputOperand, prepOutputOperand, prepOutputOperand, prepScalarInputOperand, prepScalarInputOperand, prepScalarLabel, prepScalarOperand, printErrorLocation, removeConsumer, removeOutput, replaceInput, resetVisitStatus, setAllPositions, setBeginColumn, setBeginLine, setConsumerCount, setDataType, setEndColumn, setEndLine, setExecType, setFederatedOutput, setFilename, setPrivacyConstraint, setValueType, setVisited`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### OPCODE

    public static final String OPCODE

See Also:
  Constant Field Values

### Constructor Detail

#### UAggOuterChain

    public UAggOuterChain(Lop input1,
                          Lop input2,
                          Types.AggOp uaop,
                          Types.Direction uadir,
                          Types.OpOp2 bop,
                          Types.DataType dt,
                          Types.ValueType vt,
                          Types.ExecType et)

Constructor to setup a unaryagg outer chain

Parameters:
  `input1` - low-level operator 1
  `input2` - low-level operator 2
  `uaop` - aggregate operation type
  `uadir` - partial aggregate direction type
  `bop` - binary operation type
  `dt` - data type
  `vt` - value type
  `et` - execution type

### Method Detail

#### toString

    public String toString()

Description copied from class: `Lop`
Method to have Lops print their state. This is for debugging purposes.

Specified by:
  `toString` in class `Lop`

#### getInstructions

    public String getInstructions(String input1,
                                  String input2,
                                  String output)

Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input1` - input 1
  `input2` - input 2
  `output` - output
Returns:
  instructions as string