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

`activatePrefetch, addInput, addOutput, addToDag, createReachable, getAggType, getBeginColumn, getBeginLine, getBroadcastInput, getDataType, getEndColumn, getEndLine, getExecType, getFederatedOutput, getFilename, getID, getInputs, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getLevel, getOutputParameters, getOutputs, getPrivacyConstraint, getProducesIntermediateOutput, getReachable, getSimpleInstructionType, getType, getValueType, getVisited, isAllOutputsCP, isDataExecLocation, isVariable, prefetchActivated, prepInputOperand, prepInputOperand, prepOperand, prepOperand, prepOutputOperand, prepOutputOperand, prepOutputOperand, prepScalarInputOperand, prepScalarInputOperand, prepScalarLabel, prepScalarOperand, printErrorLocation, removeConsumer, removeOutput, replaceInput, 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)