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

Packages that use Lop
org.apache.sysds.hops
org.apache.sysds.hops.codegen
org.apache.sysds.lops
org.apache.sysds.lops.compile
org.apache.sysds.lops.compile.linearization
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
`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` AggUnaryOp.`constructLops()`
`Lop` BinaryOp.`constructLops()`
`Lop` DataGenOp.`constructLops()`
`Lop` DataOp.`constructLops()`
`Lop` DnnOp.`constructLops()`
`Lop` FunctionOp.`constructLops()`
`abstract Lop` Hop.`constructLops()`
`Lop` IndexingOp.`constructLops()`
`Lop` LeftIndexingOp.`constructLops()`
`Lop` LiteralOp.`constructLops()`
`Lop` NaryOp.`constructLops()` Construct the corresponding Lops for this Hop
`Lop` ParameterizedBuiltinOp.`constructLops()`
`Lop` QuaternaryOp.`constructLops()`
`Lop` ReorgOp.`constructLops()`
`Lop` TernaryOp.`constructLops()`
`Lop` UnaryOp.`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
`void` Hop.`setLops​(Lop lops)`
`void` Hop.`updateLopFedOut​(Lop lop)`
`void` Hop.`updateLopFedOut​(Lop lop, Types.ExecType execType, FEDInstruction.FederatedOutput fedOut)`

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

Methods in org.apache.sysds.hops.codegen that return Lop
`Lop` SpoofFusedOp.`constructLops()`

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

Subclasses of Lop in org.apache.sysds.lops
`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` `Local`
`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
`Lop` AppendM.`getBroadcastInput()`
`Lop` Binary.`getBroadcastInput()`
`Lop` LeftIndex.`getBroadcastInput()`
`Lop` Lop.`getBroadcastInput()` Method to get the input to be broadcast.
`Lop` MapMult.`getBroadcastInput()`
`Lop` MapMultChain.`getBroadcastInput()`
`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
`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
`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, int numThreads)`
`static SortKeys` SortKeys.`constructSortByValueLop​(Lop input1, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
`void` Append.`init​(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt)`
`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` 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
`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
`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, Types.DataType dt, Types.ValueType vt, int numThreads, Types.ExecType et)`
`CentralMoment​(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, int numThreads, 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, Types.DataType dt, Types.ValueType vt, int numThreads, Types.ExecType et)`
`CoVariance​(Lop input1, Lop input2, Lop input3, Types.DataType dt, Types.ValueType vt, int numThreads, 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 input, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k, double intermediateMemBudget)` Constructor when we have one input.
`DnnTransform​(Lop input1, Lop input2, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
`DnnTransform​(Lop input1, Lop input2, Lop input3, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
`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)`
`Local​(Lop input, Types.DataType dt, Types.ValueType vt)`
`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, Types.DataType dt, Types.ValueType vt, Types.ExecType et)` Constructor to setup a map mult chain without weights
`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
`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, Types.ExecType et, int k)`
`PartialAggregate​(Lop input, Types.AggOp op, Types.Direction direct, Types.DataType dt, Types.ValueType vt, AggBinaryOp.SparkAggType aggtype, Types.ExecType et)`
`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, Types.DataType dt, Types.ValueType vt, Types.ExecType et)`
`RightIndex​(Lop input, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, Types.ExecType et, boolean forleft)`
`RightIndex​(Lop input, Lop rowL, Lop rowU, Lop colL, Lop colU, Types.DataType dt, Types.ValueType vt, AggBinaryOp.SparkAggType aggtype, Types.ExecType et)`
`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, int numThreads)`
`SortKeys​(Lop input, SortKeys.OperationTypes op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int numThreads)`
`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, 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.
`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
`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
`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
`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
`boolean` Dag.`addNode​(Lop node)` Method to add a node to the DAG.

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

Methods in org.apache.sysds.lops.compile.linearization that return types with arguments of type Lop
`static List<Lop>` ILinearize.`linearize​(List<Lop> v)`

Method parameters in org.apache.sysds.lops.compile.linearization with type arguments of type Lop
`static List<Lop>` ILinearize.`linearize​(List<Lop> v)`

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

Methods in org.apache.sysds.parser that return Lop
`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
`ArrayList<Lop>` StatementBlock.`getLops()`

Methods in org.apache.sysds.parser with parameters of type Lop
`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
`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
`void` Instruction.`setLocation​(Lop lop)`
`void` Instruction.`setPrivacyConstraint​(Lop lop)`