File indexing completed on 2025-09-17 08:36:04
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef BOOST_MATH_SPECIAL_ROUND_FWD_HPP
0010 #define BOOST_MATH_SPECIAL_ROUND_FWD_HPP
0011
0012 #include <boost/math/tools/config.hpp>
0013 #include <boost/math/tools/promotion.hpp>
0014
0015 #ifdef _MSC_VER
0016 #pragma once
0017 #endif
0018
0019 namespace boost
0020 {
0021 namespace math
0022 {
0023
0024 template <class T, class Policy>
0025 BOOST_MATH_GPU_ENABLED typename tools::promote_args<T>::type trunc(const T& v, const Policy& pol);
0026 template <class T>
0027 BOOST_MATH_GPU_ENABLED typename tools::promote_args<T>::type trunc(const T& v);
0028 template <class T, class Policy>
0029 BOOST_MATH_GPU_ENABLED int itrunc(const T& v, const Policy& pol);
0030 template <class T>
0031 BOOST_MATH_GPU_ENABLED int itrunc(const T& v);
0032 template <class T, class Policy>
0033 BOOST_MATH_GPU_ENABLED long ltrunc(const T& v, const Policy& pol);
0034 template <class T>
0035 BOOST_MATH_GPU_ENABLED long ltrunc(const T& v);
0036 template <class T, class Policy>
0037 BOOST_MATH_GPU_ENABLED long long lltrunc(const T& v, const Policy& pol);
0038 template <class T>
0039 BOOST_MATH_GPU_ENABLED long long lltrunc(const T& v);
0040 template <class T, class Policy>
0041 BOOST_MATH_GPU_ENABLED typename tools::promote_args<T>::type round(const T& v, const Policy& pol);
0042 template <class T>
0043 BOOST_MATH_GPU_ENABLED typename tools::promote_args<T>::type round(const T& v);
0044 template <class T, class Policy>
0045 BOOST_MATH_GPU_ENABLED int iround(const T& v, const Policy& pol);
0046 template <class T>
0047 BOOST_MATH_GPU_ENABLED int iround(const T& v);
0048 template <class T, class Policy>
0049 BOOST_MATH_GPU_ENABLED long lround(const T& v, const Policy& pol);
0050 template <class T>
0051 BOOST_MATH_GPU_ENABLED long lround(const T& v);
0052 template <class T, class Policy>
0053 BOOST_MATH_GPU_ENABLED long long llround(const T& v, const Policy& pol);
0054 template <class T>
0055 BOOST_MATH_GPU_ENABLED long long llround(const T& v);
0056 template <class T, class Policy>
0057 BOOST_MATH_GPU_ENABLED T modf(const T& v, T* ipart, const Policy& pol);
0058 template <class T>
0059 BOOST_MATH_GPU_ENABLED T modf(const T& v, T* ipart);
0060 template <class T, class Policy>
0061 BOOST_MATH_GPU_ENABLED T modf(const T& v, int* ipart, const Policy& pol);
0062 template <class T>
0063 BOOST_MATH_GPU_ENABLED T modf(const T& v, int* ipart);
0064 template <class T, class Policy>
0065 BOOST_MATH_GPU_ENABLED T modf(const T& v, long* ipart, const Policy& pol);
0066 template <class T>
0067 BOOST_MATH_GPU_ENABLED T modf(const T& v, long* ipart);
0068 template <class T, class Policy>
0069 BOOST_MATH_GPU_ENABLED T modf(const T& v, long long* ipart, const Policy& pol);
0070 template <class T>
0071 BOOST_MATH_GPU_ENABLED T modf(const T& v, long long* ipart);
0072 }
0073 }
0074
0075 #undef BOOST_MATH_STD_USING
0076 #define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE\
0077 using boost::math::round;\
0078 using boost::math::iround;\
0079 using boost::math::lround;\
0080 using boost::math::trunc;\
0081 using boost::math::itrunc;\
0082 using boost::math::ltrunc;\
0083 using boost::math::modf;
0084
0085
0086 #endif
0087