From bc41b17bbc42c6bb94cea6a97f0b23791eebbbda Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 18 Apr 2013 11:44:42 +0200 Subject: [PATCH] evalue_isl.c: extract_base: use isl_val Signed-off-by: Sven Verdoolaege --- evalue_isl.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/evalue_isl.c b/evalue_isl.c index 216c0cf..2689437 100644 --- a/evalue_isl.c +++ b/evalue_isl.c @@ -12,6 +12,7 @@ static __isl_give isl_qpolynomial *extract_base(__isl_take isl_space *dim, isl_ctx *ctx; isl_local_space *ls; isl_aff *aff; + isl_val *val; isl_qpolynomial *base, *c; unsigned nparam; @@ -33,12 +34,16 @@ static __isl_give isl_qpolynomial *extract_base(__isl_take isl_space *dim, ls = isl_local_space_from_space(isl_space_copy(dim)); aff = isl_aff_zero_on_domain(ls); - aff = isl_aff_set_constant(aff, v->p[1]); - aff = isl_aff_set_denominator(aff, v->p[0]); + val = isl_val_int_from_gmp(ctx, v->p[1]); + aff = isl_aff_set_constant_val(aff, val); - for (i = 0; i < nparam; ++i) - aff = isl_aff_set_coefficient(aff, isl_dim_param, i, - v->p[2 + i]); + for (i = 0; i < nparam; ++i) { + val = isl_val_int_from_gmp(ctx, v->p[2 + i]); + aff = isl_aff_set_coefficient_val(aff, isl_dim_param, i, val); + } + + val = isl_val_int_from_gmp(ctx, v->p[0]); + aff = isl_aff_scale_down_val(aff, val); aff = isl_aff_floor(aff); base = isl_qpolynomial_from_aff(aff); @@ -46,13 +51,15 @@ static __isl_give isl_qpolynomial *extract_base(__isl_take isl_space *dim, if (e->x.p->type == fractional) { base = isl_qpolynomial_neg(base); - c = isl_qpolynomial_rat_cst_on_domain(isl_space_copy(dim), v->p[1], v->p[0]); + val = isl_val_from_gmp(ctx, v->p[1], v->p[0]); + c = isl_qpolynomial_val_on_domain(isl_space_copy(dim), val); base = isl_qpolynomial_add(base, c); for (i = 0; i < nparam; ++i) { isl_qpolynomial *t; - c = isl_qpolynomial_rat_cst_on_domain(isl_space_copy(dim), - v->p[2 + i], v->p[0]); + val = isl_val_from_gmp(ctx, v->p[2 + i], v->p[0]); + c = isl_qpolynomial_val_on_domain(isl_space_copy(dim), + val); t = isl_qpolynomial_var_on_domain(isl_space_copy(dim), isl_dim_param, i); t = isl_qpolynomial_mul(c, t); -- 2.11.4.GIT