@@ -30,7 +30,7 @@ use rand::rngs::OsRng;
3030use rand_isaac:: { IsaacRng , Isaac64Rng } ;
3131use rand_chacha:: { ChaCha20Core , ChaCha8Rng , ChaCha12Rng , ChaCha20Rng } ;
3232use rand_hc:: { Hc128Rng } ;
33- use rand_pcg:: { Lcg64Xsh32 , Mcg128Xsl64 } ;
33+ use rand_pcg:: { Pcg32 , Pcg64 , Pcg64Mcg } ;
3434use rand_xorshift:: XorShiftRng ;
3535use rand_xoshiro:: { Xoshiro256StarStar , Xoshiro256Plus , Xoshiro128StarStar ,
3636 Xoshiro128Plus , Xoroshiro128StarStar , Xoroshiro128Plus , SplitMix64 ,
@@ -63,15 +63,17 @@ gen_bytes!(gen_bytes_xoroshiro128plus, Xoroshiro128Plus::from_entropy());
6363gen_bytes ! ( gen_bytes_xoroshiro64starstar, Xoroshiro64StarStar :: from_entropy( ) ) ;
6464gen_bytes ! ( gen_bytes_xoroshiro64star, Xoroshiro64Star :: from_entropy( ) ) ;
6565gen_bytes ! ( gen_bytes_splitmix64, SplitMix64 :: from_entropy( ) ) ;
66- gen_bytes ! ( gen_bytes_lcg64_xsh32, Lcg64Xsh32 :: from_entropy( ) ) ;
67- gen_bytes ! ( gen_bytes_mcg128_xsh64, Mcg128Xsl64 :: from_entropy( ) ) ;
66+ gen_bytes ! ( gen_bytes_pcg32, Pcg32 :: from_entropy( ) ) ;
67+ gen_bytes ! ( gen_bytes_pcg64, Pcg64 :: from_entropy( ) ) ;
68+ gen_bytes ! ( gen_bytes_pcg64mcg, Pcg64Mcg :: from_entropy( ) ) ;
6869gen_bytes ! ( gen_bytes_chacha8, ChaCha8Rng :: from_entropy( ) ) ;
6970gen_bytes ! ( gen_bytes_chacha12, ChaCha12Rng :: from_entropy( ) ) ;
7071gen_bytes ! ( gen_bytes_chacha20, ChaCha20Rng :: from_entropy( ) ) ;
7172gen_bytes ! ( gen_bytes_hc128, Hc128Rng :: from_entropy( ) ) ;
7273gen_bytes ! ( gen_bytes_isaac, IsaacRng :: from_entropy( ) ) ;
7374gen_bytes ! ( gen_bytes_isaac64, Isaac64Rng :: from_entropy( ) ) ;
7475gen_bytes ! ( gen_bytes_std, StdRng :: from_entropy( ) ) ;
76+ #[ cfg( feature="small_rng" ) ]
7577gen_bytes ! ( gen_bytes_small, SmallRng :: from_entropy( ) ) ;
7678gen_bytes ! ( gen_bytes_os, OsRng ) ;
7779
@@ -102,15 +104,17 @@ gen_uint!(gen_u32_xoroshiro128plus, u32, Xoroshiro128Plus::from_entropy());
102104gen_uint ! ( gen_u32_xoroshiro64starstar, u32 , Xoroshiro64StarStar :: from_entropy( ) ) ;
103105gen_uint ! ( gen_u32_xoroshiro64star, u32 , Xoroshiro64Star :: from_entropy( ) ) ;
104106gen_uint ! ( gen_u32_splitmix64, u32 , SplitMix64 :: from_entropy( ) ) ;
105- gen_uint ! ( gen_u32_lcg64_xsh32, u32 , Lcg64Xsh32 :: from_entropy( ) ) ;
106- gen_uint ! ( gen_u32_mcg128_xsh64, u32 , Mcg128Xsl64 :: from_entropy( ) ) ;
107+ gen_uint ! ( gen_u32_pcg32, u32 , Pcg32 :: from_entropy( ) ) ;
108+ gen_uint ! ( gen_u32_pcg64, u32 , Pcg64 :: from_entropy( ) ) ;
109+ gen_uint ! ( gen_u32_pcg64mcg, u32 , Pcg64Mcg :: from_entropy( ) ) ;
107110gen_uint ! ( gen_u32_chacha8, u32 , ChaCha8Rng :: from_entropy( ) ) ;
108111gen_uint ! ( gen_u32_chacha12, u32 , ChaCha12Rng :: from_entropy( ) ) ;
109112gen_uint ! ( gen_u32_chacha20, u32 , ChaCha20Rng :: from_entropy( ) ) ;
110113gen_uint ! ( gen_u32_hc128, u32 , Hc128Rng :: from_entropy( ) ) ;
111114gen_uint ! ( gen_u32_isaac, u32 , IsaacRng :: from_entropy( ) ) ;
112115gen_uint ! ( gen_u32_isaac64, u32 , Isaac64Rng :: from_entropy( ) ) ;
113116gen_uint ! ( gen_u32_std, u32 , StdRng :: from_entropy( ) ) ;
117+ #[ cfg( feature="small_rng" ) ]
114118gen_uint ! ( gen_u32_small, u32 , SmallRng :: from_entropy( ) ) ;
115119gen_uint ! ( gen_u32_os, u32 , OsRng ) ;
116120
@@ -124,15 +128,17 @@ gen_uint!(gen_u64_xoroshiro128plus, u64, Xoroshiro128Plus::from_entropy());
124128gen_uint ! ( gen_u64_xoroshiro64starstar, u64 , Xoroshiro64StarStar :: from_entropy( ) ) ;
125129gen_uint ! ( gen_u64_xoroshiro64star, u64 , Xoroshiro64Star :: from_entropy( ) ) ;
126130gen_uint ! ( gen_u64_splitmix64, u64 , SplitMix64 :: from_entropy( ) ) ;
127- gen_uint ! ( gen_u64_lcg64_xsh32, u64 , Lcg64Xsh32 :: from_entropy( ) ) ;
128- gen_uint ! ( gen_u64_mcg128_xsh64, u64 , Mcg128Xsl64 :: from_entropy( ) ) ;
131+ gen_uint ! ( gen_u64_pcg32, u64 , Pcg32 :: from_entropy( ) ) ;
132+ gen_uint ! ( gen_u64_pcg64, u64 , Pcg64 :: from_entropy( ) ) ;
133+ gen_uint ! ( gen_u64_pcg64mcg, u64 , Pcg64Mcg :: from_entropy( ) ) ;
129134gen_uint ! ( gen_u64_chacha8, u64 , ChaCha8Rng :: from_entropy( ) ) ;
130135gen_uint ! ( gen_u64_chacha12, u64 , ChaCha12Rng :: from_entropy( ) ) ;
131136gen_uint ! ( gen_u64_chacha20, u64 , ChaCha20Rng :: from_entropy( ) ) ;
132137gen_uint ! ( gen_u64_hc128, u64 , Hc128Rng :: from_entropy( ) ) ;
133138gen_uint ! ( gen_u64_isaac, u64 , IsaacRng :: from_entropy( ) ) ;
134139gen_uint ! ( gen_u64_isaac64, u64 , Isaac64Rng :: from_entropy( ) ) ;
135140gen_uint ! ( gen_u64_std, u64 , StdRng :: from_entropy( ) ) ;
141+ #[ cfg( feature="small_rng" ) ]
136142gen_uint ! ( gen_u64_small, u64 , SmallRng :: from_entropy( ) ) ;
137143gen_uint ! ( gen_u64_os, u64 , OsRng ) ;
138144
@@ -159,8 +165,9 @@ init_gen!(init_xoroshiro128plus, Xoroshiro128Plus);
159165init_gen ! ( init_xoroshiro64starstar, Xoroshiro64StarStar ) ;
160166init_gen ! ( init_xoroshiro64star, Xoroshiro64Star ) ;
161167init_gen ! ( init_splitmix64, SplitMix64 ) ;
162- init_gen ! ( init_lcg64_xsh32, Lcg64Xsh32 ) ;
163- init_gen ! ( init_mcg128_xsh64, Mcg128Xsl64 ) ;
168+ init_gen ! ( init_pcg32, Pcg32 ) ;
169+ init_gen ! ( init_pcg64, Pcg64 ) ;
170+ init_gen ! ( init_pcg64mcg, Pcg64Mcg ) ;
164171init_gen ! ( init_hc128, Hc128Rng ) ;
165172init_gen ! ( init_isaac, IsaacRng ) ;
166173init_gen ! ( init_isaac64, Isaac64Rng ) ;
0 commit comments