2025-02-01 16:54:29 -05:00
2025-02-01 16:56:59 -05:00
2025-02-01 16:53:31 -05:00

ReUnirand

A C++ implementation of Marsaglia's Universal Random Number Generator

This program is based on "Toward a universal random number generator" by George Marsaglia, Arif Zaman, Wai Wan Tsang published in Statistics & Probability Letters Volume 9, Issue 1, January 1990, Pages 35-39 https://www.sciencedirect.com/science/article/abs/pii/016771529090092L?via%3Dihub

Building

git clone https://git.redacted.cc/rich/ReUnirand.git
cd ReUnirand
mkdir build; cd build; cmake ..; make
./ReUnirand-Test

Using

rng.rinit(170); // seed value must be in range 0 to 900000000
float randomNumber = rng.uni();

Test Program

The test program will out put a single test value from a seed of 170 which should give a value of 0.687533

It then outputs a list of 128 random numbers from that seed.

Thanks

Written by Rich, hosted on the Redacted gitea with thanks to Maxine, Bill and Josh.

Description
Marsaglia's Universal Random Number Generator
Readme 36 KiB
Languages
C++ 76.7%
CMake 23.3%