kimchi/circuits/
polynomial.rs1pub use super::wires::COLUMNS;
4use ark_ff::FftField;
5use ark_poly::{univariate::DensePolynomial, Evaluations, Radix2EvaluationDomain as D};
6
7#[derive(Clone)]
11pub struct WitnessEvals<F: FftField> {
12 pub w: [Evaluations<F, D<F>>; COLUMNS],
14 pub z: Evaluations<F, D<F>>,
16}
17
18#[derive(Clone)]
19pub struct WitnessShifts<F: FftField> {
20 pub this: WitnessEvals<F>,
22 pub next: WitnessEvals<F>,
24}
25
26#[derive(Clone)]
27pub struct WitnessOverDomains<F: FftField> {
28 pub d4: WitnessShifts<F>,
30 pub d8: WitnessShifts<F>,
32}
33
34#[derive(Clone)]
37pub struct LookupEvals<F: FftField> {
38 pub l: Evaluations<F, D<F>>,
40 pub lw: Evaluations<F, D<F>>,
42 pub h1: Evaluations<F, D<F>>,
44 pub h2: Evaluations<F, D<F>>,
46}
47
48#[derive(Clone)]
49pub struct LookupShifts<F: FftField> {
50 pub this: LookupEvals<F>,
52 pub next: LookupEvals<F>,
54}
55
56#[derive(Clone)]
57pub struct LookupPolys<F: FftField> {
58 pub l: DensePolynomial<F>,
60 pub lw: DensePolynomial<F>,
62 pub h1: DensePolynomial<F>,
64 pub h2: DensePolynomial<F>,
66}