Accord.Tests.Statistics.LevyDistributionTest.ConstructorTest2 C# (CSharp) Method

ConstructorTest2() private method

private ConstructorTest2 ( ) : void
return void
        public void ConstructorTest2()
        {
            var levy = new LevyDistribution(location: 0, scale: 2.4);

            double mean = levy.Mean;     // +inf
            double median = levy.Median; // 5.2754624119625602
            double mode = levy.Mode;     // 0.79999999999999993
            double var = levy.Variance;  // +inf

            double cdf = levy.DistributionFunction(x: 1.4); // 0.19043026382552419
            double pdf = levy.ProbabilityDensityFunction(x: 1.4); // 0.15833291961096485
            double lpdf = levy.LogProbabilityDensityFunction(x: 1.4); // -1.8430553766023994

            double ccdf = levy.ComplementaryDistributionFunction(x: 1.4); // 0.80956973617447581
            double icdf = levy.InverseDistributionFunction(p: cdf); // 1.4000000000000001

            double hf = levy.HazardFunction(x: 1.4); // 0.19557662859180974
            double chf = levy.CumulativeHazardFunction(x: 1.4); // 0.21125236235504694

            string str = levy.ToString(CultureInfo.InvariantCulture); // Lévy(x; μ = 0, c = 2.4)

            // Tested against GNU R's rmutils package
            //
            // dlevy(1.4, m=0, s=2.4)
            // [1] 0.1583329196109648229207
            //
            // plevy(1.4, m=0, s=2.4)
            // [1] 0.1904302638255241930665


            Assert.AreEqual(Double.PositiveInfinity, mean);
            Assert.AreEqual(5.2754624119625602, median);
            Assert.AreEqual(0.79999999999999993, mode);
            Assert.AreEqual(Double.PositiveInfinity, var);
            Assert.AreEqual(0.21125236235504694, chf);
            Assert.AreEqual(0.1904302638255241930665, cdf, 1e-10); // R
            Assert.AreEqual(0.1583329196109648229207, pdf, 1e-10); // R
            Assert.AreEqual(-1.8430553766023994, lpdf);
            Assert.AreEqual(0.19557662859180974, hf);
            Assert.AreEqual(0.80956973617447581, ccdf);
            Assert.AreEqual(1.4, icdf, 1e-6);
            Assert.AreEqual("Lévy(x; μ = 0, c = 2.4)", str);

            double p = levy.DistributionFunction(levy.Median);
            Assert.AreEqual(0.5, p, 1e-10);
            Assert.IsFalse(Double.IsNaN(p));

            var range1 = levy.GetRange(0.95);
            var range2 = levy.GetRange(0.99);
            var range3 = levy.GetRange(0.01);

            Assert.AreEqual(0.62476265190481373, range1.Min);
            Assert.AreEqual(610.35466692134071, range1.Max);
            Assert.AreEqual(0.36172379832273538, range2.Min);
            Assert.AreEqual(15278.074524254929, range2.Max);
            Assert.AreEqual(0.36172379832273538, range3.Min);
            Assert.AreEqual(15278.074524254929, range3.Max);
        }