__isl_give isl_qpolynomial *isl_pw_qpolynomial_fold_eval(
__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_point *pnt);
+int isl_pw_qpolynomial_fold_foreach_piece(
+ __isl_keep isl_pw_qpolynomial_fold *pwf,
+ int (*fn)(__isl_take isl_set *set, __isl_take isl_qpolynomial_fold *fold,
+ void *user), void *user);
int isl_pw_qpolynomial_fold_foreach_lifted_piece(
__isl_keep isl_pw_qpolynomial_fold *pwf,
int (*fn)(__isl_take isl_set *set, __isl_take isl_qpolynomial_fold *fold,
return NULL;
}
-int isl_pw_qpolynomial_foreach_piece(__isl_keep isl_pw_qpolynomial *pwqp,
- int (*fn)(__isl_take isl_set *set, __isl_take isl_qpolynomial *qp,
- void *user), void *user)
-{
- int i;
-
- if (!pwqp)
- return -1;
-
- for (i = 0; i < pwqp->n; ++i)
- if (fn(isl_set_copy(pwqp->p[i].set),
- isl_qpolynomial_copy(pwqp->p[i].qp), user) < 0)
- return -1;
-
- return 0;
-}
-
__isl_give isl_qpolynomial *isl_qpolynomial_lift(__isl_take isl_qpolynomial *qp,
__isl_take isl_dim *dim)
{
return NULL;
}
+int FN(PW,foreach_piece)(__isl_keep PW *pw,
+ int (*fn)(__isl_take isl_set *set, __isl_take EL *el, void *user),
+ void *user)
+{
+ int i;
+
+ if (!pw)
+ return -1;
+
+ for (i = 0; i < pw->n; ++i)
+ if (fn(isl_set_copy(pw->p[i].set),
+ FN(EL,copy)(pw->p[i].FIELD), user) < 0)
+ return -1;
+
+ return 0;
+}
+
static int any_divs(__isl_keep isl_set *set)
{
int i;