org.apache.sysds.lops

## Class DataGen

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

-     public class DataGen
      extends Lop

  Defines a LOP that generates data.

- - ### Nested Class Summary

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

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

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `FRAME_OPCODE`
    `static String` | `RAND_OPCODE`
    `static String` | `SAMPLE_OPCODE`
    `static String` | `SEQ_OPCODE`
    `static String` | `SINIT_OPCODE`
    `static String` | `TIME_OPCODE`

    - ### 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
    `DataGen(Types.OpOpDG op, DataIdentifier id, HashMap<String,Lop> inputParametersLops, String baseDir, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Creates a new Rand-LOP.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Types.OpOpDG` | `getDataGenMethod()`
    `String` | `getInstructions(String output)` Function to generate CP/SP instructions for data generation via Rand and Seq.
    `void` | `init(DataIdentifier id, String baseDir, Types.ExecType et)`
    `void` | `setNumThreads(int k)`
    `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, setExecType, setFederatedOutput, setFilename, setPrivacyConstraint, setValueType, setVisited`

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

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

- - ### Field Detail

    - #### RAND_OPCODE

          public static final String RAND_OPCODE

      See Also:
        Constant Field Values

    - #### SEQ_OPCODE

          public static final String SEQ_OPCODE

      See Also:
        Constant Field Values

    - #### SINIT_OPCODE

          public static final String SINIT_OPCODE

      See Also:
        Constant Field Values

    - #### SAMPLE_OPCODE

          public static final String SAMPLE_OPCODE

      See Also:
        Constant Field Values

    - #### TIME_OPCODE

          public static final String TIME_OPCODE

      See Also:
        Constant Field Values

    - #### FRAME_OPCODE

          public static final String FRAME_OPCODE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DataGen

          public DataGen(Types.OpOpDG op,
                         DataIdentifier id,
                         HashMap<String,Lop> inputParametersLops,
                         String baseDir,
                         Types.DataType dt,
                         Types.ValueType vt,
                         Types.ExecType et)

      Creates a new Rand-LOP. The target identifier has to hold the dimensions of the new random object.

      Parameters:
        `op` - data gen method
        `id` - target identifier
        `inputParametersLops` - Lops of input parameters
        `baseDir` - base dir for runtime
        `dt` - Data type
        `vt` - Value type
        `et` - Execution type

  - ### Method Detail

    - #### getDataGenMethod

          public Types.OpOpDG getDataGenMethod()

    - #### init

          public void init(DataIdentifier id,
                           String baseDir,
                           Types.ExecType et)

    - #### getInstructions

          public String getInstructions(String output)

      Function to generate CP/SP instructions for data generation via Rand and Seq. Since DataGen Lop can have many inputs, ONLY the output variable name is passed from piggybacking as the function argument `output`.
      Overrides:
        `getInstructions` in class `Lop`
      Parameters:
        `output` - output
      Returns:
        instructions as string

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

    - #### setNumThreads

          public void setNumThreads(int k)

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