org.apache.sysds.runtime.matrix.data

## Class MatrixCell

- java.lang.Object
- - org.apache.sysds.runtime.matrix.data.MatrixValue
  - - org.apache.sysds.runtime.matrix.data.MatrixCell

- All Implemented Interfaces:
    Serializable, Comparable, org.apache.hadoop.io.Writable, org.apache.hadoop.io.WritableComparable
  Direct Known Subclasses:
    WeightedCell

      public class MatrixCell
      extends MatrixValue
      implements org.apache.hadoop.io.WritableComparable, Serializable

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.sysds.runtime.matrix.data.MatrixValue

      `MatrixValue.CellIndex`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MatrixCell()`
    `MatrixCell(double v)`
    `MatrixCell(MatrixCell that)`
    `MatrixCell(MatrixValue that)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `MatrixValue` | `aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)`
    `MatrixValue` | `aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
    `void` | `append(MatrixValue valueIn2, ArrayList<IndexedMatrixValue> outlist, int blen, boolean cbind, boolean m2IsLast, int nextNCol)`
    `MatrixValue` | `binaryOperations(BinaryOperator op, MatrixValue thatValue, MatrixValue result)`
    `MatrixValue` | `binaryOperationsInPlace(BinaryOperator op, MatrixValue thatValue)`
    `int` | `compareTo(MatrixCell o)`
    `int` | `compareTo(Object o)`
    `void` | `copy(MatrixValue that)` Copy that MatrixValue into this MatrixValue.
    `void` | `copy(MatrixValue that, boolean sp)` Copy that MatrixValue into this MatrixValue.
    `void` | `ctableOperations(Operator op, double scalarThat, double scalarThat2, CTableMap resultMap, MatrixBlock resultBlock)`
    `void` | `ctableOperations(Operator op, double scalarThat, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)`
    `void` | `ctableOperations(Operator op, MatrixIndexes ix1, double scalarThat, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)`
    `void` | `ctableOperations(Operator op, MatrixValue that, double scalarThat2, boolean ignoreZeros, CTableMap ctableResult, MatrixBlock ctableResultBlock)`
    `void` | `ctableOperations(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)`
    `void` | `denseScalarOperationsInPlace(ScalarOperator op)`
    `boolean` | `equals(Object o)`
    `long` | `getNonZeros()`
    `int` | `getNumColumns()`
    `int` | `getNumRows()`
    `double` | `getValue()`
    `double` | `getValue(int r, int c)`
    `int` | `hashCode()`
    `void` | `incrementalAggregate(AggregateOperator aggOp, MatrixValue newWithCorrection)`
    `void` | `incrementalAggregate(AggregateOperator aggOp, MatrixValue correction, MatrixValue newWithCorrection, boolean deep)`
    `boolean` | `isEmpty()`
    `boolean` | `isInSparseFormat()`
    `void` | `readFields(DataInput in)`
    `MatrixValue` | `reorgOperations(ReorgOperator op, MatrixValue result, int startRow, int startColumn, int length)`
    `MatrixValue` | `replaceOperations(MatrixValue result, double pattern, double replacement)`
    `void` | `reset()`
    `void` | `reset(int rl, int cl)`
    `void` | `reset(int rl, int cl, boolean sp)`
    `void` | `reset(int rl, int cl, boolean sp, long nnzs)`
    `void` | `reset(int rl, int cl, double v)`
    `MatrixValue` | `scalarOperations(ScalarOperator op, MatrixValue result)`
    `void` | `setValue(double v)`
    `void` | `setValue(int r, int c, double v)`
    `void` | `slice(ArrayList<IndexedMatrixValue> outlist, IndexRange range, int rowCut, int colCut, int blen, int boundaryRlen, int boundaryClen)` Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.
    `void` | `sparseScalarOperationsInPlace(ScalarOperator op)`
    `void` | `sparseUnaryOperationsInPlace(UnaryOperator op)`
    `MatrixValue` | `unaryOperations(UnaryOperator op, MatrixValue result)`
    `void` | `write(DataOutput out)`
    `MatrixValue` | `zeroOutOperations(MatrixValue result, IndexRange range, boolean complementary)`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MatrixCell

          public MatrixCell()

    - #### MatrixCell

          public MatrixCell(MatrixCell that)

    - #### MatrixCell

          public MatrixCell(MatrixValue that)

    - #### MatrixCell

          public MatrixCell(double v)

  - ### Method Detail

    - #### setValue

          public void setValue(double v)

    - #### getValue

          public double getValue()

    - #### copy

          public void copy(MatrixValue that,
                           boolean sp)

      Description copied from class: `MatrixValue`
      Copy that MatrixValue into this MatrixValue. But select sparse destination block depending on boolean parameter.
      Specified by:
        `copy` in class `MatrixValue`
      Parameters:
        `that` - object to copy the values into.
        `sp` - boolean specifying if output should be forced sparse or dense. (only applicable if the 'that' is a MatrixBlock)

    - #### copy

          public void copy(MatrixValue that)

      Description copied from class: `MatrixValue`
      Copy that MatrixValue into this MatrixValue. If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix, and copy into either a sparse or a dense matrix.
      Specified by:
        `copy` in class `MatrixValue`
      Parameters:
        `that` - object to copy the values into.

    - #### getNonZeros

          public long getNonZeros()

      Specified by:
        `getNonZeros` in class `MatrixValue`

    - #### getNumColumns

          public int getNumColumns()

      Specified by:
        `getNumColumns` in class `MatrixValue`

    - #### getNumRows

          public int getNumRows()

      Specified by:
        `getNumRows` in class `MatrixValue`

    - #### getValue

          public double getValue(int r,
                                 int c)

      Specified by:
        `getValue` in class `MatrixValue`

    - #### isInSparseFormat

          public boolean isInSparseFormat()

      Specified by:
        `isInSparseFormat` in class `MatrixValue`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in class `MatrixValue`

    - #### readFields

          public void readFields(DataInput in)
                          throws IOException

      Specified by:
        `readFields` in interface `org.apache.hadoop.io.Writable`
      Throws:
        `IOException`

    - #### reset

          public void reset()

      Specified by:
        `reset` in class `MatrixValue`

    - #### reset

          public void reset(int rl,
                            int cl)

      Specified by:
        `reset` in class `MatrixValue`

    - #### reset

          public void reset(int rl,
                            int cl,
                            boolean sp)

      Specified by:
        `reset` in class `MatrixValue`

    - #### reset

          public void reset(int rl,
                            int cl,
                            boolean sp,
                            long nnzs)

      Specified by:
        `reset` in class `MatrixValue`

    - #### reset

          public void reset(int rl,
                            int cl,
                            double v)

      Specified by:
        `reset` in class `MatrixValue`

    - #### setValue

          public void setValue(int r,
                               int c,
                               double v)

      Specified by:
        `setValue` in class `MatrixValue`

    - #### write

          public void write(DataOutput out)
                     throws IOException

      Specified by:
        `write` in interface `org.apache.hadoop.io.Writable`
      Throws:
        `IOException`

    - #### aggregateUnaryOperations

          public MatrixValue aggregateUnaryOperations(AggregateUnaryOperator op,
                                                      MatrixValue result,
                                                      int blen,
                                                      MatrixIndexes indexesIn)

      Specified by:
        `aggregateUnaryOperations` in class `MatrixValue`

    - #### binaryOperations

          public MatrixValue binaryOperations(BinaryOperator op,
                                              MatrixValue thatValue,
                                              MatrixValue result)

      Specified by:
        `binaryOperations` in class `MatrixValue`

    - #### binaryOperationsInPlace

          public MatrixValue binaryOperationsInPlace(BinaryOperator op,
                                                     MatrixValue thatValue)

      Specified by:
        `binaryOperationsInPlace` in class `MatrixValue`

    - #### denseScalarOperationsInPlace

          public void denseScalarOperationsInPlace(ScalarOperator op)

    - #### reorgOperations

          public MatrixValue reorgOperations(ReorgOperator op,
                                             MatrixValue result,
                                             int startRow,
                                             int startColumn,
                                             int length)

      Specified by:
        `reorgOperations` in class `MatrixValue`

    - #### scalarOperations

          public MatrixValue scalarOperations(ScalarOperator op,
                                              MatrixValue result)

      Specified by:
        `scalarOperations` in class `MatrixValue`

    - #### sparseScalarOperationsInPlace

          public void sparseScalarOperationsInPlace(ScalarOperator op)

    - #### sparseUnaryOperationsInPlace

          public void sparseUnaryOperationsInPlace(UnaryOperator op)

    - #### unaryOperations

          public MatrixValue unaryOperations(UnaryOperator op,
                                             MatrixValue result)

      Specified by:
        `unaryOperations` in class `MatrixValue`

    - #### compareTo

          public int compareTo(MatrixCell o)

    - #### compareTo

          public int compareTo(Object o)

      Specified by:
        `compareTo` in interface `Comparable`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### incrementalAggregate

          public void incrementalAggregate(AggregateOperator aggOp,
                                           MatrixValue correction,
                                           MatrixValue newWithCorrection,
                                           boolean deep)

      Specified by:
        `incrementalAggregate` in class `MatrixValue`

    - #### zeroOutOperations

          public MatrixValue zeroOutOperations(MatrixValue result,
                                               IndexRange range,
                                               boolean complementary)

      Specified by:
        `zeroOutOperations` in class `MatrixValue`

    - #### incrementalAggregate

          public void incrementalAggregate(AggregateOperator aggOp,
                                           MatrixValue newWithCorrection)

      Specified by:
        `incrementalAggregate` in class `MatrixValue`

    - #### ctableOperations

          public void ctableOperations(Operator op,
                                       MatrixValue that,
                                       MatrixValue that2,
                                       CTableMap resultMap,
                                       MatrixBlock resultBlock)

      Specified by:
        `ctableOperations` in class `MatrixValue`

    - #### ctableOperations

          public void ctableOperations(Operator op,
                                       MatrixValue that,
                                       double scalarThat2,
                                       boolean ignoreZeros,
                                       CTableMap ctableResult,
                                       MatrixBlock ctableResultBlock)

      Specified by:
        `ctableOperations` in class `MatrixValue`

    - #### ctableOperations

          public void ctableOperations(Operator op,
                                       double scalarThat,
                                       double scalarThat2,
                                       CTableMap resultMap,
                                       MatrixBlock resultBlock)

      Specified by:
        `ctableOperations` in class `MatrixValue`

    - #### ctableOperations

          public void ctableOperations(Operator op,
                                       MatrixIndexes ix1,
                                       double scalarThat,
                                       boolean left,
                                       int blen,
                                       CTableMap resultMap,
                                       MatrixBlock resultBlock)

      Specified by:
        `ctableOperations` in class `MatrixValue`

    - #### ctableOperations

          public void ctableOperations(Operator op,
                                       double scalarThat,
                                       MatrixValue that2,
                                       CTableMap resultMap,
                                       MatrixBlock resultBlock)

      Specified by:
        `ctableOperations` in class `MatrixValue`

    - #### slice

          public void slice(ArrayList<IndexedMatrixValue> outlist,
                            IndexRange range,
                            int rowCut,
                            int colCut,
                            int blen,
                            int boundaryRlen,
                            int boundaryClen)

      Description copied from class: `MatrixValue`
      Slice out up to 4 matrixBlocks that are separated by the row and col Cuts. This is used in the context of spark execution to distributed sliced out matrix blocks of correct block size.
      Specified by:
        `slice` in class `MatrixValue`
      Parameters:
        `outlist` - The output matrix blocks that is extracted from the matrix
        `range` - An index range containing overlapping information.
        `rowCut` - The row to cut and split the matrix.
        `colCut` - The column to cut ans split the matrix.
        `blen` - The Block size of the output matrices.
        `boundaryRlen` - The row length of the edge case matrix block, used for the final blocks that does not have enough rows to construct a full block.
        `boundaryClen` - The col length of the edge case matrix block, used for the final blocks that does not have enough cols to construct a full block.

    - #### replaceOperations

          public MatrixValue replaceOperations(MatrixValue result,
                                               double pattern,
                                               double replacement)

      Specified by:
        `replaceOperations` in class `MatrixValue`

    - #### aggregateUnaryOperations

          public MatrixValue aggregateUnaryOperations(AggregateUnaryOperator op,
                                                      MatrixValue result,
                                                      int blen,
                                                      MatrixIndexes indexesIn,
                                                      boolean inCP)

      Specified by:
        `aggregateUnaryOperations` in class `MatrixValue`

    - #### append

          public void append(MatrixValue valueIn2,
                             ArrayList<IndexedMatrixValue> outlist,
                             int blen,
                             boolean cbind,
                             boolean m2IsLast,
                             int nextNCol)

      Specified by:
        `append` in class `MatrixValue`

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