Evolution/Evolution/Utils/XorShiftRandomSource.cs
/// <summary>
/// Generates a random double. Values returned are over the range [0, 1). That is, inclusive of 0.0 and exclusive of 1.0.
/// </summary>
Generates a random double. Values returned are over the range [0, 1).
Generates a random double . Values returned are over the range [ 0 1 ) .
public double NextDouble()
        {
            uint t = _x ^ (_x << 11);
            _x = _y; _y = _z; _z = _w;
            return REAL_UNIT_UINT * (_w = (_w ^ (_w >> 19)) ^ (t ^ (t >> 8)));
        }
public double NextDouble ( ) { uint t = _x ^ ( _x << 11 ) ; _x = _y ; _y = _z ; _z = _w ; return REAL_UNIT_UINT * ( _w = ( _w ^ ( _w >> 19 ) ) ^ ( t ^ ( t >> 8 ) ) ) ; }
Generates a random double.
Generates a random double .
// N.B. Here we're using the full 32 bits of randomness, whereas System.Random uses 31 bits.