94 lines
2.7 KiB
C++
94 lines
2.7 KiB
C++
// Copyright John Maddock 2008.
|
|
|
|
// Use, modification and distribution are subject to the
|
|
// Boost Software License, Version 1.0.
|
|
// (See accompanying file LICENSE_1_0.txt
|
|
// or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
#ifndef BOOST_MATH_SPECIAL_ROUND_FWD_HPP
|
|
#define BOOST_MATH_SPECIAL_ROUND_FWD_HPP
|
|
|
|
#include <boost/config.hpp>
|
|
#include <boost/math/tools/promotion.hpp>
|
|
|
|
#ifdef _MSC_VER
|
|
#pragma once
|
|
#endif
|
|
|
|
namespace boost
|
|
{
|
|
namespace math
|
|
{
|
|
|
|
template <class T, class Policy>
|
|
typename tools::promote_args<T>::type trunc(const T& v, const Policy& pol);
|
|
template <class T>
|
|
typename tools::promote_args<T>::type trunc(const T& v);
|
|
template <class T, class Policy>
|
|
int itrunc(const T& v, const Policy& pol);
|
|
template <class T>
|
|
int itrunc(const T& v);
|
|
template <class T, class Policy>
|
|
long ltrunc(const T& v, const Policy& pol);
|
|
template <class T>
|
|
long ltrunc(const T& v);
|
|
#ifdef BOOST_HAS_LONG_LONG
|
|
template <class T, class Policy>
|
|
boost::long_long_type lltrunc(const T& v, const Policy& pol);
|
|
template <class T>
|
|
boost::long_long_type lltrunc(const T& v);
|
|
#endif
|
|
template <class T, class Policy>
|
|
typename tools::promote_args<T>::type round(const T& v, const Policy& pol);
|
|
template <class T>
|
|
typename tools::promote_args<T>::type round(const T& v);
|
|
template <class T, class Policy>
|
|
int iround(const T& v, const Policy& pol);
|
|
template <class T>
|
|
int iround(const T& v);
|
|
template <class T, class Policy>
|
|
long lround(const T& v, const Policy& pol);
|
|
template <class T>
|
|
long lround(const T& v);
|
|
#ifdef BOOST_HAS_LONG_LONG
|
|
template <class T, class Policy>
|
|
boost::long_long_type llround(const T& v, const Policy& pol);
|
|
template <class T>
|
|
boost::long_long_type llround(const T& v);
|
|
#endif
|
|
template <class T, class Policy>
|
|
T modf(const T& v, T* ipart, const Policy& pol);
|
|
template <class T>
|
|
T modf(const T& v, T* ipart);
|
|
template <class T, class Policy>
|
|
T modf(const T& v, int* ipart, const Policy& pol);
|
|
template <class T>
|
|
T modf(const T& v, int* ipart);
|
|
template <class T, class Policy>
|
|
T modf(const T& v, long* ipart, const Policy& pol);
|
|
template <class T>
|
|
T modf(const T& v, long* ipart);
|
|
#ifdef BOOST_HAS_LONG_LONG
|
|
template <class T, class Policy>
|
|
T modf(const T& v, boost::long_long_type* ipart, const Policy& pol);
|
|
template <class T>
|
|
T modf(const T& v, boost::long_long_type* ipart);
|
|
#endif
|
|
|
|
}
|
|
}
|
|
|
|
#undef BOOST_MATH_STD_USING
|
|
#define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE\
|
|
using boost::math::round;\
|
|
using boost::math::iround;\
|
|
using boost::math::lround;\
|
|
using boost::math::trunc;\
|
|
using boost::math::itrunc;\
|
|
using boost::math::ltrunc;\
|
|
using boost::math::modf;
|
|
|
|
|
|
#endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP
|
|
|