use crate::modulus::montgomery::MontgomeryPrecomp; use crate::modulus::barrett::BarrettPrecomp; #[derive(Clone, Debug, PartialEq, Eq)] pub struct Prime { pub q: O, /// q_base^q_powers pub two_q: O, pub four_q: O, pub q_base: O, pub q_power: usize, pub factors: Vec, /// distinct factors of q-1 pub montgomery: MontgomeryPrecomp, pub barrett:BarrettPrecomp, pub phi: O, } pub struct NTTFriendlyPrimesGenerator{ pub size: f64, pub next_prime: O, pub prev_prime: O, pub check_next_prime: bool, pub check_prev_prime: bool, }