1 // Copyright John Maddock 2008. 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 # include <pch.hpp> 7 #ifndef BOOST_MATH_TR1_SOURCE 8 # define BOOST_MATH_TR1_SOURCE 9 #endif 10 #include <boost/math/tr1.hpp> 11 #include <boost/math/special_functions/next.hpp> 12 #include "c_policy.hpp" 13 14 namespace boost{ namespace math{ namespace tr1{ 15 BOOST_PREVENT_MACRO_SUBSTITUTION(float x,long double y)16extern "C" float BOOST_MATH_TR1_DECL boost_nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long double y) BOOST_MATH_C99_THROW_SPEC 17 { 18 #ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS 19 return (float)c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION((double)x, (double)y); 20 #else 21 return (float)c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION((long double)x, y); 22 #endif 23 } 24 25 }}} 26 27 28