Package org.apache.sysds.runtime.compress.colgroup

## Class ASDCZero

- java.lang.Object
- - org.apache.sysds.runtime.compress.colgroup.AColGroup
  - - org.apache.sysds.runtime.compress.colgroup.AColGroupCompressed
    - - org.apache.sysds.runtime.compress.colgroup.AColGroupValue
      - - org.apache.sysds.runtime.compress.colgroup.APreAgg
        - - org.apache.sysds.runtime.compress.colgroup.ASDCZero

- All Implemented Interfaces:
    `Serializable`, `Cloneable`
  Direct Known Subclasses:
    `ColGroupSDCSingleZeros`, `ColGroupSDCZeros`

      public abstract class ASDCZero
      extends APreAgg

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.sysds.runtime.compress.colgroup.AColGroup

      `AColGroup.CompressionType`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `decompressToDenseBlock​(DenseBlock db, int rl, int ru, int offR, int offC, AIterator it)` |
    `void` | `decompressToDenseBlockDenseDictionary​(DenseBlock db, int rl, int ru, int offR, int offC, AIterator it)` |
    `abstract void` | `decompressToDenseBlockDenseDictionaryWithProvidedIterator​(DenseBlock db, int rl, int ru, int offR, int offC, double[] values, AIterator it)` |
    `AIterator` | `getIterator​(int row)` |
    `void` | `leftMultByMatrixNoPreAgg​(MatrixBlock matrix, MatrixBlock result, int rl, int ru, int cl, int cu)` | Left multiply with this column group.

    - ### Methods inherited from class org.apache.sysds.runtime.compress.colgroup.APreAgg

      `getPreAggregateSize, leftMultByAColGroup, mmWithDictionary, preAggregate, preAggregateDense, preAggregateSparse, preAggregateThatIndexStructure, tsmmAColGroup`

    - ### Methods inherited from class org.apache.sysds.runtime.compress.colgroup.AColGroupValue

      `centralMoment, computeColSums, containsValue, copy, decompressToDenseBlock, decompressToSparseBlock, estimateInMemorySize, forceMatrixBlockDictionary, getCachedCounts, getCounts, getCounts, getDictionary, getExactSizeOnDisk, getNumberNonZeros, getNumValues, readFields, replace, rexpandCols, rightMultByMatrix, toString, write`

    - ### Methods inherited from class org.apache.sysds.runtime.compress.colgroup.AColGroupCompressed

      `getMax, getMin, preAggRows, tsmm, unaryAggregateOperations, unaryAggregateOperations`

    - ### Methods inherited from class org.apache.sysds.runtime.compress.colgroup.AColGroup

      `binaryRowOpLeft, binaryRowOpRight, colSum, decompressToDenseBlock, decompressToSparseBlock, get, getColIndices, getCompType, getCost, getIdx, getNumCols, scalarOperation, shiftColIndices, sliceColumn, sliceColumns, unaryOperation`

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

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### leftMultByMatrixNoPreAgg

          public final void leftMultByMatrixNoPreAgg​(MatrixBlock matrix,
                                                     MatrixBlock result,
                                                     int rl,
                                                     int ru,
                                                     int cl,
                                                     int cu)

      Description copied from class: `AColGroup`
      Left multiply with this column group.
      Specified by:
        `leftMultByMatrixNoPreAgg` in class `AColGroup`
      Parameters:
        `matrix` - The matrix to multiply with on the left
        `result` - The result to output the values into, always dense for the purpose of the column groups parallelizing
        `rl` - The row to begin the multiplication from on the lhs matrix
        `ru` - The row to end the multiplication at on the lhs matrix
        `cl` - The column to begin the multiplication from on the lhs matrix
        `cu` - The column to end the multiplication at on the lhs matrix

    - #### decompressToDenseBlock

          public void decompressToDenseBlock​(DenseBlock db,
                                             int rl,
                                             int ru,
                                             int offR,
                                             int offC,
                                             AIterator it)

    - #### decompressToDenseBlockDenseDictionary

          public void decompressToDenseBlockDenseDictionary​(DenseBlock db,
                                                            int rl,
                                                            int ru,
                                                            int offR,
                                                            int offC,
                                                            AIterator it)

    - #### decompressToDenseBlockDenseDictionaryWithProvidedIterator

          public abstract void decompressToDenseBlockDenseDictionaryWithProvidedIterator​(DenseBlock db,
                                                                                         int rl,
                                                                                         int ru,
                                                                                         int offR,
                                                                                         int offC,
                                                                                         double[] values,
                                                                                         AIterator it)

    - #### getIterator

          public AIterator getIterator​(int row)