]> git.proxmox.com Git - ceph.git/blame_incremental - ceph/src/boost/libs/multiprecision/test/math/test_carlson_1.cpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / multiprecision / test / math / test_carlson_1.cpp
... / ...
CommitLineData
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
15void 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
64template <class T>
65void test(T t, const char* p)
66{
67 test_spots(t, p);
68}
69
70BOOST_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}