1*5971e316Smrg #ifndef ISL_BOUND_H 2*5971e316Smrg #define ISL_BOUND_H 3*5971e316Smrg 4*5971e316Smrg #include <isl/polynomial.h> 5*5971e316Smrg 6*5971e316Smrg struct isl_bound { 7*5971e316Smrg /* input */ 8*5971e316Smrg int check_tight; 9*5971e316Smrg int wrapping; 10*5971e316Smrg enum isl_fold type; 11*5971e316Smrg isl_space *dim; 12*5971e316Smrg isl_basic_set *bset; 13*5971e316Smrg isl_qpolynomial_fold *fold; 14*5971e316Smrg 15*5971e316Smrg /* output */ 16*5971e316Smrg isl_pw_qpolynomial_fold *pwf; 17*5971e316Smrg isl_pw_qpolynomial_fold *pwf_tight; 18*5971e316Smrg }; 19*5971e316Smrg 20*5971e316Smrg __isl_give isl_pw_qpolynomial_fold *isl_qpolynomial_cst_bound( 21*5971e316Smrg __isl_take isl_basic_set *bset, __isl_take isl_qpolynomial *poly, 22*5971e316Smrg enum isl_fold type, isl_bool *tight); 23*5971e316Smrg 24*5971e316Smrg isl_stat isl_bound_add(struct isl_bound *bound, 25*5971e316Smrg __isl_take isl_pw_qpolynomial_fold *pwf); 26*5971e316Smrg isl_stat isl_bound_add_tight(struct isl_bound *bound, 27*5971e316Smrg __isl_take isl_pw_qpolynomial_fold *pwf); 28*5971e316Smrg 29*5971e316Smrg #endif 30