better random numbers

John Rose john.r.rose at
Thu Sep 2 23:35:51 UTC 2021

The state of the art for PRNGs (pseudo-random number generators) is
much advanced since ju.Random was written.

Surely at some point we will refresh our APIs that produce random
numbers.  In fact, we have added SplittableRandom, but I think the
state of the art is farther enough along to consider another refresh.

(When we get advanced numerics via Valhalla, I think we will probably
want generic algorithms on 128-bit int and vectorized states, as well;
that’s just a guess.)

I bring this up not for any immediate purpose, but because every so
often I google around for information about PRNGs, and I have noticed
that a particular reference (since at least 2018) keeps coming to the
top of the pile of interesting stuff.  I’d like to share it with you
all, and talk about making use of it.

(FWIW, last weekend I was doing some experiments with perfect hash
functions, and I wanted to roll my own PRNG to drive the search for
them.  A few months ago my problem was test vector generation, and
again I rolled my own PRNG after looking at ju.*Random.)

The reference I’d like to give here is to Dr. Melissa O’Neill’s
website and articles:

…Read more here:

More information about the core-libs-dev mailing list