Expand description
§Universal RNG
A collection of random number generators.
This crate provides implementations of various pseudo-random number generators (PRNGs), including:
- Mersenne Twister:
rng32::Mt19937(32-bit),rng64::Mt1993764(64-bit). - SIMD-oriented Fast Mersenne Twister:
rng32::Sfmt19937(32-bit),rng64::Sfmt1993764(64-bit). - Permuted Congruential Generator:
rng32::Pcg32(32-bit output). - Philox:
rng32::Philox32x4(4x32-bit),rng64::Philox64(2x64-bit). - Twisted Generalized Feedback Shift Register:
rng64::TwistedGFSR(64-bit). - Small Fast Chaotic:
rng64::Sfc64(64-bit). - Threefry:
rng32::Threefry32x4(4x32-bit),rng32::Threefry32x2(2x32-bit). - Threefish:
rng64::Threefish256(256-bit block cipher PRNG). - Xorshift:
rng32::Xorshift32(32-bit),rng64::Xorshift64(64-bit), [rng128::Xorshift128] (128-bit state). - Xorwow:
rng32::Xorwow(32-bit). - Xoshiro (32-bit):
rng32::Xoshiro128Pp,rng32::Xoshiro128Ss. - Xoshiro (64-bit):
rng64::Xoshiro256Pp,rng64::Xoshiro256Ss. - Xoroshiro:
rng64::xoroshiro::Xoroshiro128Pp,rng64::xoroshiro::Xoroshiro128Ss(64-bit). - Linear Congruential Generator:
rng32::Lcg32(32-bit),rng64::Lcg64(64-bit). - Cet:
rng64::Cet64(64-bit),rng64::Cet256(256-bit state). - SplitMix:
rng32::SplitMix32(32-bit),rng64::SplitMix64(64-bit). - Jenkins Small Fast:
rng32::Jsf32(32-bit).
Each generator supports generating uniform random numbers for various types (u32, u64, f32, f64) and ranges.
Modules§
- cabi32
- C-compatible ABI wrappers for the 32-bit RNGs.
- cabi64
- C-compatible ABI wrappers for the 64-bit RNGs.
- macros
- Macros for quick random number generation.
- prelude
- rng
- A 32/64-bit random number generator trait.
- rng32
- Consolidated 32-bit random number generators. Consolidated 32-bit random number generators.
- rng64
- Consolidated 64-bit random number generators. Consolidated 64-bit random number generators.
Macros§
- dispatch_
simd - Dispatches to an AVX-512 optimized path on x86_64 when available, otherwise falls back.
- safe_
test - unsafe_
test - wrap
- Wraps a value in a
Wrappingtype.