From 5f5f8bf02ed58ce7977c3e3028cd1ab489e4e103 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Wed, 7 Sep 2011 16:38:50 +0200 Subject: [PATCH] add isl_set_gist_params Signed-off-by: Sven Verdoolaege --- doc/user.pod | 6 ++++++ include/isl/map.h | 2 ++ include/isl/set.h | 2 ++ isl_map_simplify.c | 14 ++++++++++++++ 4 files changed, 24 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index b5be80f..3c4402f 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -2270,6 +2270,9 @@ instead. __isl_take isl_basic_set *context); __isl_give isl_set *isl_set_gist(__isl_take isl_set *set, __isl_take isl_set *context); + __isl_give isl_set *isl_set_gist_params( + __isl_take isl_set *set, + __isl_take isl_set *context); __isl_give isl_union_set *isl_union_set_gist( __isl_take isl_union_set *uset, __isl_take isl_union_set *context); @@ -2278,6 +2281,9 @@ instead. __isl_take isl_basic_map *context); __isl_give isl_map *isl_map_gist(__isl_take isl_map *map, __isl_take isl_map *context); + __isl_give isl_map *isl_map_gist_params( + __isl_take isl_map *map, + __isl_take isl_set *context); __isl_give isl_union_map *isl_union_map_gist( __isl_take isl_union_map *umap, __isl_take isl_union_map *context); diff --git a/include/isl/map.h b/include/isl/map.h index 84db68a..cd0de43 100644 --- a/include/isl/map.h +++ b/include/isl/map.h @@ -453,6 +453,8 @@ __isl_give isl_basic_map *isl_basic_map_gist(__isl_take isl_basic_map *bmap, __isl_take isl_basic_map *context); __isl_give isl_map *isl_map_gist(__isl_take isl_map *map, __isl_take isl_map *context); +__isl_give isl_map *isl_map_gist_params(__isl_take isl_map *map, + __isl_take isl_set *context); __isl_give isl_map *isl_map_gist_basic_map(__isl_take isl_map *map, __isl_take isl_basic_map *context); diff --git a/include/isl/set.h b/include/isl/set.h index 567eee0..2316038 100644 --- a/include/isl/set.h +++ b/include/isl/set.h @@ -346,6 +346,8 @@ __isl_give isl_set *isl_set_gist_basic_set(__isl_take isl_set *set, __isl_take isl_basic_set *context); __isl_give isl_set *isl_set_gist(__isl_take isl_set *set, __isl_take isl_set *context); +__isl_give isl_set *isl_set_gist_params(__isl_take isl_set *set, + __isl_take isl_set *context); int isl_basic_set_dim_residue_class(struct isl_basic_set *bset, int pos, isl_int *modulo, isl_int *residue); int isl_set_dim_residue_class(struct isl_set *set, diff --git a/isl_map_simplify.c b/isl_map_simplify.c index c7d5bae..db025eb 100644 --- a/isl_map_simplify.c +++ b/isl_map_simplify.c @@ -1848,6 +1848,20 @@ __isl_give isl_set *isl_set_gist(__isl_take isl_set *set, (struct isl_map *)context); } +__isl_give isl_map *isl_map_gist_params(__isl_take isl_map *map, + __isl_take isl_set *context) +{ + isl_map *map_context = isl_map_universe(isl_map_get_space(map)); + map_context = isl_map_intersect_params(map_context, context); + return isl_map_gist(map, map_context); +} + +__isl_give isl_set *isl_set_gist_params(__isl_take isl_set *set, + __isl_take isl_set *context) +{ + return isl_map_gist_params(set, context); +} + /* Quick check to see if two basic maps are disjoint. * In particular, we reduce the equalities and inequalities of * one basic map in the context of the equalities of the other -- 2.7.4