org.apache.sysds.runtime.instructions.cp

## Class MatrixIndexingCPInstruction

- java.lang.Object
- - org.apache.sysds.runtime.instructions.Instruction
  - - org.apache.sysds.runtime.instructions.cp.CPInstruction
    - - org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction
      - - org.apache.sysds.runtime.instructions.cp.UnaryCPInstruction
        - - org.apache.sysds.runtime.instructions.cp.IndexingCPInstruction
          - - org.apache.sysds.runtime.instructions.cp.MatrixIndexingCPInstruction

All Implemented Interfaces:
  LineageTraceable

    public final class MatrixIndexingCPInstruction
    extends IndexingCPInstruction

### 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 inherited from class org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction

`input1, input2, input3, output`

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

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

### Constructor Summary

Constructors
Constructor and Description
`MatrixIndexingCPInstruction(CPOperand in, CPOperand rl, CPOperand ru, CPOperand cl, CPOperand cu, CPOperand out, String opcode, String istr)`

### Method Summary

All Methods Instance Methods Concrete Methods
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` `getLineageItem(ExecutionContext ec)` Obtain lineage trace of an instruction with a single output.
`void` `processInstruction(ExecutionContext ec)` This method should be used to execute the instruction.

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

`parseInstruction`

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

`getInputs, getOutput, getOutputVariableName`

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

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

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

`getBeginColumn, getBeginLine, getEndColumn, getEndLine, getExtendedOpcode, getFilename, getInstID, getInstructionString, getLineNum, getOpcode, getOperator, getPrivacyConstraint, printMe, setInstID, setLocation, setLocation, setLocation, setLocation, setPrivacyConstraint, setPrivacyConstraint, 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`

### Constructor Detail

#### MatrixIndexingCPInstruction

    public MatrixIndexingCPInstruction(CPOperand in,
                                       CPOperand rl,
                                       CPOperand ru,
                                       CPOperand cl,
                                       CPOperand cu,
                                       CPOperand out,
                                       String opcode,
                                       String istr)

### Method Detail

#### processInstruction

    public void processInstruction(ExecutionContext ec)

Description copied from class: `Instruction`
This method should be used to execute the instruction.

Specified by:
  `processInstruction` in class `CPInstruction`
Parameters:
  `ec` - execution context

#### 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`
Overrides:
  `getLineageItem` in class `ComputationCPInstruction`
Parameters:
  `ec` - execution context w/ live variables
Returns:
  pair of (output variable name, output lineage item)