/usr/include/ap_linearize_aux.h is in libapron-dev 0.9.10-9.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | /* ************************************************************************* */
/* ap_linearize_aux.h: auxiliary functions for (quasi)linearisation */
/* ************************************************************************* */
/* This file is part of the APRON Library, released under LGPL license. Please
read the COPYING file packaged in the distribution */
/* Auxiliary module to ap_linearize, which contains functions depending of the
number representation */
/* may be included several times, with different NUM_ defined */
#if !defined(NUM_MPQ) && !defined(NUM_DOUBLE) && !defined(NUM_LONGDOUBLE) && !defined(NUM_MPFR)
#error "Wrong NUM type"
#endif
#include "ap_manager.h"
#include "ap_expr0.h"
#include "ap_abstract0.h"
#include "itv_fun.h"
#ifdef __cplusplus
extern "C" {
#endif
/* ********************************************************************** */
/* I. Evaluation of interval linear expressions */
/* ********************************************************************** */
ap_interval_t*
ITVFUN(ap_eval_linexpr0)(ap_manager_t* man,
ap_abstract0_t* abs, ap_linexpr0_t* expr,
bool* pexact);
/* ********************************************************************** */
/* II. Quasilinearization of interval linear expressions */
/* ********************************************************************** */
ap_linexpr0_t*
ITVFUN(ap_quasilinearize_linexpr0)(ap_manager_t* man,
ap_abstract0_t* abs, ap_linexpr0_t* linexpr0,
bool* pexact);
ap_lincons0_t
ITVFUN(ap_quasilinearize_lincons0)(ap_manager_t* man,
ap_abstract0_t* abs, ap_lincons0_t* lincons0,
bool* pexact, bool meet);
ap_linexpr0_t**
ITVFUN(ap_quasilinearize_linexpr0_array)(ap_manager_t* man,
ap_abstract0_t* abs, ap_linexpr0_t** texpr, size_t size,
bool* pexact);
ap_lincons0_array_t
ITVFUN(ap_quasilinearize_lincons0_array)(ap_manager_t* man,
ap_abstract0_t* abs, ap_lincons0_array_t* array, bool* pexact,
bool linearize, bool meet);
/* ********************************************************************** */
/* III. Evaluation of tree expressions */
/* ********************************************************************** */
ap_interval_t*
ITVFUN(ap_eval_texpr0)(ap_manager_t* man,
ap_abstract0_t* abs, ap_texpr0_t* expr,
bool* pexact);
/* ********************************************************************** */
/* IV. Interval linearization of linear tree expressions */
/* ********************************************************************** */
/* Linearize a tree expression that is (syntaxically) interval linear with
exact arithmetic.
Compared to ap_intlinearize_texpr0() function below, this functions does
not require a bounding box for dimensions.
If the precondition is violated, returns NULL.
*/
ap_linexpr0_t*
ITVFUN(ap_intlinearize_texpr0_intlinear)(ap_manager_t* man,
ap_texpr0_t* expr);
/* ********************************************************************** */
/* V. Interval linearization of tree expressions */
/* ********************************************************************** */
ap_linexpr0_t*
ITVFUN(ap_intlinearize_texpr0)(ap_manager_t* man,
ap_abstract0_t* abs, ap_texpr0_t* expr,
bool* pexact, bool quasilinearize);
ap_linexpr0_t**
ITVFUN(ap_intlinearize_texpr0_array)(ap_manager_t* man,
ap_abstract0_t* abs, ap_texpr0_t** texpr0, size_t size,
bool* pexact, bool quasilinearize);
ap_lincons0_t
ITVFUN(ap_intlinearize_tcons0)(ap_manager_t* man,
ap_abstract0_t* abs, ap_tcons0_t* cons,
bool* pexact, bool quasilinearize, bool meet);
ap_lincons0_array_t
ITVFUN(ap_intlinearize_tcons0_array)(ap_manager_t* man,
ap_abstract0_t* abs, ap_tcons0_array_t* array,
bool* pexact,
ap_linexpr_type_t linearize, bool meet,
bool boxize, size_t kmax, bool intervalonly);
#ifdef __cplusplus
}
#endif
|