summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/multiprecision/test/math/test_zeta.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/multiprecision/test/math/test_zeta.cpp')
-rw-r--r--src/boost/libs/multiprecision/test/math/test_zeta.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/boost/libs/multiprecision/test/math/test_zeta.cpp b/src/boost/libs/multiprecision/test/math/test_zeta.cpp
new file mode 100644
index 00000000..cc42bbb3
--- /dev/null
+++ b/src/boost/libs/multiprecision/test/math/test_zeta.cpp
@@ -0,0 +1,68 @@
+///////////////////////////////////////////////////////////////
+// Copyright 2011 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt
+
+#include "setup.hpp"
+#include "table_type.hpp"
+#define TEST_UDT
+
+#include <boost/math/special_functions/math_fwd.hpp>
+#include "libs/math/test/test_zeta.hpp"
+
+void expected_results()
+{
+ //
+ // Define the max and mean errors expected for
+ // various compilers and platforms.
+ //
+ add_expected_result(
+ ".*", // compiler
+ ".*", // stdlib
+ ".*", // platform
+ ".*", // test type(s)
+ ".*Random values less than 1", // test data group
+ ".*", 6000, 3000); // test function
+#ifdef BOOST_INTEL
+ add_expected_result(
+ ".*", // compiler
+ ".*", // stdlib
+ ".*", // platform
+ "float128", // test type(s)
+ ".*close to and less than 1.*", // test data group
+ ".*", 10000000L, 2000000L); // test function
+#endif
+ add_expected_result(
+ ".*", // compiler
+ ".*", // stdlib
+ ".*", // platform
+ ".*", // test type(s)
+ ".*", // test data group
+ ".*", 1000, 200); // test function
+ //
+ // Finish off by printing out the compiler/stdlib/platform names,
+ // we do this to make it easier to mark up expected error rates.
+ //
+ std::cout << "Tests run with " << BOOST_COMPILER << ", "
+ << BOOST_STDLIB << ", " << BOOST_PLATFORM << std::endl;
+}
+
+template <class T>
+void test(T t, const char* p)
+{
+ test_zeta(t, p);
+}
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ using namespace boost::multiprecision;
+ expected_results();
+ //
+ // Test at:
+ // 9 decimal digits: tests the least wide arbitrary precision code
+ // 18 decimal digits: tests 80-bit long double approximations
+ // 30 decimal digits: tests 128-bit long double approximations
+ // 35 decimal digits: tests arbitrary precision code
+ //
+ ALL_TESTS
+}