]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | #include <boost/math/tools/promotion.hpp> | |
13 | ||
14 | #ifdef _MSC_VER | |
15 | #pragma once | |
16 | #endif | |
17 | ||
18 | namespace boost | |
19 | { | |
20 | namespace math | |
21 | { | |
22 | ||
23 | template <class T, class Policy> | |
24 | typename tools::promote_args<T>::type trunc(const T& v, const Policy& pol); | |
25 | template <class T> | |
26 | typename tools::promote_args<T>::type trunc(const T& v); | |
27 | template <class T, class Policy> | |
28 | int itrunc(const T& v, const Policy& pol); | |
29 | template <class T> | |
30 | int itrunc(const T& v); | |
31 | template <class T, class Policy> | |
32 | long ltrunc(const T& v, const Policy& pol); | |
33 | template <class T> | |
34 | long ltrunc(const T& v); | |
35 | #ifdef BOOST_HAS_LONG_LONG | |
36 | template <class T, class Policy> | |
37 | boost::long_long_type lltrunc(const T& v, const Policy& pol); | |
38 | template <class T> | |
39 | boost::long_long_type lltrunc(const T& v); | |
40 | #endif | |
41 | template <class T, class Policy> | |
42 | typename tools::promote_args<T>::type round(const T& v, const Policy& pol); | |
43 | template <class T> | |
44 | typename tools::promote_args<T>::type round(const T& v); | |
45 | template <class T, class Policy> | |
46 | int iround(const T& v, const Policy& pol); | |
47 | template <class T> | |
48 | int iround(const T& v); | |
49 | template <class T, class Policy> | |
50 | long lround(const T& v, const Policy& pol); | |
51 | template <class T> | |
52 | long lround(const T& v); | |
53 | #ifdef BOOST_HAS_LONG_LONG | |
54 | template <class T, class Policy> | |
55 | boost::long_long_type llround(const T& v, const Policy& pol); | |
56 | template <class T> | |
57 | boost::long_long_type llround(const T& v); | |
58 | #endif | |
59 | template <class T, class Policy> | |
60 | T modf(const T& v, T* ipart, const Policy& pol); | |
61 | template <class T> | |
62 | T modf(const T& v, T* ipart); | |
63 | template <class T, class Policy> | |
64 | T modf(const T& v, int* ipart, const Policy& pol); | |
65 | template <class T> | |
66 | T modf(const T& v, int* ipart); | |
67 | template <class T, class Policy> | |
68 | T modf(const T& v, long* ipart, const Policy& pol); | |
69 | template <class T> | |
70 | T modf(const T& v, long* ipart); | |
71 | #ifdef BOOST_HAS_LONG_LONG | |
72 | template <class T, class Policy> | |
73 | T modf(const T& v, boost::long_long_type* ipart, const Policy& pol); | |
74 | template <class T> | |
75 | T modf(const T& v, boost::long_long_type* ipart); | |
76 | #endif | |
77 | ||
78 | } | |
79 | } | |
80 | ||
81 | #undef BOOST_MATH_STD_USING | |
82 | #define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE\ | |
83 | using boost::math::round;\ | |
84 | using boost::math::iround;\ | |
85 | using boost::math::lround;\ | |
86 | using boost::math::trunc;\ | |
87 | using boost::math::itrunc;\ | |
88 | using boost::math::ltrunc;\ | |
89 | using boost::math::modf; | |
90 | ||
91 | ||
92 | #endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP | |
93 |