From 0fffd9a6e01201efbf2924487866fc89b72ce374 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Wed, 29 Apr 2020 19:47:46 +0100 Subject: [PATCH] test_ellint_2 has one set of tests which don't work correctly with variable precision types. --- test/test_ellint_2.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/test_ellint_2.hpp b/test/test_ellint_2.hpp index 52556065c..9bff50c25 100644 --- a/test/test_ellint_2.hpp +++ b/test/test_ellint_2.hpp @@ -84,6 +84,12 @@ void test_spots(T, const char* type_name) BOOST_MATH_STD_USING // Function values calculated on http://functions.wolfram.com/ // Note that Mathematica's EllipticE accepts k^2 as the second parameter. + // + // We can't use these for variable precision types as the test values dependent on Pi + // get initialized once, and thereafter have the "wrong" precision when the function is + // called a second time. + // +#ifndef TEST_UDT static const boost::array, 28> data1 = {{ {{ SC_(0.0), SC_(0.0), SC_(0.0) }}, {{ SC_(-10.0), SC_(0.0), SC_(-10.0) }}, @@ -117,6 +123,7 @@ void test_spots(T, const char* type_name) }}; do_test_ellint_e2(data1, type_name, "Elliptic Integral E: Mathworld Data"); +#endif #include "ellint_e2_data.ipp"