// Copyright John Maddock 2006. // 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) // // Basic sanity check that header // #includes all the files that it needs to. // #include // // Note this header includes no other headers, this is // important if this test is to be meaningful: // #include "test_compile_result.hpp" void compile_and_link_test() { check_result(boost::math::factorial(u)); check_result(boost::math::factorial(u)); #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS check_result(boost::math::factorial(u)); #endif check_result(boost::math::double_factorial(u)); check_result(boost::math::double_factorial(u)); #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS check_result(boost::math::double_factorial(u)); #endif check_result(boost::math::rising_factorial(f, i)); check_result(boost::math::rising_factorial(d, i)); #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS check_result(boost::math::rising_factorial(l, i)); #endif check_result(boost::math::falling_factorial(f, u)); check_result(boost::math::falling_factorial(d, u)); #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS check_result(boost::math::falling_factorial(l, u)); #endif // // Add constexpr tests here: // #ifdef BOOST_MATH_HAVE_CONSTEXPR_TABLES constexpr float ce_f = boost::math::unchecked_factorial(2); constexpr double ce_d = boost::math::unchecked_factorial(2); constexpr long double ce_l = boost::math::unchecked_factorial(2); check_result(ce_f); check_result(ce_d); check_result(ce_l); #ifdef BOOST_MATH_USE_FLOAT128 constexpr __float128 ce_q = boost::math::unchecked_factorial<__float128>(2); check_result<__float128>(ce_q); #endif #endif }