public void CanSampleSequence() { var n = new InverseGaussian(1.0, 2.0); var ied = n.Samples(); GC.KeepAlive(ied.Take(5).ToArray()); }
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); }
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)); }
public void FailSampleSequenceStatic() { Assert.That(() => { var ied = InverseGaussian.Samples(new Numerics.Random.MersenneTwister(100), 0.0, -1.0).First(); }, Throws.ArgumentException); }
public void FailFillingSampleArrayStatic() { double[] samples = new double[100]; Assert.That(() => { InverseGaussian.Samples(new Numerics.Random.MersenneTwister(100), samples, -1.0, 1.0); }, Throws.ArgumentException); }
public void CanSampleSequenceStatic() { var ied = InverseGaussian.Samples(new Numerics.Random.MersenneTwister(100), 1.0, 1.0); GC.KeepAlive(ied.Take(5).ToArray()); }
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)); }