toBinary method

Uint8List toBinary()

Converts the HalfVector to its binary representation.

Implementation

Uint8List toBinary() {
  var dim = _vec.length;
  var bytes = Uint8List(4 + 2 * dim); // 2 bytes per float16 value
  var buf = ByteData.view(bytes.buffer, bytes.offsetInBytes);

  buf.setInt16(0, dim);
  buf.setInt16(2, 0);

  for (var i = 0; i < dim; i++) {
    int halfFloat = _floatToHalf(_vec[i]);
    buf.setUint16(4 + i * 2, halfFloat);
  }

  return bytes;
}