.cargo | ||
src | ||
.envrc | ||
.gitignore | ||
Cargo.lock | ||
Cargo.nix | ||
Cargo.toml | ||
CHANGELOG.md | ||
CODE-OF-CONDUCT.md | ||
CONTRIBUTING.md | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md | ||
renovate.json | ||
SECURITY.md |
rand_testsuite
A Testsuite for random number generators. It implements NIST 800-22.
It is intended to be more as a smoketest to ensure that random number generation isn’t completely broken.
Crate Features
rand_testsuite defines the following features:
std
: Uses thestd
library’s maths routines instead of a freestanding pure-rust implementation.rand_core
: Allows you to directly testRngCore
trait implementations. Enables allocations.
Getting Started
This is how you may use this crate to evaluate a random number generator (requires rand_core
!)
let mut rng = rand::thread_rng();
assert!(CombinedRandomTest::default().evaluate_rng(&mut rng).unwrap_or_default() > 0.01);
Installing
You can add this library to your crate with the following command:
cargo add rand_testsuite --dev
This makes the dependency available in testsuites.
Running the tests
cargo test
nix flake check .
Built With
- Contributor Covenant - Used for the Code of Conduct
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.
Authors
- Charlotte 🦝 Delenk DarkKirb
See also the list of contributors who participated in this project.
License
Licensed under either of
- Apache License, Version 2.0 LICENSE-APACHE
- MIT license LICENSE-MIT
at your option.