]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/multiprecision/test/math/test_igamma.cpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / multiprecision / test / math / test_igamma.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 #include "setup.hpp"
7 #include "table_type.hpp"
8
9 #include <boost/math/special_functions/math_fwd.hpp>
10 #include "libs/math/test/test_igamma.hpp"
11
12 void expected_results()
13 {
14 //
15 // Define the max and mean errors expected for
16 // various compilers and platforms.
17 //
18 add_expected_result(
19 ".*", // compiler
20 ".*", // stdlib
21 ".*", // platform
22 ".*", // test type(s)
23 ".*large.*", // test data group
24 ".*", 20000000L, 1000000L); // test function
25 add_expected_result(
26 ".*", // compiler
27 ".*", // stdlib
28 ".*", // platform
29 ".*", // test type(s)
30 ".*", // test data group
31 ".*", 7000, 2000); // test function
32 //
33 // Finish off by printing out the compiler/stdlib/platform names,
34 // we do this to make it easier to mark up expected error rates.
35 //
36 std::cout << "Tests run with " << BOOST_COMPILER << ", "
37 << BOOST_STDLIB << ", " << BOOST_PLATFORM << std::endl;
38 }
39
40 template <class T>
41 void test(T t, const char* p)
42 {
43 test_gamma(t, p);
44 }
45
46 BOOST_AUTO_TEST_CASE(test_main)
47 {
48 using namespace boost::multiprecision;
49 expected_results();
50 //
51 // Test at:
52 // 18 decimal digits: tests 80-bit long double approximations
53 // 30 decimal digits: tests 128-bit long double approximations
54 // 35 decimal digits: tests arbitrary precision code
55 //
56 ALL_TESTS
57 }