isl_map_is_subset: align parameters if needed
authorSven Verdoolaege <skimo@kotnet.org>
Wed, 26 Oct 2011 11:49:16 +0000 (13:49 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 2 Nov 2011 15:33:31 +0000 (16:33 +0100)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_map.c
isl_map_private.h
isl_map_subtract.c

index af42750..a8372de 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -911,7 +911,7 @@ error:
        return NULL;
 }
 
-static int align_params_map_map_and_test(__isl_keep isl_map *map1,
+int isl_map_align_params_map_map_and_test(__isl_keep isl_map *map1,
        __isl_keep isl_map *map2,
        int (*fn)(__isl_keep isl_map *map1, __isl_keep isl_map *map2))
 {
@@ -6730,7 +6730,7 @@ static int map_is_equal(__isl_keep isl_map *map1, __isl_keep isl_map *map2)
 
 int isl_map_is_equal(__isl_keep isl_map *map1, __isl_keep isl_map *map2)
 {
-       return align_params_map_map_and_test(map1, map2, &map_is_equal);
+       return isl_map_align_params_map_map_and_test(map1, map2, &map_is_equal);
 }
 
 int isl_basic_map_is_strict_subset(
index f3202c0..87b0cdc 100644 (file)
@@ -317,6 +317,9 @@ __isl_give isl_map *isl_map_align_params_map_map_and(
        __isl_take isl_map *map1, __isl_take isl_map *map2,
        __isl_give isl_map *(*fn)(__isl_take isl_map *map1,
                                    __isl_take isl_map *map2));
+int isl_map_align_params_map_map_and_test(__isl_keep isl_map *map1,
+       __isl_keep isl_map *map2,
+       int (*fn)(__isl_keep isl_map *map1, __isl_keep isl_map *map2));
 
 int isl_basic_map_foreach_lexopt(__isl_keep isl_basic_map *bmap, int max,
        int (*fn)(__isl_take isl_basic_set *dom, __isl_take isl_aff_list *list,
index 5109377..28c9aad 100644 (file)
@@ -709,7 +709,7 @@ static int map_is_singleton_subset(__isl_keep isl_map *map1,
        return is_subset;
 }
 
-int isl_map_is_subset(struct isl_map *map1, struct isl_map *map2)
+static int map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2)
 {
        int is_subset = 0;
 
@@ -740,6 +740,12 @@ int isl_map_is_subset(struct isl_map *map1, struct isl_map *map2)
        return is_subset;
 }
 
+int isl_map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2)
+{
+       return isl_map_align_params_map_map_and_test(map1, map2,
+                                                       &map_is_subset);
+}
+
 int isl_set_is_subset(struct isl_set *set1, struct isl_set *set2)
 {
        return isl_map_is_subset(