#include <boost/math/special_functions/modf.hpp>
template <class T>
T modf(const T& v, T* ipart);
template <class T, class Policy>
T modf(const T& v, T* ipart, const Policy&);
template <class T>
T modf(const T& v, int* ipart);
template <class T, class Policy>
T modf(const T& v, int* ipart, const Policy&);
template <class T>
T modf(const T& v, long* ipart);
template <class T, class Policy>
T modf(const T& v, long* ipart, const Policy&);
template <class T>
T modf(const T& v, long long* ipart);
template <class T, class Policy>
T modf(const T& v, long long* ipart, const Policy&);
<modf>функции сохраняют целочисленную частьvв<*ipart>и возвращают дробную частьv. Знак целочисленных и дробных частей такой же, как знакпротив.
Если аргументпротивявляется либо неокончательным, либо находится за пределами диапазона типа результата, то возвращается результатокругления_ошибки: И в этом случае<boost::math::rounding_error>возникает вопрос.