Skip to main content

zinc_test_uair/
generate_trace.rs

1use rand::RngCore;
2use zinc_uair::{Uair, UairTrace};
3
4/// A trait for UAIRs for generating random trace (for both public and witness
5/// columns).
6pub trait GenerateRandomTrace<const DEGREE_PLUS_ONE: usize>: Uair {
7    type PolyCoeff: Clone;
8    type Int: Clone;
9
10    #[allow(clippy::type_complexity)]
11    fn generate_random_trace<Rng: RngCore + ?Sized>(
12        num_vars: usize,
13        rng: &mut Rng,
14    ) -> UairTrace<'static, Self::PolyCoeff, Self::Int, DEGREE_PLUS_ONE>;
15}