java.lang.Object
org.apache.sysds.runtime.compress.colgroup.indexes.AColIndex
All Implemented Interfaces:
IColIndex
Direct Known Subclasses:
ArrayIndex, CombinedIndex, RangeIndex, SingleIndex, TwoIndex, TwoRangesIndex

public abstract class AColIndex extends Object implements IColIndex
  • Constructor Details

    • AColIndex

      public AColIndex()
  • Method Details

    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface IColIndex
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Specified by:
      equals in interface IColIndex
      Overrides:
      equals in class Object
    • contains

      public boolean contains(IColIndex a, IColIndex b)
      Description copied from interface: IColIndex
      This contains method is not strict since it only verifies one element is contained from each a and b.
      Specified by:
      contains in interface IColIndex
      Parameters:
      a - one array to contain at least one value from
      b - another array to contain at least one value from
      Returns:
      if the other arrays contain values from this array
    • containsStrict

      public boolean containsStrict(IColIndex a, IColIndex b)
      Description copied from interface: IColIndex
      This contains both a and b ... it is strict because it verifies all cells. Note it returns false if there are more elements in this than the sum of a and b.
      Specified by:
      containsStrict in interface IColIndex
      Parameters:
      a - one other array to contain
      b - another array to contain
      Returns:
      if this array contains both a and b
    • containsAny

      public boolean containsAny(IColIndex idx)
      Description copied from interface: IColIndex
      Analyze if this column group contain any of the given column Ids.
      Specified by:
      containsAny in interface IColIndex
      Parameters:
      idx - A List of indexes
      Returns:
      If it is contained
    • decompressToDenseFromSparse

      public void decompressToDenseFromSparse(SparseBlock sb, int vr, int off, double[] c)
      Description copied from interface: IColIndex
      Decompress this column index into the dense c array.
      Specified by:
      decompressToDenseFromSparse in interface IColIndex
      Parameters:
      sb - A sparse block to extract values out of and insert into c
      vr - The row to extract from the sparse block
      off - The offset that the row starts at in c.
      c - The dense output to decompress into
    • decompressVec

      public void decompressVec(int nCol, double[] c, int off, double[] values, int rowIdx)
      Description copied from interface: IColIndex
      Decompress into c using the values provided. The offset to start into c is off and then row index is similarly the offset of values. nCol specify the number of values to add over.
      Specified by:
      decompressVec in interface IColIndex
      Parameters:
      nCol - The number of columns to copy.
      c - The output to add into
      off - The offset to start in c
      values - the values to copy from
      rowIdx - The offset to start in values