arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/src/modulus/prime.rs
src/modulus/prime.rsRaw
 1use primality_test::is_prime;
 2
 3pub struct Prime {
 4	q: u64,
 5}
 6
 7impl Prime {
 8	pub fn new(q: u64) -> Self{
 9		assert!(is_prime(q) && q > 2);
10        Self::new_unchecked(q)
11	}
12
13	pub fn new_unchecked(q: u64) -> Self {
14        assert!(q.next_power_of_two().ilog2() <= 61);
15        Self {
16            q,
17        }
18    }
19}