1 #ifndef ISL_BOUND_H
2 #define ISL_BOUND_H
3 
4 #include <isl/polynomial.h>
5 
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;
14 
15 	/* output */
16 	isl_pw_qpolynomial_fold *pwf;
17 	isl_pw_qpolynomial_fold *pwf_tight;
18 };
19 
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);
23 
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);
28 
29 #endif
30