9 _Interval__compare(const Interval_t<T>&a,Interval_t<T> const&b)
11 if (a.left == b.left && a.right == b.right)
14 if (a.left <= b.left && a.right >= b.right)
17 if (a.left >= b.left && a.right <= b.right)
25 Interval_t<T>::contains_b(Interval_t<T> const& a)const
27 int c_i= _Interval__compare( *this, a);
35 Interval__compare(const Interval_t<T>&a,Interval_t<T> const&b)
37 int i = _Interval__compare(a,b);
45 Interval_t<T>::set_empty()
47 left = (T) infinity();
48 right = (T) -infinity();
53 Interval_t<T>::length() const {
54 assert(right >= left);
60 Interval_t<T>::unite(Interval_t<T> h)
69 smallest Interval which includes *this and #h#
74 Interval_t<T>::intersect(Interval_t<T> h)
76 #if defined (__GNUG__) && ! defined (__STRICT_ANSI__)
77 left = h.left >? left;
78 right = h.right <?right;
80 left = max(h.left, left);
81 right = min(h.right, right);
87 intersect(Interval_t<T> x, Interval_t<T> const &y)
95 Interval_t<T>::str() const
101 return s + left + "," + right +"]";
106 Interval_t<T>::elt_b(T r)
108 return r >= left && r <= right;