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}