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.ADictBasedColGroup
      - - 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`, `AOffsetsGroup`, `IContainADictionary`, `IContainDefaultTuple`

Direct Known Subclasses:
  `ColGroupSDCSingleZeros`, `ColGroupSDCZeros`

    public abstract class ASDCZero
    extends APreAgg
    implements AOffsetsGroup, IContainDefaultTuple

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
`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)`
`CompressedSizeInfoColGroup` `getCompressionInfo​(int nRow)` Get the compression info for this column group.
`ICLAScheme` `getCompressionScheme()` Get the compression scheme for this column group to enable compression of other data.
`double[]` `getDefaultTuple()`
`AIterator` `getIterator​(int row)`
`abstract int` `getNumberOffsets()`
`int` `getNumRows()`
`AOffset` `getOffsets()`
`void` `leftMultByMatrixNoPreAgg​(MatrixBlock matrix, MatrixBlock result, int rl, int ru, int cl, int cu)` Left multiply with this column group.
`AColGroup` `morph​(AColGroup.CompressionType ct, int nRow)` Recompress this column group into a new column group of the given type.

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

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

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

`centralMoment, clear, computeColSums, estimateInMemorySize, getCounts, getNumberNonZeros, getNumValues, replace, rexpandCols, toString`

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

`copyAndSet, copyAndSet, decompressToDenseBlock, decompressToDenseBlockTransposed, decompressToSparseBlock, decompressToSparseBlockTransposed, getDictionary, getExactSizeOnDisk, getSparsity, reduceCols, rightMultByMatrix, write`

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

`getMax, getMin, getSum, isEmpty, preAggRows, sameIndexStructure, sameIndexStructure, tsmm, unaryAggregateOperations, unaryAggregateOperations`

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

`addVector, append, appendN, binaryRowOpLeft, binaryRowOpRight, colSum, combine, combineWithSameIndex, combineWithSameIndex, containsValue, decompressToDenseBlock, decompressToSparseBlock, get, getColIndices, getCompType, getCost, getEncoding, getIdx, getNumCols, recompress, rightDecompressingMult, rightMultByMatrix, scalarOperation, selectionMultiply, shiftColIndices, sliceColumn, sliceColumns, sliceRows, sortColumnIndexes, splitReshape, splitReshapePushDown, unaryOperation`

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

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

### Method Detail

#### getNumRows

    public int getNumRows()

#### 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)

#### getOffsets

    public AOffset getOffsets()

Specified by:
  `getOffsets` in interface `AOffsetsGroup`

#### getNumberOffsets

    public abstract int getNumberOffsets()

#### getDefaultTuple

    public double[] getDefaultTuple()

Specified by:
  `getDefaultTuple` in interface `IContainDefaultTuple`

#### getCompressionInfo

    public final CompressedSizeInfoColGroup getCompressionInfo​(int nRow)

Description copied from class: `AColGroup`
Get the compression info for this column group.

Specified by:
  `getCompressionInfo` in class `AColGroup`
Parameters:
  `nRow` - The number of rows in this column group.
Returns:
  The compression info for this group.

#### getCompressionScheme

    public ICLAScheme getCompressionScheme()

Description copied from class: `AColGroup`
Get the compression scheme for this column group to enable compression of other data.

Specified by:
  `getCompressionScheme` in class `AColGroup`
Returns:
  The compression scheme of this column group

#### morph

    public AColGroup morph​(AColGroup.CompressionType ct,
                           int nRow)

Description copied from class: `AColGroup`
Recompress this column group into a new column group of the given type.

Overrides:
  `morph` in class `AColGroup`
Parameters:
  `ct` - The compressionType that the column group should morph into
  `nRow` - The number of rows in this columngroup.
Returns:
  A new column group