private static void testInvGaussian(GeneralContinuousDistribution invGaussian)
{
double mean = invGaussian.Mean; // 0.42
double median = invGaussian.Median; // 0.35856861093990083
double var = invGaussian.Variance; // 0.061739999999999989
double cdf = invGaussian.DistributionFunction(x: 0.27); // 0.30658791274125458
double pdf = invGaussian.ProbabilityDensityFunction(x: 0.27); // 2.3461495925760354
double lpdf = invGaussian.LogProbabilityDensityFunction(x: 0.27); // 0.85277551314980737
double ccdf = invGaussian.ComplementaryDistributionFunction(x: 0.27); // 0.69341208725874548
double icdf = invGaussian.InverseDistributionFunction(p: cdf); // 0.26999999957543408
double hf = invGaussian.HazardFunction(x: 0.27); // 3.383485283406336
double chf = invGaussian.CumulativeHazardFunction(x: 0.27); // 0.36613081401302111
Assert.AreEqual(0.42, mean, 1e-10);
Assert.AreEqual(0.35856861093990083, median, 1e-7);
Assert.AreEqual(0.061739999999999989, var, 1e-7);
Assert.AreEqual(0.36613081401302111, chf, 1e-7);
Assert.AreEqual(0.30658791274125458, cdf, 1e-7);
Assert.AreEqual(2.3461495925760354, pdf, 1e-7);
Assert.AreEqual(0.85277551314980737, lpdf, 1e-7);
Assert.AreEqual(3.383485283406336, hf, 1e-7);
Assert.AreEqual(0.69341208725874548, ccdf, 1e-7);
Assert.AreEqual(0.26999999957543408, icdf, 1e-6);
}