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`

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

All Methods Static Methods Instance Methods Concrete Methods
`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, leftMultByAColGroup, mmWithDictionary, preAggregate, preAggregateDense, preAggregateSparse, preAggregateThatIndexStructure, tsmmAColGroup`

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

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

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

`decompressToDenseBlock, decompressToSparseBlock, getDictionary, rightMultByMatrix`

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

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

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

`append, appendN, binaryRowOpLeft, binaryRowOpRight, colSum, containsValue, decompressToDenseBlock, decompressToSparseBlock, get, getColIndices, getCompressionScheme, getCompType, getCost, getIdx, getNumCols, leftMultByMatrixNoPreAgg, rightMultByMatrix, scalarOperation, shiftColIndices, sliceColumn, sliceColumns, sliceRows, unaryOperation`

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

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

### Method Detail

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