Implements a selection of PCG random number generators.
PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. [Melissa O'Neill, Harvey Mudd College, 2014].
The PCG algorithms are not suitable for cryptographic uses, but perform well in statistical tests, use little memory and are fairly fast. See the pcg-random website.
This crate depends on rand_core and is part of the Rand project.
Links:
rand_pcg
is no_std
compatible. It does not require any functionality
outside of the core
lib, thus there are no features to configure.
The serde1
feature includes implementations of Serialize
and Deserialize
for the included RNGs. NOTE: to use binary serialisation with any of the 64-bit
output (128-bit internal) RNGs, you must add the following dependency, since the
i128
feature is not current enabled by default (this should be fixed soon):
bincode = { version = "1", features = ["i128"] }
rand_pcg
is distributed under the terms of both the MIT license and the
Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.