add isl_basic_set_multiplicative_call
[platform/upstream/isl.git] / include / isl_polynomial.h
index b49bf9b..412e2ba 100644 (file)
@@ -27,6 +27,7 @@ int isl_qpolynomial_involves_dims(__isl_keep isl_qpolynomial *qp,
        enum isl_dim_type type, unsigned first, unsigned n);
 
 __isl_give isl_qpolynomial *isl_qpolynomial_zero(__isl_take isl_dim *dim);
+__isl_give isl_qpolynomial *isl_qpolynomial_one(__isl_take isl_dim *dim);
 __isl_give isl_qpolynomial *isl_qpolynomial_infty(__isl_take isl_dim *dim);
 __isl_give isl_qpolynomial *isl_qpolynomial_neginfty(__isl_take isl_dim *dim);
 __isl_give isl_qpolynomial *isl_qpolynomial_nan(__isl_take isl_dim *dim);
@@ -205,6 +206,13 @@ __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_coalesce(
 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_gist(
        __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_set *context);
 
+__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_split_periods(
+       __isl_take isl_pw_qpolynomial *pwqp, int max_periods);
+
+__isl_give isl_pw_qpolynomial *isl_basic_set_multiplicative_call(
+       __isl_take isl_basic_set *bset,
+       __isl_give isl_pw_qpolynomial *(*fn)(__isl_take isl_basic_set *bset));
+
 enum isl_fold {
        isl_fold_min,
        isl_fold_max,
@@ -338,6 +346,9 @@ __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_bound(
        __isl_take isl_pw_qpolynomial *pwqp, enum isl_fold type, int *tight);
 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_bound(
        __isl_take isl_pw_qpolynomial_fold *pwf, int *tight);
+__isl_give isl_pw_qpolynomial_fold *isl_map_apply_pw_qpolynomial_fold(
+       __isl_take isl_map *map, __isl_take isl_pw_qpolynomial_fold *pwf,
+       int *tight);
 
 struct isl_union_pw_qpolynomial;
 typedef struct isl_union_pw_qpolynomial isl_union_pw_qpolynomial;
@@ -383,6 +394,10 @@ __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_gist(
        __isl_take isl_union_pw_qpolynomial *upwqp,
        __isl_take isl_union_set *context);
 
+__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_align_params(
+       __isl_take isl_union_pw_qpolynomial *upwqp,
+       __isl_take isl_dim *model);
+
 int isl_union_pw_qpolynomial_foreach_pw_qpolynomial(
        __isl_keep isl_union_pw_qpolynomial *upwqp,
        int (*fn)(__isl_take isl_pw_qpolynomial *pwqp, void *user), void *user);
@@ -420,6 +435,8 @@ __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_intersec
        __isl_take isl_union_pw_qpolynomial_fold *upwf,
        __isl_take isl_union_set *uset);
 
+enum isl_fold isl_union_pw_qpolynomial_fold_get_type(
+       __isl_keep isl_union_pw_qpolynomial_fold *upwf);
 __isl_give isl_dim *isl_union_pw_qpolynomial_fold_get_dim(
        __isl_keep isl_union_pw_qpolynomial_fold *upwf);
 
@@ -433,6 +450,10 @@ __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_gist(
        __isl_take isl_union_pw_qpolynomial_fold *upwf,
        __isl_take isl_union_set *context);
 
+__isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_align_params(
+       __isl_take isl_union_pw_qpolynomial_fold *upwf,
+       __isl_take isl_dim *model);
+
 int isl_union_pw_qpolynomial_fold_foreach_pw_qpolynomial_fold(
        __isl_keep isl_union_pw_qpolynomial_fold *upwf,
        int (*fn)(__isl_take isl_pw_qpolynomial_fold *pwf,
@@ -445,6 +466,9 @@ __isl_give isl_printer *isl_printer_print_union_pw_qpolynomial_fold(
 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_bound(
        __isl_take isl_union_pw_qpolynomial *upwqp,
        enum isl_fold type, int *tight);
+__isl_give isl_union_pw_qpolynomial_fold *isl_union_map_apply_union_pw_qpolynomial_fold(
+       __isl_take isl_union_map *umap,
+       __isl_take isl_union_pw_qpolynomial_fold *upwf, int *tight);
 
 #if defined(__cplusplus)
 }