public void DerivativeTest()
{
LogLogLinkFunction target = new LogLogLinkFunction();
double[] expected =
{
-0.367879, -0.365982, -0.360089, -0.349987, -0.335604, -0.317042,
-0.294605, -0.268809, -0.240378, -0.210219, -0.179374
};
for (int i = 0; i < 11; i++)
{
double x = i / 10.0;
double y = target.Inverse(x);
double d1 = target.Derivative(x);
double d2 = target.Derivative2(y);
Assert.AreEqual(expected[i], d1, 1e-5);
Assert.AreEqual(expected[i], d2, 1e-5);
Assert.IsFalse(Double.IsNaN(d1));
Assert.IsFalse(Double.IsNaN(d2));
}
}