In particular, the old version wouldn't cow and it wouldn't change
the dimension of the nested isl_qpolynomials.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_reset_dim(
__isl_take isl_qpolynomial_fold *fold, __isl_take isl_dim *dim)
{
+ int i;
+
+ fold = isl_qpolynomial_fold_cow(fold);
if (!fold || !dim)
goto error;
+ for (i = 0; i < fold->n; ++i) {
+ fold->qp[i] = isl_qpolynomial_reset_dim(fold->qp[i],
+ isl_dim_copy(dim));
+ if (!fold->qp[i])
+ goto error;
+ }
+
isl_dim_free(fold->dim);
fold->dim = dim;
__isl_give isl_qpolynomial *isl_qpolynomial_reset_dim(
__isl_take isl_qpolynomial *qp, __isl_take isl_dim *dim)
{
+ qp = isl_qpolynomial_cow(qp);
if (!qp || !dim)
goto error;