number generation
This commit is contained in:
12
src/utils.rs
12
src/utils.rs
@ -4,9 +4,15 @@ use rand::SeedableRng;
|
||||
use rug::Integer;
|
||||
|
||||
pub fn generate_random_odd_integer(num_bits: u32) -> Integer {
|
||||
std::iter::repeat_with(|| generate_random_integer(num_bits))
|
||||
.find(|p: &Integer| p.is_odd())
|
||||
.unwrap()
|
||||
let mut rng = StdRng::from_os_rng();
|
||||
let mut x = Integer::from(1);
|
||||
for _ in 1..(num_bits-1) {
|
||||
x <<= 1;
|
||||
x += rng.random_range(0..=1);
|
||||
}
|
||||
x <<= 1;
|
||||
x += 1;
|
||||
x
|
||||
}
|
||||
|
||||
pub fn generate_random_integer(num_bits: u32) -> Integer {
|
||||
|
Reference in New Issue
Block a user