16#ifndef __APXX_TCONS0_HH
17#define __APXX_TCONS0_HH
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;
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_inline.hh:771
Level 0 abstract value (ap_abstract0_t* wrapper).
Definition apxx_abstract0.hh:78
Dimension change object (ap_dimchange_t wrapper).
Definition apxx_dimension.hh:102
Dimension permutation object (ap_dimperm_t wrapper).
Definition apxx_dimension.hh:292
Array of linear constraints (ap_lincons0_array_t wrapper).
Definition apxx_lincons0.hh:341
Level 0 linear constraint (ap_lincons0_t wrapper).
Definition apxx_lincons0.hh:43
Scalar (ap_scalar_t wrapper).
Definition apxx_scalar.hh:89
Array of arbitrary constraints (ap_tcons0_array_t wrapper).
Definition apxx_tcons0.hh:350
tcons0_array & operator=(const tcons0_array &x)
(Deep) copy.
Definition apxx_tcons0_inline.hh:382
bool is_interval_linear() const
Whether all constraints are linear.
Definition apxx_tcons0_inline.hh:522
ap_tcons0_array_t a
Structure managed by APRON.
Definition apxx_tcons0.hh:354
void add_dimensions(const dimchange &d)
Applies add_dimensions to all constraints in the array.
Definition apxx_tcons0_inline.hh:431
size_t size() const
Returns the size of the array.
Definition apxx_tcons0_inline.hh:450
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition apxx_tcons0_inline.hh:513
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_inline.hh:530
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
tcons0 & operator[](size_t i)
Returns a (modifiable) reference to an element, no bound checking.
Definition apxx_tcons0_inline.hh:465
tcons0 & get(size_t i)
Returns a (modifiable) reference to an element (bound-checked).
Definition apxx_tcons0_inline.hh:475
friend std::ostream & operator<<(std::ostream &os, const tcons0_array &s)
Printing.
tcons0 * contents()
Returns a pointer to the start of the internal array holding the constraints.
Definition apxx_tcons0_inline.hh:455
void permute_dimensions(const dimperm &d)
Applies permute_dimensions to all constraints in the array.
Definition apxx_tcons0_inline.hh:441
~tcons0_array()
Frees the space used by the array and all its constraints.
Definition apxx_tcons0_inline.hh:373
void resize(size_t size)
Resizes the array.
Definition apxx_tcons0_inline.hh:426
void remove_dimensions(const dimchange &d)
Applies remove_dimensions to all constraints in the array.
Definition apxx_tcons0_inline.hh:436
Level 0 arbitrary constraint (ap_tcons0_t wrapper).
Definition apxx_tcons0.hh:47
tcons0(ap_tcons0_t &l)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition apxx_tcons0_inline.hh:23
bool is_interval_polyfrac() const
Whether the expression is a polynomial fraction and there is no rounding.
Definition apxx_tcons0_inline.hh:286
ap_tcons0_t l
Structure managed by APRON.
Definition apxx_tcons0.hh:51
~tcons0()
Frees the constraint, including the embedded expression tree and optional modulo scalar.
Definition apxx_tcons0_inline.hh:81
friend tcons0 operator!=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b != 0.
bool is_interval_cst() const
Whether the expression is constant (i.e., has no dimension leaves).
Definition apxx_tcons0_inline.hh:271
bool has_modulo() const
Returns whether the constraint has a valid extra scalar (used in modulo constraints).
Definition apxx_tcons0_inline.hh:197
friend tcons0 operator>(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b > 0.
bool is_scalar() const
Whether all occurring constants are scalar.
Definition apxx_tcons0_inline.hh:291
void remove_dimensions(const dimchange &d)
Removes dimensions to the underlying expression tree.
Definition apxx_tcons0_inline.hh:169
bool is_interval_linear() const
Whether the expression is linear and there is no rounding.
Definition apxx_tcons0_inline.hh:276
friend tcons0 operator<=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint b-a >= 0.
void set_texpr(const texpr0::builder &c)
Sets the underlying expression tree to c (copied).
Definition apxx_tcons0_inline.hh:238
ap_constyp_t & get_constyp()
Returns a (modifiable) reference to the constraint type.
Definition apxx_tcons0_inline.hh:187
bool has_texpr() const
Whether the constraint contains a valid expression tree.
Definition apxx_tcons0_inline.hh:202
void permute_dimensions(const dimperm &d)
Applies a permutation to the underlying expression tree.
Definition apxx_tcons0_inline.hh:175
void set_modulo(const scalar &c)
Sets the extra scalar modulo to c (copied).
Definition apxx_tcons0_inline.hh:219
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition apxx_tcons0_inline.hh:262
friend tcons0 operator>=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b >= 0.
texpr0::iterator get_texpr()
Returns an iterator to the root of the underlying expression tree.
Definition apxx_tcons0_inline.hh:232
void add_dimensions(const dimchange &d)
Adds dimensions to the underlying expression tree.
Definition apxx_tcons0_inline.hh:163
bool is_interval_polynomial() const
Whether the expression is polynomial and there is no rounding.
Definition apxx_tcons0_inline.hh:281
const ap_tcons0_t * get_ap_tcons0_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition apxx_tcons0_inline.hh:301
friend tcons0 operator<(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint b-a > 0.
tcons0 & operator=(const tcons0 &x)
(Deep) copy.
Definition apxx_tcons0_inline.hh:136
friend tcons0 operator==(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b == 0.
friend std::ostream & operator<<(std::ostream &os, const tcons0 &s)
Printing.
scalar & get_modulo()
Returns a (modifiable) reference to the extra scalar.
Definition apxx_tcons0_inline.hh:207
Array of arbitrary constraints (ap_tcons1_array_t wrapper).
Definition apxx_tcons1.hh:337
Temporary expression nodes used when constructing a texpr0.
Definition apxx_texpr0.hh:581
Iterators to traverse a constant expression tree.
Definition apxx_texpr0.hh:211
Iterators to traverse and mutate an expression tree.
Definition apxx_texpr0.hh:413
Definition apxx_abstract0.hh:27
Unsatisfiable constraint, to simplify initialisations and assignments.
Definition apxx_lincons0.hh:28
Inherited by most wrappers to map new and delete to malloc and free.
Definition apxx_scalar.hh:69