]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/math/reporting/accuracy/test_bessel_j_prime.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / math / reporting / accuracy / test_bessel_j_prime.cpp
1 // Copyright John Maddock 2006-15.
2 // Copyright Paul A. Bristow 2007
3 // Use, modification and distribution are subject to the
4 // Boost Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7 #define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
8 #include "bindings.hpp"
9 #include "../../test/test_bessel_j_prime.hpp"
10 #include <boost/math/special_functions/bessel_prime.hpp>
11
12 BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
13
14 BOOST_AUTO_TEST_CASE(test_main)
15 {
16 BOOST_MATH_CONTROL_FP;
17
18 error_stream_replacer rep;
19
20 #ifdef TYPE_TO_TEST
21
22 test_bessel_prime(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
23
24 #else
25 bool test_float = false;
26 bool test_double = false;
27 bool test_long_double = false;
28
29 if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
30 {
31 //
32 // Don't bother with long double, it's the same as double:
33 //
34 if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
35 test_float = true;
36 test_double = true;
37 }
38 else
39 {
40 if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
41 test_float = true;
42 if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
43 test_double = true;
44 test_long_double = true;
45 }
46
47 #ifdef ALWAYS_TEST_DOUBLE
48 test_double = true;
49 #endif
50
51 if(test_float)
52 test_bessel_prime(0.0f, "float");
53 if(test_double)
54 test_bessel_prime(0.0, "double");
55 if(test_long_double)
56 test_bessel_prime(0.0L, "long double");
57 #ifdef BOOST_MATH_USE_FLOAT128
58 //test_bessel_prime(0.0Q, "__float128");
59 #endif
60
61
62 #endif
63 }
64