public void LaplaceDistributionConstructorTest()
{
{
LaplaceDistribution target = new LaplaceDistribution(0, 0.2);
double[] expected = { 2.5, 1.5163266, 0.919699, 0.557825, 0.338338 };
for (int i = 0; i < expected.Length; i++)
{
double x = i / 10.0;
double actual = target.ProbabilityDensityFunction(x);
Assert.AreEqual(expected[i], actual, 1e-6);
Assert.IsFalse(double.IsNaN(actual));
}
}
{
LaplaceDistribution target = new LaplaceDistribution(-2, 5.79);
double[] expected = { 0.0666469, 0.0655057, 0.06438406, 0.0632816234, 0.062198060, 0.061133051 };
for (int i = 0; i < expected.Length; i++)
{
double x = (i - 5) / 10.0;
double actual = target.ProbabilityDensityFunction(x);
Assert.AreEqual(expected[i], actual, 1e-8);
Assert.IsFalse(double.IsNaN(actual));
}
}
}