| Class | Description | 
|---|---|
| AggBinaryOp | |
| AggUnaryOp | |
| BinaryOp | |
| DataGenOp | A DataGenOp can be rand (or matrix constructor), sequence, and sample -
 these operators have different parameters and use a map of parameter type to hop position. | 
| DataOp | A DataOp can be either a persistent read/write or transient read/write - writes will always have at least one input,
  but all types can have parameters (e.g., for csv literals of delimiter, header, etc). | 
| DnnOp | |
| FunctionOp | This FunctionOp represents the call to a DML-bodied or external function. | 
| Hop | |
| IndexingOp | |
| LeftIndexingOp | |
| LiteralOp | |
| MemoTable | Memoization Table (hop id, worst-case matrix characteristics). | 
| MultiThreadedHop | Optional hop interface, to be implemented by multi-threaded hops. | 
| NaryOp | The NaryOp Hop allows for a variable number of operands. | 
| OptimizerUtils | |
| ParameterizedBuiltinOp | Defines the HOP for calling an internal function (with custom parameters) from a DML script. | 
| QuaternaryOp | Note: this hop should be called AggQuaternaryOp in consistency with AggUnaryOp and AggBinaryOp;
 however, since there does not exist a real QuaternaryOp yet - we can leave it as is for now. | 
| ReorgOp | Reorg (cell) operation: aij
                Properties: 
                        Symbol: ', rdiag, rshape, rsort
                        1 Operand (except sort and reshape take additional arguments)
        
                Semantic: change indices (in mapper or reducer)
 
 
  NOTE MB: reshape integrated here because (1) ParameterizedBuiltinOp requires name-value pairs for params
  and (2) most importantly semantic of reshape is exactly a reorg op. | 
| TernaryOp | Primary use cases for now, are
                 quantile (<n-1-matrix>, <n-1-matrix>, <literal>):      quantile (A, w, 0.5)quantile (<n-1-matrix>, <n-1-matrix>, <scalar>):       quantile (A, w, s)interquantile (<n-1-matrix>, <n-1-matrix>, <scalar>):  interquantile (A, w, s)Keep in mind, that we also have binaries for it w/o weights. | 
| UnaryOp | 
| Enum | Description | 
|---|---|
| AggBinaryOp.MMultMethod | |
| AggBinaryOp.SparkAggType | |
| BinaryOp.AppendMethod | |
| BinaryOp.MMBinaryMethod | |
| FunctionOp.FunctionType | |
| LeftIndexingOp.LeftIndexingMethod | |
| OptimizerUtils.OptimizationLevel | Optimization Types for Compilation
 
  O0 STATIC - Decisions for scheduling operations on CP/MR are based on
  predefined set of rules, which check if the dimensions are below a 
  fixed/static threshold (OLD Method of choosing between CP and MR). | 
| Exception | Description | 
|---|---|
| HopsException | Exception occurring in the HOP level. | 
Copyright © 2020 The Apache Software Foundation. All rights reserved.