X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_bound.c;h=04c76a0ffb23e965c78dcc2ebb5927088546fcae;hb=7bc3560a92635b5dcf7eb9e7329992fc935a1ce2;hp=2a69f06a6d17efee4297eead5ac1f6d976b6dd06;hpb=683da1b887350550a4b3f78eaada4992f8da78f0;p=platform%2Fupstream%2Fisl.git diff --git a/isl_bound.c b/isl_bound.c index 2a69f06..04c76a0 100644 --- a/isl_bound.c +++ b/isl_bound.c @@ -1,7 +1,7 @@ /* * Copyright 2010 INRIA Saclay * - * Use of this software is governed by the GNU LGPLv2.1 license + * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, INRIA Saclay - Ile-de-France, * Parc Club Orsay Universite, ZAC des vignes, 4 rue Jacques Monod, @@ -14,6 +14,7 @@ #include #include #include +#include /* Compute a bound on the polynomial defined over the parametric polytope * using either range propagation or bernstein expansion and @@ -68,7 +69,7 @@ static int unwrapped_guarded_poly_bound(__isl_take isl_basic_set *bset, morph = isl_basic_set_full_compression(bset); bset = isl_morph_basic_set(isl_morph_copy(morph), bset); - poly = isl_qpolynomial_morph(poly, isl_morph_copy(morph)); + poly = isl_qpolynomial_morph_domain(poly, isl_morph_copy(morph)); dim = isl_morph_get_ran_space(morph); dim = isl_space_params(dim); @@ -76,6 +77,8 @@ static int unwrapped_guarded_poly_bound(__isl_take isl_basic_set *bset, top_pwf = bound->pwf; top_pwf_tight = bound->pwf_tight; + dim = isl_space_from_domain(dim); + dim = isl_space_add_dims(dim, isl_dim_out, 1); bound->pwf = isl_pw_qpolynomial_fold_zero(isl_space_copy(dim), bound->type); bound->pwf_tight = isl_pw_qpolynomial_fold_zero(dim, bound->type); @@ -86,9 +89,10 @@ static int unwrapped_guarded_poly_bound(__isl_take isl_basic_set *bset, morph = isl_morph_ran_params(morph); morph = isl_morph_inverse(morph); - bound->pwf = isl_pw_qpolynomial_fold_morph(bound->pwf, + bound->pwf = isl_pw_qpolynomial_fold_morph_domain(bound->pwf, isl_morph_copy(morph)); - bound->pwf_tight = isl_pw_qpolynomial_fold_morph(bound->pwf_tight, morph); + bound->pwf_tight = isl_pw_qpolynomial_fold_morph_domain( + bound->pwf_tight, morph); bound->pwf = isl_pw_qpolynomial_fold_fold(top_pwf, bound->pwf); bound->pwf_tight = isl_pw_qpolynomial_fold_fold(top_pwf_tight, @@ -116,12 +120,12 @@ static int guarded_poly_bound(__isl_take isl_basic_set *bset, return unwrapped_guarded_poly_bound(bset, poly, user); nparam = isl_space_dim(bound->dim, isl_dim_param); - n_in = isl_space_dim(bound->dim, isl_dim_set); + n_in = isl_space_dim(bound->dim, isl_dim_in); bset = isl_basic_set_move_dims(bset, isl_dim_param, nparam, isl_dim_set, 0, n_in); poly = isl_qpolynomial_move_dims(poly, isl_dim_param, nparam, - isl_dim_set, 0, n_in); + isl_dim_in, 0, n_in); dim = isl_basic_set_get_space(bset); dim = isl_space_params(dim); @@ -129,6 +133,8 @@ static int guarded_poly_bound(__isl_take isl_basic_set *bset, top_pwf = bound->pwf; top_pwf_tight = bound->pwf_tight; + dim = isl_space_from_domain(dim); + dim = isl_space_add_dims(dim, isl_dim_out, 1); bound->pwf = isl_pw_qpolynomial_fold_zero(isl_space_copy(dim), bound->type); bound->pwf_tight = isl_pw_qpolynomial_fold_zero(dim, bound->type); @@ -206,13 +212,15 @@ __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_bound( if (!pwf) return NULL; - bound.dim = isl_pw_qpolynomial_fold_get_space(pwf); + bound.dim = isl_pw_qpolynomial_fold_get_domain_space(pwf); bound.wrapping = isl_space_is_wrapping(bound.dim); if (bound.wrapping) bound.dim = isl_space_unwrap(bound.dim); nvar = isl_space_dim(bound.dim, isl_dim_out); bound.dim = isl_space_domain(bound.dim); + bound.dim = isl_space_from_domain(bound.dim); + bound.dim = isl_space_add_dims(bound.dim, isl_dim_out, 1); if (nvar == 0) { if (tight)