INNER CODE UNIT · Rust
bitpack_polynomial_z
orion-rs/orion · src/hazardous/dsa/ml_dsa/internal/mod.rs:129
fn bitpack_polynomial_z(z: &RingElement, out: &mut [u8]);
/// FIPS-204, Algorithm 28.
fn w1_encode<const K: usize>(w1: &Vector<K>, out: &mut [u8]) {
debug_assert_eq!(K, Self::DIM_K);
debug_assert_eq!(out.len(), K * Self::W1_BITPACK_SIZE);
for (poly, chunk) in w1
.elems
.iter()
.zip(out.chunks_exact_mut(Self::W1_BITPACK_SIZE))
{
Self::bitpack_polynomial_vector_w1(poly, chunk);
}
}
/// FIPS-204, Algorithm 17.
fn bitpack_ring_element_d(w: &RingElement, out: &mut [u8]) {