From 07463aa4448ef62ce9994c36411d23dbfdca294d Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sun, 17 Aug 2008 16:33:02 +0200 Subject: [PATCH] add trivial affine hull test --- isl_test.c | 27 +++++++++++++++++++++++++++ test_inputs/affine.polylib | 9 +++++++++ 2 files changed, 36 insertions(+) create mode 100644 test_inputs/affine.polylib diff --git a/isl_test.c b/isl_test.c index c5fdd92..5616892 100644 --- a/isl_test.c +++ b/isl_test.c @@ -6,6 +6,32 @@ static char *srcdir; +void test_affine_hull(struct isl_ctx *ctx) +{ + char filename[PATH_MAX]; + FILE *input; + int n; + struct isl_basic_set *bset1, *bset2; + + n = snprintf(filename, sizeof(filename), + "%s/test_inputs/affine.polylib", srcdir); + assert(n < sizeof(filename)); + input = fopen(filename, "r"); + assert(input); + + bset1 = isl_basic_set_read_from_file(ctx, input, ISL_FORMAT_POLYLIB); + bset2 = isl_basic_set_read_from_file(ctx, input, ISL_FORMAT_POLYLIB); + + bset1 = isl_basic_set_affine_hull(ctx, bset1); + + assert(isl_basic_set_is_equal(ctx, bset1, bset2) == 1); + + isl_basic_set_free(ctx, bset1); + isl_basic_set_free(ctx, bset2); + + fclose(input); +} + void test_convex_hull_case(struct isl_ctx *ctx, const char *name) { char filename[PATH_MAX]; @@ -55,6 +81,7 @@ int main() srcdir = getenv("srcdir"); ctx = isl_ctx_alloc(); + test_affine_hull(ctx); test_convex_hull(ctx); isl_ctx_free(ctx); return 0; diff --git a/test_inputs/affine.polylib b/test_inputs/affine.polylib new file mode 100644 index 0000000..f14720c --- /dev/null +++ b/test_inputs/affine.polylib @@ -0,0 +1,9 @@ +# the affine hull of {[a,b] : a=b && 1 <= a <= 163} ... +3 4 +0 1 -1 0 +1 1 0 -1 +1 -1 0 163 + +# ... is {[a,b] : a=b} (and not {[In_1,In_2]}, as Omega 1.2 claims) +1 4 +0 1 -1 0 -- 2.7.4