## Uses of Interface
org.apache.sysds.runtime.data.Block

Packages that use Block
org.apache.sysds.runtime.data

### Uses of Block in org.apache.sysds.runtime.data

Classes in org.apache.sysds.runtime.data that implement Block
`class` `DenseBlock` This DenseBlock is an abstraction for different dense, row-major matrix formats.
`class` `DenseBlockBool`
`class` `DenseBlockDRB`
`class` `DenseBlockFP32`
`class` `DenseBlockFP64`
`class` `DenseBlockInt32`
`class` `DenseBlockInt64`
`class` `DenseBlockLBool`
`class` `DenseBlockLDRB` Dense Large Row Blocks have multiple 1D arrays (blocks), which contain complete rows.
`class` `DenseBlockLFP32`
`class` `DenseBlockLFP64`
`class` `DenseBlockLInt32`
`class` `DenseBlockLInt64`
`class` `DenseBlockLString`
`class` `DenseBlockString`
`class` `SparseBlock` This SparseBlock is an abstraction for different sparse matrix formats.
`class` `SparseBlockCOO` SparseBlock implementation that realizes a traditional 'coordinate matrix' representation, where the entire sparse block is stored as triples in three arrays: row indexes, column indexes, and values, where row indexes and colunm indexes are sorted in order to allow binary search.
`class` `SparseBlockCSR` SparseBlock implementation that realizes a traditional 'compressed sparse row' representation, where the entire sparse block is stored as three arrays: ptr of length rlen+1 to store offsets per row, and indexes/values of length nnz to store column indexes and values of non-zero entries.

`class`

`SparseBlockMCSR`

SparseBlock implementation that realizes a 'modified compressed sparse row' representation, where each compressed row is stored as a separate SparseRow object which provides flexibility for unsorted row appends without the need for global reshifting of values/indexes but it incurs additional memory overhead per row for object/array headers per row which also slows down memory-bound operations due to higher memory bandwidth requirements.