Added comments and modified starting values.

This commit is contained in:
John Wellbelove 2017-01-30 21:35:34 +00:00
parent 2e8f09d721
commit eac243d898
2 changed files with 8 additions and 7 deletions

View File

@ -60,10 +60,11 @@ namespace etl
//***************************************************************************
void random::initialise(uint32_t seed)
{
state[0] = seed;
state[1] = seed + 3;
state[2] = seed + 5;
state[3] = seed + 7;
// Add the first four primes to ensure that the seed isn't zero.
state[0] = seed + 3;
state[1] = seed + 5;
state[2] = seed + 7;
state[3] = seed + 11;
}
//***************************************************************************

View File

@ -36,9 +36,9 @@ SOFTWARE.
namespace etl
{
//***************************************************************************
/// A 32 bit Mersenne Twister random number generator.
/// Based on C/C++ code on Wikipedia.
/// https://en.wikipedia.org/wiki/Mersenne_Twister#C.2FC.2B.2B_implementation
/// A 32 bit random number generator.
/// Uses a 128 bit XOR shift algorithm.
/// https://en.wikipedia.org/wiki/Xorshift
//***************************************************************************
class random
{