Evolution/Evolution/Utils/XorShiftRandomSource.cs
/// <summary>
/// Generates a random double. Values returned are over the range (0, 1). That is, exclusive of both 0.0 and 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 NextDoubleNonZero()
        {
            uint t = _x ^ (_x << 11);
            _x = _y; _y = _z; _z = _w;
            return REAL_UNIT_UINT * ((0xFFFFFFFE & (_w = (_w ^ (_w >> 19)) ^ (t ^ (t >> 8)))) + 1U);
        }
public double NextDoubleNonZero ( ) { uint t = _x ^ ( _x << 11 ) ; _x = _y ; _y = _z ; _z = _w ; return REAL_UNIT_UINT * ( ( 0xFFFFFFFE & ( _w = ( _w ^ ( _w >> 19 ) ) ^ ( t ^ ( t >> 8 ) ) ) ) + 1U ) ; }
Generates a random double.
Generates a random double .
// Here we generate a random value from 0 to 0xff ff ff fe, and add one // to generate a random value from 1 to 0xff ff ff ff.