polyfrombytes function

Poly polyfrombytes(
  1. Uint8List r
)

Deserializes a polynomial from a byte array using 12-bit encoding.

Implementation

Poly polyfrombytes(Uint8List r) {
  Poly a = Poly();
  for (int i = 0; i < KYBER_N ~/ 2; i++) {
    int t0 = r[3 * i + 0] | ((r[3 * i + 1] & 0x0F) << 8);
    int t1 = (r[3 * i + 1] >> 4) | (r[3 * i + 2] << 4);
    a.coeffs[2 * i] = t0;
    a.coeffs[2 * i + 1] = t1;
  }
  return a;
}