Skip to content
/ rngs Public

A project for ECE 541 Project #2 @ UIUC. Investigating Random Number Generators.

License

Notifications You must be signed in to change notification settings

kashev/rngs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rngs

/*
 * 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!

Implemented RNGs

About

A project for ECE 541 Project #2 @ UIUC. Investigating Random Number Generators.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published