10#ifndef CPROVER_UTIL_INTERVAL_TEMPLATE_H
11#define CPROVER_UTIL_INTERVAL_TEMPLATE_H
204 if(
a.upper_set &&
b.lower_set &&
a.upper<=
b.lower)
206 if(
a.lower_set &&
b.upper_set &&
a.lower>
b.upper)
233 if(
a.lower_set!=
b.lower_set)
235 if(
a.upper_set!=
b.upper_set)
238 if(
a.lower_set &&
a.lower!=
b.lower)
240 if(
a.upper_set &&
a.upper!=
b.upper)
274 out <<
'[' << i.lower;
281 out << i.upper <<
']';
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
bool is_less_than(const interval_templatet &i)
bool is_less_than_eq(const interval_templatet &i)
void make_le_than(const T &v)
interval_templatet(const T &x)
const T & get_lower() const
void join(const interval_templatet< T > &i)
void make_ge_than(const T &v)
void make_less_than(interval_templatet &i)
void meet(const interval_templatet< T > &i)
interval_templatet(const T &l, const T &u)
void approx_union_with(const interval_templatet &i)
void intersect_with(const interval_templatet &i)
const T & get_upper() const
void make_less_than_eq(interval_templatet &i)
interval_templatet< T > lower_interval(const T &l)
tvt operator<=(const interval_templatet< T > &a, const interval_templatet< T > &b)
tvt operator>(const interval_templatet< T > &a, const interval_templatet< T > &b)
std::ostream & operator<<(std::ostream &out, const interval_templatet< T > &i)
bool operator==(const interval_templatet< T > &a, const interval_templatet< T > &b)
interval_templatet< T > upper_interval(const T &u)
bool operator!=(const interval_templatet< T > &a, const interval_templatet< T > &b)
tvt operator<(const interval_templatet< T > &a, const interval_templatet< T > &b)
tvt operator>=(const interval_templatet< T > &a, const interval_templatet< T > &b)