HalfVector.fromBinary constructor

HalfVector.fromBinary(
  1. Uint8List bytes
)

Creates a HalfVector from its binary representation.

Implementation

factory HalfVector.fromBinary(Uint8List bytes) {
  var buf = ByteData.view(bytes.buffer, bytes.offsetInBytes);
  var dim = buf.getInt16(0);

  var unused = buf.getInt16(2);
  if (unused != 0) {
    throw const FormatException('expected unused to be 0');
  }

  var vec = <double>[];
  for (var i = 0; i < dim; i++) {
    int halfFloat = buf.getUint16(4 + i * 2);
    vec.add(_halfToFloat(halfFloat));
  }

  return HalfVector(vec);
}