1 // Copyright John Maddock 2008.
3 // Use, modification and distribution are subject to the
4 // Boost Software License, Version 1.0.
5 // (See accompanying file LICENSE_1_0.txt
6 // or copy at http://www.boost.org/LICENSE_1_0.txt)
8 #ifndef BOOST_MATH_SPECIAL_ROUND_FWD_HPP
9 #define BOOST_MATH_SPECIAL_ROUND_FWD_HPP
11 #include <boost/config.hpp>
22 template <class T, class Policy>
23 T trunc(const T& v, const Policy& pol);
26 template <class T, class Policy>
27 int itrunc(const T& v, const Policy& pol);
29 int itrunc(const T& v);
30 template <class T, class Policy>
31 long ltrunc(const T& v, const Policy& pol);
33 long ltrunc(const T& v);
34 #ifdef BOOST_HAS_LONG_LONG
35 template <class T, class Policy>
36 boost::long_long_type lltrunc(const T& v, const Policy& pol);
38 boost::long_long_type lltrunc(const T& v);
40 template <class T, class Policy>
41 T round(const T& v, const Policy& pol);
44 template <class T, class Policy>
45 int iround(const T& v, const Policy& pol);
47 int iround(const T& v);
48 template <class T, class Policy>
49 long lround(const T& v, const Policy& pol);
51 long lround(const T& v);
52 #ifdef BOOST_HAS_LONG_LONG
53 template <class T, class Policy>
54 boost::long_long_type llround(const T& v, const Policy& pol);
56 boost::long_long_type llround(const T& v);
58 template <class T, class Policy>
59 T modf(const T& v, T* ipart, const Policy& pol);
61 T modf(const T& v, T* ipart);
62 template <class T, class Policy>
63 T modf(const T& v, int* ipart, const Policy& pol);
65 T modf(const T& v, int* ipart);
66 template <class T, class Policy>
67 T modf(const T& v, long* ipart, const Policy& pol);
69 T modf(const T& v, long* ipart);
70 #ifdef BOOST_HAS_LONG_LONG
71 template <class T, class Policy>
72 T modf(const T& v, boost::long_long_type* ipart, const Policy& pol);
74 T modf(const T& v, boost::long_long_type* ipart);
79 #endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP