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

## Class MapToZero

- java.lang.Object
- - org.apache.sysds.runtime.compress.colgroup.mapping.AMapToData
  - - org.apache.sysds.runtime.compress.colgroup.mapping.MapToZero

All Implemented Interfaces:
  `Serializable`

    public class MapToZero
    extends AMapToData

See Also:
  Serialized Form

### Constructor Summary

Constructors
`MapToZero​(int size)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`AMapToData` `append​(AMapToData t)`
`AMapToData` `appendN​(AMapToDataGroup[] d)`
`void` `copyBit​(BitSet d)`
`void` `copyInt​(int[] d)`
`int` `countRuns()` Count the number of runs inside the map.
`void` `fill​(int v)` Fill the map with a given value.
`int[]` `getCounts​(int[] ret)` Get the number of counts of each unique value contained in this map.
`long` `getExactSizeOnDisk()` Get the size of this Mapping object on disk.
`int` `getIndex​(int n)` Get the given index back as a integer
`long` `getInMemorySize()` Get the in memory size of this Mapping object.
`static long` `getInMemorySize​(int dataLength)`
`MapToFactory.MAP_TYPE` `getType()`
`int` `getUpperBoundValue()` Get the maximum value that is possible to allocate inside this map.
`void` `preAggregateDDC_DDCMultiCol​(AMapToData tm, ADictionary td, double[] v, int nCol)`
`void` `preAggregateDDC_DDCSingleCol​(AMapToData tm, double[] td, double[] v)`
`void` `replace​(int v, int r)` Replace v with r for all entries, NOTE! It is assumed that you call this correctly: - with two distinct values that is representable inside the given AMapToData.
`AMapToData` `resize​(int unique)`
`void` `set​(int n, int v)` Set the index to the value.
`int` `setAndGet​(int n, int v)` Set the index to the value and get the contained value after.
`int` `size()` The size of the Mapping object, signaling how many value cells are stored in this mapping object.
`AMapToData` `slice​(int l, int u)` Slice out the range from lower to upper from this map toData.
`void` `write​(DataOutput out)` Serialize this object to the DataOutput given.

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

`copy, countRuns, getCounts, getMax, getUnique, preAggregateDDC_DDC, preAggregateDDC_RLE, preAggregateDDC_SDCZ, preAggregateDDC_SDCZMultiCol, preAggregateDDC_SDCZSingleCol, preAggregateDense, preAggregateDense, preAggregateRLE_DDC, preAggregateSDCZ_DDC, preAggregateSDCZ_SDCZ, preAggregateSparse, preAggregateSparse, setUnique, toString`

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

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

### Constructor Detail

#### MapToZero

    public MapToZero​(int size)

### Method Detail

#### getType

    public MapToFactory.MAP_TYPE getType()

Specified by:
  `getType` in class `AMapToData`

#### getIndex

    public int getIndex​(int n)

Description copied from class: `AMapToData`
Get the given index back as a integer

Specified by:
  `getIndex` in class `AMapToData`
Parameters:
  `n` - the index to get
Returns:
  the value represented in that cell as integer

#### fill

    public void fill​(int v)

Description copied from class: `AMapToData`
Fill the map with a given value. NOTE! The value should be representable inside the map. This requirement is not checked.

Specified by:
  `fill` in class `AMapToData`
Parameters:
  `v` - the value to fill

#### getInMemorySize

    public long getInMemorySize()

Description copied from class: `AMapToData`
Get the in memory size of this Mapping object.

Specified by:
  `getInMemorySize` in class `AMapToData`
Returns:
  The size in Bytes.

#### getInMemorySize

    public static long getInMemorySize​(int dataLength)

#### getExactSizeOnDisk

    public long getExactSizeOnDisk()

Description copied from class: `AMapToData`
Get the size of this Mapping object on disk.

Specified by:
  `getExactSizeOnDisk` in class `AMapToData`
Returns:
  The on disk size in Bytes.

#### set

    public void set​(int n,
                    int v)

Description copied from class: `AMapToData`
Set the index to the value. NOTE! The value should be representable inside the map. This requirement is not checked.

Specified by:
  `set` in class `AMapToData`
Parameters:
  `n` - index to set.
  `v` - the value to set it to.

#### setAndGet

    public int setAndGet​(int n,
                         int v)

Description copied from class: `AMapToData`
Set the index to the value and get the contained value after.

Specified by:
  `setAndGet` in class `AMapToData`
Parameters:
  `n` - index to set.
  `v` - the value to set it to.
Returns:
  v as encoded, note this value can be different that the one put in if the map is not able to represent the value

#### size

    public int size()

Description copied from class: `AMapToData`
The size of the Mapping object, signaling how many value cells are stored in this mapping object.

Specified by:
  `size` in class `AMapToData`
Returns:
  The length of the mapping object.

#### replace

    public void replace​(int v,
                        int r)

Description copied from class: `AMapToData`
Replace v with r for all entries, NOTE! It is assumed that you call this correctly: - with two distinct values that is representable inside the given AMapToData.

Specified by:
  `replace` in class `AMapToData`
Parameters:
  `v` - The value to replace
  `r` - The value to put instead

#### write

    public void write​(DataOutput out)
               throws IOException

Description copied from class: `AMapToData`
Serialize this object to the DataOutput given.

Specified by:
  `write` in class `AMapToData`
Parameters:
  `out` - The object to serialize this object into.
Throws:
  `IOException` - An IO exception if the Serialization fails.

#### getUpperBoundValue

    public int getUpperBoundValue()

Description copied from class: `AMapToData`
Get the maximum value that is possible to allocate inside this map.

Specified by:
  `getUpperBoundValue` in class `AMapToData`
Returns:
  The maximum value.

#### getCounts

    public int[] getCounts​(int[] ret)

Description copied from class: `AMapToData`
Get the number of counts of each unique value contained in this map. Note that in the case the mapping is shorter than number of rows the counts sum to the number of mapped values not the number of rows.

Specified by:
  `getCounts` in class `AMapToData`
Parameters:
  `ret` - The object to return.
Returns:
  The counts

#### preAggregateDDC_DDCSingleCol

    public void preAggregateDDC_DDCSingleCol​(AMapToData tm,
                                             double[] td,
                                             double[] v)

#### preAggregateDDC_DDCMultiCol

    public void preAggregateDDC_DDCMultiCol​(AMapToData tm,
                                            ADictionary td,
                                            double[] v,
                                            int nCol)

#### copyInt

    public void copyInt​(int[] d)

Specified by:
  `copyInt` in class `AMapToData`

#### copyBit

    public void copyBit​(BitSet d)

Specified by:
  `copyBit` in class `AMapToData`

#### resize

    public AMapToData resize​(int unique)

Specified by:
  `resize` in class `AMapToData`

#### countRuns

    public int countRuns()

Description copied from class: `AMapToData`
Count the number of runs inside the map.

Specified by:
  `countRuns` in class `AMapToData`
Returns:
  The number of runs

#### slice

    public AMapToData slice​(int l,
                            int u)

Description copied from class: `AMapToData`
Slice out the range from lower to upper from this map toData.

Specified by:
  `slice` in class `AMapToData`
Parameters:
  `l` - Low value to slice from
  `u` - high value to slice to (not inclusive)
Returns:
  A new map containing only the values from the range.

#### append

    public AMapToData append​(AMapToData t)

Specified by:
  `append` in class `AMapToData`

#### appendN

    public AMapToData appendN​(AMapToDataGroup[] d)

Specified by:
  `appendN` in class `AMapToData`