/*
* rngs
* ECE 541 Project 2
* Kashev Dalmia - dalmia3
* David Huang - huang157
*/
A project for ECE 541 Project #2 @ UIUC. Investigating Random Number Generators.
This project uses the Dieharder project to test random number generators implemented in C++. More information can be found in the proposal, report, and presentation folders. The final version of the paper in this repository which explains much of the theory behind this project can be found here.
This project requires dieharder. Obtain it from the link above, install it with your package manager, or on ubuntu, run code/install_deps.sh.
To build the project without the use of an IDE, run:
cd code && cmake . && make
Example usage of Python calling script:
./rngs.py stl -d 0
./rngs.py mt19937 -a
./rngs.py --file all -a
Note that the only flag that's passed to dieharder by default is -g 200, to tell it to use std_in_raw. All other dieharder options, like the -a flag to run all tests, or the -d flag to run specific tests. For more information on dieharder options, run man dieharder.
Also note that running a single RNG through all the dieharder tests take a little under an hour on my laptop. So running all of them will take a long time. User beware!