org.apache.sysds.runtime.instructions.cp

## Class MultiReturnBuiltinCPInstruction

- 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.MultiReturnBuiltinCPInstruction

- All Implemented Interfaces:
    LineageTraceable

      public class MultiReturnBuiltinCPInstruction
      extends ComputationCPInstruction

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.apache.commons.lang3.tuple.Pair[]` | `getLineageItems(ExecutionContext ec)` Obtain lineage trace of an instruction with multiple outputs.
    `int` | `getNumOutputs()`
    `CPOperand` | `getOutput(int i)`
    `String[]` | `getOutputNames()`
    `List<CPOperand>` | `getOutputs()`
    `boolean` | `hasSingleLineage()` Obtain meta data on number of outputs and thus, number of lineage items.
    `static MultiReturnBuiltinCPInstruction` | `parseInstruction(String str)`
    `void` | `processInstruction(ExecutionContext ec)` This method should be used to execute the instruction.

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

      `getInputs, getLineageItem, getOutput, getOutputVariableName`

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

      `getCPInstructionType, getGraphString, getType, 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, postprocessInstruction, 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`

- - ### Method Detail

    - #### getOutput

          public CPOperand getOutput(int i)

    - #### getOutputs

          public List<CPOperand> getOutputs()

    - #### getOutputNames

          public String[] getOutputNames()

    - #### parseInstruction

          public static MultiReturnBuiltinCPInstruction parseInstruction(String str)

    - #### getNumOutputs

          public int getNumOutputs()

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

    - #### hasSingleLineage

          public boolean hasSingleLineage()

      Description copied from interface: `LineageTraceable`
      Obtain meta data on number of outputs and thus, number of lineage items.
      Returns:
        true iff instruction has a single output

    - #### getLineageItems

          public org.apache.commons.lang3.tuple.Pair[] getLineageItems(ExecutionContext ec)

      Description copied from interface: `LineageTraceable`
      Obtain lineage trace of an instruction with multiple outputs.
      Parameters:
        `ec` - execution context w/ live variables
      Returns:
        pairs of (output variable name, output lineage item)

Copyright © 2020 The Apache Software Foundation. All rights reserved.