org.apache.sysds.runtime.matrix.data

## Interface MatrixBlockDataOutput

All Known Implementing Classes:
  CacheDataOutput, FastBufferedDataOutputStream

    public interface MatrixBlockDataOutput

Any data output that is intended to support fast serialization / write of entire blocks should implement this interface. On write of a matrix block we check if the output stream is an implementation of this interface, if yes we directly pass the entire block instead of value-by-value. Known implementation classes: - CacheDataOutput (cache serialization into in-memory write buffer) - FastBufferedDataOutputStream (cache eviction to local file system)

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `writeDoubleArray(int len, double[] varr)` Writes the double array of a dense block to the data output.
`void` `writeSparseRows(int rlen, SparseBlock rows)` Writes the sparse rows array of a sparse block to the data output.

### Method Detail

#### writeDoubleArray

    void writeDoubleArray(int len,
                          double[] varr)
                   throws IOException

Writes the double array of a dense block to the data output.

Parameters:
  `len` - ?
  `varr` - ?
Throws:
  `IOException` - if IOException occurs

#### writeSparseRows

    void writeSparseRows(int rlen,
                         SparseBlock rows)
                  throws IOException

Writes the sparse rows array of a sparse block to the data output.

Parameters:
  `rlen` - ?
  `rows` - sparse block
Throws:
  `IOException` - if IOException occurs