## Uses of Class
org.apache.sysds.lops.Lop

- Packages that use Lop
  Package | Description
  --- | ---
  org.apache.sysds.hops |
  org.apache.sysds.hops.codegen |
  org.apache.sysds.lops |
  org.apache.sysds.lops.compile |
  org.apache.sysds.parser |
  org.apache.sysds.runtime.instructions |

- - ### Uses of Lop in org.apache.sysds.hops

    Methods in org.apache.sysds.hops that return Lop
    Modifier and Type | Method and Description
    --- | ---
    `Lop` | DnnOp.`constructDnnLops(Types.ExecType et, ArrayList<Hop> inputs)`
    `Lop` | AggBinaryOp.`constructLops()` NOTE: overestimated mem in case of transpose-identity matmult, but 3/2 at worst and existing mem estimate advantageous in terms of consistency hops/lops, and some special cases internally materialize the transpose for better cache locality
    `Lop` | DataGenOp.`constructLops()`
    `abstract Lop` | Hop.`constructLops()`
    `Lop` | IndexingOp.`constructLops()`
    `Lop` | NaryOp.`constructLops()` Construct the corresponding Lops for this Hop
    `Lop` | DnnOp.`constructLops()`
    `Lop` | QuaternaryOp.`constructLops()`
    `Lop` | AggUnaryOp.`constructLops()`
    `Lop` | TernaryOp.`constructLops()`
    `Lop` | BinaryOp.`constructLops()`
    `Lop` | LiteralOp.`constructLops()`
    `Lop` | UnaryOp.`constructLops()`
    `Lop` | ReorgOp.`constructLops()`
    `Lop` | ParameterizedBuiltinOp.`constructLops()`
    `Lop` | LeftIndexingOp.`constructLops()`
    `Lop` | FunctionOp.`constructLops()`
    `Lop` | DataOp.`constructLops()`
    `static Lop` | BinaryOp.`constructSPAppendLop(Hop left, Hop right, Types.DataType dt, Types.ValueType vt, boolean cbind, Hop current)`
    `static Lop` | Hop.`createOffsetLop(Hop hop, boolean repCols)`
    `Lop` | Hop.`getLops()`

    Methods in org.apache.sysds.hops with parameters of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `void` | Hop.`setLops(Lop lops)`

  - ### Uses of Lop in org.apache.sysds.hops.codegen

    Methods in org.apache.sysds.hops.codegen that return Lop
    Modifier and Type | Method and Description
    --- | ---
    `Lop` | SpoofFusedOp.`constructLops()`

  - ### Uses of Lop in org.apache.sysds.lops

    Subclasses of Lop in org.apache.sysds.lops
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Append`
    `class` | `AppendG` TODO Additional compiler enhancements: 1) Partial Shuffle Elimination - Any full or aligned blocks could be directly output from the mappers to the result index.
    `class` | `AppendGAlignedSP`
    `class` | `AppendM`
    `class` | `AppendR`
    `class` | `Binary` Lop to perform binary operation.
    `class` | `BinaryM` Lop to perform binary operation.
    `class` | `BinaryScalar` Lop to perform binary scalar operations.
    `class` | `BinaryUAggChain`
    `class` | `CentralMoment` Lop to perform cross product operation
    `class` | `Checkpoint` Lop for checkpoint operations.
    `class` | `Compression`
    `class` | `CoVariance` Lop to compute covariance between two 1D matrices
    `class` | `CSVReBlock` Lop to convert CSV data into SystemDS data format
    `class` | `Ctable` Lop to perform ternary operation.
    `class` | `CumulativeOffsetBinary`
    `class` | `CumulativePartialAggregate`
    `class` | `Data` Lop to represent data objects.
    `class` | `DataGen` Defines a LOP that generates data.
    `class` | `DeCompression`
    `class` | `DnnTransform`
    `class` | `Federated`
    `class` | `FunctionCallCP`
    `class` | `GroupedAggregate` Lop to perform grouped aggregates
    `class` | `GroupedAggregateM` Lop to perform mr map-side grouped aggregates (restriction: sum, w/o weights, ngroups), groups broadcasted
    `class` | `LeftIndex`
    `class` | `MapMult`
    `class` | `MapMultChain`
    `class` | `MatMultCP`
    `class` | `MMCJ` Lop to perform cross product operation
    `class` | `MMRJ` Lop to perform cross product operation
    `class` | `MMTSJ` Lop to perform transpose-identity operation (t(X)%*%X or X%*%t(X)), used to represent CP and MR instruction but in case of MR there is an additional Aggregate at the reducers.
    `class` | `MMZip` Lop to perform zip matrix multiplication
    `class` | `Nary` Lop to perform an operation on a variable number of operands.
    `class` | `ParameterizedBuiltin` Defines a LOP for functions.
    `class` | `PartialAggregate` Lop to perform a partial aggregation.
    `class` | `PickByCount`
    `class` | `PMapMult`
    `class` | `PMMJ`
    `class` | `ReBlock` Lop to perform reblock operation
    `class` | `RightIndex`
    `class` | `SortKeys`
    `class` | `SpoofFused`
    `class` | `Sql`
    `class` | `Ternary` Lop to perform Sum of a matrix with another matrix multiplied by Scalar.
    `class` | `TernaryAggregate`
    `class` | `Transform`
    `class` | `UAggOuterChain` TODO Currently this lop only support the right hand side in distributed cache.
    `class` | `Unary` Lop to perform following operations: with one operand -- NOT(A), ABS(A), SQRT(A), LOG(A) with two operands where one of them is a scalar -- H=H*i, H=H*5, EXP(A,2), LOG(A,2)
    `class` | `UnaryCP`
    `class` | `WeightedCrossEntropy`
    `class` | `WeightedCrossEntropyR`
    `class` | `WeightedDivMM`
    `class` | `WeightedDivMMR`
    `class` | `WeightedSigmoid`
    `class` | `WeightedSigmoidR`
    `class` | `WeightedSquaredLoss`
    `class` | `WeightedSquaredLossR`
    `class` | `WeightedUnaryMM`
    `class` | `WeightedUnaryMMR`

    Methods in org.apache.sysds.lops that return Lop
    Modifier and Type | Method and Description
    --- | ---
    `Lop` | AppendM.`getBroadcastInput()`
    `Lop` | MapMultChain.`getBroadcastInput()`
    `Lop` | Binary.`getBroadcastInput()`
    `Lop` | LeftIndex.`getBroadcastInput()`
    `Lop` | MapMult.`getBroadcastInput()`
    `Lop` | Lop.`getBroadcastInput()` Method to get the input to be broadcast.
    `Lop` | PMMJ.`getBroadcastInput()`
    `Lop` | ParameterizedBuiltin.`getNamedInput(String name)`
    `Lop` | Data.`getNamedInputLop(String name)`
    `Lop` | Data.`getNamedInputLop(String name, String defaultVal)`

    Methods in org.apache.sysds.lops that return types with arguments of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `ArrayList<Lop>` | FunctionCallCP.`getFunctionOutputs()`
    `HashMap<String,Lop>` | Data.`getInputParams()` method to get inputParams
    `ArrayList<Lop>` | Lop.`getInputs()` Method to get input of Lops
    `ArrayList<Lop>` | Lop.`getOutputs()` Method to get output of Lops

    Methods in org.apache.sysds.lops with parameters of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `void` | Lop.`addInput(Lop op)` Method to add input to Lop
    `void` | Lop.`addOutput(Lop op)` Method to add output to Lop
    `static SortKeys` | SortKeys.`constructSortByValueLop(Lop input1, Lop input2, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `static SortKeys` | SortKeys.`constructSortByValueLop(Lop input1, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `void` | AppendG.`init(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `void` | AppendGAlignedSP.`init(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt)`
    `void` | Append.`init(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt)`
    `void` | AppendM.`init(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `void` | AppendR.`init(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `void` | Lop.`removeOutput(Lop op)` Method to remove output from Lop
    `void` | Lop.`replaceInput(Lop oldInp, Lop newInp)` Method to replace an input to a Lop
    `static void` | PartialAggregate.`setDimensionsBasedOnDirection(Lop lop, long dim1, long dim2, long blen, Types.Direction dir)`

    Method parameters in org.apache.sysds.lops with type arguments of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `void` | Lop.`addToDag(Dag<Lop> dag)` Method to recursively add LOPS to a DAG
    `void` | LopProperties.`setLevel(ArrayList<Lop> inputs)`
    `void` | LopProperties.`setProperties(ArrayList<Lop> inputs, Types.ExecType et)`

    Constructors in org.apache.sysds.lops with parameters of type Lop
    Constructor and Description
    `Append(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et)`
    `AppendG(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et)`
    `AppendGAlignedSP(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, boolean cbind)`
    `AppendM(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, boolean cbind, boolean partitioned, Types.ExecType et)`
    `AppendR(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, boolean cbind, Types.ExecType et)`
    `Binary(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to perform a binary operation.
    `Binary(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `BinaryM(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean colVector)` Constructor to perform a binary operation.
    `BinaryScalar(Lop input1, Lop input2, Types.OpOp2 op, Types.DataType dt, Types.ValueType vt)` Constructor to perform a scalar operation
    `BinaryUAggChain(Lop input1, Types.OpOp2 bop, Types.AggOp uaop, Types.Direction uadir, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to setup a map mult chain without weights
    `CentralMoment(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `CentralMoment(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `Checkpoint(Lop input, Types.DataType dt, Types.ValueType vt, String level)` TODO change string parameter storage.level to StorageLevel as soon as we can assume that Spark libraries are always available.
    `Compression(Lop input, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int singletonLookupKey)`
    `CoVariance(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `CoVariance(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `CoVariance(Lop input1, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `CSVReBlock(Lop input, int blen, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `Ctable(Lop[] inputLops, Ctable.OperationTypes op, Types.DataType dt, Types.ValueType vt, boolean ignoreZeros, boolean outputEmptyBlocks, Types.ExecType et)`
    `Ctable(Lop[] inputLops, Ctable.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `CumulativeOffsetBinary(Lop data, Lop offsets, Types.DataType dt, Types.ValueType vt, double init, boolean broadcast, Types.AggOp op, Types.ExecType et)`
    `CumulativeOffsetBinary(Lop data, Lop offsets, Types.DataType dt, Types.ValueType vt, Types.AggOp op, Types.ExecType et)`
    `CumulativePartialAggregate(Lop input, Types.DataType dt, Types.ValueType vt, Types.AggOp op, Types.ExecType et)`
    `Data(Types.OpOpData op, Lop input, HashMap<String,Lop> inputParametersLops, String name, String literal, Types.DataType dt, Types.ValueType vt, Types.FileFormat fmt)` Constructor to setup read or write LOP In case of write: `input` must be provided.
    `DeCompression(Lop input, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `DnnTransform(Lop input1, Lop input2, Lop input3, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `DnnTransform(Lop input1, Lop input2, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `DnnTransform(Lop input, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k, double intermediateMemBudget)` Constructor when we have one input.
    `LeftIndex(Lop lhsInput, Lop rhsInput, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `LeftIndex(Lop lhsInput, Lop rhsInput, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, Types.ExecType et, LeftIndex.LixCacheType type)`
    `MapMult(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, boolean rightCache, boolean partitioned, boolean emptyBlocks, AggBinaryOp.SparkAggType aggtype)` Constructor to setup a partial Matrix-Vector Multiplication for Spark
    `MapMultChain(Lop input1, Lop input2, Lop input3, MapMultChain.ChainType chain, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to setup a map mult chain with weights
    `MapMultChain(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to setup a map mult chain without weights
    `MatMultCP(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `MatMultCP(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean isLeftTransposed, boolean isRightTransposed)`
    `MatMultCP(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `MatMultCP(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k, boolean isLeftTransposed, boolean isRightTransposed)`
    `MMCJ(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, boolean outputEmptyBlocks, AggBinaryOp.SparkAggType aggtype, Types.ExecType et)`
    `MMCJ(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, MMCJ.MMCJType type, Types.ExecType et)` Constructor to perform a cross product operation.
    `MMRJ(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to perform a cross product operation.
    `MMTSJ(Lop input1, Types.DataType dt, Types.ValueType vt, Types.ExecType et, MMTSJ.MMTSJType type)`
    `MMTSJ(Lop input1, Types.DataType dt, Types.ValueType vt, Types.ExecType et, MMTSJ.MMTSJType type, boolean multiPass)`
    `MMTSJ(Lop input1, Types.DataType dt, Types.ValueType vt, Types.ExecType et, MMTSJ.MMTSJType type, boolean multiPass, int k)`
    `MMZip(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, boolean tRewrite, Types.ExecType et)`
    `Nary(Types.OpOpN operationType, Types.DataType dt, Types.ValueType vt, Lop[] inputLops, Types.ExecType et)`
    `PartialAggregate(Lop input, Types.AggOp op, Types.Direction direct, Types.DataType dt, Types.ValueType vt, AggBinaryOp.SparkAggType aggtype, Types.ExecType et)`
    `PartialAggregate(Lop input, Types.AggOp op, Types.Direction direct, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `PickByCount(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, PickByCount.OperationTypes op, Types.ExecType et)`
    `PickByCount(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt, PickByCount.OperationTypes op, Types.ExecType et, boolean inMemoryInput)`
    `PMapMult(Lop input1, Lop input2, Types.DataType dt, Types.ValueType vt)`
    `PMMJ(Lop pminput, Lop rightinput, Lop nrow, Types.DataType dt, Types.ValueType vt, boolean partitioned, boolean emptyBlocks, Types.ExecType et)` Constructor to setup a Permutation Matrix Multiplication
    `ReBlock(Lop input, int blen, Types.DataType dt, Types.ValueType vt, boolean outputEmptyBlocks, Types.ExecType et)`
    `RightIndex(Lop input, Lop rowL, Lop rowU, Lop colL, Lop colU, Lop rowDim, Lop colDim, Types.DataType dt, Types.ValueType vt, AggBinaryOp.SparkAggType aggtype, Types.ExecType et)`
    `RightIndex(Lop input, Lop rowL, Lop rowU, Lop colL, Lop colU, Lop rowDim, Lop colDim, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `RightIndex(Lop input, Lop rowL, Lop rowU, Lop colL, Lop colU, Lop rowDim, Lop colDim, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean forleft)`
    `SortKeys(Lop input, boolean desc, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `SortKeys(Lop input1, Lop input2, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `SortKeys(Lop input, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `Ternary(Types.OpOp3 op, Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
    `TernaryAggregate(Lop input1, Lop input2, Lop input3, Types.AggOp aggOp, Types.OpOp2 binOp, Types.Direction direction, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `Transform(Lop[] inputs, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, boolean outputEmptyBlock, Types.ExecType et)`
    `Transform(Lop[] inputs, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean bSortIndInMem)`
    `Transform(Lop[] inputs, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean bSortIndInMem, int k)`
    `Transform(Lop[] inputs, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `Transform(Lop input, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `Transform(Lop input, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean bSortIndInMem)`
    `Transform(Lop input, Types.ReOrgOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `UAggOuterChain(Lop input1, Lop input2, Types.AggOp uaop, Types.Direction uadir, Types.OpOp2 bop, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to setup a unaryagg outer chain
    `Unary(Lop input1, Lop input2, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)` Constructor to perform a unary operation with 2 inputs
    `Unary(Lop input1, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads, boolean inplace)` Constructor to perform a unary operation with 1 input.
    `UnaryCP(Lop input, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt)`
    `UnaryCP(Lop input, Types.OpOp1 op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to perform a scalar operation
    `WeightedCrossEntropy(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedCrossEntropy.WCeMMType wt, Types.ExecType et)`
    `WeightedCrossEntropyR(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedCrossEntropy.WCeMMType wt, boolean cacheU, boolean cacheV, Types.ExecType et)`
    `WeightedDivMM(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedDivMM.WDivMMType wt, Types.ExecType et)`
    `WeightedDivMMR(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedDivMM.WDivMMType wt, boolean cacheU, boolean cacheV, Types.ExecType et)`
    `WeightedSigmoid(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, WeightedSigmoid.WSigmoidType wt, Types.ExecType et)`
    `WeightedSigmoidR(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, WeightedSigmoid.WSigmoidType wt, boolean cacheU, boolean cacheV, Types.ExecType et)`
    `WeightedSquaredLoss(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedSquaredLoss.WeightsType wt, Types.ExecType et)`
    `WeightedSquaredLossR(Lop input1, Lop input2, Lop input3, Lop input4, Types.DataType dt, Types.ValueType vt, WeightedSquaredLoss.WeightsType wt, boolean cacheU, boolean cacheV, Types.ExecType et)`
    `WeightedUnaryMM(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, WeightedUnaryMM.WUMMType wt, Types.OpOp1 op, Types.ExecType et)`
    `WeightedUnaryMMR(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, WeightedUnaryMM.WUMMType wt, Types.OpOp1 op, boolean cacheU, boolean cacheV, Types.ExecType et)`

    Constructor parameters in org.apache.sysds.lops with type arguments of type Lop
    Constructor and Description
    `Data(Types.OpOpData op, Lop input, HashMap<String,Lop> inputParametersLops, String name, String literal, Types.DataType dt, Types.ValueType vt, Types.FileFormat fmt)` Constructor to setup read or write LOP In case of write: `input` must be provided.
    `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.
    `Federated(HashMap<String,Lop> inputLops, Types.DataType dataType, Types.ValueType valueType)`
    `FunctionCallCP(ArrayList<Lop> inputs, String fnamespace, String fname, String[] inputNames, String[] outputNames, ArrayList<Hop> outputHops, boolean opt, Types.ExecType et)`
    `FunctionCallCP(ArrayList<Lop> inputs, String fnamespace, String fname, String[] inputNames, String[] outputNames, Types.ExecType et)`
    `GroupedAggregate(HashMap<String,Lop> inputParameterLops, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `GroupedAggregate(HashMap<String,Lop> inputParameterLops, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean broadcastGroups)`
    `GroupedAggregate(HashMap<String,Lop> inputParameterLops, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `GroupedAggregateM(HashMap<String,Lop> inputParameterLops, Types.DataType dt, Types.ValueType vt, boolean partitioned, Types.ExecType et)`
    `ParameterizedBuiltin(HashMap<String,Lop> paramLops, Types.ParamBuiltinOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
    `ParameterizedBuiltin(HashMap<String,Lop> paramLops, Types.ParamBuiltinOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean bRmEmptyBC)`
    `ParameterizedBuiltin(HashMap<String,Lop> paramLops, Types.ParamBuiltinOp op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
    `SpoofFused(ArrayList<Lop> inputs, Types.DataType dt, Types.ValueType vt, Class<?> cla, SpoofCompiler.GeneratorAPI api, String genVarName, int k, Types.ExecType etype)`
    `Sql(HashMap<String,Lop> inputParametersLops, Types.DataType dt, Types.ValueType vt)`

  - ### Uses of Lop in org.apache.sysds.lops.compile

    Classes in org.apache.sysds.lops.compile with type parameters of type Lop
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Dag<N extends Lop>` Class to maintain a DAG of lops and compile it into runtime instructions, incl piggybacking into jobs.
    `class` | `LopComparator<N extends Lop>` Comparator class used in sorting the LopDAG in topological order.

    Methods in org.apache.sysds.lops.compile with parameters of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | Dag.`addNode(Lop node)` Method to add a node to the DAG.

  - ### Uses of Lop in org.apache.sysds.parser

    Methods in org.apache.sysds.parser that return Lop
    Modifier and Type | Method and Description
    --- | ---
    `Lop` | ForStatementBlock.`getFromLops()`
    `Lop` | ForStatementBlock.`getIncrementLops()`
    `Lop` | IfStatementBlock.`getPredicateLops()`
    `Lop` | WhileStatementBlock.`getPredicateLops()`
    `Lop` | ForStatementBlock.`getToLops()`

    Methods in org.apache.sysds.parser that return types with arguments of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `ArrayList<Lop>` | StatementBlock.`getLops()`

    Methods in org.apache.sysds.parser with parameters of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `void` | ForStatementBlock.`setFromLops(Lop lops)`
    `void` | ForStatementBlock.`setIncrementLops(Lop lops)`
    `void` | IfStatementBlock.`setPredicateLops(Lop predicateLops)`
    `void` | WhileStatementBlock.`setPredicateLops(Lop predicateLops)`
    `void` | ForStatementBlock.`setToLops(Lop lops)`

    Method parameters in org.apache.sysds.parser with type arguments of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `void` | StatementBlock.`setLops(ArrayList<Lop> lops)`

  - ### Uses of Lop in org.apache.sysds.runtime.instructions

    Methods in org.apache.sysds.runtime.instructions with parameters of type Lop
    Modifier and Type | Method and Description
    --- | ---
    `void` | Instruction.`setLocation(Lop lop)`
    `void` | Instruction.`setPrivacyConstraint(Lop lop)`

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