class SplittableRandom

Doug Lea dl at cs.oswego.edu
Mon Jul 15 22:46:59 UTC 2013


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





More information about the core-libs-dev mailing list