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;
446 void resize(
size_t size);
473 const tcons0* contents()
const;
479 const tcons0& operator[](
size_t i)
const;
491 const tcons0&
get(
size_t i)
const;
503 operator std::vector<tcons0>()
const;
525 void print(
char** name_of_dim = NULL, FILE* stream=stdout)
const;
552 ap_tcons0_array_t* get_ap_tcons0_array_t();
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
Array of arbitrary constraints (ap_tcons1_array_t wrapper).
Definition: apxx_tcons1.hh:337
ap_tcons0_array_t a
Structure managed by APRON.
Definition: apxx_tcons0.hh:354
texpr0::iterator get_texpr()
Returns an iterator to the root of the underlying expression tree.
Definition: apxx_tcons0.hh:233
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: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
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
bool is_interval_linear() const
Whether the expression is linear and there is no rounding.
Definition: apxx_tcons0.hh:277
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
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition: apxx_tcons0.hh:263
bool is_interval_cst() const
Whether the expression is constant (i.e., has no dimension leaves).
Definition: apxx_tcons0.hh:272
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
friend std::ostream & operator<<(std::ostream &os, const tcons0 &s)
Printing.
Definition: apxx_tcons0.hh:250
tcons0(ap_tcons0_t &l)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition: apxx_tcons0.hh:24
ap_constyp_t & get_constyp()
Returns a (modifiable) reference to the constraint type.
Definition: apxx_tcons0.hh:188
bool is_scalar() const
Whether all occurring constants are scalar.
Definition: apxx_tcons0.hh:292
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
bool has_texpr() const
Whether the constraint contains a valid expression tree.
Definition: apxx_tcons0.hh:203
friend tcons0 operator>=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b >= 0.
Definition: apxx_tcons0.hh:91
bool is_interval_polyfrac() const
Whether the expression is a polynomial fraction and there is no rounding.
Definition: apxx_tcons0.hh:287
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
bool has_modulo() const
Returns whether the constraint has a valid extra scalar (used in modulo constraints).
Definition: apxx_tcons0.hh:198
void add_dimensions(const dimchange &d)
Adds dimensions to the underlying expression tree.
Definition: apxx_tcons0.hh:164
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
Array of arbitrary constraints (ap_tcons0_array_t wrapper).
Definition: apxx_tcons0.hh:350
Unsatisfiable constraint, to simplify initialisations and assignments.
Definition: apxx_lincons0.hh:28
Level 0 linear constraint (ap_lincons0_t wrapper).
Definition: apxx_lincons0.hh:43
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
Scalar (ap_scalar_t wrapper).
Definition: apxx_scalar.hh:89