cl-pcg is a permuted congruential generator implementation in pure Common Lisp.
Permuted congruential generators are seedable, small, fast, fairly-hard-to-predict random number generators. They can be useful for things like games. They can also be advanced and rewound efficiently.
PCGs are not cryptographically secure. If you need that, look elsewhere.
- License: MIT
- Documentation: https://sjl.bitbucket.io/cl-pcg/
- Mercurial: https://bitbucket.org/sjl/cl-pcg/
- Git: https://github.com/sjl/cl-pcg/
Testing with Dieharder
There's a Roswell script you can use to make a little executable that will spew random bytes to stdout, suitable for piping into
make build/pcg ./build/pcg | dieharder -a -g 200
build/pcg will dump out infinite random bytes until stdout breaks, so maybe don't run it in a bare terminal unless you want to just totally hose it.
- Steve Losh <email@example.com>