16 #ifndef __APXX_ABSTRACT1_HH 17 #define __APXX_ABSTRACT1_HH 19 #include "ap_abstract1.h"
abstract1(ap_abstract1_t x)
Internal use only. Shallow copy of structure.
Definition: apxx_abstract1.hh:28
Definition: apxx_abstract0.hh:27
friend bool operator!=(const abstract1 &x, const abstract1 &y)
Whether x and y represent different sets.
Definition: apxx_abstract1.hh:516
Array of linear constraints (ap_lincons1_array_t wrapper).
Definition: apxx_lincons1.hh:331
abstract1 & approximate(manager &m, int algorithm)
Simplifies the abstract element, potentially loosing precision.
Definition: apxx_abstract1.hh:332
abstract1 & operator=(const abstract1 &t)
Assigns a copy of t to *this.
Definition: apxx_abstract1.hh:125
abstract1 & assign(manager &m, const var &v, const linexpr1 &l, const abstract1 &inter=null)
In-place assignment of linear expression.
Definition: apxx_abstract1.hh:875
abstract0 & get_abstract0()
Returns a (modifiable) reference to the underlying abstract0.
Definition: apxx_abstract1.hh:411
lincons1_array to_lincons_array(manager &m) const
Returns a linear constraint representation of (an over-approximation of) the set represented by the a...
Definition: apxx_abstract1.hh:594
void free(manager &m)
Destroys the abstract element using the given manager.
Definition: apxx_abstract1.hh:115
Array of arbitrary constraints (ap_tcons1_array_t wrapper).
Definition: apxx_tcons1.hh:337
Variable name (ap_var_t wrapper).
Definition: apxx_var.hh:39
abstract1 & operator+=(const abstract1 &y)
Replaces *this with the join of *this and the abstract element y.
Definition: apxx_abstract1.hh:823
array of interval(s).
Definition: apxx_interval.hh:302
abstract1 & minimize(manager &m)
Minimizes the size of the representation, to save memory.
Definition: apxx_abstract1.hh:318
friend bool operator>=(const abstract1 &x, const abstract1 &y)
Whether x contains y (set-wise).
Definition: apxx_abstract1.hh:530
interval_array to_box(manager &m) const
Returns a bounding box for the set represented by the abstract element.
Definition: apxx_abstract1.hh:582
tcons1_array to_tcons_array(manager &m) const
Returns a constraint representation of (an over-approximation of) the set represented by the abstract...
Definition: apxx_abstract1.hh:604
generator1_array to_generator_array(manager &m) const
Returns a generator representation of (an over-approximation of) the set represented by the abstract ...
Definition: apxx_abstract1.hh:614
bool is_top(manager &m) const
Whether *this represents the full space.
Definition: apxx_abstract1.hh:443
abstract1(manager &m, const lincons1_array &x)
Creates an abstract element from a conjunction of linear constraints.
Definition: apxx_abstract1.hh:83
abstract1 & fold(manager &m, size_t size, const var v[])
Folds variables v[0] to v[size-1] in *this (modified in-place).
Definition: apxx_abstract1.hh:1487
Level 0 abstract value (ap_abstract0_t* wrapper).
Definition: apxx_abstract0.hh:78
friend abstract1 & deserialize(manager &m, abstract1 &dst, const std::string &s, size_t *eaten)
Reconstruct an abstract element form a serialized byte-stream and put it into dst.
Definition: apxx_abstract1.hh:385
bool is_leq(manager &m, const abstract1 &x) const
Whether *this is included in x (set-wise).
Definition: apxx_abstract1.hh:460
bool is_bottom(manager &m) const
Whether *this represents the empty set.
Definition: apxx_abstract1.hh:435
Library manager (ap_manager_t wrapper).
Definition: apxx_manager.hh:137
abstract1 & join(manager &m, const abstract1 &y)
Replaces *this with the join of *this and the abstract element y.
Definition: apxx_abstract1.hh:696
abstract1 & meet(manager &m, const abstract1 &y)
Replaces *this with the meet of *this and the abstract element y.
Definition: apxx_abstract1.hh:649
void dump(manager &m, FILE *stream=stdout) const
Raw printing to a C stream (mainly for debug purposes).
Definition: apxx_abstract1.hh:357
abstract1 & expand(manager &m, const var &v, size_t size, const var vv[])
Duplicates variable v into size copies in *this (modified in-place).
Definition: apxx_abstract1.hh:1435
Level 1 environment (ap_environment_t wrapper).
Definition: apxx_environment.hh:51
abstract1 & change_environment(manager &m, const environment &e, bool project=false)
Modifies the environment of *this.
Definition: apxx_abstract1.hh:1330
abstract1 & add_rays(manager &m, const generator1_array &y)
Adds some rays to *this (modified in-place).
Definition: apxx_abstract1.hh:789
abstract1 & rename(manager &m, size_t size, const var oldv[], const var newv[])
Renames oldv[i] into newv[i] in *this.
Definition: apxx_abstract1.hh:1370
abstract1 & unify(manager &m, const abstract1 &y)
Replaces *this with the meet of *this and the abstract element y.
Definition: apxx_abstract1.hh:628
abstract1 & closure(manager &m)
Replaces *this with its topological closure.
Definition: apxx_abstract1.hh:1566
abstract1 & forget(manager &m, const var &v, bool project=false)
Forgets about the value of variable v in *this.
Definition: apxx_abstract1.hh:1272
friend bool operator>(const abstract1 &x, const abstract1 &y)
Whether x strictly contains y (set-wise).
Definition: apxx_abstract1.hh:535
Level 1 linear constraint (ap_lincons1_t wrapper).
Definition: apxx_lincons1.hh:40
interval bound(manager &m, const linexpr1 &l) const
Returns some bounds for a linear expression evaluated in all points in the abstract element.
Definition: apxx_abstract1.hh:550
Level 1 linear expression (ap_linexpr1_t wrapper).
Definition: apxx_linexpr1.hh:39
friend std::ostream & operator<<(std::ostream &os, const abstract1 &s)
Prints in constraint form.
Definition: apxx_abstract1.hh:363
abstract1 & canonicalize(manager &m)
Puts the abstract element in canonical form (if such a notion exists).
Definition: apxx_abstract1.hh:325
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
std::string * serialize(manager &m) const
Serializes an abstract element.
Definition: apxx_abstract1.hh:375
void print(manager &m, FILE *stream=stdout) const
Pretty-printing to a C stream.
Definition: apxx_abstract1.hh:343
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
ap_abstract1_t a
Structure managed by APRON.
Definition: apxx_abstract1.hh:46
abstract1 & operator *=(const abstract1 &y)
Replaces *this with the meet of *this and the abstract element y.
Definition: apxx_abstract1.hh:813
bool is_eq(manager &m, const abstract1 &x) const
Whether *this and x represent the same set.
Definition: apxx_abstract1.hh:451
abstract1 & set(manager &m, const abstract1 &x)
Replaces *this with a copy of x.
Definition: apxx_abstract1.hh:193
abstract1 & minimize_environment(manager &m)
Removes from *this the variables that are unconstrained.
Definition: apxx_abstract1.hh:1352
size_t size(manager &m) const
Returns the (abstract) size of the abstract element.
Definition: apxx_abstract1.hh:421
friend void printdiff(manager &m, const abstract1 &x, const abstract1 &y, FILE *stream)
Pretty-printing the difference between x and y to a C stream.
Definition: apxx_abstract1.hh:349
friend bool operator<(const abstract1 &x, const abstract1 &y)
Whether x is strictly included within y (set-wise).
Definition: apxx_abstract1.hh:540
abstract1 & substitute(manager &m, const var &v, const linexpr1 &l, const abstract1 &inter=null)
In-place substitution (backward assignment) of linear expression.
Definition: apxx_abstract1.hh:1073
Level 1 arbitrary expression tree (ap_texpr1_t wrapper).
Definition: apxx_texpr1.hh:42
Level 1 arbitrary constraint (ap_tcons1_t wrapper).
Definition: apxx_tcons1.hh:39
ap_abstract1_t * get_ap_abstract1_t()
Returns a pointer to the internal APRON object stored in *this.
Definition: apxx_abstract1.hh:1587
friend bool operator==(const abstract1 &x, const abstract1 &y)
Whether x and y represent the same set.
Definition: apxx_abstract1.hh:507
Array of generators (ap_generator1_array_t wrapper).
Definition: apxx_generator1.hh:272
friend abstract1 & widening(manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y)
Stores in dst the result of x widened with y.
Definition: apxx_abstract1.hh:1536
manager get_manager() const
Returns the manager the abstract element was created with (with reference count incremented).
Definition: apxx_abstract1.hh:401
environment get_environment() const
Returns the environment of the abstract element (with reference count incremented).
Definition: apxx_abstract1.hh:406
friend bool operator<=(const abstract1 &x, const abstract1 &y)
Whether x is included within y (set-wise).
Definition: apxx_abstract1.hh:521
bool sat(manager &m, const lincons1 &l) const
Whether all points in *this satisfy a linear constraint.
Definition: apxx_abstract1.hh:469
~abstract1()
Destroys the abstract element.
Definition: apxx_abstract1.hh:109
bool is_variable_unconstrained(manager &m, const var &v) const
Whether the points in *this are unbounded in the given variable.
Definition: apxx_abstract1.hh:497