diff options
author | Sven Verdoolaege <skimo@kotnet.org> | 2010-12-26 13:12:05 +0100 |
---|---|---|
committer | Sven Verdoolaege <skimo@kotnet.org> | 2011-01-19 21:32:46 +0100 |
commit | 49902f3996a6332fc0206d8b40d0d30e7cbb902a (patch) | |
tree | 8e76a40f21cb0520967a36eb3b335b42fb1d2c69 /isl_union_map.c | |
parent | 80f224c40c6bffcb80eb2cfb03ad1d38e978fedd (diff) | |
download | isl-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.c | 19 |
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) { |