July 05, 2013
On 07/04/2013 06:37 PM, Joseph Rushton Wakeling wrote:
> Hi all,
> 
> I'm preparing a few very simplistic test functions for std.random.  These are not so suitable for unittests as they are basically to check that random values are being generated in the correct proportions, etc.: https://github.com/WebDrake/std.random.test
> 
> Problems identified so far:

To this we can add: http://d.puremagic.com/issues/show_bug.cgi?id=10550

At least 2 of the Xorshift generators (32 and 160) depart strongly from
uniformity in their output.

Because the others appear OK, my guess would be that the fault lies either in the initialization of the seeds_ variable inside XorshiftEngine, or (more likely) in the parts of popFront related to the 32- and 160-bit engines.

July 09, 2013
On 07/05/2013 04:16 PM, Joseph Rushton Wakeling wrote:
> To this we can add: http://d.puremagic.com/issues/show_bug.cgi?id=10550
> 
> At least 2 of the Xorshift generators (32 and 160) depart strongly from
> uniformity in their output.
> 
> Because the others appear OK, my guess would be that the fault lies either in the initialization of the seeds_ variable inside XorshiftEngine, or (more likely) in the parts of popFront related to the 32- and 160-bit engines.

A fix for this landed earlier today, although we probably need to follow up with some appropriate experts to have the solution rigorously reviewed.

Thanks to Masahiro Nakagawa and monarch_dodra who made sure the fix made it to Phobos in double quick time :-)