On 07/15/13 16:13, Martin Buchholz wrote:
I'll be your loyal adversary today, trying to break SplittableRandom.
Let's make it easier by providing a low-level constructor:
/** XXXX Testing */
public SplittableRandom(long seed, long gamma, Error XXXX) {
Now you see why we don't do that :-)
and then we have sneaky test using weakest args: seed = 0, gamma = 16
Which you would otherwise run into once every 2^64 splits.
So, rarely. you get some not-very-random-looking randoms.
Which is also what you'd expect under a truly random RNG.
-Doug