Search in sources :

Example 1 with ColGroupOLE

use of org.apache.sysml.runtime.compress.ColGroupOLE in project incubator-systemml by apache.

the class ConverterUtils method copyColGroup.

/**
 * Copy col group instance with deep copy of column indices but
 * shallow copy of actual contents;
 *
 * @param group column group
 * @return column group (deep copy of indices but shallow copy of contents)
 */
public static ColGroup copyColGroup(ColGroup group) {
    ColGroup ret = null;
    // deep copy col indices
    int[] colIndices = Arrays.copyOf(group.getColIndices(), group.getNumCols());
    // create copy of column group
    if (group instanceof ColGroupUncompressed) {
        ColGroupUncompressed in = (ColGroupUncompressed) group;
        ret = new ColGroupUncompressed(colIndices, in.getNumRows(), in.getData());
    } else if (group instanceof ColGroupRLE) {
        ColGroupRLE in = (ColGroupRLE) group;
        ret = new ColGroupRLE(colIndices, in.getNumRows(), in.hasZeros(), in.getValues(), in.getBitmaps(), in.getBitmapOffsets());
    } else if (group instanceof ColGroupOLE) {
        ColGroupOLE in = (ColGroupOLE) group;
        ret = new ColGroupOLE(colIndices, in.getNumRows(), in.hasZeros(), in.getValues(), in.getBitmaps(), in.getBitmapOffsets());
    }
    return ret;
}
Also used : ColGroupOLE(org.apache.sysml.runtime.compress.ColGroupOLE) ColGroup(org.apache.sysml.runtime.compress.ColGroup) ColGroupRLE(org.apache.sysml.runtime.compress.ColGroupRLE) ColGroupUncompressed(org.apache.sysml.runtime.compress.ColGroupUncompressed)

Aggregations

ColGroup (org.apache.sysml.runtime.compress.ColGroup)1 ColGroupOLE (org.apache.sysml.runtime.compress.ColGroupOLE)1 ColGroupRLE (org.apache.sysml.runtime.compress.ColGroupRLE)1 ColGroupUncompressed (org.apache.sysml.runtime.compress.ColGroupUncompressed)1