Chris@16: // Copyright John Maddock 2008. Chris@16: Chris@16: // Use, modification and distribution are subject to the Chris@16: // Boost Software License, Version 1.0. Chris@16: // (See accompanying file LICENSE_1_0.txt Chris@16: // or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef BOOST_MATH_SPECIAL_ROUND_FWD_HPP Chris@16: #define BOOST_MATH_SPECIAL_ROUND_FWD_HPP Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: #ifdef _MSC_VER Chris@16: #pragma once Chris@16: #endif Chris@16: Chris@16: namespace boost Chris@16: { Chris@16: namespace math Chris@16: { Chris@16: Chris@16: template Chris@16: typename tools::promote_args::type trunc(const T& v, const Policy& pol); Chris@16: template Chris@16: typename tools::promote_args::type trunc(const T& v); Chris@16: template Chris@16: int itrunc(const T& v, const Policy& pol); Chris@16: template Chris@16: int itrunc(const T& v); Chris@16: template Chris@16: long ltrunc(const T& v, const Policy& pol); Chris@16: template Chris@16: long ltrunc(const T& v); Chris@16: #ifdef BOOST_HAS_LONG_LONG Chris@16: template Chris@16: boost::long_long_type lltrunc(const T& v, const Policy& pol); Chris@16: template Chris@16: boost::long_long_type lltrunc(const T& v); Chris@16: #endif Chris@16: template Chris@16: typename tools::promote_args::type round(const T& v, const Policy& pol); Chris@16: template Chris@16: typename tools::promote_args::type round(const T& v); Chris@16: template Chris@16: int iround(const T& v, const Policy& pol); Chris@16: template Chris@16: int iround(const T& v); Chris@16: template Chris@16: long lround(const T& v, const Policy& pol); Chris@16: template Chris@16: long lround(const T& v); Chris@16: #ifdef BOOST_HAS_LONG_LONG Chris@16: template Chris@16: boost::long_long_type llround(const T& v, const Policy& pol); Chris@16: template Chris@16: boost::long_long_type llround(const T& v); Chris@16: #endif Chris@16: template Chris@16: T modf(const T& v, T* ipart, const Policy& pol); Chris@16: template Chris@16: T modf(const T& v, T* ipart); Chris@16: template Chris@16: T modf(const T& v, int* ipart, const Policy& pol); Chris@16: template Chris@16: T modf(const T& v, int* ipart); Chris@16: template Chris@16: T modf(const T& v, long* ipart, const Policy& pol); Chris@16: template Chris@16: T modf(const T& v, long* ipart); Chris@16: #ifdef BOOST_HAS_LONG_LONG Chris@16: template Chris@16: T modf(const T& v, boost::long_long_type* ipart, const Policy& pol); Chris@16: template Chris@16: T modf(const T& v, boost::long_long_type* ipart); Chris@16: #endif Chris@16: Chris@16: } Chris@16: } Chris@16: Chris@16: #undef BOOST_MATH_STD_USING Chris@16: #define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE\ Chris@16: using boost::math::round;\ Chris@16: using boost::math::iround;\ Chris@16: using boost::math::lround;\ Chris@16: using boost::math::trunc;\ Chris@16: using boost::math::itrunc;\ Chris@16: using boost::math::ltrunc;\ Chris@16: using boost::math::modf; Chris@16: Chris@16: Chris@16: #endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP Chris@16: