sf_round_incl_test.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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/round.hpp>
  7. // #includes all the files that it needs to.
  8. //
  9. #include <boost/math/special_functions/round.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. void compile_and_link_test()
  16. {
  17. check_result<float>(boost::math::round<float>(f));
  18. check_result<double>(boost::math::round<double>(d));
  19. #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
  20. check_result<long double>(boost::math::round<long double>(l));
  21. #endif
  22. check_result<int>(boost::math::iround<float>(f));
  23. check_result<int>(boost::math::iround<double>(d));
  24. #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
  25. check_result<int>(boost::math::iround<long double>(l));
  26. #endif
  27. check_result<long>(boost::math::lround<float>(f));
  28. check_result<long>(boost::math::lround<double>(d));
  29. #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
  30. check_result<long>(boost::math::lround<long double>(l));
  31. #endif
  32. #ifdef BOOST_HAS_LONG_LONG
  33. check_result<boost::long_long_type>(boost::math::llround<float>(f));
  34. check_result<boost::long_long_type>(boost::math::llround<double>(d));
  35. #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
  36. check_result<boost::long_long_type>(boost::math::llround<long double>(l));
  37. #endif
  38. #endif
  39. }