private static ulong[] GetRandomValues(MersenneTwister64Bit19937 generator, int size) { var actual = new ulong[size]; for (var i = 0; i < actual.Length; ++i) { actual[i] = generator.NextULong(); } return(actual); }
public void InitGenRandTest(uint seed) { // the number of random numbers to test // This is chosen so that the state is cycled twice. const int size = 1400; var generator = MersenneTwister64Bit19937.InitGenRand(seed); Assert.AreEqual( OriginalInitGenRand(seed, size), GetRandomValues(generator, size)); }
public void InitByArrayTest(int seedSize) { // the number of random numbers to test // This is chosen so that the state is cycled twice. const int size = 1400; var seeds = OriginalInitGenRand(1, seedSize); var generator = MersenneTwister64Bit19937.InitByArray(seeds); var actual = GetRandomValues(generator, size); var expected = OriginalInitByArray(seeds, size); Assert.AreEqual(expected, actual); }
public void TestConstructWithNullSeedSequence() { Assert.Throws <ArgumentNullException>( () => _ = new MersenneTwister64Bit19937(null)); }
public void InitByArrayNull() { Assert.Throws <ArgumentNullException>( () => MersenneTwister64Bit19937.InitByArray(null)); }