toBinary method

Uint8List toBinary()

Converts the sparse vector to its binary representation.

Implementation

Uint8List toBinary() {
  var nnz = indices.length;
  var bytes = Uint8List(12 + 8 * nnz);
  var buf = ByteData.view(bytes.buffer, bytes.offsetInBytes);

  buf.setInt32(0, dimensions);
  buf.setInt32(4, nnz);
  buf.setInt32(8, 0);

  for (var i = 0; i < nnz; i++) {
    buf.setInt32(12 + i * 4, indices[i]);
  }

  for (var i = 0; i < nnz; i++) {
    buf.setFloat32(12 + nnz * 4 + i * 4, values[i]);
  }

  return bytes;
}