| // (C) Copyright John Maddock 2014. |
| // Use, modification and distribution are subject to the |
| // Boost Software License, Version 1.0. (See accompanying file |
| // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| |
| #include <pch_light.hpp> |
| #include "test_trigamma.hpp" |
| |
| void expected_results() |
| { |
| // |
| // Define the max and mean errors expected for |
| // various compilers and platforms. |
| // |
| const char* largest_type; |
| #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS |
| if(boost::math::policies::digits<double, boost::math::policies::policy<> >() == boost::math::policies::digits<long double, boost::math::policies::policy<> >()) |
| { |
| largest_type = "(long\\s+)?double|real_concept"; |
| } |
| else |
| { |
| largest_type = "long double|real_concept"; |
| } |
| #else |
| largest_type = "(long\\s+)?double|real_concept"; |
| #endif |
| |
| add_expected_result( |
| ".*", // compiler |
| ".*", // stdlib |
| ".*", // platform |
| largest_type, // test type(s) |
| ".*", // test data group |
| ".*", 20, 10); // 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; |
| } |
| |
| BOOST_AUTO_TEST_CASE( test_main ) |
| { |
| expected_results(); |
| BOOST_MATH_CONTROL_FP; |
| |
| test_trigamma(0.0F, "float"); |
| test_trigamma(0.0, "double"); |
| #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS |
| test_trigamma(0.0L, "long double"); |
| test_trigamma(boost::math::concepts::real_concept(0.1), "real_concept"); |
| #endif |
| } |
| |