Package org.apache.sysds.runtime.compress.lib

## Class CLALibCombineGroups

- java.lang.Object
- - org.apache.sysds.runtime.compress.lib.CLALibCombineGroups

    public final class CLALibCombineGroups
    extends Object

Library functions to combine column groups inside a compressed matrix.

### Method Summary

All Methods Static Methods Concrete Methods
`static AColGroup` `combine​(AColGroup a, AColGroup b, int nRow)` Combine the column groups A and B together.
`static List<AColGroup>` `combine​(CompressedMatrixBlock cmb, CompressedSizeInfo csi, ExecutorService pool, int k)`
`static AColGroup` `combineN​(List<AColGroup> groups, int nRows, ExecutorService pool, int k)`
`static AColGroup` `combineNMergeTree​(List<AColGroup> groups, int nRows, ExecutorService pool, int k)`
`static AColGroup` `combineNSingleAtATime​(List<AColGroup> groups, int nRows)`
`static double[]` `constructDefaultTuple​(AColGroupCompressed ac, AColGroupCompressed bc)`
`static List<AColGroup>` `findGroupsInIndex​(IColIndex idx, List<AColGroup> groups)`

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

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

### Method Detail

#### combine

    public static List<AColGroup> combine​(CompressedMatrixBlock cmb,
                                          CompressedSizeInfo csi,
                                          ExecutorService pool,
                                          int k)
                                   throws InterruptedException,
                                          ExecutionException

Throws:
  `InterruptedException`
  `ExecutionException`

#### findGroupsInIndex

    public static List<AColGroup> findGroupsInIndex​(IColIndex idx,
                                                    List<AColGroup> groups)

#### combineN

    public static AColGroup combineN​(List<AColGroup> groups,
                                     int nRows,
                                     ExecutorService pool,
                                     int k)
                              throws InterruptedException,
                                     ExecutionException

Throws:
  `InterruptedException`
  `ExecutionException`

#### combineNMergeTree

    public static AColGroup combineNMergeTree​(List<AColGroup> groups,
                                              int nRows,
                                              ExecutorService pool,
                                              int k)
                                       throws InterruptedException,
                                              ExecutionException

Throws:
  `InterruptedException`
  `ExecutionException`

#### combineNSingleAtATime

    public static AColGroup combineNSingleAtATime​(List<AColGroup> groups,
                                                  int nRows)

#### combine

    public static AColGroup combine​(AColGroup a,
                                    AColGroup b,
                                    int nRow)

Combine the column groups A and B together. The number of rows should be equal, and it is not verified so there will be unexpected behavior in such cases. It is assumed that this method is not called with FOR groups

Parameters:
  `a` - The first group to combine.
  `b` - The second group to combine.
  `nRow` - The number of rows in the two groups.
Returns:
  A new column group containing the two.

#### constructDefaultTuple

    public static double[] constructDefaultTuple​(AColGroupCompressed ac,
                                                 AColGroupCompressed bc)