bool operator<(ibex::Interval const & a, ibex::Interval const & b) { if (a.is_empty() || b.is_empty()) { return false; } return a.ub() < b.lb(); return false; }
pair<ibex::Interval,ibex::Interval> Tube::getEnclosedBounds(const ibex::Interval& intv_t) const { if(!intv_t.is_empty() && m_intv_t.intersects(intv_t)) { if(isSlice() || intv_t.is_superset(m_intv_t)) return m_enclosed_bounds; else { pair<ibex::Interval,ibex::Interval> ui_past = m_first_subtube->getEnclosedBounds(intv_t); pair<ibex::Interval,ibex::Interval> ui_future = m_second_subtube->getEnclosedBounds(intv_t); return make_pair(ui_past.first | ui_future.first, ui_past.second | ui_future.second); } } return make_pair(ibex::Interval::EMPTY_SET, ibex::Interval::EMPTY_SET); }