isl_pw_qpolynomial_fold_bound: explicitly project on parameter space
authorSven Verdoolaege <skimo@kotnet.org>
Sun, 28 Aug 2011 07:43:35 +0000 (09:43 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sat, 3 Sep 2011 19:43:07 +0000 (21:43 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_bound.c

index b229de7..2a69f06 100644 (file)
@@ -55,7 +55,6 @@ static int unwrapped_guarded_poly_bound(__isl_take isl_basic_set *bset,
        isl_pw_qpolynomial_fold *top_pwf_tight;
        isl_space *dim;
        isl_morph *morph;
-       unsigned orig_nvar, final_nvar;
        int r;
 
        bset = isl_basic_set_detect_equalities(bset);
@@ -66,17 +65,13 @@ static int unwrapped_guarded_poly_bound(__isl_take isl_basic_set *bset,
        if (bset->n_eq == 0)
                return compressed_guarded_poly_bound(bset, poly, user);
 
-       orig_nvar = isl_basic_set_dim(bset, isl_dim_set);
-
        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));
 
-       final_nvar = isl_basic_set_dim(bset, isl_dim_set);
-
        dim = isl_morph_get_ran_space(morph);
-       dim = isl_space_drop_dims(dim, isl_dim_set, 0, isl_space_dim(dim, isl_dim_set));
+       dim = isl_space_params(dim);
 
        top_pwf = bound->pwf;
        top_pwf_tight = bound->pwf_tight;
@@ -87,8 +82,8 @@ static int unwrapped_guarded_poly_bound(__isl_take isl_basic_set *bset,
 
        r = compressed_guarded_poly_bound(bset, poly, user);
 
-       morph = isl_morph_remove_dom_dims(morph, isl_dim_set, 0, orig_nvar);
-       morph = isl_morph_remove_ran_dims(morph, isl_dim_set, 0, final_nvar);
+       morph = isl_morph_dom_params(morph);
+       morph = isl_morph_ran_params(morph);
        morph = isl_morph_inverse(morph);
 
        bound->pwf = isl_pw_qpolynomial_fold_morph(bound->pwf,
@@ -129,7 +124,7 @@ static int guarded_poly_bound(__isl_take isl_basic_set *bset,
                                        isl_dim_set, 0, n_in);
 
        dim = isl_basic_set_get_space(bset);
-       dim = isl_space_drop_dims(dim, isl_dim_set, 0, isl_space_dim(dim, isl_dim_set));
+       dim = isl_space_params(dim);
 
        top_pwf = bound->pwf;
        top_pwf_tight = bound->pwf_tight;