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

# Class AColGroupOffset

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.AColGroupOffset

All Implemented Interfaces:
  `Serializable`, `IContainADictionary`

Direct Known Subclasses:
  `ColGroupOLE`, `ColGroupRLE`

public abstract class AColGroupOffset extends APreAgg
Base class for column groups encoded with various types of bitmap encoding. NOTES: * OLE: separate storage segment length and bitmaps led to a 30% improvement but not applied because more difficult to support both data layouts at the same time (distributed/local as well as w/ and w/o low-level opt)

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
`boolean`
`containZerosTuples()`
`long`
`estimateInMemorySize()`
Get the upper bound estimate of in memory allocation for the column group.
`long`
`getExactSizeOnDisk()`
Returns the exact serialized size of column group.
`static char[]`
`readData(DataInput in)`
`static int[]`
`readPointers(DataInput in)`
`void`
`write(DataOutput out)`

### 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, getCounts, getNumberNonZeros, getNumValues, replace, rexpandCols, toString`

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

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

### 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, getCompressionInfo, getCompressionScheme, getCompType, getCost, getEncoding, getIdx, getNumCols, leftMultByMatrixNoPreAgg, morph, 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

### estimateInMemorySize

public long estimateInMemorySize()
Description copied from class: `AColGroup`
Get the upper bound estimate of in memory allocation for the column group.

Overrides:
  `estimateInMemorySize` in class `AColGroupValue`
Returns:
  an upper bound on the number of bytes used to store this ColGroup in memory.

### readPointers

public static int[] readPointers(DataInput in) throws IOException

Throws:
  `IOException`

### readData

public static char[] readData(DataInput in) throws IOException

Throws:
  `IOException`

### write

public void write(DataOutput out) throws IOException

Overrides:
  `write` in class `ADictBasedColGroup`
Throws:
  `IOException`

### getExactSizeOnDisk

public long getExactSizeOnDisk()
Description copied from class: `AColGroup`
Returns the exact serialized size of column group. This can be used for example for buffer preallocation.

Overrides:
  `getExactSizeOnDisk` in class `ADictBasedColGroup`
Returns:
  exact serialized size for column group

### containZerosTuples

public boolean containZerosTuples()