public void SampleKnownFloatingPointValues()
 {
     var mt = new MersenneTwister(0);
     Assert.AreEqual(mt.NextDouble(), 0.5488135023042560);
     Assert.AreEqual(mt.NextDouble(), 0.5928446163889021);
     Assert.AreEqual(mt.NextDouble(), 0.7151893649715930);
     Assert.AreEqual(mt.NextDouble(), 0.8442657440900803);
 }
 public void SampleKnownValues()
 {
     MersenneTwister 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);
 }
Beispiel #3
0
        public static IEnumerable<float> TestData()
        {
            var g = new Normal(0.0, 1.0);
            var randy = new MersenneTwister();

            g.RandomSource = randy;
            var dbls = new double[100000];
            g.Samples(dbls);
            return dbls.Select(d => (float) d);
        }
        public void TestProjectTo2D()
        {
            var groupSize = 7;
            var groupCount = 5;
            var memCount = 9;

            var randy = new MersenneTwister();

            var M = Matrix<float>.Build;
            var matrixMems = M.Dense(groupSize, memCount,
                (i, j) => (float) randy.NextDouble());

            var matrixStates = M.Dense(groupSize, groupCount,
                (i, j) => (float) randy.NextDouble());

            var projX = new[] {1, 5, 3};
            var projY = new[] {1, 3, 5};

            var res = MathNetUtils.ProjectTo2D(matrixMems.Transpose(), matrixStates, projX, projY);

            Debug.WriteLine(MathNetUtils.FormatMatrix("0.0000", matrixMems));
        }
 public void SampleKnownIntegerValuesSeed42()
 {
     var mt = new MersenneTwister(42);
     Assert.AreEqual(mt.Next(), 804318771);
 }