pub use super::wires::COLUMNS;
use ark_ff::FftField;
use ark_poly::{univariate::DensePolynomial, Evaluations, Radix2EvaluationDomain as D};
#[derive(Clone)]
pub struct WitnessEvals<F: FftField> {
pub w: [Evaluations<F, D<F>>; COLUMNS],
pub z: Evaluations<F, D<F>>,
}
#[derive(Clone)]
pub struct WitnessShifts<F: FftField> {
pub this: WitnessEvals<F>,
pub next: WitnessEvals<F>,
}
#[derive(Clone)]
pub struct WitnessOverDomains<F: FftField> {
pub d4: WitnessShifts<F>,
pub d8: WitnessShifts<F>,
}
#[derive(Clone)]
pub struct LookupEvals<F: FftField> {
pub l: Evaluations<F, D<F>>,
pub lw: Evaluations<F, D<F>>,
pub h1: Evaluations<F, D<F>>,
pub h2: Evaluations<F, D<F>>,
}
#[derive(Clone)]
pub struct LookupShifts<F: FftField> {
pub this: LookupEvals<F>,
pub next: LookupEvals<F>,
}
#[derive(Clone)]
pub struct LookupPolys<F: FftField> {
pub l: DensePolynomial<F>,
pub lw: DensePolynomial<F>,
pub h1: DensePolynomial<F>,
pub h2: DensePolynomial<F>,
}