2
struct not_too_small_type : std::unary_function<T,T> {
3
not_too_small_type (const T& eps) : _eps(eps) {}
4
T operator() (const T& x) const { return (1+x == 1) ? _eps : x; }
7
template <class T> not_too_small_type<T> not_too_small (const T& prec) { return not_too_small_type<T>(prec); }