aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Till Hoffmann <tillahoffmann@gmail.com>2016-04-01 13:32:29 +0100
committerGravatar Till Hoffmann <tillahoffmann@gmail.com>2016-04-01 13:32:29 +0100
commitdd5d390daf3a3a561a772b64f1b602e5f240bf8b (patch)
treec68be25e3a95d9c840fad61498628473a79ff6b9 /test
parentaf4ef540bfeb381daaae86f91d492eed39f84e68 (diff)
Added zeta function.
Diffstat (limited to 'test')
-rw-r--r--test/array.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/array.cpp b/test/array.cpp
index d05744c4a..2f0b0f1b6 100644
--- a/test/array.cpp
+++ b/test/array.cpp
@@ -322,6 +322,15 @@ template<typename ArrayType> void array_real(const ArrayType& m)
std::numeric_limits<RealScalar>::infinity());
VERIFY_IS_EQUAL(numext::digamma(Scalar(-1)),
std::numeric_limits<RealScalar>::infinity());
+
+ // Check the zeta function against scipy.special.zeta
+ VERIFY_IS_APPROX(numext::zeta(Scalar(1.5), Scalar(2)), RealScalar(1.61237534869));
+ VERIFY_IS_APPROX(numext::zeta(Scalar(4), Scalar(1.5)), RealScalar(0.234848505667));
+ VERIFY_IS_APPROX(numext::zeta(Scalar(10.5), Scalar(3)), RealScalar(1.03086757337e-5));
+ VERIFY_IS_APPROX(numext::zeta(Scalar(10000.5), Scalar(1.0001)), RealScalar(0.367879440865));
+ VERIFY_IS_APPROX(numext::zeta(Scalar(3), Scalar(-2.5)), RealScalar(0.054102025820864097));
+ VERIFY_IS_EQUAL(numext::zeta(Scalar(1), Scalar(1.2345)), // The second scalar does not matter
+ std::numeric_limits<RealScalar>::infinity());
{
// Test various propreties of igamma & igammac. These are normalized