public void CanSampleSequence() { var n = new Burr(1.0, 2.0, 2.0); var ied = n.Samples(); GC.KeepAlive(ied.Take(5).ToArray()); }
public void CanCreateBurrWithRandomSource() { var randomSource = new Numerics.Random.MersenneTwister(100); var n = new Burr(1.0, 1.0, 0.5, randomSource); Assert.AreEqual(randomSource, n.RandomSource); }
public void ValidateDensityLn(double a, double c, double k, double x, double p) { var n = new Burr(a, c, k); AssertHelpers.AlmostEqualRelative(p, n.DensityLn(x), highPrecision); AssertHelpers.AlmostEqualRelative(p, Burr.PDFLn(a, c, k, x), highPrecision); }
public void ValidateCumulativeDistribution(double a, double c, double k, double x, double f) { var n = new Burr(a, c, k); AssertHelpers.AlmostEqualRelative(f, n.CumulativeDistribution(x), lowPrecision); AssertHelpers.AlmostEqualRelative(f, Burr.CDF(a, c, k, x), lowPrecision); }
public void ValidateToString() { System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; var n = new Burr(1d, 2d, 3d); Assert.AreEqual("Burr(a = 1, c = 2, k = 3)", n.ToString()); }
public void CanFillSampleArray() { double[] samples = new double[100]; var n = new Burr(1.0, 2.0, 2.0, new Numerics.Random.MersenneTwister(100)); n.Samples(samples); Assert.IsTrue(!samples.Any(x => x == 0)); }
public void CanCreateBurr(double a, double c, double k) { var n = new Burr(a, c, k); Assert.AreEqual(a, n.A); Assert.AreEqual(c, n.C); Assert.AreEqual(k, n.K); }
public void ValidateSkewness(double a, double c, double k, double skewness) { var n = new Burr(a, c, k); AssertHelpers.AlmostEqualRelative(skewness, n.Skewness, lowPrecision); }
public void ValidateIsValidParameterSet(double a, double c, double k, bool validity) { Assert.AreEqual(Burr.IsValidParameterSet(a, c, k), validity); }
public void FailSampleSequenceStatic() { Assert.That(() => { var ied = Burr.Samples(new Numerics.Random.MersenneTwister(100), 1.0, -1.0, 2.0).First(); }, Throws.ArgumentException); }
public void CanSampleSequenceStatic() { var ied = Burr.Samples(new Numerics.Random.MersenneTwister(100), 1.0, 2.0, 2.0); GC.KeepAlive(ied.Take(5).ToArray()); }
public void ValidateMinimum() { var n = new Burr(1.0, 2.0, 2.0); Assert.AreEqual(0.0, n.Minimum); }
public void ValidateStandardDeviation(double a, double c, double k, double std) { var n = new Burr(a, c, k); AssertHelpers.AlmostEqualRelative(std, n.StdDev, highPrecision); }
public void ValidateVariance(double a, double c, double k, double variance) { var n = new Burr(a, c, k); AssertHelpers.AlmostEqualRelative(variance, n.Variance, highPrecision); }
public void ValidateMean(double a, double c, double k, double mean) { var n = new Burr(a, c, k); AssertHelpers.AlmostEqualRelative(mean, n.Mean, highPrecision); }
public void ValidateMode(double a, double c, double k, double mode) { var n = new Burr(a, c, k); AssertHelpers.AlmostEqualRelative(mode, n.Mode, highPrecision); }
public void CanSampleStatic() { Burr.Sample(new Numerics.Random.MersenneTwister(100), 1.0, 2.0, 2.0); }
public void CanFillSampleArrayStatic() { double[] samples = new double[100]; Burr.Samples(new Numerics.Random.MersenneTwister(100), samples, 1.0, 2.0, 2.0); Assert.IsTrue(!samples.Any(x => x == 0)); }
public void ValidateMaximum() { var n = new Burr(1.0, 2.0, 1.0); Assert.AreEqual(double.PositiveInfinity, n.Maximum); }
public void FailFillingSampleArrayStatic() { double[] samples = new double[100]; Assert.That(() => { Burr.Samples(new Numerics.Random.MersenneTwister(100), samples, -1.0, 2.0, 2.0); }, Throws.ArgumentException); }
public void ValidateEntropyFailsWithNotSupported(double a, double c, double k) { var n = new Burr(a, c, k); Assert.Throws <NotSupportedException>(() => { var x = n.Entropy; }); }
public void CanSample() { var n = new Burr(1.0, 2.0, 2.0); n.Sample(); }
private static void burr_cdf_test() //****************************************************************************80 // // Purpose: // // BURR_CDF_TEST tests BURR_CDF, BURR_CDF_INV, BURR_PDF; // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 26 August 2006 // // Author: // // John Burkardt // { int i; int seed = 123456789; Console.WriteLine(""); Console.WriteLine("BURR_CDF_TEST"); Console.WriteLine(" BURR_CDF evaluates the Burr CDF;"); Console.WriteLine(" BURR_CDF_INV inverts the Burr CDF."); Console.WriteLine(" BURR_PDF evaluates the Burr PDF;"); const double a = 1.0; const double b = 2.0; const double c = 3.0; const double d = 2.0; Console.WriteLine(""); Console.WriteLine(" PDF parameter A = " + a + ""); Console.WriteLine(" PDF parameter B = " + b + ""); Console.WriteLine(" PDF parameter C = " + c + ""); Console.WriteLine(" PDF parameter D = " + d + ""); if (!Burr.burr_check(a, b, c, d)) { Console.WriteLine(""); Console.WriteLine("BURR_CDF_TEST - Fatal error!"); Console.WriteLine(" The parameters are not legal."); return; } Console.WriteLine(""); Console.WriteLine(" X PDF CDF CDF_INV"); Console.WriteLine(""); for (i = 1; i <= 10; i++) { double x = Burr.burr_sample(a, b, c, d, ref seed); double pdf = Burr.burr_pdf(x, a, b, c, d); double cdf = Burr.burr_cdf(x, a, b, c, d); double x2 = Burr.burr_cdf_inv(cdf, a, b, c, d); Console.WriteLine(" " + x.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + pdf.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + cdf.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + x2.ToString(CultureInfo.InvariantCulture).PadLeft(12) + ""); } }
public void ValidateMoments(double a, double c, double k, int order, double value) { var n = new Burr(a, c, k); AssertHelpers.AlmostEqualRelative(value, n.GetMoment(order), lowPrecision); }
public void ValidateToString() { var n = new Burr(1d, 2d, 3d); Assert.AreEqual("Burr(a = 1, c = 2, k = 3)", n.ToString()); }
public void ValidateGetMomentsFailsWithBadParameters(double a, double c, double k, double order) { var n = new Burr(a, c, k); Assert.That(() => n.GetMoment(order), Throws.ArgumentException); }
private static void burr_sample_test() //****************************************************************************80 // // Purpose: // // BURR_SAMPLE_TEST tests BURR_MEAN, BURR_SAMPLE, BURR_VARIANCE; // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 26 August 2006 // // Author: // // John Burkardt // { const int SAMPLE_NUM = 1000; int i; int seed = 123456789; double[] x = new double [SAMPLE_NUM]; Console.WriteLine(""); Console.WriteLine("BURR_SAMPLE_TEST"); Console.WriteLine(" BURR_MEAN computes the Burr mean;"); Console.WriteLine(" BURR_SAMPLE samples the Burr distribution;"); Console.WriteLine(" BURR_VARIANCE computes the Burr variance;"); const double a = 1.0; const double b = 2.0; const double c = 3.0; const double d = 2.0; Console.WriteLine(""); Console.WriteLine(" PDF parameter A = " + a + ""); Console.WriteLine(" PDF parameter B = " + b + ""); Console.WriteLine(" PDF parameter C = " + c + ""); Console.WriteLine(" PDF parameter D = " + d + ""); if (!Burr.burr_check(a, b, c, d)) { Console.WriteLine(""); Console.WriteLine("BURR_SAMPLE_TEST - Fatal error!"); Console.WriteLine(" The parameters are not legal."); return; } double mean = Burr.burr_mean(a, b, c, d); double variance = Burr.burr_variance(a, b, c, d); Console.WriteLine(""); Console.WriteLine(" PDF mean = " + mean + ""); Console.WriteLine(" PDF variance = " + variance + ""); for (i = 0; i < SAMPLE_NUM; i++) { x[i] = Burr.burr_sample(a, b, c, d, ref seed); } mean = typeMethods.r8vec_mean(SAMPLE_NUM, x); variance = typeMethods.r8vec_variance(SAMPLE_NUM, x); double xmax = typeMethods.r8vec_max(SAMPLE_NUM, x); double xmin = typeMethods.r8vec_min(SAMPLE_NUM, x); Console.WriteLine(""); Console.WriteLine(" Sample size = " + SAMPLE_NUM + ""); Console.WriteLine(" Sample mean = " + mean + ""); Console.WriteLine(" Sample variance = " + variance + ""); Console.WriteLine(" Sample maximum = " + xmax + ""); Console.WriteLine(" Sample minimum = " + xmin + ""); }