16 #ifndef __APXX_TCONS0_HH 17 #define __APXX_TCONS0_HH 19 #include "ap_tcons0.h" 73 tcons0(ap_constyp_t constyp=AP_CONS_SUPEQ);
280 void print(
char** name_of_dim=NULL, FILE* stream=stdout)
const;
503 operator std::vector<tcons0>()
const;
525 void print(
char** name_of_dim = NULL, FILE* stream=stdout)
const;
void permute_dimensions(const dimperm &d)
Applies a permutation to the underlying expression tree.
Definition: apxx_tcons0.hh:176
Iterators to traverse and mutate an expression tree.
Definition: apxx_texpr0.hh:413
Dimension permutation object (ap_dimperm_t wrapper).
Definition: apxx_dimension.hh:292
Dimension change object (ap_dimchange_t wrapper).
Definition: apxx_dimension.hh:102
void remove_dimensions(const dimchange &d)
Removes dimensions to the underlying expression tree.
Definition: apxx_tcons0.hh:170
Definition: apxx_abstract0.hh:27
~tcons0()
Frees the constraint, including the embedded expression tree and optional modulo scalar.
Definition: apxx_tcons0.hh:82
void set_modulo(const scalar &c)
Sets the extra scalar modulo to c (copied).
Definition: apxx_tcons0.hh:220
~tcons0_array()
Frees the space used by the array and all its constraints.
Definition: apxx_tcons0.hh:374
Array of arbitrary constraints (ap_tcons1_array_t wrapper).
Definition: apxx_tcons1.hh:337
size_t size() const
Returns the size of the array.
Definition: apxx_tcons0.hh:451
ap_tcons0_array_t a
Structure managed by APRON.
Definition: apxx_tcons0.hh:354
bool has_texpr() const
Whether the constraint contains a valid expression tree.
Definition: apxx_tcons0.hh:203
tcons0_array(ap_tcons0_array_t &a)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition: apxx_tcons0.hh:357
texpr0::iterator get_texpr()
Returns an iterator to the root of the underlying expression tree.
Definition: apxx_tcons0.hh:233
friend tcons0 operator>(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b > 0.
Definition: apxx_tcons0.hh:105
texpr0::builder add(const texpr0::builder &a, const texpr0::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST)
Definition: apxx_texpr0.hh:772
tcons0 & operator[](size_t i)
Returns a (modifiable) reference to an element, no bound checking.
Definition: apxx_tcons0.hh:466
bool is_interval_polyfrac() const
Whether the expression is a polynomial fraction and there is no rounding.
Definition: apxx_tcons0.hh:287
bool is_interval_linear() const
Whether the expression is linear and there is no rounding.
Definition: apxx_tcons0.hh:277
bool is_interval_polynomial() const
Whether the expression is polynomial and there is no rounding.
Definition: apxx_tcons0.hh:282
friend tcons0 operator!=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b != 0.
Definition: apxx_tcons0.hh:126
Level 0 abstract value (ap_abstract0_t* wrapper).
Definition: apxx_abstract0.hh:78
const ap_tcons0_array_t * get_ap_tcons0_array_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition: apxx_tcons0.hh:531
void add_dimensions(const dimchange &d)
Applies add_dimensions to all constraints in the array.
Definition: apxx_tcons0.hh:432
bool is_scalar() const
Whether all occurring constants are scalar.
Definition: apxx_tcons0.hh:292
tcons0 * contents()
Returns a pointer to the start of the internal array holding the constraints.
Definition: apxx_tcons0.hh:456
friend std::ostream & operator<<(std::ostream &os, const tcons0 &s)
Printing.
Definition: apxx_tcons0.hh:250
tcons0_array & operator=(const tcons0_array &x)
(Deep) copy.
Definition: apxx_tcons0.hh:383
bool is_interval_cst() const
Whether the expression is constant (i.e., has no dimension leaves).
Definition: apxx_tcons0.hh:272
tcons0(ap_tcons0_t &l)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition: apxx_tcons0.hh:24
void permute_dimensions(const dimperm &d)
Applies permute_dimensions to all constraints in the array.
Definition: apxx_tcons0.hh:442
ap_constyp_t & get_constyp()
Returns a (modifiable) reference to the constraint type.
Definition: apxx_tcons0.hh:188
void set_texpr(const texpr0::builder &c)
Sets the underlying expression tree to c (copied).
Definition: apxx_tcons0.hh:239
Iterators to traverse a constant expression tree.
Definition: apxx_texpr0.hh:211
tcons0 & operator=(const tcons0 &x)
(Deep) copy.
Definition: apxx_tcons0.hh:137
friend tcons0 operator>=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b >= 0.
Definition: apxx_tcons0.hh:91
tcons0 & get(size_t i)
Returns a (modifiable) reference to an element (bound-checked).
Definition: apxx_tcons0.hh:476
friend tcons0 operator==(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b == 0.
Definition: apxx_tcons0.hh:119
Level 0 arbitrary constraint (ap_tcons0_t wrapper).
Definition: apxx_tcons0.hh:47
Inherited by most wrappers to map new and delete to malloc and free.
Definition: apxx_scalar.hh:69
Array of linear constraints (ap_lincons0_array_t wrapper).
Definition: apxx_lincons0.hh:341
void add_dimensions(const dimchange &d)
Adds dimensions to the underlying expression tree.
Definition: apxx_tcons0.hh:164
const ap_tcons0_t * get_ap_tcons0_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition: apxx_tcons0.hh:302
friend tcons0 operator<(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint b-a > 0.
Definition: apxx_tcons0.hh:112
friend tcons0 operator<=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint b-a >= 0.
Definition: apxx_tcons0.hh:98
ap_tcons0_t l
Structure managed by APRON.
Definition: apxx_tcons0.hh:51
scalar & get_modulo()
Returns a (modifiable) reference to the extra scalar.
Definition: apxx_tcons0.hh:208
void resize(size_t size)
Resizes the array.
Definition: apxx_tcons0.hh:427
Array of arbitrary constraints (ap_tcons0_array_t wrapper).
Definition: apxx_tcons0.hh:350
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition: apxx_tcons0.hh:263
Unsatisfiable constraint, to simplify initialisations and assignments.
Definition: apxx_lincons0.hh:28
bool is_interval_linear() const
Whether all constraints are linear.
Definition: apxx_tcons0.hh:523
Level 0 linear constraint (ap_lincons0_t wrapper).
Definition: apxx_lincons0.hh:43
bool has_modulo() const
Returns whether the constraint has a valid extra scalar (used in modulo constraints).
Definition: apxx_tcons0.hh:198
Temporary expression nodes used when constructing a texpr0.
Definition: apxx_texpr0.hh:581
void remove_dimensions(const dimchange &d)
Applies remove_dimensions to all constraints in the array.
Definition: apxx_tcons0.hh:437
friend std::ostream & operator<<(std::ostream &os, const tcons0_array &s)
Printing.
Definition: apxx_tcons0.hh:505
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition: apxx_tcons0.hh:514
Scalar (ap_scalar_t wrapper).
Definition: apxx_scalar.hh:89