@@ -18,6 +18,7 @@ use crypto_primes::{
1818        SmallPrimesSieve , 
1919    } , 
2020    is_prime_with_rng,  is_safe_prime_with_rng, 
21+     rng:: MaybeRng , 
2122} ; 
2223#[ cfg( feature = "multicore" ) ]  
2324use  crypto_primes:: { par_generate_prime_with_rng,  par_generate_safe_prime_with_rng} ; 
@@ -32,7 +33,7 @@ fn make_random_rng() -> ChaCha8Rng {
3233} 
3334
3435fn  random_odd_uint < T :  RandomBits  + Integer ,  R :  CryptoRng  + ?Sized > ( rng :  & mut  R ,  bit_length :  u32 )  -> Odd < T >  { 
35-     random_odd_integer :: < T ,  R > ( rng,  NonZero :: new ( bit_length) . unwrap ( ) ,  SetBits :: Msb ) . unwrap ( ) 
36+     random_odd_integer :: < T ,  _ > ( & mut   MaybeRng ( rng) ,  NonZero :: new ( bit_length) . unwrap ( ) ,  SetBits :: Msb ) . unwrap ( ) 
3637} 
3738
3839fn  make_sieve < const  L :  usize ,  R :  CryptoRng  + ?Sized > ( rng :  & mut  R )  -> SmallPrimesSieve < Uint < L > >  { 
@@ -444,9 +445,10 @@ fn bench_glass_pumpkin(c: &mut Criterion) {
444445    // Mimics the sequence of checks `glass-pumpkin` does to find a prime. 
445446    fn  prime_like_gp < R :  CryptoRng  + ?Sized > ( bit_length :  u32 ,  rng :  & mut  R )  -> BoxedUint  { 
446447        loop  { 
447-             let  start = random_odd_integer :: < BoxedUint ,  R > ( rng,  NonZero :: new ( bit_length) . unwrap ( ) ,  SetBits :: Msb ) 
448-                 . unwrap ( ) 
449-                 . get ( ) ; 
448+             let  start =
449+                 random_odd_integer :: < BoxedUint ,  _ > ( & mut  MaybeRng ( rng) ,  NonZero :: new ( bit_length) . unwrap ( ) ,  SetBits :: Msb ) 
450+                     . unwrap ( ) 
451+                     . get ( ) ; 
450452            let  sieve = SmallPrimesSieve :: new ( start,  NonZero :: new ( bit_length) . unwrap ( ) ,  false ) ; 
451453            for  num in  sieve { 
452454                let  odd_num = Odd :: new ( num. clone ( ) ) . unwrap ( ) ; 
@@ -470,9 +472,10 @@ fn bench_glass_pumpkin(c: &mut Criterion) {
470472    // Mimics the sequence of checks `glass-pumpkin` does to find a safe prime. 
471473    fn  safe_prime_like_gp < R :  CryptoRng  + ?Sized > ( bit_length :  u32 ,  rng :  & mut  R )  -> BoxedUint  { 
472474        loop  { 
473-             let  start = random_odd_integer :: < BoxedUint ,  _ > ( rng,  NonZero :: new ( bit_length) . unwrap ( ) ,  SetBits :: Msb ) 
474-                 . unwrap ( ) 
475-                 . get ( ) ; 
475+             let  start =
476+                 random_odd_integer :: < BoxedUint ,  _ > ( & mut  MaybeRng ( rng) ,  NonZero :: new ( bit_length) . unwrap ( ) ,  SetBits :: Msb ) 
477+                     . unwrap ( ) 
478+                     . get ( ) ; 
476479            let  sieve = SmallPrimesSieve :: new ( start,  NonZero :: new ( bit_length) . unwrap ( ) ,  true ) ; 
477480            for  num in  sieve { 
478481                let  odd_num = Odd :: new ( num. clone ( ) ) . unwrap ( ) ; 
0 commit comments