diff --git a/src/Numerics/Random/MersenneTwister.cs b/src/Numerics/Random/MersenneTwister.cs
index 909969ef..8c2a3cfe 100644
--- a/src/Numerics/Random/MersenneTwister.cs
+++ b/src/Numerics/Random/MersenneTwister.cs
@@ -98,7 +98,7 @@ namespace MathNet.Numerics.Random
///
/// Mersenne twister constant.
///
- private const double _reciprocal = 1.0/4294967295.0;
+ private const double _reciprocal = 1.0/4294967296.0;
///
/// Mersenne twister constant.
diff --git a/src/UnitTests/Random/MersenneTwisterTests.cs b/src/UnitTests/Random/MersenneTwisterTests.cs
index 1d239ce8..a597e49d 100644
--- a/src/UnitTests/Random/MersenneTwisterTests.cs
+++ b/src/UnitTests/Random/MersenneTwisterTests.cs
@@ -49,10 +49,10 @@ namespace MathNet.Numerics.UnitTests.Random
public void SampleKnownValues()
{
var mt = new MersenneTwister(0);
- Assert.AreEqual(mt.NextDouble(), 0.5488135024320365);
- Assert.AreEqual(mt.NextDouble(), 0.5928446165269344);
- Assert.AreEqual(mt.NextDouble(), 0.7151893651381110);
- Assert.AreEqual(mt.NextDouble(), 0.8442657442866512);
+ Assert.AreEqual(mt.NextDouble(), 0.5488135023042560);
+ Assert.AreEqual(mt.NextDouble(), 0.5928446163889021);
+ Assert.AreEqual(mt.NextDouble(), 0.7151893649715930);
+ Assert.AreEqual(mt.NextDouble(), 0.8442657440900803);
}
}
}