Esempio n. 1
0
        public void CanSampleSequence()
        {
            var n   = new InverseGaussian(1.0, 2.0);
            var ied = n.Samples();

            GC.KeepAlive(ied.Take(5).ToArray());
        }
Esempio n. 2
0
        public void CanEstimateParameters(double mu, double lambda)
        {
            var original  = new InverseGaussian(mu, lambda, new Numerics.Random.MersenneTwister(100));
            var estimated = InverseGaussian.Estimate(original.Samples().Take(1000000));

            AssertHelpers.AlmostEqualRelative(mu, estimated.Mu, 1);
            AssertHelpers.AlmostEqualRelative(lambda, estimated.Lambda, 1);
        }
Esempio n. 3
0
        public void CanFillSampleArray()
        {
            double[] samples = new double[100];
            var      n       = new InverseGaussian(1.0, 2.0, new Numerics.Random.MersenneTwister(100));

            n.Samples(samples);
            Assert.IsTrue(!samples.Any(x => x == 0));
        }
Esempio n. 4
0
 public void FailSampleSequenceStatic()
 {
     Assert.That(() => { var ied = InverseGaussian.Samples(new Numerics.Random.MersenneTwister(100), 0.0, -1.0).First(); }, Throws.ArgumentException);
 }
Esempio n. 5
0
 public void FailFillingSampleArrayStatic()
 {
     double[] samples = new double[100];
     Assert.That(() => { InverseGaussian.Samples(new Numerics.Random.MersenneTwister(100), samples, -1.0, 1.0); }, Throws.ArgumentException);
 }
Esempio n. 6
0
        public void CanSampleSequenceStatic()
        {
            var ied = InverseGaussian.Samples(new Numerics.Random.MersenneTwister(100), 1.0, 1.0);

            GC.KeepAlive(ied.Take(5).ToArray());
        }
Esempio n. 7
0
 public void CanFillSampleArrayStatic()
 {
     double[] samples = new double[100];
     InverseGaussian.Samples(new Numerics.Random.MersenneTwister(100), samples, 1.0, 1.0);
     Assert.IsTrue(!samples.Any(x => x == 0));
 }