16 #ifndef __APXX_INTERVAL_HH 17 #define __APXX_INTERVAL_HH 20 #include "ap_interval.h" 103 interval(
const mpq_class& inf,
const mpq_class& sup);
218 void print(FILE* stream=stdout)
const;
388 operator std::vector<interval>()
const;
403 void print(FILE* stream=stdout)
const;
Means i2 is included in i1.
Definition: apxx_interval.hh:69
interval & set(const interval &x)
Copies an interval into *this.
Definition: apxx_interval.hh:147
Definition: apxx_abstract0.hh:27
top()
Definition: apxx_interval.hh:28
interval & get(size_t i)
Definition: apxx_interval.hh:480
friend bool operator!=(const interval &a, const interval &b)
Set disequality.
Definition: apxx_interval.hh:301
interval(bottom t)
Makes a new empty interval [+1;-1].
Definition: apxx_interval.hh:104
~interval_array()
Frees the space occupied by the array and all its elements.
Definition: apxx_interval.hh:394
Means i1 is included in i2.
Definition: apxx_interval.hh:67
friend bool operator<(const interval &a, const interval &b)
Strict set inclusion.
Definition: apxx_interval.hh:283
array of interval(s).
Definition: apxx_interval.hh:302
friend bool operator<=(const interval &a, const interval &b)
Set inclusion.
Definition: apxx_interval.hh:271
Level 0 abstract value (ap_abstract0_t* wrapper).
Definition: apxx_abstract0.hh:78
friend bool operator==(const interval &a, const interval &b)
Set equality.
Definition: apxx_interval.hh:295
~interval()
Definition: apxx_interval.hh:114
const ap_interval_t *const * get_ap_interval_t_array() const
Returns a pointer to the internal APRON object stored in *this.
Definition: apxx_interval.hh:506
interval()
Makes a new interval [0,0] with double bounds.
Definition: apxx_interval.hh:41
size_t sz
Array size.
Definition: apxx_interval.hh:306
interval_array & operator=(const interval_array &x)
Copies an interval array into *this.
Definition: apxx_interval.hh:403
ap_interval_t c
Structure managed by APRON.
Definition: apxx_interval.hh:50
bool is_bottom() const
Whether *this represents an empty interval.
Definition: apxx_interval.hh:266
friend bool operator>=(const interval &a, const interval &b)
Set inclusion.
Definition: apxx_interval.hh:277
scalar & get_inf()
Gets a (modifiable) reference to the lower bound.
Definition: apxx_interval.hh:223
interval ** contents()
Returns a pointer to the start of the array of elements used internally.
Definition: apxx_interval.hh:477
ap_interval_t ** c
Array of pointers to intervals.
Definition: apxx_interval.hh:307
Means min i1 >= min i2.
Definition: apxx_interval.hh:71
void init()
Internal initialisation.
Definition: apxx_interval.hh:29
bool is_top() const
Whether *this equals ]-oo;+oo[.
Definition: apxx_interval.hh:261
void neg()
Negates *this.
Definition: apxx_interval.hh:317
void print(FILE *stream=stdout) const
Prints to a C stream.
Definition: apxx_interval.hh:252
Level 0 arbitrary expression tree (ap_texpr0_t wrapper).
Definition: apxx_texpr0.hh:92
order
Returned by ordering functions.
Definition: apxx_interval.hh:66
Empty interval or domain, to simplify initialisations and assignments.
Definition: apxx_interval.hh:33
Level 1 abstract value (ap_abstract1_t wrapper).
Definition: apxx_abstract1.hh:42
Full interval (]-oo,+oo[) or domain, to simplify initialisations and assignments.
Definition: apxx_interval.hh:27
long hash() const
Returns a hash code.
Definition: apxx_interval.hh:329
void print(FILE *stream=stdout) const
Prints to a C stream.
Definition: apxx_interval.hh:460
Interval (ap_interval_t wrapper).
Definition: apxx_interval.hh:47
Inherited by most wrappers to map new and delete to malloc and free.
Definition: apxx_scalar.hh:69
A fraction with native int coefficients, to simplify initialisations and assignments.
Definition: apxx_scalar.hh:41
friend bool operator>(const interval &a, const interval &b)
Strict set inclusion.
Definition: apxx_interval.hh:289
friend void swap(interval &a, interval &b)
Swaps the contents of two intervals.
Definition: apxx_interval.hh:214
interval & operator=(const interval &x)
Copies an interval into *this.
Definition: apxx_interval.hh:126
size_t size() const
Returns the array size.
Definition: apxx_interval.hh:474
Means i1 equals i2.
Definition: apxx_interval.hh:68
interval operator-() const
Returns a new interval which is the opposite of *this.
Definition: apxx_interval.hh:322
const ap_interval_t * get_ap_interval_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition: apxx_interval.hh:337
scalar & get_sup()
Gets a (modifiable) reference to the upper bound.
Definition: apxx_interval.hh:228
interval & operator[](size_t i)
Returns a (modifiable) reference to an element, no bound checking.
Definition: apxx_interval.hh:492
bottom()
Definition: apxx_interval.hh:34
Means min i1 <= min i2.
Definition: apxx_interval.hh:70
friend std::ostream & operator<<(std::ostream &os, const interval_array &s)
Printing.
Definition: apxx_interval.hh:452
Level 0 linear expression (ap_linexpr0_t wrapper).
Definition: apxx_linexpr0.hh:44
friend std::ostream & operator<<(std::ostream &os, const interval &s)
Printing.
Definition: apxx_interval.hh:247
interval_array(size_t size, ap_interval_t **c)
Internal use only. Reference an array created with ap_interval_array_alloc.
Definition: apxx_interval.hh:356
Scalar (ap_scalar_t wrapper).
Definition: apxx_scalar.hh:89
friend order cmp(const interval &a, const interval &b)
Interval ordering.
Definition: apxx_interval.hh:307