diff options
author | Sven Verdoolaege <skimo@kotnet.org> | 2011-07-25 09:01:53 +0200 |
---|---|---|
committer | Sven Verdoolaege <skimo@kotnet.org> | 2011-07-28 16:44:50 +0200 |
commit | a375d8331bc507207c7aee6f6807044023e05136 (patch) | |
tree | 4fe8b5db82b3e6b3baa0e4ed9307a7b8b48e847b /isl_polynomial.c | |
parent | 93d535d72ed7891b1adf5c8e31f7207697906a9f (diff) | |
download | isl-a375d8331bc507207c7aee6f6807044023e05136.tar.gz isl-a375d8331bc507207c7aee6f6807044023e05136.tar.bz2 isl-a375d8331bc507207c7aee6f6807044023e05136.zip |
add isl_pw_qpolynomial_from_pw_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Diffstat (limited to 'isl_polynomial.c')
-rw-r--r-- | isl_polynomial.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/isl_polynomial.c b/isl_polynomial.c index 5a78619a..14a7b52d 100644 --- a/isl_polynomial.c +++ b/isl_polynomial.c @@ -3026,6 +3026,30 @@ error: return NULL; } +__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_pw_aff( + __isl_take isl_pw_aff *pwaff) +{ + int i; + isl_pw_qpolynomial *pwqp; + + if (!pwaff) + return NULL; + + pwqp = isl_pw_qpolynomial_alloc_(isl_pw_aff_get_dim(pwaff), pwaff->n); + + for (i = 0; i < pwaff->n; ++i) { + isl_set *dom; + isl_qpolynomial *qp; + + dom = isl_set_copy(pwaff->p[i].set); + qp = isl_qpolynomial_from_aff(isl_aff_copy(pwaff->p[i].aff)); + pwqp = isl_pw_qpolynomial_add_piece(pwqp, dom, qp); + } + + isl_pw_aff_free(pwaff); + return pwqp; +} + __isl_give isl_qpolynomial *isl_qpolynomial_from_constraint( __isl_take isl_constraint *c, enum isl_dim_type type, unsigned pos) { |