APRONXX
0.9.12
|
Classes | |
class | abstract0 |
Level 0 abstract value (ap_abstract0_t* wrapper). More... | |
class | abstract1 |
Level 1 abstract value (ap_abstract1_t wrapper). More... | |
class | bad_discriminant |
Exception raised when an operation is incompatible with a discriminant. More... | |
struct | bottom |
Empty interval or domain, to simplify initialisations and assignments. More... | |
class | box_manager |
Manager factory for the Box interval-domain library. More... | |
class | coeff |
Coefficient (ap_coeff_t wrapper). More... | |
class | dim |
Represents a dimension (i.e., variable by index) in an expression tree. More... | |
class | dimchange |
Dimension change object (ap_dimchange_t wrapper). More... | |
class | dimperm |
Dimension permutation object (ap_dimperm_t wrapper). More... | |
class | environment |
Level 1 environment (ap_environment_t wrapper). More... | |
struct | frac |
A fraction with native int coefficients, to simplify initialisations and assignments. More... | |
class | generator0 |
Level 0 generator (ap_generator0_t wrapper). More... | |
class | generator0_array |
Array of generators (ap_generator0_array_t wrapper). More... | |
class | generator1 |
Level 1 generator (ap_generator1_t wrapper). More... | |
class | generator1_array |
Array of generators (ap_generator1_array_t wrapper). More... | |
struct | id |
The identity permutation, to simplify initialisations and assignments. More... | |
struct | infty |
Either +oo or -oo, to simplify initialisations and assignments. More... | |
class | interval |
Interval (ap_interval_t wrapper). More... | |
class | interval_array |
array of interval(s). More... | |
class | lincons0 |
Level 0 linear constraint (ap_lincons0_t wrapper). More... | |
class | lincons0_array |
Array of linear constraints (ap_lincons0_array_t wrapper). More... | |
class | lincons1 |
Level 1 linear constraint (ap_lincons1_t wrapper). More... | |
class | lincons1_array |
Array of linear constraints (ap_lincons1_array_t wrapper). More... | |
class | linexpr0 |
Level 0 linear expression (ap_linexpr0_t wrapper). More... | |
class | linexpr1 |
Level 1 linear expression (ap_linexpr1_t wrapper). More... | |
class | manager |
Library manager (ap_manager_t wrapper). More... | |
class | not_implemented |
Exception raised when a function is not implemented. More... | |
class | oct_manager |
Manager factory for the Octagon domain library. More... | |
class | pkgrid_manager |
Manager factory for reduced product domain of NewPolka polyhedra and PPL grids. More... | |
class | polka_manager |
Manager factory for the NewPolka polyhedra library. More... | |
class | ppl_grid_manager |
Manager factory for grid domain using the PPL library. More... | |
class | ppl_poly_manager |
Manager factory for polyhedra domain using the PPL library. More... | |
class | scalar |
Scalar (ap_scalar_t wrapper). More... | |
class | t1p_manager |
Manager factory for the Taylor1plus zonotope library. More... | |
struct | tbool |
3-valued boolean (tbool_t wrapper). More... | |
class | tcons0 |
Level 0 arbitrary constraint (ap_tcons0_t wrapper). More... | |
class | tcons0_array |
Array of arbitrary constraints (ap_tcons0_array_t wrapper). More... | |
class | tcons1 |
Level 1 arbitrary constraint (ap_tcons1_t wrapper). More... | |
class | tcons1_array |
Array of arbitrary constraints (ap_tcons1_array_t wrapper). More... | |
class | texpr0 |
Level 0 arbitrary expression tree (ap_texpr0_t wrapper). More... | |
class | texpr1 |
Level 1 arbitrary expression tree (ap_texpr1_t wrapper). More... | |
class | timeout |
Exception raised when a timeout occurs. More... | |
struct | top |
Full interval (]-oo,+oo[) or domain, to simplify initialisations and assignments. More... | |
struct | unsat |
Unsatisfiable constraint, to simplify initialisations and assignments. More... | |
struct | use_malloc |
Inherited by most wrappers to map new and delete to malloc and free. More... | |
class | var |
Variable name (ap_var_t wrapper). More... | |
class | varname |
Stream modifier to set variable names to dimensions. More... | |
Functions | |
void | printdiff (manager &m, const abstract0 &x, const abstract0 &y, char **name_of_dim=NULL, FILE *stream=stdout) |
std::ostream & | operator<< (std::ostream &os, const abstract0 &s) |
abstract0 & | deserialize (manager &m, abstract0 &dst, const std::string &s, size_t *eaten=NULL) |
bool | operator== (const abstract0 &x, const abstract0 &y) |
bool | operator!= (const abstract0 &x, const abstract0 &y) |
bool | operator<= (const abstract0 &x, const abstract0 &y) |
bool | operator>= (const abstract0 &x, const abstract0 &y) |
bool | operator> (const abstract0 &x, const abstract0 &y) |
bool | operator< (const abstract0 &x, const abstract0 &y) |
abstract0 & | meet (manager &m, abstract0 &dst, const abstract0 &x, const abstract0 &y) |
abstract0 & | meet (manager &m, abstract0 &dst, const std::vector< const abstract0 * > &x) |
abstract0 & | meet (manager &m, abstract0 &dst, size_t sz, const abstract0 *const x[]) |
abstract0 & | join (manager &m, abstract0 &dst, const abstract0 &x, const abstract0 &y) |
abstract0 & | join (manager &m, abstract0 &dst, size_t sz, const abstract0 *const x[]) |
abstract0 & | join (manager &m, abstract0 &dst, const std::vector< const abstract0 * > &x) |
abstract0 & | meet (manager &m, abstract0 &dst, const abstract0 &x, const lincons0_array &y) |
abstract0 & | meet (manager &m, abstract0 &dst, const abstract0 &x, const tcons0_array &y) |
abstract0 & | add_rays (manager &m, abstract0 &dst, const abstract0 &x, const generator0_array &y) |
abstract0 & | assign (manager &m, abstract0 &dst, const abstract0 &src, ap_dim_t dim, const linexpr0 &l, const abstract0 &inter=abstract0::null) |
abstract0 & | assign (manager &m, abstract0 &dst, const abstract0 &src, size_t size, const ap_dim_t dim[], const linexpr0 *const l[], const abstract0 &inter=abstract0::null) |
abstract0 & | assign (manager &m, abstract0 &dst, const abstract0 &src, const std::vector< ap_dim_t > &dim, const std::vector< const linexpr0 * > &l, const abstract0 &inter=abstract0::null) |
abstract0 & | assign (manager &m, abstract0 &dst, const abstract0 &src, ap_dim_t dim, const texpr0 &l, const abstract0 &inter=abstract0::null) |
abstract0 & | assign (manager &m, abstract0 &dst, const abstract0 &src, size_t size, const ap_dim_t dim[], const texpr0 *const l[], const abstract0 &inter=abstract0::null) |
abstract0 & | assign (manager &m, abstract0 &dst, const abstract0 &src, const std::vector< ap_dim_t > &dim, const std::vector< const texpr0 * > &l, const abstract0 &inter=abstract0::null) |
abstract0 & | substitute (manager &m, abstract0 &dst, const abstract0 &src, ap_dim_t dim, const linexpr0 &l, const abstract0 &inter=abstract0::null) |
abstract0 & | substitute (manager &m, abstract0 &dst, const abstract0 &src, size_t size, const ap_dim_t dim[], const linexpr0 *const l[], const abstract0 &inter=abstract0::null) |
abstract0 & | substitute (manager &m, abstract0 &dst, const abstract0 &src, const std::vector< ap_dim_t > &dim, const std::vector< const linexpr0 * > &l, const abstract0 &inter=abstract0::null) |
abstract0 & | substitute (manager &m, abstract0 &dst, const abstract0 &src, ap_dim_t dim, const texpr0 &l, const abstract0 &inter=abstract0::null) |
abstract0 & | substitute (manager &m, abstract0 &dst, const abstract0 &src, size_t size, const ap_dim_t dim[], const texpr0 *const l[], const abstract0 &inter=abstract0::null) |
abstract0 & | substitute (manager &m, abstract0 &dst, const abstract0 &src, const std::vector< ap_dim_t > &dim, const std::vector< const texpr0 * > &l, const abstract0 &inter=abstract0::null) |
abstract0 & | forget (manager &m, abstract0 &dst, const abstract0 &src, ap_dim_t dim, bool project=false) |
abstract0 & | forget (manager &m, abstract0 &dst, const abstract0 &src, size_t size, const ap_dim_t dim[], bool project=false) |
abstract0 & | forget (manager &m, abstract0 &dst, const abstract0 &src, const std::vector< ap_dim_t > dim, bool project=false) |
abstract0 & | add_dimensions (manager &m, abstract0 &dst, const abstract0 &src, const dimchange &d, bool project=false) |
abstract0 & | remove_dimensions (manager &m, abstract0 &dst, const abstract0 &src, const dimchange &d) |
abstract0 & | permute_dimensions (manager &m, abstract0 &dst, const abstract0 &src, const dimperm &d) |
abstract0 & | expand (manager &m, abstract0 &dst, const abstract0 &src, ap_dim_t dim, size_t n=1) |
abstract0 & | fold (manager &m, abstract0 &dst, const abstract0 &src, size_t size, const ap_dim_t dim[]) |
abstract0 & | fold (manager &m, abstract0 &dst, const abstract0 &src, const std::vector< ap_dim_t > &dim) |
abstract0 & | widening (manager &m, abstract0 &dst, const abstract0 &x, const abstract0 &y) |
abstract0 & | widening (manager &m, abstract0 &dst, const abstract0 &x, const abstract0 &y, const lincons0_array &l) |
abstract0 & | closure (manager &m, abstract0 &dst, const abstract0 &src) |
void | printdiff (manager &m, const abstract1 &x, const abstract1 &y, FILE *stream=stdout) |
std::ostream & | operator<< (std::ostream &os, const abstract1 &s) |
abstract1 & | deserialize (manager &m, abstract1 &dst, const std::string &s, size_t *eaten=NULL) |
bool | operator== (const abstract1 &x, const abstract1 &y) |
bool | operator!= (const abstract1 &x, const abstract1 &y) |
bool | operator<= (const abstract1 &x, const abstract1 &y) |
bool | operator>= (const abstract1 &x, const abstract1 &y) |
bool | operator> (const abstract1 &x, const abstract1 &y) |
bool | operator< (const abstract1 &x, const abstract1 &y) |
abstract1 & | unify (manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y) |
abstract1 & | meet (manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y) |
abstract1 & | meet (manager &m, abstract1 &dst, const std::vector< const abstract1 * > &x) |
abstract1 & | meet (manager &m, abstract1 &dst, size_t sz, const abstract1 *const x[]) |
abstract1 & | join (manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y) |
abstract1 & | join (manager &m, abstract1 &dst, size_t sz, const abstract1 *const x[]) |
abstract1 & | join (manager &m, abstract1 &dst, const std::vector< const abstract1 * > &x) |
abstract1 & | meet (manager &m, abstract1 &dst, const abstract1 &x, const lincons1_array &y) |
abstract1 & | meet (manager &m, abstract1 &dst, const abstract1 &x, const tcons1_array &y) |
abstract1 & | add_rays (manager &m, abstract1 &dst, const abstract1 &x, const generator1_array &y) |
static ap_abstract1_t * | ap_abstract1_t_or_null (const abstract1 &i) |
abstract1 & | assign (manager &m, abstract1 &dst, const abstract1 &src, const var &v, const linexpr1 &l, const abstract1 &inter=abstract1::null) |
abstract1 & | assign (manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var v[], const linexpr1 *const l[], const abstract1 &inter=abstract1::null) |
abstract1 & | assign (manager &m, abstract1 &dst, const abstract1 &src, const std::vector< var > &v, const std::vector< const linexpr1 * > &l, const abstract1 &inter=abstract1::null) |
abstract1 & | assign (manager &m, abstract1 &dst, const abstract1 &src, const var &v, const texpr1 &l, const abstract1 &inter=abstract1::null) |
abstract1 & | assign (manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var v[], const texpr1 *const l[], const abstract1 &inter=abstract1::null) |
abstract1 & | assign (manager &m, abstract1 &dst, const abstract1 &src, const std::vector< var > &v, const std::vector< const texpr1 * > &l, const abstract1 &inter=abstract1::null) |
abstract1 & | substitute (manager &m, abstract1 &dst, const abstract1 &src, const var &v, const linexpr1 &l, const abstract1 &inter=abstract1::null) |
abstract1 & | substitute (manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var v[], const linexpr1 *const l[], const abstract1 &inter=abstract1::null) |
abstract1 & | substitute (manager &m, abstract1 &dst, const abstract1 &src, const std::vector< var > &v, const std::vector< const linexpr1 * > &l, const abstract1 &inter=abstract1::null) |
abstract1 & | substitute (manager &m, abstract1 &dst, const abstract1 &src, const var &v, const texpr1 &l, const abstract1 &inter=abstract1::null) |
abstract1 & | substitute (manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var v[], const texpr1 *const l[], const abstract1 &inter=abstract1::null) |
abstract1 & | substitute (manager &m, abstract1 &dst, const abstract1 &src, const std::vector< var > &v, const std::vector< const texpr1 * > &l, const abstract1 &inter=abstract1::null) |
abstract1 & | forget (manager &m, abstract1 &dst, const abstract1 &src, const var &v, bool project=false) |
abstract1 & | forget (manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var v[], bool project=false) |
abstract1 & | forget (manager &m, abstract1 &dst, const abstract1 &src, const std::vector< var > &v, bool project=false) |
abstract1 & | change_environment (manager &m, abstract1 &dst, const abstract1 &src, const environment &e, bool project=false) |
abstract1 & | minimize_environment (manager &m, abstract1 &dst, const abstract1 &src) |
abstract1 & | rename (manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var oldv[], const var newv[]) |
abstract1 & | rename (manager &m, abstract1 &dst, const abstract1 &src, const std::vector< var > &oldv, const std::vector< var > &newv) |
abstract1 & | expand (manager &m, abstract1 &dst, const abstract1 &src, const var &v, size_t size, const var vv[]) |
abstract1 & | expand (manager &m, abstract1 &dst, const abstract1 &src, const var &v, const std::vector< var > &vv) |
abstract1 & | fold (manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var vv[]) |
abstract1 & | fold (manager &m, abstract1 &dst, const abstract1 &src, const std::vector< var > &vv) |
abstract1 & | widening (manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y) |
abstract1 & | widening (manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y, const lincons1_array &l) |
abstract1 & | closure (manager &m, abstract1 &dst, const abstract1 &src) |
void | swap (coeff &a, coeff &b) |
std::ostream & | operator<< (std::ostream &os, const coeff &s) |
int | cmp (const coeff &a, const coeff &b) |
bool | operator== (const coeff &a, const coeff &b) |
bool | operator!= (const coeff &a, const coeff &b) |
template<class charT , class Traits > | |
std::basic_ostream< charT, Traits > & | operator<< (std::basic_ostream< charT, Traits > &os, const varname &v) |
template<class charT , class Traits > | |
std::vector< std::string > * | get_varname (std::basic_ostream< charT, Traits > &os) |
std::ostream & | operator<< (std::ostream &os, const dimchange &s) |
std::ostream & | operator<< (std::ostream &os, const dimperm &s) |
dimperm | operator * (const dimperm &x, const dimperm &y) |
static ap_var_t * | apxx_environment_get_names (const std::vector< var > &n) |
static void | apxx_environment_get_names_pair (const std::vector< std::pair< var, var > > &n, ap_var_t **x, ap_var_t **y) |
environment | lce (const environment &x, const environment &y) |
environment | lce (const environment &x, const environment &y, dimchange &chgx, dimchange &chgy) |
environment | lce (const std::vector< environment > &x) |
environment | lce (const environment *env, size_t env_size) |
environment | lce (const std::vector< environment > &x, std::vector< dimchange > &chg) |
environment | lce (const environment *env, dimchange *chg, size_t env_size) |
dimchange | get_dimchange (const environment &x, const environment &y) |
bool | operator== (const environment &x, const environment &y) |
bool | operator!= (const environment &x, const environment &y) |
bool | operator<= (const environment &x, const environment &y) |
bool | operator>= (const environment &x, const environment &y) |
int | cmp (const environment &x, const environment &y) |
std::ostream & | operator<< (std::ostream &os, const environment &s) |
std::ostream & | operator<< (std::ostream &os, const generator0 &s) |
std::ostream & | operator<< (std::ostream &os, const generator0_array &s) |
std::ostream & | operator<< (std::ostream &os, const generator1 &s) |
std::ostream & | operator<< (std::ostream &os, const generator1_array &s) |
void | swap (interval &a, interval &b) |
std::ostream & | operator<< (std::ostream &os, const interval &s) |
bool | operator<= (const interval &a, const interval &b) |
bool | operator>= (const interval &a, const interval &b) |
bool | operator< (const interval &a, const interval &b) |
bool | operator> (const interval &a, const interval &b) |
bool | operator== (const interval &a, const interval &b) |
bool | operator!= (const interval &a, const interval &b) |
interval::order | cmp (const interval &a, const interval &b) |
std::ostream & | operator<< (std::ostream &os, const interval_array &s) |
std::ostream & | operator<< (std::ostream &os, const lincons0 &s) |
std::ostream & | operator<< (std::ostream &os, const lincons0_array &s) |
std::ostream & | operator<< (std::ostream &os, const lincons1 &s) |
std::ostream & | operator<< (std::ostream &os, const lincons1_array &s) |
static void | apxx_linexpr0_init (ap_linexpr0_t *d, ap_linexpr_discr_t discr, size_t size) |
static void | apxx_linexpr0_clear (ap_linexpr0_t *d) |
static void | apxx_linexpr0_copy (ap_linexpr0_t *d, const ap_linexpr0_t *s) |
static bool | print_coeff_sign (std::ostream &os, const coeff &c, bool &first, bool cst) |
std::ostream & | operator<< (std::ostream &os, const linexpr0 &s) |
int | compare (const linexpr0 &x, const linexpr0 &y) |
bool | equal (const linexpr0 &x, const linexpr0 &y) |
std::ostream & | operator<< (std::ostream &os, const linexpr1 &s) |
tbool | operator|| (tbool a, tbool b) |
tbool | operator && (tbool a, tbool b) |
tbool | operator! (tbool a) |
std::ostream & | operator<< (std::ostream &os, tbool x) |
std::ostream & | operator<< (std::ostream &os, const manager &s) |
void | swap (scalar &a, scalar &b) |
std::ostream & | operator<< (std::ostream &os, const scalar &s) |
scalar::order | cmp (const scalar &a, const scalar &b) |
bool | operator>= (const scalar &a, const scalar &b) |
bool | operator<= (const scalar &a, const scalar &b) |
bool | operator> (const scalar &a, const scalar &b) |
bool | operator< (const scalar &a, const scalar &b) |
bool | operator== (const scalar &a, const scalar &b) |
bool | operator!= (const scalar &a, const scalar &b) |
scalar::order | cmp (const scalar &a, int b) |
bool | operator>= (const scalar &a, int b) |
bool | operator<= (const scalar &a, int b) |
bool | operator> (const scalar &a, int b) |
bool | operator< (const scalar &a, int b) |
bool | operator== (const scalar &a, int b) |
bool | operator!= (const scalar &a, int b) |
scalar::order | cmp (int a, const scalar &b) |
bool | operator>= (int a, const scalar &b) |
bool | operator<= (int a, const scalar &b) |
bool | operator> (int a, const scalar &b) |
bool | operator< (int a, const scalar &b) |
bool | operator== (int a, const scalar &b) |
bool | operator!= (int a, const scalar &b) |
tcons0 | operator>= (const texpr0::builder &a, const texpr0::builder &b) |
tcons0 | operator<= (const texpr0::builder &a, const texpr0::builder &b) |
tcons0 | operator> (const texpr0::builder &a, const texpr0::builder &b) |
tcons0 | operator< (const texpr0::builder &a, const texpr0::builder &b) |
tcons0 | operator== (const texpr0::builder &a, const texpr0::builder &b) |
tcons0 | operator!= (const texpr0::builder &a, const texpr0::builder &b) |
std::ostream & | operator<< (std::ostream &os, const tcons0 &s) |
std::ostream & | operator<< (std::ostream &os, const tcons0_array &s) |
tcons1 | operator>= (const texpr1::builder &a, const texpr1::builder &b) |
tcons1 | operator<= (const texpr1::builder &a, const texpr1::builder &b) |
tcons1 | operator> (const texpr1::builder &a, const texpr1::builder &b) |
tcons1 | operator< (const texpr1::builder &a, const texpr1::builder &b) |
tcons1 | operator== (const texpr1::builder &a, const texpr1::builder &b) |
tcons1 | operator!= (const texpr1::builder &a, const texpr1::builder &b) |
std::ostream & | operator<< (std::ostream &os, const tcons1 &s) |
std::ostream & | operator<< (std::ostream &os, const tcons1_array &s) |
bool | is_unop (ap_texpr_op_t op) |
Whether the operator is unary. More... | |
bool | is_binop (ap_texpr_op_t op) |
Whether the operator is binary. More... | |
std::ostream & | operator<< (std::ostream &os, const texpr0 &s) |
void | apxx_texpr0_ostream (std::ostream &os, ap_texpr0_t *a, std::vector< std::string > *names) |
std::ostream & | operator<< (std::ostream &os, const texpr0::const_iterator &s) |
texpr0::builder | unary (ap_texpr_op_t op, const texpr0::builder &a, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | binary (ap_texpr_op_t op, const texpr0::builder &a, const texpr0::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
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) |
texpr0::builder | sub (const texpr0::builder &a, const texpr0::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | mul (const texpr0::builder &a, const texpr0::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | div (const texpr0::builder &a, const texpr0::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | mod (const texpr0::builder &a, const texpr0::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | pow (const texpr0::builder &a, const texpr0::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | neg (const texpr0::builder &a, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | cast (const texpr0::builder &a, ap_texpr_rtype_t rtype, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | floor (const texpr0::builder &a) |
texpr0::builder | ceil (const texpr0::builder &a) |
texpr0::builder | trunc (const texpr0::builder &a) |
texpr0::builder | sqrt (const texpr0::builder &a, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr0::builder | operator+ (const texpr0::builder &a) |
texpr0::builder | operator- (const texpr0::builder &a) |
texpr0::builder | operator+ (const texpr0::builder &a, const texpr0::builder &b) |
texpr0::builder | operator- (const texpr0::builder &a, const texpr0::builder &b) |
texpr0::builder | operator * (const texpr0::builder &a, const texpr0::builder &b) |
texpr0::builder | operator/ (const texpr0::builder &a, const texpr0::builder &b) |
texpr0::builder | operator% (const texpr0::builder &a, const texpr0::builder &b) |
texpr0::builder | operator^ (const texpr0::builder &a, const texpr0::builder &b) |
void | apxx_texpr0_env_ostream (std::ostream &os, ap_environment_t *env, ap_texpr0_t *a) |
std::ostream & | operator<< (std::ostream &os, const texpr1 &s) |
std::ostream & | operator<< (std::ostream &os, const texpr1::const_iterator &s) |
texpr1::builder | unary (ap_texpr_op_t op, const texpr1::builder &a, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | binary (ap_texpr_op_t op, const texpr1::builder &a, const texpr1::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | add (const texpr1::builder &a, const texpr1::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | sub (const texpr1::builder &a, const texpr1::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | mul (const texpr1::builder &a, const texpr1::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | div (const texpr1::builder &a, const texpr1::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | mod (const texpr1::builder &a, const texpr1::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | pow (const texpr1::builder &a, const texpr1::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | neg (const texpr1::builder &a, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | cast (const texpr1::builder &a, ap_texpr_rtype_t rtype, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | floor (const texpr1::builder &a) |
texpr1::builder | ceil (const texpr1::builder &a) |
texpr1::builder | trunc (const texpr1::builder &a) |
texpr1::builder | sqrt (const texpr1::builder &a, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST) |
texpr1::builder | operator+ (const texpr1::builder &a) |
texpr1::builder | operator- (const texpr1::builder &a) |
texpr1::builder | operator+ (const texpr1::builder &a, const texpr1::builder &b) |
texpr1::builder | operator- (const texpr1::builder &a, const texpr1::builder &b) |
texpr1::builder | operator * (const texpr1::builder &a, const texpr1::builder &b) |
texpr1::builder | operator/ (const texpr1::builder &a, const texpr1::builder &b) |
texpr1::builder | operator% (const texpr1::builder &a, const texpr1::builder &b) |
texpr1::builder | operator^ (const texpr1::builder &a, const texpr1::builder &b) |
int | compare (const var &x, const var &y) |
bool | operator== (const var &x, const var &y) |
bool | operator!= (const var &x, const var &y) |
bool | operator>= (const var &x, const var &y) |
bool | operator<= (const var &x, const var &y) |
bool | operator> (const var &x, const var &y) |
bool | operator< (const var &x, const var &y) |
std::ostream & | operator<< (std::ostream &os, const var &s) |
|
inline |
|
inline |
|
inline |
project
whether to set the new dimensions to 0 (if true), or leave them undefined (if false).
|
inline |
y
can only contain rays and lines, not vertexes.
|
inline |
y
can only contain rays and lines, not vertexes.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void apron::apxx_texpr0_env_ostream | ( | std::ostream & | os, |
ap_environment_t * | env, | ||
ap_texpr0_t * | a | ||
) |
void apron::apxx_texpr0_ostream | ( | std::ostream & | os, |
ap_texpr0_t * | a, | ||
std::vector< std::string > * | names | ||
) |
|
inline |
dst is replaced with the effect of assigning l to dimension dim in src. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of assigning l[i] to dimension dim[i] in src, for i from 0 to size-1. Assignments are performed in parallel. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of assigning l[i] to dimension dim[i] in src. Assignments are performed in parallel. If inter is specified, dst is then intersected with it.
std::invalid_argument | if the vectors have different size. |
|
inline |
dst is replaced with the effect of assigning l to dimension dim in src. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of assigning l[i] to dimension dim[i] in src, for i from 0 to size-1. Assignments are performed in parallel. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of assigning l[i] to dimension dim[i] in src. Assignments are performed in parallel. If inter is specified, dst is then intersected with it.
std::invalid_argument | if the vectors have different size. |
|
inline |
dst is replaced with the effect of assigning l to variable v in src. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of assigning l[i] to variable v[i] in src, for i from 0 to size-1. Assignments are performed in parallel. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of assigning l[i] to variable v[i] in src. Assignments are performed in parallel. If inter is specified, dst is then intersected with it.
std::invalid_argument | if the vectors have different size. |
|
inline |
dst is replaced with the effect of assigning l to variable v in src. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of assigning l[i] to variable v[i] in src, for i from 0 to size-1. Assignments are performed in parallel. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of assigning l[i] to variable v[i] in src. Assignments are performed in parallel. If inter is specified, dst is then intersected with it.
std::invalid_argument | if the vectors have different size. |
|
inline |
Creates only one node. The argument expressions is aliased, not copied.
op
should be a binary operator: addition (AP_TEXPR_ADD
), subtraction (AP_TEXPR_SUB
), multiplication (AP_TEXPR_MUL
), division (AP_TEXPR_DIV
), modulo (AP_TEXPR_MOD
), or power (AP_TEXPR_POW
). argA
should point to the left argument expression. argB
should point to the right argument expression. rtype
is the destination type (for rounding): reals (AP_RTYPE_REAL
, means no rounding), perfect integers (AP_RTYPE_INT
), 32-bit single precision (AP_RTYPE_SINGLE
), 64-bit double precision (AP_RTYPE_DOUBLE
), 80-bit extended precision (AP_RTYPE_EXTENDED
). rdir
is the rounding direction: to nearest (AP_RDIR_NEAREST
), truncation (AP_RDIR_ZERO
), towards +oo (AP_RDIR_UP
), towards -oo (AP_RDIR_DOWN
), or non-deterministic (AP_RDIR_RND
). std::invalid_argument | if op is not a binary operator. |
|
inline |
Creates only one node. The argument expressions is aliased, not copied.
op
should be a binary operator: addition (AP_TEXPR_ADD
), subtraction (AP_TEXPR_SUB
), multiplication (AP_TEXPR_MUL
), division (AP_TEXPR_DIV
), or modulo (AP_TEXPR_MOD
, AP_TEXPR_POW
). argA
should point to the left argument expression. argB
should point to the right argument expression. rtype
is the destination type (for rounding): reals (AP_RTYPE_REAL
, means no rounding), perfect integers (AP_RTYPE_INT
), 32-bit single precision (AP_RTYPE_SINGLE
), 64-bit double precision (AP_RTYPE_DOUBLE
), 80-bit extended precision (AP_RTYPE_EXTENDED
). rdir
is the rounding direction: to nearest (AP_RDIR_NEAREST
), truncation (AP_RDIR_ZERO
), towards +oo (AP_RDIR_UP
), towards -oo (AP_RDIR_DOWN
), or non-deterministic (AP_RDIR_RND
). std::invalid_argument | if op is not a binary operator. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
project
whether new variables are initialized to 0 (if true), or undefined (if false).
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The managers used to serialized and deserialize need not be the same, but they must have been created using the same library and with the same arguments.
eaten
, if not NULL, will be set to the actual number of bytes consumed from the string.
|
inline |
The managers used to serialized and deserialize need not be the same, but they must have been created using the same library and with the same arguments.
eaten
, if not NULL, will be set to the actual number of bytes consumed from the string.
|
inline |
|
inline |
|
inline |
New dimensions are appended after the last integer or real dimension of dst.
|
inline |
New variables are named vv[0] to vv[size-1].
|
inline |
The i-th new variables is named vv[i].
|
inline |
|
inline |
|
inline |
dim must be sorted and contain variables of the same type (integer or real). After folding, only dim[0] is kept and other dimensions are removed.
|
inline |
dim must be sorted and contain variables of the same type (integer or real). After folding, only dim[0] is kept and other dimensions are removed.
|
inline |
After folding, only v[0] is kept and other variables are removed.
|
inline |
After folding, only v[0] is kept and other variables are removed.
|
inline |
project
if true, resets the dimension to 0 (if true).
|
inline |
project
whether to reset the dimensions to 0 (if true), or leave them undefined (if false).
|
inline |
project
whether to reset the dimensions to 0 (if true), or leave them undefined (if false).
|
inline |
project
if true, resets the variable to 0 (if true).
|
inline |
project
whether to reset the variables to 0 (if true), or leave them undefined (if false).
|
inline |
project
whether to reset the variables to 0 (if true), or leave them undefined (if false).
|
inline |
std::invalid_argument | if x is not a subset of y, or if x and chg have different size. |
|
inline |
|
inline |
Whether the operator is binary.
|
inline |
Whether the operator is unary.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
std::invalid_argument | if some variable name has different type in both environments |
|
inline |
Sets chgx (resp. chgy) to the dimension transformation that has been performed after appending the required variable names to x (resp. y) to keep them sorted.
std::invalid_argument | if some variable name has different type in both environments |
|
inline |
std::invalid_argument | if some variable name has different type in different environments |
|
inline |
std::invalid_argument | if some variable name has different type in different environments |
|
inline |
Sets chg[i] to the dimension transformation that has been performed after appending the required variable names to x[i] to keep them sorted. chg must have space for at least env_size elements.
std::invalid_argument | if some variable name has different type in different environments |
|
inline |
Sets chg[i] to the dimension transformation that has been performed after appending the required variable names to x[i] to keep them sorted. chg must have space for at least env_size elements.
std::invalid_argument | if some variable name has different type in different environments |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
std::invalid_argument | if x and y do not have the same size. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The manager for the left argument is used implicitly.
|
inline |
|
inline |
The manager for the left argument is used implicitly.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The manager for the left argument is used implicitly.
The manager for the left argument is used implicitly.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Variable naming can be configured through the varname stream modifier.
|
inline |
Variable naming can be configured through the varname stream modifier.
std::invalid_argument | if the underlying expression is missing. |
|
inline |
|
inline |
Variable naming can be configured through the varname stream modifier.
|
inline |
|
inline |
Variable naming can be configured through the varname stream modifier.
std::invalid_argument | if the underlying expression is missing, or the auxiliary scalar is missing (for modulo). |
|
inline |
|
inline |
Variable naming can be configured through the varname stream modifier.
|
inline |
|
inline |
|
inline |
Variable naming can be configured through the varname stream modifier.
std::invalid_argument | if the underlying expression is missing, or the extra scalar is missing (for modulo). |
|
inline |
|
inline |
std::invalid_argument | if the underlying expression is missing, or the extra scalar is missing (for modulo). |
|
inline |
|
inline |
Variable naming can be configured through the varname stream modifier.
|
inline |
Variable naming can be configured through the varname stream modifier.
std::invalid_argument | an underlying expression is missing. |
|
inline |
|
inline |
|
inline |
|
inline |
Variable naming can be configured through the varname stream modifier.
|
inline |
|
inline |
std::invalid_argument | an underlying expression is missing, or an auxiliary scalar is missing (for modulo generator). |
|
inline |
Variable naming can be configured through the varname stream modifier.
std::invalid_argument | an underlying expression is missing, or an auxiliary scalar is missing (for modulo constraint). |
|
inline |
|
inline |
std::invalid_argument | an underlying expression is missing, or an auxiliary scalar is missing (for modulo constraint). |
|
inline |
Variable naming can be configured through the varname stream modifier.
std::invalid_argument | an underlying expression is missing, or an extra scalar is missing (for modulo constraint). |
|
inline |
std::invalid_argument | an underlying expression is missing, or an auxiliary scalar is missing (for modulo constraint). |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The manager for the left argument is used implicitly.
The manager for the left argument is used implicitly.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The manager for the left argument is used implicitly.
The manager for the left argument is used implicitly.
|
inline |
|
inline |
|
inline |
|
inline |
The manager for the left argument is used implicitly.
The manager for the left argument is used implicitly.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The manager for the left argument is used implicitly.
The manager for the left argument is used implicitly.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
dst is replaced with the effect of substituting l to dimension dim in src. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of substituting l[i] to dimension dim[i] in src, for i from 0 to size-1. Substitutions are performed in parallel. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of substituting l[i] to dimension dim[i] in src. Substitutions are performed in parallel. If inter is specified, dst is then intersected with it.
std::invalid_argument | if the vectors have different size. |
|
inline |
dst is replaced with the effect of substituting l to dimension dim in src. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of substituting l[i] to dimension dim[i] in src, for i from 0 to size-1. Substitutions are performed in parallel. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of substituting l[i] to dimension dim[i] in src. Substitutions are performed in parallel. If inter is specified, dst is then intersected with it.
std::invalid_argument | if the vectors have different size. |
|
inline |
dst is replaced with the effect of substituting l to variable v in src. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of substituting l[i] to variable v[i] in src, for i from 0 to size-1. Substitutions are performed in parallel. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of substituting l[i] to variable v[i] in src. Substitutions are performed in parallel. If inter is specified, dst is then intersected with it.
std::invalid_argument | if the vectors have different size. |
|
inline |
dst is replaced with the effect of substituting l to variable v in src. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of substituting l[i] to variable v[i] in src, for i from 0 to size-1. Substitutions are performed in parallel. If inter is specified, dst is then intersected with it.
|
inline |
dst is replaced with the effect of substituting l[i] to variable v[i] in src. Substitutions are performed in parallel. If inter is specified, dst is then intersected with it.
std::invalid_argument | if the vectors have different size. |
|
inline |
|
inline |
|
inline |
Creates only one node. The argument expression is aliased, not copied.
op
should be a unary operator: negation (AP_TEXPR_NEG
), typecast (AP_TEXPR_CAST
), or square root (AP_TEXPR_SQRT
). argA
should point to the argument expression. rtype
is the destination type (for rounding): reals (AP_RTYPE_REAL
, means no rounding), perfect integers (AP_RTYPE_INT
), 32-bit single precision (AP_RTYPE_SINGLE
), 64-bit double precision (AP_RTYPE_DOUBLE
), 80-bit extended precision (AP_RTYPE_EXTENDED
), or 128-bit quadruple precision (AP_RTYPE_QUAD
). rdir
is the rounding direction: to nearest (AP_RDIR_NEAREST
), truncation (AP_RDIR_ZERO
), towards +oo (AP_RDIR_UP
), towards -oo (AP_RDIR_DOWN
), or non-deterministic (AP_RDIR_RND
). std::invalid_argument | if op is not a unary operator. |
|
inline |
Creates only one node. The argument expression is aliased, not copied.
op
should be a unary operator: negation (AP_TEXPR_NEG
), typecast (AP_TEXPR_CAST
), or square root (AP_TEXPR_SQRT
). argA
should point to the argument expression. rtype
is the destination type (for rounding): reals (AP_RTYPE_REAL
, means no rounding), perfect integers (AP_RTYPE_INT
), 32-bit single precision (AP_RTYPE_SINGLE
), 64-bit double precision (AP_RTYPE_DOUBLE
), 80-bit extended precision (AP_RTYPE_EXTENDED
), or 128-bit quadruple precision (AP_RTYPE_QUAD
). rdir
is the rounding direction: to nearest (AP_RDIR_NEAREST
), truncation (AP_RDIR_ZERO
), towards +oo (AP_RDIR_UP
), towards -oo (AP_RDIR_DOWN
), or non-deterministic (AP_RDIR_RND
). std::invalid_argument | if op is not a unary operator. |
|
inline |
x and y can have different environment. They are first embedded into the least common environment before the meet is computed.
|
inline |
|
inline |
|
inline |