Package org.apache.sysds.lops

## Class Ctable

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

    public class Ctable
    extends Lop

Lop to perform ternary operation. All inputs must be matrices or vectors. For example, this lop is used in evaluating A = ctable(B,C,W) Currently, this lop is used only in case of CTABLE functionality.

### Nested Class Summary

Nested Classes
`static class` `Ctable.OperationTypes`

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

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

### Field Summary

### 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
`Ctable​(Lop[] inputLops, Ctable.OperationTypes op, Types.DataType dt, Types.ValueType vt, boolean ignoreZeros, boolean outputEmptyBlocks, Types.ExecType et)`
`Ctable​(Lop[] inputLops, Ctable.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static Ctable.OperationTypes` `findCtableOperationByInputDataTypes​(Types.DataType dt1, Types.DataType dt2, Types.DataType dt3)`
`String` `getInstructions​(String input1, String input2, String input3, String output)` Method should be overridden if needed
`Ctable.OperationTypes` `getOperationType()` method to get operation type
`static Ctable.OperationTypes` `getOperationType​(String opcode)`
`String` `toString()` Method to have Lops print their state.

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

`activatePrefetch, addInput, addOutput, addToDag, createReachable, getAggType, getBeginColumn, getBeginLine, getBroadcastInput, getDataType, getEndColumn, getEndLine, getExecType, getFederatedOutput, 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, prefetchActivated, 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`

### Constructor Detail

#### Ctable

    public Ctable​(Lop[] inputLops,
                  Ctable.OperationTypes op,
                  Types.DataType dt,
                  Types.ValueType vt,
                  Types.ExecType et)

#### Ctable

    public Ctable​(Lop[] inputLops,
                  Ctable.OperationTypes op,
                  Types.DataType dt,
                  Types.ValueType vt,
                  boolean ignoreZeros,
                  boolean outputEmptyBlocks,
                  Types.ExecType et)

### 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`

#### findCtableOperationByInputDataTypes

    public static Ctable.OperationTypes findCtableOperationByInputDataTypes​(Types.DataType dt1,
                                                                            Types.DataType dt2,
                                                                            Types.DataType dt3)

#### getOperationType

    public Ctable.OperationTypes getOperationType()

method to get operation type

Returns:
  operation type

#### getInstructions

    public String getInstructions​(String input1,
                                  String input2,
                                  String input3,
                                  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
  `input3` - input 3
  `output` - output
Returns:
  instructions as string

#### getOperationType

    public static Ctable.OperationTypes getOperationType​(String opcode)