binius_m3/gadgets/
structured.rs1use binius_field::{PackedExtension, PackedField, PackedFieldIndexable, PackedSubfield};
4
5use crate::builder::{B32, B128, column::Col, error::Error, witness::TableWitnessSegment};
6
7pub fn fill_incrementing_b32<P>(
13 witness: &mut TableWitnessSegment<P>,
14 col: Col<B32>,
15) -> Result<(), Error>
16where
17 P: PackedField<Scalar = B128> + PackedExtension<B32>,
18 PackedSubfield<P, B32>: PackedFieldIndexable,
19{
20 let mut col_data = witness.get_scalars_mut(col)?;
21 let start_index = witness.index() << witness.log_size();
22 for (i, col_data_i) in col_data.iter_mut().enumerate() {
23 *col_data_i = B32::new((start_index + i) as u32);
24 }
25 Ok(())
26}