|
|
| tcons0 (ap_constyp_t constyp=AP_CONS_SUPEQ) |
| Creates an empty constraint. More...
|
|
| tcons0 (ap_constyp_t constyp, const texpr0::builder &t) |
| Creates a new (non-modulo) constraint from an expression tree (copied). More...
|
|
| tcons0 (ap_constyp_t constyp, const texpr0::builder &t, const scalar &modulo) |
| Creates a new constraint from an expression tree and a modulo scalar (both copied). More...
|
|
| tcons0 (const tcons0 &x) |
| (Deep) copy of a constraint. More...
|
|
| tcons0 (const tcons0 &x, const dimchange &d, bool add=true) |
| Makes a (deep) copy of a constraint, and applies a dimension change to the underlying expression. More...
|
|
| tcons0 (const tcons0 &x, const dimperm &d) |
| Makes a (deep) copy of a constraint, and applies a permutation to the underlying expression. More...
|
|
| tcons0 (unsat x) |
| Makes an unsatisfiable constraint (-1>=0). More...
|
|
| tcons0 (const lincons0 &x) |
| Makes a constraint from a linear constraint (copying coefficients). More...
|
|
|
| ~tcons0 () |
| Frees the constraint, including the embedded expression tree and optional modulo scalar. More...
|
|
|
tcons0 & | operator= (const tcons0 &x) |
| (Deep) copy. More...
|
|
tcons0 & | operator= (unsat x) |
| Assigns an unsatisfiable constraint to *this (-1>=0). More...
|
|
tcons0 & | operator= (const lincons0 &x) |
| Makes *this equal to the linear constraint x (coefficients are copied), deleting the previous value of *this. More...
|
|
void | set_modulo (const scalar &c) |
| Sets the extra scalar modulo to c (copied). More...
|
|
void | set_texpr (const texpr0::builder &c) |
| Sets the underlying expression tree to c (copied). More...
|
|
|
void | add_dimensions (const dimchange &d) |
| Adds dimensions to the underlying expression tree. More...
|
|
void | remove_dimensions (const dimchange &d) |
| Removes dimensions to the underlying expression tree. More...
|
|
void | permute_dimensions (const dimperm &d) |
| Applies a permutation to the underlying expression tree. More...
|
|
|
ap_constyp_t & | get_constyp () |
| Returns a (modifiable) reference to the constraint type. More...
|
|
const ap_constyp_t & | get_constyp () const |
| Returns a reference to the constraint type. More...
|
|
bool | has_modulo () const |
| Returns whether the constraint has a valid extra scalar (used in modulo constraints). More...
|
|
bool | has_texpr () const |
| Whether the constraint contains a valid expression tree. More...
|
|
scalar & | get_modulo () |
| Returns a (modifiable) reference to the extra scalar. More...
|
|
const scalar & | get_modulo () const |
| Returns a reference to the extra scalar. More...
|
|
texpr0::iterator | get_texpr () |
| Returns an iterator to the root of the underlying expression tree. More...
|
|
texpr0::const_iterator | get_texpr () const |
| Returns a const_iterator to the root of the underlying expression tree. More...
|
|
|
bool | is_interval_cst () const |
| Whether the expression is constant (i.e., has no dimension leaves). More...
|
|
bool | is_interval_linear () const |
| Whether the expression is linear and there is no rounding. More...
|
|
bool | is_interval_polynomial () const |
| Whether the expression is polynomial and there is no rounding. More...
|
|
bool | is_interval_polyfrac () const |
| Whether the expression is a polynomial fraction and there is no rounding. More...
|
|
bool | is_scalar () const |
| Whether all occurring constants are scalar. More...
|
|
|
const ap_tcons0_t * | get_ap_tcons0_t () const |
| Returns a pointer to the internal APRON object stored in *this. More...
|
|
ap_tcons0_t * | get_ap_tcons0_t () |
| Returns a pointer to the internal APRON object stored in *this. More...
|
|
void * | operator new (size_t sz) |
|
void * | operator new[] (size_t sz) |
|
void | operator delete (void *p) |
|
void | operator delete[] (void *p) |
|
Level 0 arbitrary constraint (ap_tcons0_t wrapper).
A tcons0 represents a constraint of the form expr==0, expr>=0, expr>0, expr!=0, or expr==0 mod c where expr is an arbitrary expression tree. It stores and manages a texpr0, a constraint type (==, >=, >, !=, mod), and (for modulo constraint) an extra scalar (c).
Constraints can be constructed using the >=, <=, >, <, ==, != operators on expression trees, or dedicated constructors:
tcons0 x = dim(1) >= dim(2) * 5;
tcons0 y =
add(
sqrt(dim(1),AP_RTYPE_FLOAT), dim(0), AP_RTYPE_FLOAT) != 10;
texpr0::builder sqrt(const texpr0::builder &a, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST)
Definition: apxx_texpr0_inline.hh:841
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
tcons0(ap_tcons0_t &l)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition: apxx_tcons0_inline.hh:23
See the documentation of the texpr0 class for more information on constructing expression trees.