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

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)`
`void`
`decompressToSparseBlock(SparseBlock sb, int rl, int ru, int offR, int offC, AIterator it)`
`abstract void`
`decompressToSparseBlockDenseDictionaryWithProvidedIterator(SparseBlock db, int rl, int ru, int offR, int offC, double[] values, AIterator it)`
`final 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()`
`final 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, removeEmptyCols, removeEmptyRows, rightDecompressingMult, rightMultByMatrix, scalarOperation, selectionMultiply, shiftColIndices, sliceColumn, sliceColumns, sliceRows, sort, sortColumnIndexes, splitReshape, splitReshapePushDown, unaryOperation`

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

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

## Method Details

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

### decompressToSparseBlock

public void decompressToSparseBlock(SparseBlock sb, int rl, int ru, int offR, int offC, AIterator it)

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

### decompressToSparseBlockDenseDictionaryWithProvidedIterator

public abstract void decompressToSparseBlockDenseDictionaryWithProvidedIterator(SparseBlock db, int rl, int ru, int offR, int offC, double[] values, 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