privately export isl_basic_set_order_divs
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 4 Aug 2009 15:17:26 +0000 (17:17 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 7 Aug 2009 09:22:03 +0000 (11:22 +0200)
isl_map.c
isl_map_private.h

index 49291c6..bb357ef 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -3957,6 +3957,8 @@ static struct isl_basic_map *order_divs(struct isl_basic_map *bmap)
 
        for (i = 0; i < bmap->n_div; ++i) {
                int pos;
+               if (isl_int_is_zero(bmap->div[i][0]))
+                       continue;
                pos = isl_seq_first_non_zero(bmap->div[i]+1+1+off+i,
                                                            bmap->n_div-i);
                if (pos == -1)
@@ -3967,6 +3969,11 @@ static struct isl_basic_map *order_divs(struct isl_basic_map *bmap)
        return bmap;
 }
 
+struct isl_basic_set *isl_basic_set_order_divs(struct isl_basic_set *bset)
+{
+       return (struct isl_basic_set *)order_divs((struct isl_basic_map *)bset);
+}
+
 /* Look for a div in dst that corresponds to the div "div" in src.
  * The divs before "div" in src and dst are assumed to be the same.
  * 
index 68873fb..e149d7a 100644 (file)
@@ -64,6 +64,7 @@ struct isl_basic_map *isl_basic_map_set_to_empty(struct isl_basic_map *bmap);
 struct isl_basic_set *isl_basic_set_set_to_empty(struct isl_basic_set *bset);
 struct isl_map *isl_basic_map_compute_divs(struct isl_basic_map *bmap);
 struct isl_map *isl_map_compute_divs(struct isl_map *map);
+struct isl_basic_set *isl_basic_set_order_divs(struct isl_basic_set *bset);
 void isl_basic_map_swap_div(struct isl_basic_map *bmap, int a, int b);
 struct isl_basic_map *isl_basic_map_align_divs(
                struct isl_basic_map *dst, struct isl_basic_map *src);