pub fn split_pf_to_packed_limbs<SF: PrimeField, TF: PrimeField32>(
val: SF,
num_limbs: usize,
radix_bits: u32,
) -> Vec<TF>Expand description
Split val into num_limbs little-endian base-2^radix_bits limbs, each mapped into TF.
Each output limb is in [0, 2^radix_bits). Pads with zero limbs if the value has fewer
non-zero digits than num_limbs.
Parameter requirements
radix_bits ≤ injective_pack_bits::<TF>()so each limb maps injectively intoTFvia [PrimeField32::from_int]. Ifradix_bitsis too large, distinct limbs can collide after reduction moduloTF::ORDER.- For a lossless transcript binding of arbitrary
SFvalues, also requirepf_packed_limbs_cover_order::<SF>(num_limbs, radix_bits). Deliberately truncated splits (e.g. challengers that usefloorlimb counts for squeeze) omit high bits by design and do not satisfy that coverage check.