Accord.Tests.Statistics.FoldedNormalDistributionTest.ConstructorTest C# (CSharp) Method

ConstructorTest() private method

private ConstructorTest ( ) : void
return void
        public void ConstructorTest()
        {
            var fn = new FoldedNormalDistribution(mean: 4, stdDev: 4.2);

            double mean = fn.Mean;     // 4.765653108337438
            double median = fn.Median; // 4.259356588022813
            double mode = fn.Mode;     // 2.0806531871308014
            double var = fn.Variance;  // 10.928550450993715

            double cdf = fn.DistributionFunction(x: 1.4);           // 0.16867109769018807
            double pdf = fn.ProbabilityDensityFunction(x: 1.4);     // 0.11998602818182187
            double lpdf = fn.LogProbabilityDensityFunction(x: 1.4); // -2.1203799747969523

            double ccdf = fn.ComplementaryDistributionFunction(x: 1.4); // 0.83132890230981193
            double icdf = fn.InverseDistributionFunction(p: cdf);       // 1.4

            double hf = fn.HazardFunction(x: 1.4);            // 0.14433039420191671
            double chf = fn.CumulativeHazardFunction(x: 1.4); // 0.18472977144474392

            string str = fn.ToString(CultureInfo.InvariantCulture); // FN(x; μ = 4, σ² = 17.64)


            // Tested against GNU R's VGAM package
            //
            // dfnorm(1.4, mean= 4, sd= 4.2)
            // [1] 0.11998602818182191321
            //
            // pfnorm(1.4, mean= 4, sd= 4.2)
            // [1] 0.16867109769018800991
            //

            Assert.AreEqual(4.765653108337438, mean);
            Assert.AreEqual(4.2593565884089237, median);
            Assert.AreEqual(2.0806531871308014, mode);
            Assert.AreEqual(10.928550450993715, var);
            Assert.AreEqual(0.18472977144474392, chf);
            Assert.AreEqual(0.16867109769018800991, cdf, 1e-10); // from R
            Assert.AreEqual(0.11998602818182191321, pdf, 1e-10); // from R
            Assert.AreEqual(-2.1203799747969523, lpdf);
            Assert.AreEqual(0.14433039420191671, hf);
            Assert.AreEqual(0.83132890230981193, ccdf);
            Assert.AreEqual(1.4, icdf, 1e-8);
            Assert.AreEqual("FN(x; μ = 4, σ² = 17.64)", str);

            var range1 = fn.GetRange(0.95);
            Assert.AreEqual(0.41428977779338388, range1.Min);
            Assert.AreEqual(10.916197224646602, range1.Max);

            var range2 = fn.GetRange(0.99);
            Assert.AreEqual(0.082845881461525633, range2.Min);
            Assert.AreEqual(13.77249095493084, range2.Max);

            var range3 = fn.GetRange(0.01);
            Assert.AreEqual(0.082845881461525495, range3.Min);
            Assert.AreEqual(13.77249095493084, range3.Max);

        }
FoldedNormalDistributionTest