From a51acdafde3d5b091bda75fad0e7a33c3fbb71e7 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 24 Oct 2019 15:46:38 +0200 Subject: [PATCH] add exported isl_pw_multi_aff_domain_reverse This complements the already exported isl_*_domain_reverse. Signed-off-by: Sven Verdoolaege --- doc/user.pod | 3 +++ include/isl/aff.h | 4 ++++ isl_aff.c | 1 + isl_test2.cc | 7 +++++++ 4 files changed, 15 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index d14927e0..a8f73ffe 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -5433,6 +5433,9 @@ earlier dimensions before those that involve later dimensions. __isl_take isl_multi_aff *ma); __isl_give isl_pw_aff *isl_pw_aff_domain_reverse( __isl_take isl_pw_aff *pa); + __isl_give isl_pw_multi_aff * + isl_pw_multi_aff_domain_reverse( + __isl_take isl_pw_multi_aff *pma); #include __isl_give isl_set *isl_set_wrapped_reverse( diff --git a/include/isl/aff.h b/include/isl/aff.h index 75fc6690..e0e10027 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -735,6 +735,10 @@ __isl_export __isl_give isl_pw_multi_aff *isl_pw_multi_aff_union_add( __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2); +__isl_export +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_domain_reverse( + __isl_take isl_pw_multi_aff *pma); + __isl_give isl_pw_multi_aff *isl_pw_multi_aff_neg( __isl_take isl_pw_multi_aff *pma); diff --git a/isl_aff.c b/isl_aff.c index 2cbae3f4..0a60b769 100644 --- a/isl_aff.c +++ b/isl_aff.c @@ -4702,6 +4702,7 @@ __isl_give isl_set *isl_multi_aff_lex_gt_set(__isl_take isl_multi_aff *ma1, #include #include #include +#include #include #include #include diff --git a/isl_test2.cc b/isl_test2.cc index d996eb87..e16e6f89 100644 --- a/isl_test2.cc +++ b/isl_test2.cc @@ -492,6 +492,13 @@ static void test_reverse(isl::ctx ctx) "{ [B[i] -> A[i - 1]] -> [i + 1] }" }, }); + C(&isl::pw_multi_aff::domain_reverse, { + { "{ [A[x] -> B[y]] -> T[5*(x // 2) + 7*(y // 3), 0] : x > y }", + "{ [B[y] -> A[x]] -> T[5*(x // 2) + 7*(y // 3), 0] : x > y }" }, + { "{ [A[i] -> B[i + 1]] -> T[0, i + 2] }", + "{ [B[i] -> A[i - 1]] -> T[0, i + 1] }" }, + }); + C(&isl::union_map::range_reverse, { { "{ A[] -> [B[] -> C[]]; A[] -> B[]; A[0] -> N[B[1] -> B[2]] }", "{ A[] -> [C[] -> B[]]; A[0] -> N[B[2] -> B[1]] }" }, -- 2.11.4.GIT