| Home | Libraries | People | FAQ | More

### Truncation Functions

    #include <boost/math/special_functions/trunc.hpp>

    template <class T>
    T trunc(const T& v);

    template <class T, class Policy>
    T trunc(const T& v, const Policy&);

    template <class T>
    int itrunc(const T& v);

    template <class T, class Policy>
    int itrunc(const T& v, const Policy&);

    template <class T>
    long ltrunc(const T& v);

    template <class T, class Policy>
    long ltrunc(const T& v, const Policy&);

    template <class T>
    long long lltrunc(const T& v);

    template <class T, class Policy>
    long long lltrunc(const T& v, const Policy&);

The trunc functions round their argument to the integer value, nearest to but no larger in magnitude than the argument.

For example `itrunc(3.7)` would return `3` and `ltrunc(-4.6)` would return `-4`.

If the argument v is either non-finite or else outside the range of the result type, then returns the result of rounding_error: by default this throws an instance of boost::math::rounding_error.