Package org.apache.sysds.runtime.data

## Class DenseBlockDRB

- java.lang.Object
- - org.apache.sysds.runtime.data.DenseBlock
  - - org.apache.sysds.runtime.data.DenseBlockDRB

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `DenseBlockBool`, `DenseBlockFP32`, `DenseBlockFP64`, `DenseBlockInt32`, `DenseBlockInt64`, `DenseBlockString`

    public abstract class DenseBlockDRB
    extends DenseBlock

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.sysds.runtime.data.DenseBlock

`DenseBlock.Type`

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `blockSize()` Get the number of rows per block, except last one.
`int` `blockSize​(int bix)` Get the number of rows of the given block.
`long` `countNonZeros()` Compute the number of non-zero values, which potentially makes a full pass over the underlying blocks.
`int` `countNonZeros​(int r)` Compute the number of non-zero values for the given row, which potentially makes a full pass over the underlying row.
`long` `countNonZeros​(int rl, int ru, int ol, int ou)` Compute the number of non-zero values, which potentially makes a full pass over the underlying blocks in the row range.
`boolean` `isContiguous()` Indicates if the dense block has a single underlying block, i.e., if numBlocks==1.
`boolean` `isContiguous​(int rl, int ru)` Indicates if the dense block has a single underlying block for the given row range.
`int` `numBlocks()` Get the number of allocated blocks.
`int` `pos​(int r)` Get the position for a given row within its associated block.
`int` `pos​(int[] ix)` Get the position for a given cell within the associated block.
`int` `pos​(int r, int c)` Get the position for a given row and column within the associated block.
`void` `reset​(int rlen, int[] odims, double v)` Resets the dense block by setting the given value.
`DenseBlock` `set​(double v)` Set the given value for the entire dense block (fill).
`DenseBlock` `set​(int rl, int ru, int cl, int cu, double v)` Set the given value for an entire index range of the dense block (fill).
`int` `size​(int bix)` Get the length of the given block.

### Methods inherited from class org.apache.sysds.runtime.data.DenseBlock

`capacity, estimateMemory, get, get, getCumODims, getDim, getLong, getNextIndexes, getString, incr, incr, index, isNumeric, isNumeric, numDims, numRows, reset, reset, reset, reset, reset, reset, set, set, set, set, set, set, set, set, set, set, setDims, size, toString, values, valuesAt`

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

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

### Method Detail

#### reset

    public void reset​(int rlen,
                      int[] odims,
                      double v)

Description copied from class: `DenseBlock`
Resets the dense block by setting the given value.

Specified by:
  `reset` in class `DenseBlock`
Parameters:
  `rlen` - number of rows
  `odims` - other dimensions
  `v` - value

#### numBlocks

    public int numBlocks()

Description copied from class: `DenseBlock`
Get the number of allocated blocks.

Specified by:
  `numBlocks` in class `DenseBlock`
Returns:
  number of blocks

#### blockSize

    public int blockSize()

Description copied from class: `DenseBlock`
Get the number of rows per block, except last one.

Specified by:
  `blockSize` in class `DenseBlock`
Returns:
  number of rows in block

#### blockSize

    public int blockSize​(int bix)

Description copied from class: `DenseBlock`
Get the number of rows of the given block.

Specified by:
  `blockSize` in class `DenseBlock`
Parameters:
  `bix` - block index
Returns:
  number of rows in block

#### isContiguous

    public boolean isContiguous()

Description copied from class: `DenseBlock`
Indicates if the dense block has a single underlying block, i.e., if numBlocks==1.

Specified by:
  `isContiguous` in class `DenseBlock`
Returns:
  true if single block

#### isContiguous

    public boolean isContiguous​(int rl,
                                int ru)

Description copied from class: `DenseBlock`
Indicates if the dense block has a single underlying block for the given row range.

Specified by:
  `isContiguous` in class `DenseBlock`
Parameters:
  `rl` - row lower index
  `ru` - row upper index (inclusive)
Returns:
  true if single block in row range

#### size

    public int size​(int bix)

Description copied from class: `DenseBlock`
Get the length of the given block.

Specified by:
  `size` in class `DenseBlock`
Parameters:
  `bix` - block index
Returns:
  length

#### pos

    public int pos​(int r)

Description copied from class: `DenseBlock`
Get the position for a given row within its associated block.

Specified by:
  `pos` in class `DenseBlock`
Parameters:
  `r` - row index
Returns:
  block position

#### pos

    public int pos​(int r,
                   int c)

Description copied from class: `DenseBlock`
Get the position for a given row and column within the associated block.

Specified by:
  `pos` in class `DenseBlock`
Parameters:
  `r` - row index
  `c` - column index
Returns:
  block position

#### pos

    public int pos​(int[] ix)

Description copied from class: `DenseBlock`
Get the position for a given cell within the associated block.

Specified by:
  `pos` in class `DenseBlock`
Parameters:
  `ix` - cell indexes
Returns:
  block position

#### countNonZeros

    public long countNonZeros()

Description copied from class: `DenseBlock`
Compute the number of non-zero values, which potentially makes a full pass over the underlying blocks.

Specified by:
  `countNonZeros` in class `DenseBlock`
Returns:
  number of non-zeros

#### countNonZeros

    public int countNonZeros​(int r)

Description copied from class: `DenseBlock`
Compute the number of non-zero values for the given row, which potentially makes a full pass over the underlying row.

Specified by:
  `countNonZeros` in class `DenseBlock`
Parameters:
  `r` - row index
Returns:
  number of non-zeros

#### countNonZeros

    public long countNonZeros​(int rl,
                              int ru,
                              int ol,
                              int ou)

Description copied from class: `DenseBlock`
Compute the number of non-zero values, which potentially makes a full pass over the underlying blocks in the row range.

Specified by:
  `countNonZeros` in class `DenseBlock`
Parameters:
  `rl` - row lower index
  `ru` - row upper index (exclusive)
  `ol` - column lower index
  `ou` - column upper index (exclusive)
Returns:
  number of non-zeros

#### set

    public DenseBlock set​(int rl,
                          int ru,
                          int cl,
                          int cu,
                          double v)

Description copied from class: `DenseBlock`
Set the given value for an entire index range of the dense block (fill).

Specified by:
  `set` in class `DenseBlock`
Parameters:
  `rl` - row lower index
  `ru` - row upper index (exclusive)
  `cl` - column lower index
  `cu` - column upper index (exclusive)
  `v` - value
Returns:
  self

#### set

    public DenseBlock set​(double v)

Description copied from class: `DenseBlock`
Set the given value for the entire dense block (fill).

Specified by:
  `set` in class `DenseBlock`
Parameters:
  `v` - value
Returns:
  self