add isl_basic_set_flat_product
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 17 Feb 2011 19:12:17 +0000 (20:12 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 18 Feb 2011 11:29:45 +0000 (12:29 +0100)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/map.h
include/isl/set.h
isl_map.c

index 366ea14..56fd306 100644 (file)
@@ -1647,9 +1647,15 @@ are wrapped maps between domains and ranges of the inputs.
 To obtain a ``flat'' product, use the following functions
 instead.
 
+       __isl_give isl_basic_set *isl_basic_set_flat_product(
+               __isl_take isl_basic_set *bset1,
+               __isl_take isl_basic_set *bset2);
        __isl_give isl_set *isl_set_flat_product(
                __isl_take isl_set *set1,
                __isl_take isl_set *set2);
+       __isl_give isl_basic_map *isl_basic_map_flat_product(
+               __isl_take isl_basic_map *bmap1,
+               __isl_take isl_basic_map *bmap2);
        __isl_give isl_map *isl_map_flat_product(
                __isl_take isl_map *map1,
                __isl_take isl_map *map2);
index 117b4ed..5f5d238 100644 (file)
@@ -283,6 +283,8 @@ __isl_give isl_basic_map *isl_basic_map_range_product(
        __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2);
 __isl_give isl_map *isl_map_range_product(__isl_take isl_map *map1,
        __isl_take isl_map *map2);
+__isl_give isl_basic_map *isl_basic_map_flat_product(
+       __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2);
 __isl_give isl_map *isl_map_flat_product(__isl_take isl_map *map1,
        __isl_take isl_map *map2);
 __isl_give isl_map *isl_map_intersect(__isl_take isl_map *map1,
index d3a6c36..610911f 100644 (file)
@@ -195,6 +195,8 @@ __isl_give isl_set *isl_set_union(
                __isl_take isl_set *set2);
 __isl_give isl_set *isl_set_product(__isl_take isl_set *set1,
        __isl_take isl_set *set2);
+__isl_give isl_basic_set *isl_basic_set_flat_product(
+       __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2);
 __isl_give isl_set *isl_set_flat_product(__isl_take isl_set *set1,
        __isl_take isl_set *set2);
 __isl_give isl_set *isl_set_intersect(
index ac78d8f..0e3f359 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -7065,6 +7065,22 @@ error:
        return NULL;
 }
 
+__isl_give isl_basic_map *isl_basic_map_flat_product(
+       __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2)
+{
+       isl_basic_map *prod;
+
+       prod = isl_basic_map_product(bmap1, bmap2);
+       prod = isl_basic_map_flatten(prod);
+       return prod;
+}
+
+__isl_give isl_basic_set *isl_basic_set_flat_product(
+       __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2)
+{
+       return isl_basic_map_flat_product(bset1, bset2);
+}
+
 __isl_give isl_basic_map *isl_basic_map_range_product(
        __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2)
 {