isl_tab_basic_map_partial_lexopt: detect modulos and integer divisions earlier
[isl.git] / isl_bound.h
blob13a5813a77e3047e114f67156f91a371c04ee574
1 #ifndef ISL_BOUND_H
2 #define ISL_BOUND_H
4 #include <isl/polynomial.h>
6 struct isl_bound {
7 /* input */
8 int check_tight;
9 int wrapping;
10 enum isl_fold type;
11 isl_space *dim;
12 isl_basic_set *bset;
13 isl_qpolynomial_fold *fold;
15 /* output */
16 isl_pw_qpolynomial_fold *pwf;
17 isl_pw_qpolynomial_fold *pwf_tight;
20 __isl_give isl_pw_qpolynomial_fold *isl_qpolynomial_cst_bound(
21 __isl_take isl_basic_set *bset, __isl_take isl_qpolynomial *poly,
22 enum isl_fold type, isl_bool *tight);
24 isl_stat isl_bound_add(struct isl_bound *bound,
25 __isl_take isl_pw_qpolynomial_fold *pwf);
26 isl_stat isl_bound_add_tight(struct isl_bound *bound,
27 __isl_take isl_pw_qpolynomial_fold *pwf);
29 #endif