1 // Copyright John Maddock 2008. 2 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) 7 8 #ifndef BOOST_MATH_SPECIAL_ROUND_FWD_HPP 9 #define BOOST_MATH_SPECIAL_ROUND_FWD_HPP 10 11 #include <boost/config.hpp> 12 13 #ifdef _MSC_VER 14 #pragma once 15 #endif 16 17 namespace boost 18 { 19 namespace math 20 { 21 22 template <class T, class Policy> 23 T trunc(const T& v, const Policy& pol); 24 template <class T> 25 T trunc(const T& v); 26 template <class T, class Policy> 27 int itrunc(const T& v, const Policy& pol); 28 template <class T> 29 int itrunc(const T& v); 30 template <class T, class Policy> 31 long ltrunc(const T& v, const Policy& pol); 32 template <class T> 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); 37 template <class T> 38 boost::long_long_type lltrunc(const T& v); 39 #endif 40 template <class T, class Policy> 41 T round(const T& v, const Policy& pol); 42 template <class T> 43 T round(const T& v); 44 template <class T, class Policy> 45 int iround(const T& v, const Policy& pol); 46 template <class T> 47 int iround(const T& v); 48 template <class T, class Policy> 49 long lround(const T& v, const Policy& pol); 50 template <class T> 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); 55 template <class T> 56 boost::long_long_type llround(const T& v); 57 #endif 58 template <class T, class Policy> 59 T modf(const T& v, T* ipart, const Policy& pol); 60 template <class T> 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); 64 template <class T> 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); 68 template <class T> 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); 73 template <class T> 74 T modf(const T& v, boost::long_long_type* ipart); 75 #endif 76 77 } 78 } 79 #endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP 80 81