]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/multiprecision/test/math/test_igamma_inv.cpp
bump version to 18.2.2-pve1
[ceph.git] / ceph / src / boost / libs / multiprecision / test / math / test_igamma_inv.cpp
1 ///////////////////////////////////////////////////////////////
2 // Copyright 2011 John Maddock. Distributed under the Boost
3 // Software License, Version 1.0. (See accompanying file
4 // LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt
5
6 #ifdef TEST_MPF_50
7 #define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 250
8 #endif
9
10 #include "setup.hpp"
11 #include "table_type.hpp"
12 #define TEST_UDT
13
14 #include <boost/math/special_functions/math_fwd.hpp>
15 #include "libs/math/test/test_igamma_inv.hpp"
16
17 void expected_results()
18 {
19 //
20 // Define the max and mean errors expected for
21 // various compilers and platforms.
22 //
23 add_expected_result(
24 ".*", // compiler
25 ".*", // stdlib
26 ".*", // platform
27 ".*gmp_float<18>.*", // test type(s)
28 ".*small.*", // test data group
29 ".*", 2000000000L, 300000000L); // test function
30 add_expected_result(
31 ".*", // compiler
32 ".*", // stdlib
33 ".*", // platform
34 ".*mpfr_float_backend<18>.*", // test type(s)
35 ".*small.*", // test data group
36 ".*", 30000000L, 20000000L); // test function
37 add_expected_result(
38 ".*", // compiler
39 ".*", // stdlib
40 ".*", // platform
41 ".*", // test type(s)
42 ".*small.*", // test data group
43 ".*", 10000000L, 2500000L); // test function
44 add_expected_result(
45 ".*", // compiler
46 ".*", // stdlib
47 ".*", // platform
48 ".*", // test type(s)
49 ".*", // test data group
50 ".*", 7000, 2000); // test function
51 //
52 // Finish off by printing out the compiler/stdlib/platform names,
53 // we do this to make it easier to mark up expected error rates.
54 //
55 std::cout << "Tests run with " << BOOST_COMPILER << ", "
56 << BOOST_STDLIB << ", " << BOOST_PLATFORM << std::endl;
57 }
58
59 template <class T>
60 void test(T t, const char* p)
61 {
62 test_gamma(t, p);
63 }
64
65 BOOST_AUTO_TEST_CASE(test_main)
66 {
67 using namespace boost::multiprecision;
68 expected_results();
69 //
70 // Test at:
71 // 18 decimal digits: tests 80-bit long double approximations
72 // 30 decimal digits: tests 128-bit long double approximations
73 // 35 decimal digits: tests arbitrary precision code
74 //
75 ALL_TESTS
76 }