private static void testNakagami(GeneralContinuousDistribution nakagami)
{
double mean = nakagami.Mean; // 1.946082119049118
double median = nakagami.Median; // 1.9061151110206338
double var = nakagami.Variance; // 0.41276438591729486
double cdf = nakagami.DistributionFunction(x: 1.4); // 0.20603416752368109
double pdf = nakagami.ProbabilityDensityFunction(x: 1.4); // 0.49253215371343023
double lpdf = nakagami.LogProbabilityDensityFunction(x: 1.4); // -0.708195533773302
double ccdf = nakagami.ComplementaryDistributionFunction(x: 1.4); // 0.79396583247631891
double icdf = nakagami.InverseDistributionFunction(p: cdf); // 1.400000000131993
double hf = nakagami.HazardFunction(x: 1.4); // 0.62034426869133652
double chf = nakagami.CumulativeHazardFunction(x: 1.4); // 0.23071485080660473
Assert.AreEqual(1.946082119049118, mean, 1e-6);
Assert.AreEqual(1.9061151110206338, median, 1e-6);
Assert.AreEqual(0.41276438591729486, var, 1e-6);
Assert.AreEqual(0.23071485080660473, chf, 1e-7);
Assert.AreEqual(0.20603416752368109, cdf, 1e-7);
Assert.AreEqual(0.49253215371343023, pdf, 1e-6);
Assert.AreEqual(-0.708195533773302, lpdf, 1e-6);
Assert.AreEqual(0.62034426869133652, hf, 1e-6);
Assert.AreEqual(0.79396583247631891, ccdf, 1e-7);
Assert.AreEqual(1.40, icdf, 1e-7);
}