From 4ba9ba329de7cc9cbd9893fa95dc53ab4e0bb3b5 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 18 Apr 2013 12:03:54 +0200 Subject: [PATCH] evalue_isl.c: div2evalue: use isl_val Signed-off-by: Sven Verdoolaege --- evalue_isl.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/evalue_isl.c b/evalue_isl.c index 8d04cf6..82ad85c 100644 --- a/evalue_isl.c +++ b/evalue_isl.c @@ -289,6 +289,7 @@ static evalue *div2evalue(__isl_take isl_aff *div) { int i; isl_ctx *ctx; + isl_val *v; Vector *vec = NULL; unsigned dim; unsigned nparam; @@ -309,13 +310,22 @@ static evalue *div2evalue(__isl_take isl_aff *div) vec = Vector_Alloc(1 + dim + nparam + 1); if (!vec) goto error; - for (i = 0; i < dim; ++i) - isl_aff_get_coefficient(div, isl_dim_in, i, &vec->p[1 + i]); - for (i = 0; i < nparam; ++i) - isl_aff_get_coefficient(div, isl_dim_param, i, - &vec->p[1 + dim + i]); - isl_aff_get_denominator(div, &vec->p[0]); - isl_aff_get_constant(div, &vec->p[1 + dim + nparam]); + v = isl_aff_get_denominator_val(div); + isl_val_get_num_gmp(v, vec->p[0]); + div = isl_aff_scale_val(div, v); + for (i = 0; i < dim; ++i) { + v = isl_aff_get_coefficient_val(div, isl_dim_in, i); + isl_val_get_num_gmp(v, vec->p[1 + i]); + isl_val_free(v); + } + for (i = 0; i < nparam; ++i) { + v = isl_aff_get_coefficient_val(div, isl_dim_param, i); + isl_val_get_num_gmp(v, vec->p[1 + dim + i]); + isl_val_free(v); + } + v = isl_aff_get_constant_val(div); + isl_val_get_num_gmp(v, vec->p[1 + dim + nparam]); + isl_val_free(v); e = isl_alloc_type(ctx, evalue); if (!e) -- 2.11.4.GIT