1 // Copyright John Maddock 2006. 2 // Use, modification and distribution are subject to the 3 // Boost Software License, Version 1.0. (See accompanying file 4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 // 6 // Basic sanity check that header <boost/math/special_functions/fpclassify.hpp> 7 // #includes all the files that it needs to. 8 // 9 #include <boost/math/special_functions/fpclassify.hpp> 10 // 11 // Note this header includes no other headers, this is 12 // important if this test is to be meaningful: 13 // 14 #include "test_compile_result.hpp" 15 compile_and_link_test()16void compile_and_link_test() 17 { 18 check_result<int>(boost::math::fpclassify BOOST_NO_MACRO_EXPAND<float>(f)); 19 check_result<int>(boost::math::fpclassify BOOST_NO_MACRO_EXPAND<double>(d)); 20 #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS 21 check_result<int>(boost::math::fpclassify BOOST_NO_MACRO_EXPAND<long double>(l)); 22 #endif 23 24 check_result<bool>(boost::math::isfinite BOOST_NO_MACRO_EXPAND<float>(f)); 25 check_result<bool>(boost::math::isfinite BOOST_NO_MACRO_EXPAND<double>(d)); 26 #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS 27 check_result<bool>(boost::math::isfinite BOOST_NO_MACRO_EXPAND<long double>(l)); 28 #endif 29 30 check_result<bool>(boost::math::isinf BOOST_NO_MACRO_EXPAND<float>(f)); 31 check_result<bool>(boost::math::isinf BOOST_NO_MACRO_EXPAND<double>(d)); 32 #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS 33 check_result<bool>(boost::math::isinf BOOST_NO_MACRO_EXPAND<long double>(l)); 34 #endif 35 36 check_result<bool>(boost::math::isnormal BOOST_NO_MACRO_EXPAND<float>(f)); 37 check_result<bool>(boost::math::isnormal BOOST_NO_MACRO_EXPAND<double>(d)); 38 #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS 39 check_result<bool>(boost::math::isnormal BOOST_NO_MACRO_EXPAND<long double>(l)); 40 #endif 41 } 42 43 44