## Uses of Class
org.apache.sysds.runtime.matrix.operators.ScalarOperator

- Packages that use ScalarOperator
  Package | Description
  --- | ---
  org.apache.sysds.runtime.compress |
  org.apache.sysds.runtime.compress.colgroup |
  org.apache.sysds.runtime.compress.colgroup.dictionary |
  org.apache.sysds.runtime.compress.lib |
  org.apache.sysds.runtime.instructions |
  org.apache.sysds.runtime.instructions.spark.functions |
  org.apache.sysds.runtime.matrix.data |
  org.apache.sysds.runtime.matrix.operators |

- - ### Uses of ScalarOperator in org.apache.sysds.runtime.compress

    Methods in org.apache.sysds.runtime.compress with parameters of type ScalarOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixBlock` | CompressedMatrixBlock.`scalarOperations​(ScalarOperator sop, MatrixValue result)` |

  - ### Uses of ScalarOperator in org.apache.sysds.runtime.compress.colgroup

    Methods in org.apache.sysds.runtime.compress.colgroup with parameters of type ScalarOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract AColGroup` | AColGroup.`scalarOperation​(ScalarOperator op)` | Perform the specified scalar operation directly on the compressed column group, without decompressing individual cells if possible.
    `AColGroup` | ColGroupConst.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupDDC.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupDDCFOR.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupDeltaDDC.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupEmpty.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupOLE.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupRLE.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDC.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDCFOR.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDCSingle.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDCSingleZeros.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDCZeros.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupUncompressed.`scalarOperation​(ScalarOperator op)` |

  - ### Uses of ScalarOperator in org.apache.sysds.runtime.compress.colgroup.dictionary

    Methods in org.apache.sysds.runtime.compress.colgroup.dictionary with parameters of type ScalarOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract ADictionary` | ADictionary.`applyScalarOp​(ScalarOperator op)` | Allocate a new dictionary and applies the scalar operation on each cell of the to then return the new dictionary.
    `DeltaDictionary` | DeltaDictionary.`applyScalarOp​(ScalarOperator op)` |
    `Dictionary` | Dictionary.`applyScalarOp​(ScalarOperator op)` |
    `ADictionary` | MatrixBlockDictionary.`applyScalarOp​(ScalarOperator op)` |
    `QDictionary` | QDictionary.`applyScalarOp​(ScalarOperator op)` |
    `abstract ADictionary` | ADictionary.`applyScalarOpWithReference​(ScalarOperator op, double[] reference, double[] newReference)` | Allocate a new dictionary and apply the scalar operation on each cell to then return a new dictionary.
    `Dictionary` | Dictionary.`applyScalarOpWithReference​(ScalarOperator op, double[] reference, double[] newReference)` |
    `ADictionary` | MatrixBlockDictionary.`applyScalarOpWithReference​(ScalarOperator op, double[] reference, double[] newReference)` |
    `ADictionary` | QDictionary.`applyScalarOpWithReference​(ScalarOperator op, double[] reference, double[] newReference)` |
    `abstract ADictionary` | ADictionary.`inplaceScalarOp​(ScalarOperator op)` | Applies the scalar operation on the dictionary.
    `Dictionary` | Dictionary.`inplaceScalarOp​(ScalarOperator op)` |
    `ADictionary` | MatrixBlockDictionary.`inplaceScalarOp​(ScalarOperator op)` |
    `QDictionary` | QDictionary.`inplaceScalarOp​(ScalarOperator op)` |

  - ### Uses of ScalarOperator in org.apache.sysds.runtime.compress.lib

    Methods in org.apache.sysds.runtime.compress.lib with parameters of type ScalarOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MatrixBlock` | CLALibScalar.`scalarOperations​(ScalarOperator sop, CompressedMatrixBlock m1, MatrixValue result)` |

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

    Methods in org.apache.sysds.runtime.instructions that return ScalarOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ScalarOperator` | InstructionUtils.`parseScalarBinaryOperator​(String opcode, boolean arg1IsScalar)` | scalar-matrix operator
    `static ScalarOperator` | InstructionUtils.`parseScalarBinaryOperator​(String opcode, boolean arg1IsScalar, double constant)` | scalar-matrix operator

  - ### Uses of ScalarOperator in org.apache.sysds.runtime.instructions.spark.functions

    Constructors in org.apache.sysds.runtime.instructions.spark.functions with parameters of type ScalarOperator
    Constructor | Description
    --- | ---
    `MatrixScalarUnaryFunction​(ScalarOperator sc_op)` |

  - ### Uses of ScalarOperator in org.apache.sysds.runtime.matrix.data

    Methods in org.apache.sysds.runtime.matrix.data with parameters of type ScalarOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | LibMatrixBincell.`bincellOp​(MatrixBlock m1, MatrixBlock ret, ScalarOperator op)` | matrix-scalar, scalar-matrix binary operations.
    `static void` | LibMatrixBincell.`bincellOp​(MatrixBlock m1, MatrixBlock ret, ScalarOperator op, int k)` |
    `void` | MatrixCell.`denseScalarOperationsInPlace​(ScalarOperator op)` |
    `void` | WeightedCell.`denseScalarOperationsInPlace​(ScalarOperator op)` |
    `static void` | LibMatrixCUDA.`matrixScalarArithmetic​(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in, String outputName, boolean isInputTransposed, ScalarOperator op)` | Entry point to perform elementwise matrix-scalar arithmetic operation specified by op
    `static void` | LibMatrixCUDA.`matrixScalarOp​(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in, String outputName, boolean isInputTransposed, ScalarOperator op)` | Utility to do matrix-scalar operation kernel
    `static void` | LibMatrixCUDA.`matrixScalarRelational​(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in, String outputName, ScalarOperator op)` | Entry point to perform elementwise matrix-scalar relational operation specified by op
    `MatrixValue` | CM_N_COVCell.`scalarOperations​(ScalarOperator op, MatrixValue result)` |
    `MatrixBlock` | MatrixBlock.`scalarOperations​(ScalarOperator op, MatrixValue result)` |
    `MatrixValue` | MatrixCell.`scalarOperations​(ScalarOperator op, MatrixValue result)` |
    `abstract MatrixValue` | MatrixValue.`scalarOperations​(ScalarOperator op, MatrixValue result)` |
    `MatrixValue` | WeightedCell.`scalarOperations​(ScalarOperator op, MatrixValue result)` |
    `void` | MatrixCell.`sparseScalarOperationsInPlace​(ScalarOperator op)` |
    `void` | WeightedCell.`sparseScalarOperationsInPlace​(ScalarOperator op)` |

  - ### Uses of ScalarOperator in org.apache.sysds.runtime.matrix.operators

    Subclasses of ScalarOperator in org.apache.sysds.runtime.matrix.operators
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `LeftScalarOperator` | Scalar operator for scalar-matrix operations with scalar on the left-hand-side.
    `class` | `RightScalarOperator` | Scalar operator for scalar-matrix operations with scalar on the right-hand-side.

    Methods in org.apache.sysds.runtime.matrix.operators that return ScalarOperator
    Modifier and Type | Method | Description
    --- | --- | ---
    `ScalarOperator` | LeftScalarOperator.`setConstant​(double cst)` |
    `ScalarOperator` | LeftScalarOperator.`setConstant​(double cst, int numThreads)` |
    `ScalarOperator` | RightScalarOperator.`setConstant​(double cst)` |
    `ScalarOperator` | RightScalarOperator.`setConstant​(double cst, int numThreads)` |
    `abstract ScalarOperator` | ScalarOperator.`setConstant​(double cst)` |
    `abstract ScalarOperator` | ScalarOperator.`setConstant​(double cst, int numThreads)` |