From b940c0b5b8a844da10dd84ec151da0977e9dd574 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Tue, 16 Feb 2010 12:42:27 +0100 Subject: [PATCH] add a transitive closure example from the Omega test suite --- isl_test.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/isl_test.c b/isl_test.c index a07fe85..98254e8 100644 --- a/isl_test.c +++ b/isl_test.c @@ -802,6 +802,17 @@ void test_closure(struct isl_ctx *ctx) assert(isl_map_is_equal(map, map2)); isl_map_free(map2); isl_map_free(map); + + /* Omega's closure4 */ + map = isl_map_read_from_str(ctx, + "[m,n] -> { [x,y] -> [x2,y2] : x2 = x and y2 = y + 1 and " + "1 <= x,y <= 10 or " + "x2 = x + 1 and y2 = y and " + "1 <= x <= 20 && 5 <= y <= 15 }", -1); + map = isl_map_transitive_closure(map, &exact); + assert(exact); + isl_map_free(map); + } int main() -- 2.7.4