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

# Class ASDC

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.AMorphingMMColGroup
org.apache.sysds.runtime.compress.colgroup.ASDC

All Implemented Interfaces:
  `Serializable`, `AOffsetsGroup`, `IContainADictionary`, `IContainDefaultTuple`

Direct Known Subclasses:
  `ColGroupSDC`, `ColGroupSDCFOR`, `ColGroupSDCSingle`

public abstract class ASDC extends AMorphingMMColGroup implements AOffsetsGroup, IContainDefaultTuple
Column group that sparsely encodes the dictionary values. The idea is that all values is encoded with indexes except the most common one. the most common one can be inferred by not being included in the indexes. This column group is handy in cases where sparse unsafe operations is executed on very sparse columns. Then the zeros would be materialized in the group without any overhead.

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
`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.
`abstract int`
`getNumberOffsets()`
`int`
`getNumRows()`
`AOffset`
`getOffsets()`
`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.AMorphingMMColGroup

`decompressToSparseBlockTransposed, extractCommon, getCommon, leftMultByAColGroup, leftMultByMatrixNoPreAgg, 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, 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`

### Methods inherited from interface org.apache.sysds.runtime.compress.colgroup.IContainDefaultTuple

`getDefaultTuple`

## Method Details

### getNumRows

public int getNumRows()

### getOffsets

public AOffset getOffsets()

Specified by:
  `getOffsets` in interface `AOffsetsGroup`

### getNumberOffsets

public abstract int getNumberOffsets()

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