Index: interval.hpp =================================================================== --- interval.hpp (revision 14329) +++ interval.hpp (working copy) @@ -547,7 +547,8 @@ typename boost::enable_if, bool>::type is_empty(const Type& object) { - return domain_less_equal(upper(object), domain_next(lower(object))); + return domain_less_equal(upper(object), domain_next(lower(object))) + || domain_less_equal(domain_next(lower(object)), lower(object)); } template @@ -557,7 +558,8 @@ if(object.bounds() == interval_bounds::closed()) return domain_less(upper(object), lower(object)); else if(object.bounds() == interval_bounds::open()) - return domain_less_equal(upper(object), domain_next(lower(object))); + return domain_less_equal(upper(object), domain_next(lower(object))) + || domain_less_equal(domain_next(lower(object)), lower(object)); else return domain_less_equal(upper(object), lower(object)); }