summaryrefslogtreecommitdiff
path: root/isl_union_map.c
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2010-12-26 13:12:05 +0100
committerSven Verdoolaege <skimo@kotnet.org>2011-01-19 21:32:46 +0100
commit49902f3996a6332fc0206d8b40d0d30e7cbb902a (patch)
tree8e76a40f21cb0520967a36eb3b335b42fb1d2c69 /isl_union_map.c
parent80f224c40c6bffcb80eb2cfb03ad1d38e978fedd (diff)
downloadisl-49902f3996a6332fc0206d8b40d0d30e7cbb902a.tar.gz
isl-49902f3996a6332fc0206d8b40d0d30e7cbb902a.tar.bz2
isl-49902f3996a6332fc0206d8b40d0d30e7cbb902a.zip
add isl_union_map_range_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Diffstat (limited to 'isl_union_map.c')
-rw-r--r--isl_union_map.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/isl_union_map.c b/isl_union_map.c
index 38e6b598..3e88c557 100644
--- a/isl_union_map.c
+++ b/isl_union_map.c
@@ -877,6 +877,25 @@ __isl_give isl_union_set *isl_union_set_product(__isl_take isl_union_set *uset1,
return isl_union_map_product(uset1, uset2);
}
+static int range_product_entry(void **entry, void *user)
+{
+ struct isl_union_map_bin_data *data = user;
+ isl_map *map2 = *entry;
+
+ map2 = isl_map_range_product(isl_map_copy(data->map),
+ isl_map_copy(map2));
+
+ data->res = isl_union_map_add_map(data->res, map2);
+
+ return 0;
+}
+
+__isl_give isl_union_map *isl_union_map_range_product(
+ __isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2)
+{
+ return bin_op(umap1, umap2, &range_product_entry);
+}
+
__isl_give isl_union_map *isl_union_map_from_range(
__isl_take isl_union_set *uset)
{