Ticket #6095: interval.hpp.2.diff

File interval.hpp.2.diff, 1.1 KB (added by Marvin Sielenkemper <m.sielenkemper@…>, 11 years ago)
b <= a
b <= a + 1 fix
  • icl/concept/interval.hpp

     
    547547typename boost::enable_if<is_static_open<Type>, bool>::type
    548548is_empty(const Type& object)
    549549{
    550     return domain_less_equal<Type>(upper(object), domain_next<Type>(lower(object)));
     550    return domain_less_equal<Type>(upper(object), lower(object))
     551        || domain_less_equal<Type>(upper(object), domain_next<Type>(lower(object)));
    551552}
    552553
    553554template<class Type>
     
    557558    if(object.bounds() == interval_bounds::closed())
    558559        return domain_less<Type>(upper(object), lower(object));
    559560    else if(object.bounds() == interval_bounds::open())
    560         return domain_less_equal<Type>(upper(object), domain_next<Type>(lower(object)));
     561        return domain_less_equal<Type>(upper(object), lower(object))
     562            || domain_less_equal<Type>(upper(object), domain_next<Type>(lower(object)));
    561563    else
    562564        return domain_less_equal<Type>(upper(object), lower(object));
    563565}