From: Sven Verdoolaege Date: Sat, 12 Jun 2010 09:14:31 +0000 (+0200) Subject: add isl_qpolynomial_insert_dims X-Git-Tag: isl-0.03~130 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a511058f4bc1d7b657b95bc3f4c8e29dff5bdbe0;p=platform%2Fupstream%2Fisl.git add isl_qpolynomial_insert_dims --- diff --git a/isl_polynomial.c b/isl_polynomial.c index 7a09e0d..757ed25 100644 --- a/isl_polynomial.c +++ b/isl_polynomial.c @@ -2031,8 +2031,9 @@ error: return NULL; } -__isl_give isl_qpolynomial *isl_qpolynomial_add_dims( - __isl_take isl_qpolynomial *qp, enum isl_dim_type type, unsigned n) +__isl_give isl_qpolynomial *isl_qpolynomial_insert_dims( + __isl_take isl_qpolynomial *qp, enum isl_dim_type type, + unsigned first, unsigned n) { unsigned total; unsigned g_pos; @@ -2045,7 +2046,10 @@ __isl_give isl_qpolynomial *isl_qpolynomial_add_dims( if (!qp) return NULL; - g_pos = pos(qp->dim, type) + isl_dim_size(qp->dim, type); + isl_assert(qp->div->ctx, first <= isl_dim_size(qp->dim, type), + goto error); + + g_pos = pos(qp->dim, type) + first; qp->div = isl_mat_insert_cols(qp->div, 2 + g_pos, n); if (!qp->div) @@ -2065,7 +2069,7 @@ __isl_give isl_qpolynomial *isl_qpolynomial_add_dims( goto error; } - qp->dim = isl_dim_add(qp->dim, type, n); + qp->dim = isl_dim_insert(qp->dim, type, first, n); if (!qp->dim) goto error; @@ -2075,6 +2079,16 @@ error: return NULL; } +__isl_give isl_qpolynomial *isl_qpolynomial_add_dims( + __isl_take isl_qpolynomial *qp, enum isl_dim_type type, unsigned n) +{ + unsigned pos; + + pos = isl_qpolynomial_dim(qp, type); + + return isl_qpolynomial_insert_dims(qp, type, pos, n); +} + __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_add_dims( __isl_take isl_pw_qpolynomial *pwqp, enum isl_dim_type type, unsigned n)