Package org.apache.sysds.runtime.data

## 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:
  Serialized Form

### Constructor Summary

Constructors
`SparseRowScalar()`
`SparseRowScalar​(int ix, double val)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `add​(int col, double v)` Add a value to a specified column with awareness of potential insertions.
`SparseRow` `append​(int col, double v)` Appends a value to the end of the sparse row.
`void` `compact()` 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.
`SparseRow` `copy​(boolean deep)` Make a copy of this row.
`double` `get​(int col)` Gets the value of a specified column.
`int` `getIndex()`
`double` `getValue()`
`int[]` `indexes()` Get the index array of non-zero entries, co-aligned with the array of values.
`boolean` `isEmpty()` 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` `searchIndexesFirstGT​(int col)`
`int` `searchIndexesFirstGTE​(int col)` 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` `size()` Get the number of non-zero values of the sparse row.
`void` `sort()` 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[]` `values()` 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 Detail

#### SparseRowScalar

    public SparseRowScalar()

#### SparseRowScalar

    public SparseRowScalar​(int ix,
                           double val)

### Method Detail

#### 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