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}