INNER CODE UNIT · Rust
t1
orion-rs/orion · src/hazardous/dsa/ml_dsa/internal/mod.rs:591
let t1 = fe_eta - &w.coefficients[2 * i + 1];
*outelem = (t0.0 | (t1.0 << 4)) as u8;
}
}
fn bitunpack_ring_element_eta(v: &[u8], w: &mut RingElement) {
debug_assert_eq!(v.len(), Self::ETA_BITPACK_SIZE);
let fe_eta = FieldElement::new(Self::ETA as u32);
for (fe, &byte) in w.coefficients.chunks_exact_mut(2).zip(v.iter()) {
fe[0] = fe_eta - &FieldElement::new((byte & 0x0F) as u32);
fe[1] = fe_eta - &FieldElement::new((byte >> 4) as u32);
}
}
fn bitpack_polynomial_vector_w1(w1: &RingElement, out: &mut [u8]) {
debug_assert_eq!(out.len(), Self::W1_BITPACK_SIZE);
debug_assert!(