org.apache.sysds.lops

## Class Nary

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

-     public class Nary
      extends Lop

  Lop to perform an operation on a variable number of operands.

- - ### Nested Class Summary

    - ### 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
    Constructor and Description
    `Nary(Types.OpOpN operationType, Types.DataType dt, Types.ValueType vt, Lop[] inputLops, LopProperties.ExecType et)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getInstructions(String[] inputs, String output)` Generate the complete instruction string for this Lop.
    `Types.OpOpN` | `getOp()`
    `String` | `toString()` Method to have Lops print their state.

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

      `addInput, addOutput, addToDag, createReachable, getBeginColumn, getBeginLine, 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, isDataExecLocation, isVariable, prepInputOperand, prepInputOperand, prepOperand, prepOperand, prepOutputOperand, prepOutputOperand, prepOutputOperand, prepScalarInputOperand, prepScalarInputOperand, prepScalarLabel, prepScalarOperand, printErrorLocation, removeConsumer, resetVisitStatus, setAllPositions, setBeginColumn, setBeginLine, setConsumerCount, setDataType, setEndColumn, setEndLine, setFilename, setPrivacyConstraint, setValueType, setVisited`

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

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

- - ### Constructor Detail

    - #### Nary

          public Nary(Types.OpOpN operationType,
                      Types.DataType dt,
                      Types.ValueType vt,
                      Lop[] inputLops,
                      LopProperties.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`

    - #### getOp

          public Types.OpOpN getOp()

    - #### getInstructions

          public String getInstructions(String[] inputs,
                                        String output)

      Generate the complete instruction string for this Lop. This instruction string can have a variable number of input operands. It displays the following:
      - Execution type (CP, SPARK, etc.)
      - Operand delimiter (°)
      - Opcode (printf, etc.)
      - Operand delimiter (°)
      - Variable number of inputs, each followed by an operand delimiter (°)
        - Input consists of (label · data type · value type · is literal)
      - Output consisting of (label · data type · value type)
      Example:
      The following DML
      `print('hello %s', 'world')`
      generates the instruction string:
      `CP°printf°hello %s·SCALAR·STRING·true°world·SCALAR·STRING·true°_Var1·SCALAR·STRING`
      Overrides:
        `getInstructions` in class `Lop`

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