123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- // Copyright John Maddock 2008.
- // 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)
- #ifndef BOOST_MATH_SPECIAL_ROUND_FWD_HPP
- #define BOOST_MATH_SPECIAL_ROUND_FWD_HPP
- #include <boost/config.hpp>
- #include <boost/math/tools/promotion.hpp>
- #ifdef _MSC_VER
- #pragma once
- #endif
- namespace boost
- {
- namespace math
- {
- template <class T, class Policy>
- typename tools::promote_args<T>::type trunc(const T& v, const Policy& pol);
- template <class T>
- typename tools::promote_args<T>::type trunc(const T& v);
- template <class T, class Policy>
- int itrunc(const T& v, const Policy& pol);
- template <class T>
- int itrunc(const T& v);
- template <class T, class Policy>
- long ltrunc(const T& v, const Policy& pol);
- template <class T>
- long ltrunc(const T& v);
- #ifdef BOOST_HAS_LONG_LONG
- template <class T, class Policy>
- boost::long_long_type lltrunc(const T& v, const Policy& pol);
- template <class T>
- boost::long_long_type lltrunc(const T& v);
- #endif
- template <class T, class Policy>
- typename tools::promote_args<T>::type round(const T& v, const Policy& pol);
- template <class T>
- typename tools::promote_args<T>::type round(const T& v);
- template <class T, class Policy>
- int iround(const T& v, const Policy& pol);
- template <class T>
- int iround(const T& v);
- template <class T, class Policy>
- long lround(const T& v, const Policy& pol);
- template <class T>
- long lround(const T& v);
- #ifdef BOOST_HAS_LONG_LONG
- template <class T, class Policy>
- boost::long_long_type llround(const T& v, const Policy& pol);
- template <class T>
- boost::long_long_type llround(const T& v);
- #endif
- template <class T, class Policy>
- T modf(const T& v, T* ipart, const Policy& pol);
- template <class T>
- T modf(const T& v, T* ipart);
- template <class T, class Policy>
- T modf(const T& v, int* ipart, const Policy& pol);
- template <class T>
- T modf(const T& v, int* ipart);
- template <class T, class Policy>
- T modf(const T& v, long* ipart, const Policy& pol);
- template <class T>
- T modf(const T& v, long* ipart);
- #ifdef BOOST_HAS_LONG_LONG
- template <class T, class Policy>
- T modf(const T& v, boost::long_long_type* ipart, const Policy& pol);
- template <class T>
- T modf(const T& v, boost::long_long_type* ipart);
- #endif
- }
- }
- #undef BOOST_MATH_STD_USING
- #define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE\
- using boost::math::round;\
- using boost::math::iround;\
- using boost::math::lround;\
- using boost::math::trunc;\
- using boost::math::itrunc;\
- using boost::math::ltrunc;\
- using boost::math::modf;
- #endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP
|