- I've adapted a few implementations of PRNGs, including Mersenne-Twister, WELL, Xorshift, and Mitchell-Moore
- the program can produce a stream of pseudo-random numbers, which is handy for testing quality of a PRNG with an external program, such as ent or dieharder.
- h: help
- l: list all generators and exit
- g: select one generator
- b: don't make built-in tests, generate binary instead
- s: use external seed; -s `date +'%s'` is a nice example
- n: generate n 32-bit numbers
- o: output to file instead of stdout
- derp - a number generator of extremely poor quality, but fast and, apparently, well distributed
- LGC-k1 - a fast Linear Congruential Generator as described by George Marsaglia
- MM - Mitchell-Moore from The Art of Computer Programming by Donald E. Knuth
- MMopt - A slightly different implementation of Mitchell-Moore
- MT19937 - Mersenne-Twister
- MWC256 by George Marsaglia
- p_rand - some LGC I know from Jon Lambert
- WELL44497a - Well Equidistributed Long-period Linear, k=44497, no tempering
- WELL44497b - WELL, k=44497, with tempering
- WELL512 - WELL, k=512
- Xorshift-k4 by George Marsaglia
- Xorshift-k5 by George Marsaglia
- Donald Knuth: The Art Of Computer Programming, volume 2, third edition
- Richard Brent's PRNG implementations
- Richard Brent: Uniform Random Number Generators for Vector and Parallel Computers
- Richard Brent: Uniform random number generators for supercomputers
- Richard Brent: Fast and reliable random number generators
- Richard Brent: Some Long-Period Random Number Generators using Shifts and Xors
- Richard Brent: On the periods of generalized Fibonacci recurrences
- Richard Brent: A Fast Algorithm for Testing Irreducibility of Trinomials mod 2
- Richard Brent: Random number generation and simulation on vector and parallel computers
- P. L'Ecuyer: Tables of Linear Congruential Generators of different sizes and good lattice structure
- Panneton, L'Ecuyer, Matsumoto: Improved Long-Period Generators Based on Linear Recurrences Modulo 2
- N. Dimopoulos, K. Li: High performance computing systems and applications
- Hertzberger, Hoekstra, Williams: High-Performance Computing and Networking
- Robert Ziff: Four-tap shift-register-sequence random-number generators
- Helmut Katzgraber: Random Numbers in Scientific Computing: An Introduction
- Andrew Karl: Pseudorandom Numbers: Generation, Statistical Measures, Monte Carlo Methods, and Implementation in C++
- G. Marsaglia, A. Zaman: Some portable very-long-period random number generators
- George Marsaglia: A current view of random number generators
- Amy Glen: On the Period Length of Pseudorandom Number Sequences
- David J. Wright: Solving Congruences: The Chinese Remainder Theorem
- Mersenne numbers
- F. Panneton's website
- Further references
- http://www.firstpr.com.au/dsp/rand31/
- Numerical recipes in C