openvm-circuit-primitives 2.0.1

Library of plonky3 primitives for general purpose use in other ZK circuits.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use openvm_stark_backend::{p3_field::PrimeField32, p3_matrix::dense::RowMajorMatrix};

use super::{columns::NUM_LIST_COLS, ListChip};

impl ListChip {
    pub fn generate_trace<F: PrimeField32>(&self) -> RowMajorMatrix<F> {
        let mut rows = vec![];
        for val in self.vals.iter() {
            rows.push(vec![F::from_u32(*val)]);
            self.range_checker.add_count(*val);
        }

        RowMajorMatrix::new(rows.concat(), NUM_LIST_COLS)
    }
}