Class SparseRowScalar

java.lang.Object
org.apache.sysds.runtime.data.SparseRow
org.apache.sysds.runtime.data.SparseRowScalar
All Implemented Interfaces:
Serializable

public final class SparseRowScalar extends SparseRow
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    SparseRowScalar(int ix, double val)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    add(int col, double v)
    Add a value to a specified column with awareness of potential insertions.
    append(int col, double v)
    Appends a value to the end of the sparse row.
    void
    In-place compaction of non-zero-entries; removes zero entries and shifts non-zero entries to the left if necessary.
    void
    compact(double eps)
    In-place compaction of values over eps away from zero; and shifts non-zero entries to the left if necessary.
    copy(boolean deep)
    Make a copy of this row.
    double
    get(int col)
    Gets the value of a specified column.
    int
     
    double
     
    int[]
    Get the index array of non-zero entries, co-aligned with the array of values.
    final boolean
    Indicates if the sparse row is empty, i.e., if is has size zero.
    void
    reset(int estnns, int maxnns)
    Resets the sparse row to empty, after this call size and isEmpty are guaranteed to return 0 and true, respectively.
    int
     
    int
    Get first index greater than equal column index.
    boolean
    set(int col, double v)
    Sets the value of a specified column with awareness of potential overwrites or deletes (set to value zero).
    int
    Get the number of non-zero values of the sparse row.
    void
    In-place sort of column-index value pairs in order to allow binary search after constant-time append was used for reading unordered sparse rows.
    double[]
    Get the value array of non-zero entries, co-aligned with the array of indexes.

    Methods inherited from class org.apache.sysds.runtime.data.SparseRow

    toString

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • SparseRowScalar

      public SparseRowScalar()
    • SparseRowScalar

      public SparseRowScalar(int ix, double val)
  • Method Details

    • size

      public int size()
      Description copied from class: SparseRow
      Get the number of non-zero values of the sparse row.
      Specified by:
      size in class SparseRow
      Returns:
      number of non-zeros
    • isEmpty

      public final boolean isEmpty()
      Description copied from class: SparseRow
      Indicates if the sparse row is empty, i.e., if is has size zero.
      Specified by:
      isEmpty in class SparseRow
      Returns:
      true if empty
    • values

      public double[] values()
      Description copied from class: SparseRow
      Get the value array of non-zero entries, co-aligned with the array of indexes.
      Specified by:
      values in class SparseRow
      Returns:
      array of values
    • indexes

      public int[] indexes()
      Description copied from class: SparseRow
      Get the index array of non-zero entries, co-aligned with the array of values.
      Specified by:
      indexes in class SparseRow
      Returns:
      array of indexes
    • reset

      public void reset(int estnns, int maxnns)
      Description copied from class: SparseRow
      Resets the sparse row to empty, after this call size and isEmpty are guaranteed to return 0 and true, respectively.
      Specified by:
      reset in class SparseRow
      Parameters:
      estnns - estimated number of non-zeros
      maxnns - maximum number of non-zeros, e.g., number of columns
    • set

      public boolean set(int col, double v)
      Description copied from class: SparseRow
      Sets the value of a specified column with awareness of potential overwrites or deletes (set to value zero).
      Specified by:
      set in class SparseRow
      Parameters:
      col - column index, zero-based
      v - value
      Returns:
      true if the size of the sparse row changed
    • add

      public boolean add(int col, double v)
      Description copied from class: SparseRow
      Add a value to a specified column with awareness of potential insertions.
      Specified by:
      add in class SparseRow
      Parameters:
      col - column index, zero-based
      v - value
      Returns:
      true if the size of the sparse row changed
    • append

      public SparseRow append(int col, double v)
      Description copied from class: SparseRow
      Appends a value to the end of the sparse row.
      Specified by:
      append in class SparseRow
      Parameters:
      col - column index, zero-based
      v - value
      Returns:
      the row with an appended element
    • get

      public double get(int col)
      Description copied from class: SparseRow
      Gets the value of a specified column. If the column index does not exist in the sparse row, this call returns zero.
      Specified by:
      get in class SparseRow
      Parameters:
      col - column index, zero-based
      Returns:
      value
    • sort

      public void sort()
      Description copied from class: SparseRow
      In-place sort of column-index value pairs in order to allow binary search after constant-time append was used for reading unordered sparse rows. We first check if already sorted and subsequently sort if necessary in order to get O(n) best case. Note: In-place sort is necessary in order to guarantee the memory estimate for operations that implicitly read that data set.
      Specified by:
      sort in class SparseRow
    • compact

      public void compact()
      Description copied from class: SparseRow
      In-place compaction of non-zero-entries; removes zero entries and shifts non-zero entries to the left if necessary.
      Specified by:
      compact in class SparseRow
    • compact

      public void compact(double eps)
      Description copied from class: SparseRow
      In-place compaction of values over eps away from zero; and shifts non-zero entries to the left if necessary.
      Specified by:
      compact in class SparseRow
      Parameters:
      eps - epsilon value
    • getIndex

      public int getIndex()
    • getValue

      public double getValue()
    • searchIndexesFirstGTE

      public int searchIndexesFirstGTE(int col)
      Description copied from class: SparseRow
      Get first index greater than equal column index.
      Specified by:
      searchIndexesFirstGTE in class SparseRow
      Parameters:
      col - column to be greater than
      Returns:
      index
    • searchIndexesFirstGT

      public int searchIndexesFirstGT(int col)
      Specified by:
      searchIndexesFirstGT in class SparseRow
    • copy

      public SparseRow copy(boolean deep)
      Description copied from class: SparseRow
      Make a copy of this row.
      Specified by:
      copy in class SparseRow
      Parameters:
      deep - if the copy should be deep
      Returns:
      A copy