Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Rounding Functions

#include <boost/math/special_functions/round.hpp>
template <class T>
T round(const T& v);

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

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

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

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

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

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

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

These functions return the closest integer to the argument v.

Halfway cases are rounded away from zero, regardless of the current rounding direction.

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.


PrevUpHomeNext