8 stable releases (4 major)
4.1.0 | Sep 1, 2020 |
---|---|
4.0.1 | Sep 1, 2020 |
3.0.1 | Jul 25, 2019 |
3.0.0 | Jun 24, 2019 |
0.1.1 | Apr 8, 2018 |
#2425 in Algorithms
Used in 2 crates
12KB
156 lines
pcg-rs
Synopsis
This is a port of the PCG random number generation libary, made for C and C++, to Rust.
The library implements the RngCore
trait, which automatically implements the
Rng
trait, providing a standard interface to generate and sample random numbers.
Note: with the 1.0.0 release of pcg-rs, the old sampling methods have been deprecated,
please use the sampling methods implemented via the Rng
trait instead.
Usage
This crate offers no_std
compatibility through the std
feature. It is
enabled by default, but if you want to use no_std
, you can add the package
like this:
[dependencies.pcg]
version = "4.0"
default-features = false
This crate also has optional support for serde
, which you can enable as a
feature:
[dependencies.pcg]
version = "4.0"
features = ["std", "serde"]
Example Usage
use rand::prelude::*;
use pcg::Pcg;
// Initialize the default PCG rng state
let mut rng = Pcg::default();
// Generate some boolean using the standard `gen()` method, which generates the
// appropriate type with type inference
let random_bool: bool = rng.gen();
Dependencies
~225KB