From: Sven Verdoolaege Date: Sun, 17 Aug 2008 14:33:02 +0000 (+0200) Subject: add trivial affine hull test X-Git-Tag: isl-0.01~434 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=07463aa4448ef62ce9994c36411d23dbfdca294d;p=platform%2Fupstream%2Fisl.git add trivial affine hull test --- 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