summaryrefslogtreecommitdiff
path: root/isl_union_map.c
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2010-09-24 08:48:24 +0200
committerSven Verdoolaege <skimo@kotnet.org>2010-09-25 18:49:47 +0200
commit0277be3e5f4174b5356e7b7e6afa67819b916acf (patch)
tree650b5b769a21e1e26334f134809a725c113fbfb9 /isl_union_map.c
parent7d486d7c0c71c9f64926c508eecd3b260d31f6f8 (diff)
downloadisl-0277be3e5f4174b5356e7b7e6afa67819b916acf.tar.gz
isl-0277be3e5f4174b5356e7b7e6afa67819b916acf.tar.bz2
isl-0277be3e5f4174b5356e7b7e6afa67819b916acf.zip
add isl_union_map_range_map and isl_union_map_domain_map
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Diffstat (limited to 'isl_union_map.c')
-rw-r--r--isl_union_map.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/isl_union_map.c b/isl_union_map.c
index 46a95a53..ede57f35 100644
--- a/isl_union_map.c
+++ b/isl_union_map.c
@@ -1004,6 +1004,40 @@ __isl_give isl_union_set *isl_union_map_range(__isl_take isl_union_map *umap)
return cond_un_op(umap, &range_entry);
}
+static int domain_map_entry(void **entry, void *user)
+{
+ isl_map *map = *entry;
+ isl_union_set **res = user;
+
+ *res = isl_union_map_add_map(*res,
+ isl_map_domain_map(isl_map_copy(map)));
+
+ return 0;
+}
+
+__isl_give isl_union_map *isl_union_map_domain_map(
+ __isl_take isl_union_map *umap)
+{
+ return cond_un_op(umap, &domain_map_entry);
+}
+
+static int range_map_entry(void **entry, void *user)
+{
+ isl_map *map = *entry;
+ isl_union_set **res = user;
+
+ *res = isl_union_map_add_map(*res,
+ isl_map_range_map(isl_map_copy(map)));
+
+ return 0;
+}
+
+__isl_give isl_union_map *isl_union_map_range_map(
+ __isl_take isl_union_map *umap)
+{
+ return cond_un_op(umap, &range_map_entry);
+}
+
static int deltas_entry(void **entry, void *user)
{
isl_map *map = *entry;