From d296d9049f7f8c5bec7128f179c75ea35e75c313 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Wed, 26 Oct 2011 13:49:16 +0200 Subject: [PATCH] isl_map_is_subset: align parameters if needed Signed-off-by: Sven Verdoolaege --- isl_map.c | 4 ++-- isl_map_private.h | 3 +++ isl_map_subtract.c | 8 +++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/isl_map.c b/isl_map.c index af427506..a8372de6 100644 --- 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( diff --git a/isl_map_private.h b/isl_map_private.h index f3202c0c..87b0cdcb 100644 --- a/isl_map_private.h +++ b/isl_map_private.h @@ -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, diff --git a/isl_map_subtract.c b/isl_map_subtract.c index 51093774..28c9aad4 100644 --- a/isl_map_subtract.c +++ b/isl_map_subtract.c @@ -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( -- 2.11.4.GIT