From: Sven Verdoolaege Date: Wed, 19 Jan 2011 20:26:28 +0000 (+0100) Subject: doc: document product functions X-Git-Tag: isl-0.06~89 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=80f224c40c6bffcb80eb2cfb03ad1d38e978fedd;p=platform%2Fupstream%2Fisl.git doc: document product functions Signed-off-by: Sven Verdoolaege --- diff --git a/doc/user.pod b/doc/user.pod index a74a1b2..68088fa 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -1591,6 +1591,34 @@ the same (number of) parameters. __isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2); +=item * Cartesian Product + + __isl_give isl_set *isl_set_product( + __isl_take isl_set *set1, + __isl_take isl_set *set2); + __isl_give isl_union_set *isl_union_set_product( + __isl_take isl_union_set *uset1, + __isl_take isl_union_set *uset2); + __isl_give isl_map *isl_map_product( + __isl_take isl_map *map1, + __isl_take isl_map *map2); + __isl_give isl_union_map *isl_union_map_product( + __isl_take isl_union_map *umap1, + __isl_take isl_union_map *umap2); + +The above functions compute the cross product of the given +sets or relations. The domains and ranges of the results +are wrapped maps between domains and ranges of the inputs. +To obtain a ``flat'' product, use the following functions +instead. + + __isl_give isl_set *isl_set_flat_product( + __isl_take isl_set *set1, + __isl_take isl_set *set2); + __isl_give isl_map *isl_map_flat_product( + __isl_take isl_map *map1, + __isl_take isl_map *map2); + =item * Simplification __isl_give isl_basic_set *isl_basic_set_gist( diff --git a/include/isl/map.h b/include/isl/map.h index 06c9af9..dc19591 100644 --- a/include/isl/map.h +++ b/include/isl/map.h @@ -271,7 +271,8 @@ __isl_give isl_map *isl_map_apply_domain( __isl_give isl_map *isl_map_apply_range( __isl_take isl_map *map1, __isl_take isl_map *map2); -struct isl_map *isl_map_product(struct isl_map *map1, struct isl_map *map2); +__isl_give isl_map *isl_map_product(__isl_take isl_map *map1, + __isl_take isl_map *map2); __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 1cc9c92..8382362 100644 --- a/include/isl/set.h +++ b/include/isl/set.h @@ -188,7 +188,8 @@ struct isl_set *isl_set_union_disjoint( __isl_give isl_set *isl_set_union( __isl_take isl_set *set1, __isl_take isl_set *set2); -struct isl_set *isl_set_product(struct isl_set *set1, struct isl_set *set2); +__isl_give isl_set *isl_set_product(__isl_take isl_set *set1, + __isl_take isl_set *set2); __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(