Add isl_union_(set/map)_detect_equalities
authorTobias Grosser <grosser@fim.uni-passau.de>
Fri, 7 Jan 2011 22:45:03 +0000 (17:45 -0500)
committerSven Verdoolaege <skimo@kotnet.org>
Sat, 8 Jan 2011 13:55:56 +0000 (14:55 +0100)
Document also all *_detect_equalities functions.

Signed-off-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/union_map.h
include/isl/union_set.h
isl_union_map.c

index a94b8b6..fb22258 100644 (file)
@@ -1299,6 +1299,24 @@ basic set or relation.
        __isl_give isl_union_map *isl_union_map_coalesce(
                __isl_take isl_union_map *umap);
 
+=item * Detecting equalities
+
+       __isl_give isl_basic_set *isl_basic_set_detect_equalities(
+                __isl_take isl_basic_set *bset);
+       __isl_give isl_basic_map *isl_basic_map_detect_equalities(
+                __isl_take isl_basic_map *bmap);
+       __isl_give isl_set *isl_set_detect_equalities(
+               __isl_take isl_set *set);
+       __isl_give isl_map *isl_map_detect_equalities(
+               __isl_take isl_map *map);
+       __isl_give isl_union_set *isl_union_set_detect_equalities(
+               __isl_take isl_union_set *uset);
+       __isl_give isl_union_map *isl_union_map_detect_equalities(
+               __isl_take isl_union_map *umap);
+
+Simplify the representation of a set or relation by detecting implicit
+equalities.
+
 =item * Convex hull
 
        __isl_give isl_basic_set *isl_set_convex_hull(
index b62dcd2..89e3c22 100644 (file)
@@ -70,6 +70,8 @@ __isl_give isl_union_map *isl_union_map_reverse(__isl_take isl_union_map *umap);
 __isl_give isl_union_map *isl_union_map_from_domain_and_range(
        __isl_take isl_union_set *domain, __isl_take isl_union_set *range);
 
+__isl_give isl_union_map *isl_union_map_detect_equalities(
+       __isl_keep isl_union_map *umap);
 __isl_give isl_union_set *isl_union_map_deltas(__isl_take isl_union_map *umap);
 __isl_give isl_union_map *isl_union_set_identity(__isl_take isl_union_set *uset);
 
index e81d5b3..4f08664 100644 (file)
@@ -16,6 +16,8 @@ void isl_union_set_free(__isl_take isl_union_set *uset);
 isl_ctx *isl_union_set_get_ctx(__isl_keep isl_union_set *uset);
 __isl_give isl_dim *isl_union_set_get_dim(__isl_keep isl_union_set *uset);
 
+__isl_give isl_union_set *isl_union_set_detect_equalities(
+       __isl_take isl_union_set *uset);
 __isl_give isl_union_set *isl_union_set_affine_hull(
        __isl_take isl_union_set *uset);
 __isl_give isl_union_set *isl_union_set_polyhedral_hull(
index 27807f5..38e6b59 100644 (file)
@@ -1019,6 +1019,18 @@ __isl_give isl_union_set *isl_union_set_coalesce(
        return isl_union_map_coalesce(uset);
 }
 
+__isl_give isl_union_map *isl_union_map_detect_equalities(
+       __isl_take isl_union_map *umap)
+{
+       return inplace(umap, &isl_map_detect_equalities);
+}
+
+__isl_give isl_union_set *isl_union_set_detect_equalities(
+       __isl_take isl_union_set *uset)
+{
+       return isl_union_map_detect_equalities(uset);
+}
+
 __isl_give isl_union_map *isl_union_map_compute_divs(
        __isl_take isl_union_map *umap)
 {