## Uses of Class
org.apache.sysds.runtime.instructions.cp.ScalarObject

- Packages that use ScalarObject
  Package | Description
  --- | ---
  org.apache.sysds.api.jmlc |
  org.apache.sysds.api.mlcontext |
  org.apache.sysds.hops.rewrite |
  org.apache.sysds.runtime.codegen |
  org.apache.sysds.runtime.compress |
  org.apache.sysds.runtime.controlprogram |
  org.apache.sysds.runtime.controlprogram.context |
  org.apache.sysds.runtime.controlprogram.federated |
  org.apache.sysds.runtime.instructions.cp |
  org.apache.sysds.runtime.lineage |
  org.apache.sysds.runtime.matrix.data |
  org.apache.sysds.runtime.privacy.propagation |
  org.apache.sysds.runtime.util |

- - ### Uses of ScalarObject in org.apache.sysds.api.jmlc

    Methods in org.apache.sysds.api.jmlc that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `ScalarObject` | ResultVariables.`getScalarObject​(String varname)` | Obtain the ScalarObject represented by the given output variable.

    Methods in org.apache.sysds.api.jmlc with parameters of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | PreparedScript.`setScalar​(String varname, ScalarObject scalar, boolean reuse)` | Binds a scalar object to a registered input variable.

  - ### Uses of ScalarObject in org.apache.sysds.api.mlcontext

    Methods in org.apache.sysds.api.mlcontext that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `ScalarObject` | MLResults.`getScalarObject​(String outputName)` | Obtain an output as a `Scalar` object.

  - ### Uses of ScalarObject in org.apache.sysds.hops.rewrite

    Methods in org.apache.sysds.hops.rewrite that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ScalarObject` | HopRewriteUtils.`getScalarObject​(LiteralOp op)` |

  - ### Uses of ScalarObject in org.apache.sysds.runtime.codegen

    Methods in org.apache.sysds.runtime.codegen that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `ScalarObject` | SpoofCellwise.`execute​(ArrayList<MatrixBlock> inputs, ArrayList<ScalarObject> scalarObjects, int k)` |
    `ScalarObject` | SpoofCellwise.`execute​(ArrayList<MatrixBlock> inputs, ArrayList<ScalarObject> scalarObjects, int k, long rix)` |
    `ScalarObject` | SpoofCUDACellwise.`execute​(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)` |
    `ScalarObject` | SpoofCUDAOperator.`execute​(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)` |
    `ScalarObject` | SpoofCUDARowwise.`execute​(ExecutionContext ec, ArrayList<MatrixObject> inputs, ArrayList<ScalarObject> scalarObjects)` |
    `ScalarObject` | SpoofOperator.`execute​(ArrayList<MatrixBlock> inputs, ArrayList<ScalarObject> scalars)` |
    `ScalarObject` | SpoofOperator.`execute​(ArrayList<MatrixBlock> inputs, ArrayList<ScalarObject> scalars, int k)` |
    `ScalarObject` | SpoofOuterProduct.`execute​(ArrayList<MatrixBlock> inputs, ArrayList<ScalarObject> scalarObjects)` |
    `ScalarObject` | SpoofOuterProduct.`execute​(ArrayList<MatrixBlock> inputs, ArrayList<ScalarObject> scalarObjects, int numThreads)` |
    `ScalarObject` | SpoofRowwise.`execute​(ArrayList<MatrixBlock> inputs, ArrayList<ScalarObject> scalarObjects, int k)` |

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

    Methods in org.apache.sysds.runtime.compress with parameters of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixBlock` | CompressedMatrixBlock.`leftIndexingOperations​(ScalarObject scalar, int rl, int cl, MatrixBlock ret, MatrixObject.UpdateType update)` |

  - ### Uses of ScalarObject in org.apache.sysds.runtime.controlprogram

    Methods in org.apache.sysds.runtime.controlprogram that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `ScalarObject` | ProgramBlock.`executePredicate​(ArrayList<Instruction> inst, Hop hops, boolean requiresRecompile, Types.ValueType retType, ExecutionContext ec)` | Executes given predicate instructions (incl recompilation if required)

  - ### Uses of ScalarObject in org.apache.sysds.runtime.controlprogram.context

    Methods in org.apache.sysds.runtime.controlprogram.context that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `ScalarObject` | ExecutionContext.`getScalarInput​(String name, Types.ValueType vt, boolean isLiteral)` |
    `ScalarObject` | ExecutionContext.`getScalarInput​(CPOperand input)` |

    Methods in org.apache.sysds.runtime.controlprogram.context that return types with arguments of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<ScalarObject>` | ExecutionContext.`getScalarInputs​(CPOperand[] inputs)` |

    Methods in org.apache.sysds.runtime.controlprogram.context with parameters of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ExecutionContext.`setScalarOutput​(String varName, ScalarObject so)` |

  - ### Uses of ScalarObject in org.apache.sysds.runtime.controlprogram.federated

    Methods in org.apache.sysds.runtime.controlprogram.federated that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ScalarObject` | FederationUtils.`aggScalar​(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr)` |
    `static ScalarObject` | FederationUtils.`aggScalar​(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)` |
    `static ScalarObject` | FederationUtils.`aggScalar​(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)` |

    Methods in org.apache.sysds.runtime.controlprogram.federated with parameters of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `FederatedRequest` | FederationMap.`broadcast​(ScalarObject scalar)` |

  - ### Uses of ScalarObject in org.apache.sysds.runtime.instructions.cp

    Subclasses of ScalarObject in org.apache.sysds.runtime.instructions.cp
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BooleanObject` |
    `class` | `DoubleObject` |
    `class` | `IntObject` |
    `class` | `StringObject` |

    Methods in org.apache.sysds.runtime.instructions.cp that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ScalarObject` | ScalarObjectFactory.`createScalarObject​(String value)` |
    `static ScalarObject` | ScalarObjectFactory.`createScalarObject​(Types.ValueType vt, double value)` |
    `static ScalarObject` | ScalarObjectFactory.`createScalarObject​(Types.ValueType vt, Object obj)` |
    `static ScalarObject` | ScalarObjectFactory.`createScalarObject​(Types.ValueType vt, String value)` |
    `static ScalarObject` | ScalarObjectFactory.`createScalarObject​(Types.ValueType vt, LiteralOp lit)` |
    `static ScalarObject` | ScalarObjectFactory.`createScalarObject​(Types.ValueType vt, ScalarObject so)` |
    `static ScalarObject` | ScalarObjectFactory.`createScalarObject​(LiteralOp lit)` |
    `ScalarObject` | CPOperand.`getLiteral()` |

    Methods in org.apache.sysds.runtime.instructions.cp with parameters of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static DoubleObject` | ScalarObjectFactory.`castToDouble​(ScalarObject so)` |
    `static IntObject` | ScalarObjectFactory.`castToLong​(ScalarObject so)` |
    `static LiteralOp` | ScalarObjectFactory.`createLiteralOp​(ScalarObject so)` |
    `static LiteralOp` | ScalarObjectFactory.`createLiteralOp​(ScalarObject so, UnaryOp cast)` |
    `static ScalarObject` | ScalarObjectFactory.`createScalarObject​(Types.ValueType vt, ScalarObject so)` |
    `String` | CPOperand.`getLineageLiteral​(ScalarObject so)` |
    `static String` | CPOperand.`getLineageLiteral​(ScalarObject so, boolean isLiteral)` |
    `void` | CPOperand.`setLiteral​(ScalarObject literal)` |

    Constructors in org.apache.sysds.runtime.instructions.cp with parameters of type ScalarObject
    Constructor | Description
    --- | ---
    `CPOperand​(ScalarObject so)` |

  - ### Uses of ScalarObject in org.apache.sysds.runtime.lineage

    Methods in org.apache.sysds.runtime.lineage that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `ScalarObject` | LineageCacheEntry.`getSOValue()` |

    Methods in org.apache.sysds.runtime.lineage with parameters of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | LineageCacheEntry.`setValue​(ScalarObject val, long computetime)` |

    Constructors in org.apache.sysds.runtime.lineage with parameters of type ScalarObject
    Constructor | Description
    --- | ---
    `LineageCacheEntry​(LineageItem key, Types.DataType dt, MatrixBlock Mval, ScalarObject Sval, long computetime)` |

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

    Methods in org.apache.sysds.runtime.matrix.data with parameters of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixBlock` | MatrixBlock.`leftIndexingOperations​(ScalarObject scalar, int rl, int cl, MatrixBlock ret, MatrixObject.UpdateType update)` | Explicitly allow left indexing for scalars.
    `static MatrixBlock` | MatrixBlock.`naryOperations​(Operator op, MatrixBlock[] matrices, ScalarObject[] scalars, MatrixBlock ret)` |

  - ### Uses of ScalarObject in org.apache.sysds.runtime.privacy.propagation

    Constructors in org.apache.sysds.runtime.privacy.propagation with parameters of type ScalarObject
    Constructor | Description
    --- | ---
    `ListRemovePropagator​(ListObject list, PrivacyConstraint listPrivacyConstraint, ScalarObject removePosition, PrivacyConstraint removePositionPrivacyConstraint)` |

  - ### Uses of ScalarObject in org.apache.sysds.runtime.util

    Methods in org.apache.sysds.runtime.util that return ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ScalarObject` | HDFSTool.`readScalarObjectFromHDFSFile​(String fname, Types.ValueType vt)` |

    Methods in org.apache.sysds.runtime.util with parameters of type ScalarObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | HDFSTool.`writeScalarToHDFS​(ScalarObject scalar, String fname)` | Helper function to write scalars to HDFS, including writing its meta data and removing CRC files in local file system