]>
Commit | Line | Data |
---|---|---|
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 | #define TEST_UDT | |
9 | #define TEST1 | |
10 | ||
11 | #include <boost/math/special_functions/math_fwd.hpp> | |
12 | #include <boost/math/special_functions/ellint_rf.hpp> | |
13 | #include "libs/math/test/test_carlson.hpp" | |
14 | ||
15 | void expected_results() | |
16 | { | |
17 | // | |
18 | // Define the max and mean errors expected for | |
19 | // various compilers and platforms. | |
20 | // | |
21 | add_expected_result( | |
22 | ".*", // compiler | |
23 | ".*", // stdlib | |
24 | ".*", // platform | |
25 | ".*gmp_float<0>.*", // test type(s) | |
26 | ".*RJ.*", // test data group | |
27 | ".*", 40000, 4000); // test function | |
28 | add_expected_result( | |
29 | ".*", // compiler | |
30 | ".*", // stdlib | |
31 | ".*", // platform | |
32 | ".*", // test type(s) | |
33 | ".*RJ.*", // test data group | |
34 | ".*", 2700, 250); // test function | |
35 | add_expected_result( | |
36 | ".*", // compiler | |
37 | ".*", // stdlib | |
38 | ".*", // platform | |
39 | ".*gmp_float<0>.*", // test type(s) | |
40 | ".*RC.*", // test data group | |
41 | ".*", 7000, 1000); // test function | |
42 | add_expected_result( | |
43 | ".*", // compiler | |
44 | ".*", // stdlib | |
45 | ".*", // platform | |
46 | ".*gmp_float<0>.*", // test type(s) | |
47 | ".*RF.*", // test data group | |
48 | ".*", 12000, 700); // test function | |
49 | add_expected_result( | |
50 | ".*", // compiler | |
51 | ".*", // stdlib | |
52 | ".*", // platform | |
53 | ".*", // test type(s) | |
54 | ".*", // test data group | |
55 | ".*", 40, 20); // test function | |
56 | // | |
57 | // Finish off by printing out the compiler/stdlib/platform names, | |
58 | // we do this to make it easier to mark up expected error rates. | |
59 | // | |
60 | std::cout << "Tests run with " << BOOST_COMPILER << ", " | |
61 | << BOOST_STDLIB << ", " << BOOST_PLATFORM << std::endl; | |
62 | } | |
63 | ||
64 | template <class T> | |
65 | void test(T t, const char* p) | |
66 | { | |
67 | test_spots(t, p); | |
68 | } | |
69 | ||
70 | BOOST_AUTO_TEST_CASE(test_main) | |
71 | { | |
72 | using namespace boost::multiprecision; | |
73 | expected_results(); | |
74 | // | |
75 | // Test at: | |
76 | // 18 decimal digits: tests 80-bit long double approximations | |
77 | // 30 decimal digits: tests 128-bit long double approximations | |
78 | // 35 decimal digits: tests arbitrary precision code | |
79 | // | |
80 | ALL_TESTS | |
81 | } |