
Xoshiro256** PRNG - redcalx
http://xoshiro.di.unimi.it/xoshiro256starstar.c
======
ddtaylor
> For general usage, one has to consider that its lowest bits have low linear
> complexity and will fail linearity tests;

~~~
redcalx
> passes all tests we are aware of.

I.e. your quote relates to xoshiro256+, not Xoshiro256 __* __*.

~~~
ddtaylor
Where can I read a comparison of the two? Also, it seems like a bad naming
scheme to use as it's easy to confuse.

~~~
redcalx
I am not the author, however there is a full discussion in the paper...
[https://arxiv.org/abs/1805.01407](https://arxiv.org/abs/1805.01407)

To summarise...

Xoroshiro256+ is slightly faster but fails some linearity tests in the low
order bits, however when generating 64 bit floats only 53 bits are used, thus
if you take the most significant 53 bits then Xoroshiro256+ is perfectly fine.
It's also probably fine for generating the full 64 bits for the vast majority
of cases, unless you have some very specific requirements. But for peace of
mind there is the option to take the 15% slower version for a PRNG that is
still sub-nanosecond (per 64 bits generated, on contemporary superscalar CPUs)
and that passes all tests that the authors were aware of.

------
redcalx
xoshiro home page [http://xoshiro.di.unimi.it/](http://xoshiro.di.unimi.it/)

