poulpy/math/src/modulus/montgomery.rs
math/src/modulus/montgomery.rsRaw
1use crate::modulus::barrett::BarrettPrecomp;
2
3/// Montgomery is a generic struct storing
4/// an element in the Montgomery domain.
5pub type Montgomery<O> = O;
6
7/// MontgomeryPrecomp is a generic struct storing
8/// precomputations for Montgomery arithmetic.
9#[derive(Clone, Copy, Debug, PartialEq, Eq)]
10pub struct MontgomeryPrecomp<O>{
11 pub q: O,
12 pub two_q: O,
13 pub four_q: O,
14 pub barrett: BarrettPrecomp<O>,
15 pub q_inv: O,
16 pub one: Montgomery<O>,
17 pub minus_one: Montgomery<O>,
18}