Package org.apache.sysds.runtime.instructions.cp

# Class ComputationCPInstruction

java.lang.Object
org.apache.sysds.runtime.instructions.Instruction
org.apache.sysds.runtime.instructions.cp.CPInstruction
org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction

All Implemented Interfaces:
  `LineageTraceable`

Direct Known Subclasses:
  `AggregateTernaryCPInstruction`, `BinaryCPInstruction`, `CompressionCPInstruction`, `CtableCPInstruction`, `DeCompressionCPInstruction`, `LocalCPInstruction`, `MultiReturnBuiltinCPInstruction`, `MultiReturnComplexMatrixBuiltinCPInstruction`, `MultiReturnParameterizedBuiltinCPInstruction`, `ParameterizedBuiltinCPInstruction`, `PMMJCPInstruction`, `QuaternaryCPInstruction`, `SpoofCPInstruction`, `TernaryCPInstruction`, `UnaryCPInstruction`

public abstract class ComputationCPInstruction extends CPInstruction implements LineageTraceable

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.sysds.runtime.instructions.cp.CPInstruction

`CPInstruction.CPType`

## Nested classes/interfaces inherited from class org.apache.sysds.runtime.instructions.Instruction

`Instruction.IType`

## Field Summary

Fields
Modifier and Type
Field
Description
`final CPOperand`
`input1`
`final CPOperand`
`input2`
`final CPOperand`
`input3`
`final CPOperand`
`input4`
`final CPOperand`
`output`

### Fields inherited from class org.apache.sysds.runtime.instructions.Instruction

`DATATYPE_PREFIX, FEDERATED_INST_PREFIX, GPU_INST_PREFIX, INSTRUCTION_DELIM, LITERAL_PREFIX, OOC_INST_PREFIX, OPERAND_DELIM, SP_INST_PREFIX, VALUETYPE_PREFIX`

## Method Summary

Modifier and Type
Method
Description
`CPOperand[]`
`getInputs()`
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>`
`getLineageItem(ExecutionContext ec)`
Obtain lineage trace of an instruction with a single output.
`CPOperand`
`getOutput()`
`String`
`getOutputVariableName()`
`boolean`
`hasFrameInput()`

### Methods inherited from class org.apache.sysds.runtime.instructions.cp.CPInstruction

`getCPInstructionType, getGraphString, getType, postprocessInstruction, preprocessInstruction, processInstruction, requiresLabelUpdate, updateLabels`

### Methods inherited from class org.apache.sysds.runtime.instructions.Instruction

`getBeginColumn, getBeginLine, getEndColumn, getEndLine, getExtendedOpcode, getFilename, getInstID, getInstructionString, getLineNum, getOpcode, getOperator, printMe, setInstID, setLocation, setLocation, setLocation, setLocation, toString, updateInstructionThreadID`

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

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

### Methods inherited from interface org.apache.sysds.runtime.lineage.LineageTraceable

`getLineageItems, hasSingleLineage`

## Field Details

### output

public final CPOperand output

### input1

public final CPOperand input1

### input2

public final CPOperand input2

### input3

public final CPOperand input3

### input4

public final CPOperand input4

## Method Details

### getOutputVariableName

public String getOutputVariableName()

### getOutput

public CPOperand getOutput()

### getInputs

public CPOperand[] getInputs()

### hasFrameInput

public boolean hasFrameInput()

### getLineageItem

public org.apache.commons.lang3.tuple.Pair<String,LineageItem> getLineageItem(ExecutionContext ec)
Description copied from interface: `LineageTraceable`
Obtain lineage trace of an instruction with a single output.

Specified by:
  `getLineageItem` in interface `LineageTraceable`
Parameters:
  `ec` - execution context w/ live variables
Returns:
  pair of (output variable name, output lineage item)