org.apache.sysds.runtime.compress.cocode

## Class PlanningCoCodingGroup

- java.lang.Object
- - org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup

-     public class PlanningCoCodingGroup
      extends Object

  Class to represent information about co-coding a group of columns.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `PlanningCoCodingGroup.ColIndexes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PlanningCoCodingGroup(int col, PlanningCoCoder.GroupableColInfo info)` Constructor for a one-column group; i.e.
    `PlanningCoCodingGroup(PlanningCoCodingGroup grp1, PlanningCoCodingGroup grp2, CompressedSizeEstimator estim, int numRows)` Constructor for merging two disjoint groups of columns

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object that)`
    `double` | `getCardinalityRatio()`
    `double` | `getChangeInSize()`
    `int[]` | `getColIndices()`
    `long` | `getEstSize()` Obtain estimated compressed size of the grouped columns.
    `PlanningCoCodingGroup` | `getLeftGroup()`
    `static int[]` | `getMergedIndexes(int[] indexes1, int[] indexes2)`
    `PlanningCoCodingGroup` | `getRightGroup()`
    `int` | `hashCode()`
    `String` | `toString()`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PlanningCoCodingGroup

          public PlanningCoCodingGroup(int col,
                                       PlanningCoCoder.GroupableColInfo info)

      Constructor for a one-column group; i.e. do not co-code a given column.
      Parameters:
        `col` - column
        `info` - groupable column info

    - #### PlanningCoCodingGroup

          public PlanningCoCodingGroup(PlanningCoCodingGroup grp1,
                                       PlanningCoCodingGroup grp2,
                                       CompressedSizeEstimator estim,
                                       int numRows)

      Constructor for merging two disjoint groups of columns
      Parameters:
        `grp1` - first column group to merge
        `grp2` - second column group to merge
        `estim` - bitmap size estimator
        `numRows` - number of rows

  - ### Method Detail

    - #### getColIndices

          public int[] getColIndices()

    - #### getEstSize

          public long getEstSize()

      Obtain estimated compressed size of the grouped columns.
      Returns:
        estimated compressed size of the grouped columns

    - #### getChangeInSize

          public double getChangeInSize()

    - #### getCardinalityRatio

          public double getCardinalityRatio()

    - #### getLeftGroup

          public PlanningCoCodingGroup getLeftGroup()

    - #### getRightGroup

          public PlanningCoCodingGroup getRightGroup()

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object that)

      Overrides:
        `equals` in class `Object`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### getMergedIndexes

          public static int[] getMergedIndexes(int[] indexes1,
                                               int[] indexes2)

Copyright © 2020 The Apache Software Foundation. All rights reserved.