add isl_map_is_translation
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 24 Jun 2010 16:09:06 +0000 (18:09 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 24 Jun 2010 16:09:06 +0000 (18:09 +0200)
include/isl_map.h
include/isl_set.h
isl_map.c

index 574f0fa..9c66f2d 100644 (file)
@@ -363,6 +363,7 @@ int isl_map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
 int isl_map_is_strict_subset(__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);
 int isl_map_is_single_valued(__isl_keep isl_map *map);
+int isl_map_is_translation(__isl_keep isl_map *map);
 
 __isl_give isl_map *isl_map_make_disjoint(__isl_take isl_map *map);
 __isl_give isl_map *isl_basic_map_compute_divs(__isl_take isl_basic_map *bmap);
index 970bd90..519b26a 100644 (file)
@@ -284,6 +284,7 @@ int isl_set_is_bounded(__isl_keep isl_set *set);
 int isl_set_is_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
 int isl_set_is_strict_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
 int isl_set_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
+int isl_set_is_singleton(__isl_keep isl_set *set);
 
 __isl_give isl_set *isl_set_sum(__isl_take isl_set *set1,
        __isl_take isl_set *set2);
index fc84937..9b87bd8 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -6809,3 +6809,20 @@ int isl_map_is_single_valued(__isl_keep isl_map *map)
 
        return sv;
 }
+
+int isl_set_is_singleton(__isl_keep isl_set *set)
+{
+       return isl_map_is_single_valued((isl_map *)set);
+}
+
+int isl_map_is_translation(__isl_keep isl_map *map)
+{
+       int ok;
+       isl_set *delta;
+
+       delta = isl_map_deltas(isl_map_copy(map));
+       ok = isl_set_is_singleton(delta);
+       isl_set_free(delta);
+
+       return ok;
+}