From 9368d37fc94ac0c349b1113e9b5c88224c0c7e79 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 17 Feb 2011 20:12:17 +0100 Subject: [PATCH] add isl_basic_set_flat_product Signed-off-by: Sven Verdoolaege --- doc/user.pod | 6 ++++++ include/isl/map.h | 2 ++ include/isl/set.h | 2 ++ isl_map.c | 16 ++++++++++++++++ 4 files changed, 26 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index 366ea14..56fd306 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -1647,9 +1647,15 @@ are wrapped maps between domains and ranges of the inputs. To obtain a ``flat'' product, use the following functions instead. + __isl_give isl_basic_set *isl_basic_set_flat_product( + __isl_take isl_basic_set *bset1, + __isl_take isl_basic_set *bset2); __isl_give isl_set *isl_set_flat_product( __isl_take isl_set *set1, __isl_take isl_set *set2); + __isl_give isl_basic_map *isl_basic_map_flat_product( + __isl_take isl_basic_map *bmap1, + __isl_take isl_basic_map *bmap2); __isl_give isl_map *isl_map_flat_product( __isl_take isl_map *map1, __isl_take isl_map *map2); diff --git a/include/isl/map.h b/include/isl/map.h index 117b4ed..5f5d238 100644 --- a/include/isl/map.h +++ b/include/isl/map.h @@ -283,6 +283,8 @@ __isl_give isl_basic_map *isl_basic_map_range_product( __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2); __isl_give isl_map *isl_map_range_product(__isl_take isl_map *map1, __isl_take isl_map *map2); +__isl_give isl_basic_map *isl_basic_map_flat_product( + __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2); __isl_give isl_map *isl_map_flat_product(__isl_take isl_map *map1, __isl_take isl_map *map2); __isl_give isl_map *isl_map_intersect(__isl_take isl_map *map1, diff --git a/include/isl/set.h b/include/isl/set.h index d3a6c36..610911f 100644 --- a/include/isl/set.h +++ b/include/isl/set.h @@ -195,6 +195,8 @@ __isl_give isl_set *isl_set_union( __isl_take isl_set *set2); __isl_give isl_set *isl_set_product(__isl_take isl_set *set1, __isl_take isl_set *set2); +__isl_give isl_basic_set *isl_basic_set_flat_product( + __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2); __isl_give isl_set *isl_set_flat_product(__isl_take isl_set *set1, __isl_take isl_set *set2); __isl_give isl_set *isl_set_intersect( diff --git a/isl_map.c b/isl_map.c index ac78d8f..0e3f359 100644 --- a/isl_map.c +++ b/isl_map.c @@ -7065,6 +7065,22 @@ error: return NULL; } +__isl_give isl_basic_map *isl_basic_map_flat_product( + __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2) +{ + isl_basic_map *prod; + + prod = isl_basic_map_product(bmap1, bmap2); + prod = isl_basic_map_flatten(prod); + return prod; +} + +__isl_give isl_basic_set *isl_basic_set_flat_product( + __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2) +{ + return isl_basic_map_flat_product(bset1, bset2); +} + __isl_give isl_basic_map *isl_basic_map_range_product( __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2) { -- 2.7.4