rng-pack 0.2.2

rng variety pack
Documentation
//! # RNG Pack
//!
//! A collection of random number generators.
//!
//! This crate provides implementations of various pseudo-random number generators (PRNGs),
//! including:
//!
//! * **Mersenne Twister**: [`mt19937::Mt19937`] (32-bit) and [`mt1993764::Mt1993764`] (64-bit).
//! * **PCG**: [`pcg32::Pcg32`] (Permuted Congruential Generator).
//! * **Philox**: [`philox32::Philox32`] (4x32) and [`philox64::Philox64`] (2x64), counter-based RNGs.
//! * **Twisted GFSR**: [`twisted_gfsr::TwistedGFSR`].
//! * **Xorshift**: [`xorshift32::Xorshift32`], [`xorshift64::Xorshift64`], and [`xorshift128::Xorshift128`].
//!
//! Each generator supports generating uniform random numbers for various types (`u32`, `u64`, `f32`, `f64`)
//! and ranges.
//!
//! ## C API
//!
//! This crate also exports C-compatible functions for creating, using, and freeing these generators,
//! allowing them to be used from other languages.

/// A 32-bit Mersenne Twister (MT19937) random number generator.
pub mod mt19937;

/// A 64-bit Mersenne Twister (MT19937-64) random number generator.
pub mod mt1993764;

/// A PCG (Permuted Congruential Generator) random number generator.
pub mod pcg32;

/// A Philox 4x32 random number generator.
pub mod philox32;

/// A Philox 2x64 random number generator.
pub mod philox64;

/// A Twisted Generalized Feedback Shift Register (TGFSR) generator.
pub mod twisted_gfsr;

/// A 128-bit Xorshift random number generator.
pub mod xorshift128;

/// A 32-bit Xorshift random number generator.
pub mod xorshift32;

/// A 64-bit Xorshift random number generator.
pub mod xorshift64;