add isl_set_product
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 19 May 2009 10:38:47 +0000 (12:38 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 19 May 2009 10:38:47 +0000 (12:38 +0200)
include/isl_set.h
isl_map.c

index e836534..d37a8ca 100644 (file)
@@ -168,6 +168,7 @@ struct isl_basic_set *isl_set_bounded_simple_hull(struct isl_set *set);
 struct isl_set *isl_set_union_disjoint(
                        struct isl_set *set1, struct isl_set *set2);
 struct isl_set *isl_set_union(struct isl_set *set1, struct isl_set *set2);
+struct isl_set *isl_set_product(struct isl_set *set1, struct isl_set *set2);
 struct isl_set *isl_set_intersect(struct isl_set *set1, struct isl_set *set2);
 struct isl_set *isl_set_subtract(struct isl_set *set1, struct isl_set *set2);
 struct isl_set *isl_set_apply(struct isl_set *set, struct isl_map *map);
index d3ace48..818d462 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -4550,6 +4550,14 @@ error:
        return NULL;
 }
 
+/* Given two set A and B, construct its Cartesian product A x B.
+ */
+struct isl_set *isl_set_product(struct isl_set *set1, struct isl_set *set2)
+{
+       return (struct isl_set *)isl_map_product((struct isl_map *)set1,
+                                                (struct isl_map *)set2);
+}
+
 uint32_t isl_basic_set_get_hash(struct isl_basic_set *bset)
 {
        int i;