number generation

This commit is contained in:
2025-04-30 15:10:44 +02:00
parent 9fa9f4a8bc
commit f15cd646c6
4 changed files with 18 additions and 12 deletions

View File

@ -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 {