Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-17 08:36:04

0001 // Copyright John Maddock 2008.
0002 // Copyright Matt Borland 2024
0003 
0004 // Use, modification and distribution are subject to the
0005 // Boost Software License, Version 1.0.
0006 // (See accompanying file LICENSE_1_0.txt
0007 // or copy at http://www.boost.org/LICENSE_1_0.txt)
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 // BOOST_MATH_SPECIAL_ROUND_FWD_HPP
0087