From ba1ad682b979cdab65c0bfe071d786add2f6e9f4 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Mon, 5 Jan 2015 21:01:40 +0100 Subject: [PATCH] add isl_union_map_lex_gt_at_multi_union_pw_aff The motivation is similar to that for isl_union_map_eq_at_multi_union_pw_aff and isl_union_map_lex_lt_at_multi_union_pw_aff. Signed-off-by: Sven Verdoolaege --- doc/user.pod | 4 ++++ include/isl/union_map.h | 3 +++ isl_union_map.c | 11 +++++++++++ 3 files changed, 18 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index f53a3d19..c697a735 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -5910,6 +5910,10 @@ where the function values satisfy the given relation. isl_union_map_lex_lt_at_multi_union_pw_aff( __isl_take isl_union_map *umap, __isl_take isl_multi_union_pw_aff *mupa); + __isl_give isl_union_map * + isl_union_map_lex_gt_at_multi_union_pw_aff( + __isl_take isl_union_map *umap, + __isl_take isl_multi_union_pw_aff *mupa); These functions select the subset of elements in the union map that have an equal or lexicographically smaller function value. diff --git a/include/isl/union_map.h b/include/isl/union_map.h index ec34dd71..5c0bbf55 100644 --- a/include/isl/union_map.h +++ b/include/isl/union_map.h @@ -232,6 +232,9 @@ __isl_give isl_union_map *isl_union_map_eq_at_multi_union_pw_aff( __isl_give isl_union_map *isl_union_map_lex_lt_at_multi_union_pw_aff( __isl_take isl_union_map *umap, __isl_take isl_multi_union_pw_aff *mupa); +__isl_give isl_union_map *isl_union_map_lex_gt_at_multi_union_pw_aff( + __isl_take isl_union_map *umap, + __isl_take isl_multi_union_pw_aff *mupa); __isl_give isl_union_map *isl_union_map_read_from_file(isl_ctx *ctx, FILE *input); diff --git a/isl_union_map.c b/isl_union_map.c index c4ced39c..1cf28334 100644 --- a/isl_union_map.c +++ b/isl_union_map.c @@ -3702,6 +3702,17 @@ __isl_give isl_union_map *isl_union_map_lex_lt_at_multi_union_pw_aff( &isl_multi_pw_aff_lex_lt_map); } +/* Return the subset of "umap" where the domain has a lexicographically + * greater "mupa" value than the range. + */ +__isl_give isl_union_map *isl_union_map_lex_gt_at_multi_union_pw_aff( + __isl_take isl_union_map *umap, + __isl_take isl_multi_union_pw_aff *mupa) +{ + return isl_union_map_order_at_multi_union_pw_aff(umap, mupa, + &isl_multi_pw_aff_lex_gt_map); +} + /* Return the union of the elements in the list "list". */ __isl_give isl_union_set *isl_union_set_list_union( -- 2.11.4.GIT