poulpy/src/modulus/prime.rs
src/modulus/prime.rsRaw
1use crate::modulus::montgomery::{MontgomeryPrecomp, Montgomery};
2use crate::modulus::shoup::{ShoupPrecomp};
3
4
5pub struct Prime<O> {
6 pub q: O, /// q_base^q_powers
7 pub q_base: O,
8 pub q_power: O,
9 pub factors: Vec<O>, /// distinct factors of q-1
10 pub montgomery: MontgomeryPrecomp<O>,
11 pub shoup:ShoupPrecomp<O>,
12 pub phi: O,
13}
14
15pub struct NTTFriendlyPrimesGenerator<O>{
16 pub size: f64,
17 pub next_prime: O,
18 pub prev_prime: O,
19 pub check_next_prime: bool,
20 pub check_prev_prime: bool,
21}