diff options
Diffstat (limited to 'test/reservoir')
100 files changed, 5615 insertions, 0 deletions
diff --git a/test/reservoir/QR.c.polylib b/test/reservoir/QR.c.polylib new file mode 100644 index 0000000..512b046 --- /dev/null +++ b/test/reservoir/QR.c.polylib @@ -0,0 +1,183 @@ +/* Generated from QR.cloog by CLooG v0.14.0 64 bits in 0.06s. */ +/* CLooG asked for 288 KBytes. */ +if ((M <= -1) && (N >= 1)) { + S1(i = 0) ; +} +if ((M >= 0) && (N >= 1)) { + S1(i = 0) ; +} +if ((M >= 1) && (N >= 2)) { + for (c4=0;c4<=M-1;c4++) { + S2(i = 0,j = c4) ; + } + S3(i = 0) ; + for (c4=0;c4<=M-1;c4++) { + S4(i = 0,j = c4) ; + } + S10(i = 0) ; + S1(i = 1) ; + S5(i = 0) ; +} +if ((M <= 0) && (N >= 2)) { + S3(i = 0) ; + S10(i = 0) ; + S1(i = 1) ; + S5(i = 0) ; +} +if ((M >= 1) && (N == 1)) { + for (c4=0;c4<=M-1;c4++) { + S2(i = 0,j = c4) ; + } + S3(i = 0) ; + for (c4=0;c4<=M-1;c4++) { + S4(i = 0,j = c4) ; + } + S10(i = 0) ; + S5(i = 0) ; +} +if ((M <= 0) && (N == 1)) { + S3(i = 0) ; + S10(i = 0) ; + S5(i = 0) ; +} +for (c2=2;c2<=min(N-1,M);c2++) { + for (c4=c2-1;c4<=N-1;c4++) { + i = c2-2 ; + S6(j = c4) ; + for (c6=c2-2;c6<=M-1;c6++) { + i = c2-2 ; + S7(j = c4,k = c6) ; + } + i = c2-2 ; + S8(j = c4) ; + for (c6=c2-2;c6<=M-1;c6++) { + i = c2-2 ; + S9(j = c4,k = c6) ; + } + } + for (c4=c2-1;c4<=M-1;c4++) { + i = c2-1 ; + S2(j = c4) ; + } + i = c2-1 ; + S3 ; + for (c4=c2-1;c4<=M-1;c4++) { + i = c2-1 ; + S4(j = c4) ; + } + i = c2-1 ; + S10 ; + S1(i = c2) ; + i = c2-1 ; + S5 ; +} +if ((M >= 1) && (M <= N-2)) { + c2 = M+1 ; + for (c4=M;c4<=N-1;c4++) { + i = M-1 ; + S6(j = c4) ; + c6 = M-1 ; + i = M-1 ; + k = M-1 ; + S7(j = c4) ; + i = M-1 ; + S8(j = c4) ; + c6 = M-1 ; + i = M-1 ; + k = M-1 ; + S9(j = c4) ; + } + S3(i = M) ; + S10(i = M) ; + i = M+1 ; + S1 ; + S5(i = M) ; +} +if ((M >= N) && (N >= 2)) { + c4 = N-1 ; + i = N-2 ; + j = N-1 ; + S6 ; + for (c6=N-2;c6<=M-1;c6++) { + i = N-2 ; + j = N-1 ; + S7(k = c6) ; + } + i = N-2 ; + j = N-1 ; + S8 ; + for (c6=N-2;c6<=M-1;c6++) { + i = N-2 ; + j = N-1 ; + S9(k = c6) ; + } + for (c4=N-1;c4<=M-1;c4++) { + i = N-1 ; + S2(j = c4) ; + } + i = N-1 ; + S3 ; + for (c4=N-1;c4<=M-1;c4++) { + i = N-1 ; + S4(j = c4) ; + } + i = N-1 ; + S10 ; + i = N-1 ; + S5 ; +} +if ((M == N-1) && (N >= 2)) { + c4 = N-1 ; + i = N-2 ; + j = N-1 ; + S6 ; + c6 = N-2 ; + i = N-2 ; + j = N-1 ; + k = N-2 ; + S7 ; + i = N-2 ; + j = N-1 ; + S8 ; + c6 = N-2 ; + i = N-2 ; + j = N-1 ; + k = N-2 ; + S9 ; + i = N-1 ; + S3 ; + i = N-1 ; + S10 ; + i = N-1 ; + S5 ; +} +for (c2=max(M+2,2);c2<=N-1;c2++) { + for (c4=c2-1;c4<=N-1;c4++) { + i = c2-2 ; + S6(j = c4) ; + i = c2-2 ; + S8(j = c4) ; + } + i = c2-1 ; + S3 ; + i = c2-1 ; + S10 ; + S1(i = c2) ; + i = c2-1 ; + S5 ; +} +if ((M <= N-2) && (N >= 2)) { + c4 = N-1 ; + i = N-2 ; + j = N-1 ; + S6 ; + i = N-2 ; + j = N-1 ; + S8 ; + i = N-1 ; + S3 ; + i = N-1 ; + S10 ; + i = N-1 ; + S5 ; +} diff --git a/test/reservoir/QR.c.ppl b/test/reservoir/QR.c.ppl new file mode 100644 index 0000000..91fa0ff --- /dev/null +++ b/test/reservoir/QR.c.ppl @@ -0,0 +1,172 @@ +/* Generated from ././reservoir/QR.cloog by CLooG 0.15 64 bits in 0.28s. */ +if (N >= 1) { + S1(i = 0) ; +} +if ((M <= 0) && (N >= 2)) { + S3(i = 0) ; + S10(i = 0) ; + S1(i = 1) ; + S5(i = 0) ; +} +if ((M >= 1) && (N == 1)) { + for (c4=0;c4<=M-1;c4++) { + S2(i = 0,j = c4) ; + } + S3(i = 0) ; + for (c4=0;c4<=M-1;c4++) { + S4(i = 0,j = c4) ; + } + S10(i = 0) ; + S5(i = 0) ; +} +if ((M <= 0) && (N == 1)) { + S3(i = 0) ; + S10(i = 0) ; + S5(i = 0) ; +} +if ((M >= 1) && (N >= 2)) { + for (c4=0;c4<=M-1;c4++) { + S2(i = 0,j = c4) ; + } + S3(i = 0) ; + for (c4=0;c4<=M-1;c4++) { + S4(i = 0,j = c4) ; + } + S10(i = 0) ; + S1(i = 1) ; + S5(i = 0) ; +} +for (c2=2;c2<=min(M,N-1);c2++) { + for (c4=c2-1;c4<=N-1;c4++) { + i = c2-2 ; + S6(j = c4) ; + for (c6=c2-2;c6<=M-1;c6++) { + i = c2-2 ; + S7(j = c4,k = c6) ; + } + i = c2-2 ; + S8(j = c4) ; + for (c6=c2-2;c6<=M-1;c6++) { + i = c2-2 ; + S9(j = c4,k = c6) ; + } + } + for (c4=c2-1;c4<=M-1;c4++) { + i = c2-1 ; + S2(j = c4) ; + } + i = c2-1 ; + S3 ; + for (c4=c2-1;c4<=M-1;c4++) { + i = c2-1 ; + S4(j = c4) ; + } + i = c2-1 ; + S10 ; + S1(i = c2) ; + i = c2-1 ; + S5 ; +} +if ((M >= 1) && (M <= N-2)) { + c2 = M+1 ; + for (c4=M;c4<=N-1;c4++) { + i = M-1 ; + S6(j = c4) ; + c6 = M-1 ; + i = M-1 ; + k = M-1 ; + S7(j = c4) ; + i = M-1 ; + S8(j = c4) ; + c6 = M-1 ; + i = M-1 ; + k = M-1 ; + S9(j = c4) ; + } + S3(i = M) ; + S10(i = M) ; + i = M+1 ; + S1 ; + S5(i = M) ; +} +for (c2=max(M+2,2);c2<=N-1;c2++) { + for (c4=c2-1;c4<=N-1;c4++) { + i = c2-2 ; + S6(j = c4) ; + i = c2-2 ; + S8(j = c4) ; + } + i = c2-1 ; + S3 ; + i = c2-1 ; + S10 ; + S1(i = c2) ; + i = c2-1 ; + S5 ; +} +if ((M >= N) && (N >= 2)) { + c4 = N-1 ; + i = N-2 ; + j = N-1 ; + S6 ; + for (c6=N-2;c6<=M-1;c6++) { + i = N-2 ; + j = N-1 ; + S7(k = c6) ; + } + i = N-2 ; + j = N-1 ; + S8 ; + for (c6=N-2;c6<=M-1;c6++) { + i = N-2 ; + j = N-1 ; + S9(k = c6) ; + } + for (c4=N-1;c4<=M-1;c4++) { + i = N-1 ; + S2(j = c4) ; + } + i = N-1 ; + S3 ; + for (c4=N-1;c4<=M-1;c4++) { + i = N-1 ; + S4(j = c4) ; + } + i = N-1 ; + S10 ; + i = N-1 ; + S5 ; +} +if ((M == N-1) && (N >= 2)) { + c2 = M+1 ; + i = M-1 ; + S6(j = M) ; + c6 = M-1 ; + i = M-1 ; + k = M-1 ; + S7(j = M) ; + i = M-1 ; + S8(j = M) ; + c6 = M-1 ; + i = M-1 ; + k = M-1 ; + S9(j = M) ; + S3(i = M) ; + S10(i = M) ; + S5(i = M) ; +} +if ((M <= N-2) && (N >= 2)) { + c4 = N-1 ; + i = N-2 ; + j = N-1 ; + S6 ; + i = N-2 ; + j = N-1 ; + S8 ; + i = N-1 ; + S3 ; + i = N-1 ; + S10 ; + i = N-1 ; + S5 ; +} diff --git a/test/reservoir/QR.cloog b/test/reservoir/QR.cloog new file mode 100755 index 0000000..8baed20 --- /dev/null +++ b/test/reservoir/QR.cloog @@ -0,0 +1,228 @@ +# Language +c + +# Context + + 1 4 + 1 0 0 1 +0 + +# Number of statments +10 + +1 +# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 } + + 3 5 + 1 1 0 0 0 + 1 -1 0 1 -1 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i >= 0, -i+l-1 >= 0, -i+j >= 0, -j+k-1 >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 0 + 1 -1 0 0 1 -1 + 1 -1 1 0 0 0 + 1 0 -1 1 0 -1 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 } + + 3 5 + 1 1 0 0 0 + 1 -1 0 1 -1 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i >= 0, -i+l-1 >= 0, -i+j >= 0, -j+k-1 >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 0 + 1 -1 0 0 1 -1 + 1 -1 1 0 0 0 + 1 0 -1 1 0 -1 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 } + + 3 5 + 1 1 0 0 0 + 1 -1 0 1 -1 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i >= 0, -i+j-1 >= 0, -j+l-1 >= 0, 1 >= 0 } + + 4 6 + 1 1 0 0 0 0 + 1 -1 1 0 0 -1 + 1 0 -1 0 1 -1 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m) | i >= 0, -i+j-1 >= 0, -j+m-1 >= 0, -i+k >= 0, -k+l-1 >= 0, 1 >= 0 } + + 6 7 + 1 1 0 0 0 0 0 + 1 -1 1 0 0 0 -1 + 1 0 -1 0 0 1 -1 + 1 -1 0 1 0 0 0 + 1 0 0 -1 1 0 -1 + 1 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i >= 0, -i+j-1 >= 0, -j+l-1 >= 0, 1 >= 0 } + + 4 6 + 1 1 0 0 0 0 + 1 -1 1 0 0 -1 + 1 0 -1 0 1 -1 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m) | i >= 0, -i+j-1 >= 0, -j+m-1 >= 0, -i+k >= 0, -k+l-1 >= 0, 1 >= 0 } + + 6 7 + 1 1 0 0 0 0 0 + 1 -1 1 0 0 0 -1 + 1 0 -1 0 0 1 -1 + 1 -1 0 1 0 0 0 + 1 0 0 -1 1 0 -1 + 1 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 } + + 3 5 + 1 1 0 0 0 + 1 -1 0 1 -1 + 1 0 0 0 1 + +0 0 0 +0 +# Scattering functions +10 + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 -5 + 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 -2 + 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 0 -3 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 -6 + 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 -2 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 14 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 -2 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 -2 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 -2 + 0 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 14 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 -2 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 -3 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 -4 + 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/bastoul3.c.polylib b/test/reservoir/bastoul3.c.polylib new file mode 100644 index 0000000..254eeea --- /dev/null +++ b/test/reservoir/bastoul3.c.polylib @@ -0,0 +1,10 @@ +/* Generated from test/reservoir/bastoul3.cloog by CLooG v0.14.0 gmp bits in 0.00s. */ +/* CLooG asked for 60 KBytes. */ +for (i=3;i<=9;i++) { + for (j=max(1,i-6);j<=min(i-2,3);j++) { + if ((i+j)%2 == 0) { + k = (i-j)/2 ; + S1 ; + } + } +} diff --git a/test/reservoir/bastoul3.c.ppl b/test/reservoir/bastoul3.c.ppl new file mode 100644 index 0000000..5de1578 --- /dev/null +++ b/test/reservoir/bastoul3.c.ppl @@ -0,0 +1,9 @@ +/* Generated from ./reservoir/bastoul3.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (i=3;i<=9;i++) { + for (j=max(i-6,1);j<=min(i-2,3);j++) { + if ((i+j)%2 == 0) { + k = (i-j)/2 ; + S1 ; + } + } +} diff --git a/test/reservoir/bastoul3.cloog b/test/reservoir/bastoul3.cloog new file mode 100644 index 0000000..8437226 --- /dev/null +++ b/test/reservoir/bastoul3.cloog @@ -0,0 +1,33 @@ +# Figure 4 from "Efficient code generation for automatic parallelization +# and optimization". +# +# Language +c + +# Context + + 1 2 + 1 1 +0 + +# Number of statements +1 + +1 + +# i' i j 1 + 6 5 + 0 1 -1 -2 0 + 1 0 1 0 -1 + 1 0 -1 0 3 + 1 0 0 1 -1 + 1 0 0 -1 3 + 1 0 0 0 1 + +0 0 0 + +0 +0 + + + diff --git a/test/reservoir/cholesky2.c.polylib b/test/reservoir/cholesky2.c.polylib new file mode 100644 index 0000000..fc762df --- /dev/null +++ b/test/reservoir/cholesky2.c.polylib @@ -0,0 +1,54 @@ +/* Generated from ./reservoir/cholesky2.cloog by CLooG v0.14.0 gmp bits in 0.04s. */ +/* CLooG asked for 268 KBytes. */ +for (c2=2;c2<=min(3,3*M-4);c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) { + if ((c2+c4)%2 == 0) { + i = (c2-c4+2)/2 ; + S2(j = c4) ; + } + } +} +for (c2=4;c2<=3*M-4;c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) { + for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) { + i = c2-c4-c6+1 ; + S3(j = c4,k = c6) ; + } + } + for (c4=ceild(c2+4,3);c4<=min(M,c2);c4++) { + if ((c2+c4)%2 == 0) { + i = (c2-c4+2)/2 ; + S2(j = c4) ; + } + } +} +for (c2=max(2,3*M-3);c2<=min(3,3*M-2);c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } +} +for (c2=max(3*M-3,4);c2<=3*M-2;c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+2,3);c4<=min(M,c2-2);c4++) { + for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) { + i = c2-c4-c6+1 ; + S3(j = c4,k = c6) ; + } + } +} +if (M >= 1) { + c2 = 3*M-1 ; + S1(i = M) ; +} diff --git a/test/reservoir/cholesky2.c.ppl b/test/reservoir/cholesky2.c.ppl new file mode 100644 index 0000000..3a99561 --- /dev/null +++ b/test/reservoir/cholesky2.c.ppl @@ -0,0 +1,53 @@ +/* Generated from ././reservoir/cholesky2.cloog by CLooG 0.15 64 bits in 0.04s. */ +for (c2=2;c2<=min(3*M-4,3);c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) { + if ((c2+c4)%2 == 0) { + i = (c2-c4+2)/2 ; + S2(j = c4) ; + } + } +} +for (c2=max(3*M-3,2);c2<=min(3*M-1,3);c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } +} +for (c2=4;c2<=3*M-4;c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) { + for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) { + i = c2-c4-c6+1 ; + S3(j = c4,k = c6) ; + } + } + for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) { + if ((c2+c4)%2 == 0) { + i = (c2-c4+2)/2 ; + S2(j = c4) ; + } + } +} +for (c2=max(3*M-3,4);c2<=3*M-2;c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) { + for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) { + i = c2-c4-c6+1 ; + S3(j = c4,k = c6) ; + } + } +} +if (M >= 2) { + c2 = 3*M-1 ; + S1(i = M) ; +} diff --git a/test/reservoir/cholesky2.cloog b/test/reservoir/cholesky2.cloog new file mode 100755 index 0000000..7317c6a --- /dev/null +++ b/test/reservoir/cholesky2.cloog @@ -0,0 +1,79 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +3 + +1 +# { (i,j) | i-1 >= 0, -i+j >= 0, 1 >= 0 } + + 3 4 + 1 1 0 -1 + 1 -1 1 0 + 1 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i-1 >= 0, -i+j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 4 5 + 1 1 0 0 -1 + 1 -1 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i-1 >= 0, -j+l >= 0, -i+k-1 >= 0, j-k >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 -1 + 1 0 -1 0 1 0 + 1 -1 0 1 0 -1 + 1 0 1 -1 0 0 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +3 + + 8 11 + 0 1 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -3 0 1 + 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -2 -1 0 2 + 0 0 0 1 0 0 0 0 0 0 0 -2 + 0 0 0 0 1 0 0 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 -1 -1 0 1 + 0 0 0 1 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/fusion1.c.polylib b/test/reservoir/fusion1.c.polylib new file mode 100644 index 0000000..150aeb0 --- /dev/null +++ b/test/reservoir/fusion1.c.polylib @@ -0,0 +1,11 @@ +/* Generated from fusion1.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=0;c2<=M;c2++) { + S1(i = c2) ; +} +for (c2=1;c2<=M;c2++) { + S2(i = c2) ; +} +for (c2=0;c2<=M;c2++) { + S3(i = c2) ; +} diff --git a/test/reservoir/fusion1.c.ppl b/test/reservoir/fusion1.c.ppl new file mode 100644 index 0000000..50d373c --- /dev/null +++ b/test/reservoir/fusion1.c.ppl @@ -0,0 +1,10 @@ +/* Generated from ././reservoir/fusion1.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (c2=0;c2<=M;c2++) { + S1(i = c2) ; +} +for (c2=1;c2<=M;c2++) { + S2(i = c2) ; +} +for (c2=0;c2<=M;c2++) { + S3(i = c2) ; +} diff --git a/test/reservoir/fusion1.cloog b/test/reservoir/fusion1.cloog new file mode 100755 index 0000000..3aea334 --- /dev/null +++ b/test/reservoir/fusion1.cloog @@ -0,0 +1,65 @@ +# Language +c + +# Context + + 2 3 + 1 1 -1 + 1 0 1 +0 + +# Number of statments +3 + +1 +# { (i,j) | i >= 0, -i+j >= 0, 1 >= 0 } + + 3 4 + 1 1 0 0 + 1 -1 1 0 + 1 0 0 1 + +0 0 0 +1 +# { (i,j) | i-1 >= 0, -i+j >= 0, 1 >= 0 } + + 3 4 + 1 1 0 -1 + 1 -1 1 0 + 1 0 0 1 + +0 0 0 +1 +# { (i,j) | i >= 0, -i+j >= 0, 1 >= 0 } + + 3 4 + 1 1 0 0 + 1 -1 1 0 + 1 0 0 1 + +0 0 0 +0 +# Scattering functions +3 + + 4 7 + 0 1 0 0 0 0 0 + 0 0 1 0 -1 0 0 + 0 0 0 1 0 0 0 + 1 0 0 0 0 0 1 + + + 4 7 + 0 1 0 0 0 0 -1 + 0 0 1 0 -1 0 0 + 0 0 0 1 0 0 0 + 1 0 0 0 0 0 1 + + + 4 7 + 0 1 0 0 0 0 -2 + 0 0 1 0 -1 0 0 + 0 0 0 1 0 0 0 + 1 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/fusion2.c.polylib b/test/reservoir/fusion2.c.polylib new file mode 100644 index 0000000..1357f61 --- /dev/null +++ b/test/reservoir/fusion2.c.polylib @@ -0,0 +1,24 @@ +/* Generated from fusion2.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +if ((M >= 1) && (N >= 1)) { + for (c4=1;c4<=M;c4++) { + S1(i = 1,j = c4) ; + } +} +if (M >= 1) { + for (c2=2;c2<=N;c2++) { + for (c4=1;c4<=M;c4++) { + i = c2-1 ; + S2(j = c4) ; + } + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } + } +} +if ((M >= 1) && (N >= 1)) { + c2 = N+1 ; + for (c4=1;c4<=M;c4++) { + S2(i = N,j = c4) ; + } +} diff --git a/test/reservoir/fusion2.c.ppl b/test/reservoir/fusion2.c.ppl new file mode 100644 index 0000000..fe2937c --- /dev/null +++ b/test/reservoir/fusion2.c.ppl @@ -0,0 +1,23 @@ +/* Generated from ././reservoir/fusion2.cloog by CLooG 0.15 64 bits in 0.01s. */ +if ((M >= 1) && (N >= 1)) { + for (c4=1;c4<=M;c4++) { + S1(i = 1,j = c4) ; + } +} +if (M >= 1) { + for (c2=2;c2<=N;c2++) { + for (c4=1;c4<=M;c4++) { + i = c2-1 ; + S2(j = c4) ; + } + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } + } +} +if ((M >= 1) && (N >= 1)) { + c2 = N+1 ; + for (c4=1;c4<=M;c4++) { + S2(i = N,j = c4) ; + } +} diff --git a/test/reservoir/fusion2.cloog b/test/reservoir/fusion2.cloog new file mode 100755 index 0000000..dad8353 --- /dev/null +++ b/test/reservoir/fusion2.cloog @@ -0,0 +1,56 @@ +# Language +c + +# Context + + 1 4 + 1 0 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k,l) | i-1 >= 0, -i+l >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 -1 + 1 -1 0 0 1 0 + 1 0 1 0 0 -1 + 1 0 -1 1 0 0 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i-1 >= 0, -i+l >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 -1 + 1 -1 0 0 1 0 + 1 0 1 0 0 -1 + 1 0 -1 1 0 0 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 6 11 + 0 1 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + + + 6 11 + 0 1 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/jacobi2.c.polylib b/test/reservoir/jacobi2.c.polylib new file mode 100644 index 0000000..493c622 --- /dev/null +++ b/test/reservoir/jacobi2.c.polylib @@ -0,0 +1,7 @@ +/* Generated from jacobi2.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=0;c2<=M-1;c2++) { + for (c4=0;c4<=M-1;c4++) { + S1(i = c2,j = c4) ; + } +} diff --git a/test/reservoir/jacobi2.c.ppl b/test/reservoir/jacobi2.c.ppl new file mode 100644 index 0000000..1039cba --- /dev/null +++ b/test/reservoir/jacobi2.c.ppl @@ -0,0 +1,6 @@ +/* Generated from ././reservoir/jacobi2.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (c2=0;c2<=M-1;c2++) { + for (c4=0;c4<=M-1;c4++) { + S1(i = c2,j = c4) ; + } +} diff --git a/test/reservoir/jacobi2.cloog b/test/reservoir/jacobi2.cloog new file mode 100755 index 0000000..7352362 --- /dev/null +++ b/test/reservoir/jacobi2.cloog @@ -0,0 +1,37 @@ +# Language +c + +# Context + + 2 3 + 1 1 -1 + 1 0 1 +0 + +# Number of statments +1 + +1 +# { (i,j,k) | i >= 0, -i+k-1 >= 0, j >= 0, -j+k-1 >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 0 + 1 -1 0 1 -1 + 1 0 1 0 0 + 1 0 -1 1 -1 + 1 0 0 0 1 + +0 0 0 +0 +# Scattering functions +1 + + 6 10 + 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/jacobi3.c.polylib b/test/reservoir/jacobi3.c.polylib new file mode 100644 index 0000000..cafae37 --- /dev/null +++ b/test/reservoir/jacobi3.c.polylib @@ -0,0 +1,36 @@ +/* Generated from ./reservoir/jacobi3.cloog by CLooG v0.14.0 gmp bits in 0.04s. */ +/* CLooG asked for 204 KBytes. */ +if ((M >= 1) && (N >= 3)) { + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S1(i = 1,j = c4,k = c6) ; + } + } +} +if (N >= 3) { + for (c2=3;c2<=2*M;c2++) { + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if (c2%2 == 0) { + S1(i = c2/2,j = c4,k = c6) ; + } + } + } + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if ((c2+1)%2 == 0) { + i = (c2-1)/2 ; + S2(j = c4,k = c6) ; + } + } + } + } +} +if ((M >= 1) && (N >= 3)) { + c2 = 2*M+1 ; + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S2(i = M,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/jacobi3.c.ppl b/test/reservoir/jacobi3.c.ppl new file mode 100644 index 0000000..2e17c82 --- /dev/null +++ b/test/reservoir/jacobi3.c.ppl @@ -0,0 +1,35 @@ +/* Generated from ././reservoir/jacobi3.cloog by CLooG 0.15 64 bits in 0.04s. */ +if ((M >= 1) && (N >= 3)) { + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S1(i = 1,j = c4,k = c6) ; + } + } +} +if (N >= 3) { + for (c2=3;c2<=2*M;c2++) { + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if (c2%2 == 0) { + S1(i = c2/2,j = c4,k = c6) ; + } + } + } + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if ((c2+1)%2 == 0) { + i = (c2-1)/2 ; + S2(j = c4,k = c6) ; + } + } + } + } +} +if ((M >= 1) && (N >= 3)) { + c2 = 2*M+1 ; + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S2(i = M,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/jacobi3.cloog b/test/reservoir/jacobi3.cloog new file mode 100755 index 0000000..dff32ff --- /dev/null +++ b/test/reservoir/jacobi3.cloog @@ -0,0 +1,64 @@ +# Language +c + +# Context + + 1 4 + 1 0 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+m-1 >= 0, 1 >= 0 } + + 7 7 + 1 1 0 0 0 0 -1 + 1 -1 0 0 1 0 0 + 1 0 1 0 0 0 -2 + 1 0 -1 0 0 1 -1 + 1 0 0 1 0 0 -2 + 1 0 0 -1 0 1 -1 + 1 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+m-1 >= 0, 1 >= 0 } + + 7 7 + 1 1 0 0 0 0 -1 + 1 -1 0 0 1 0 0 + 1 0 1 0 0 0 -2 + 1 0 -1 0 0 1 -1 + 1 0 0 1 0 0 -2 + 1 0 0 -1 0 1 -1 + 1 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 8 14 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -2 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 14 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -2 0 0 0 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/lim-lam1.c.polylib b/test/reservoir/lim-lam1.c.polylib new file mode 100644 index 0000000..676d47f --- /dev/null +++ b/test/reservoir/lim-lam1.c.polylib @@ -0,0 +1,39 @@ +/* Generated from ./reservoir/lim-lam1.cloog by CLooG v0.14.0 gmp bits in 0.02s. */ +/* CLooG asked for 188 KBytes. */ +S1(i = 1,j = 100) ; +for (c2=-98;c2<=0;c2++) { + c4 = -2*c2+2 ; + j = -c2+1 ; + S1(i = 1) ; + for (c4=-2*c2+3;c4<=199;c4++) { + if (c4%2 == 0) { + i = (2*c2+c4)/2 ; + S1(j = c4/2) ; + } + if ((c4+1)%2 == 0) { + i = (2*c2+c4-1)/2 ; + j = (c4+1)/2 ; + S2 ; + } + } + i = c2+100 ; + S1(j = 100) ; +} +for (c2=1;c2<=99;c2++) { + S2(i = c2,j = 1) ; + for (c4=2;c4<=-2*c2+200;c4++) { + if (c4%2 == 0) { + i = (2*c2+c4)/2 ; + S1(j = c4/2) ; + } + if ((c4+1)%2 == 0) { + i = (2*c2+c4-1)/2 ; + j = (c4+1)/2 ; + S2 ; + } + } + c4 = -2*c2+201 ; + j = -c2+101 ; + S2(i = 100) ; +} +S2(i = 100,j = 1) ; diff --git a/test/reservoir/lim-lam1.c.ppl b/test/reservoir/lim-lam1.c.ppl new file mode 100644 index 0000000..5326e44 --- /dev/null +++ b/test/reservoir/lim-lam1.c.ppl @@ -0,0 +1,38 @@ +/* Generated from ././reservoir/lim-lam1.cloog by CLooG 0.15 64 bits in 0.02s. */ +S1(i = 1,j = 100) ; +for (c2=-98;c2<=0;c2++) { + c4 = -2*c2+2 ; + j = -c2+1 ; + S1(i = 1) ; + for (c4=-2*c2+3;c4<=199;c4++) { + if (c4%2 == 0) { + i = (2*c2+c4)/2 ; + S1(j = c4/2) ; + } + if ((c4+1)%2 == 0) { + i = (2*c2+c4-1)/2 ; + j = (c4+1)/2 ; + S2 ; + } + } + i = c2+100 ; + S1(j = 100) ; +} +for (c2=1;c2<=99;c2++) { + S2(i = c2,j = 1) ; + for (c4=2;c4<=-2*c2+200;c4++) { + if (c4%2 == 0) { + i = (2*c2+c4)/2 ; + S1(j = c4/2) ; + } + if ((c4+1)%2 == 0) { + i = (2*c2+c4-1)/2 ; + j = (c4+1)/2 ; + S2 ; + } + } + c4 = -2*c2+201 ; + j = -c2+101 ; + S2(i = 100) ; +} +S2(i = 100,j = 1) ; diff --git a/test/reservoir/lim-lam1.cloog b/test/reservoir/lim-lam1.cloog new file mode 100644 index 0000000..7a7c684 --- /dev/null +++ b/test/reservoir/lim-lam1.cloog @@ -0,0 +1,54 @@ +# Language +c + +# Context + + 1 2 + 1 1 +0 + +# Number of statments +2 + +1 +# { (i,j) | i-1 >= 0, -i+100 >= 0, j-1 >= 0, -j+100 >= 0 } + + 4 4 + 1 1 0 -1 + 1 -1 0 100 + 1 0 1 -1 + 1 0 -1 100 + +0 0 0 +1 +# { (i,j) | i-1 >= 0, -i+100 >= 0, j-1 >= 0, -j+100 >= 0 } + + 4 4 + 1 1 0 -1 + 1 -1 0 100 + 1 0 1 -1 + 1 0 -1 100 + +0 0 0 +0 +# Scattering functions +2 + + 6 9 + 0 1 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 1 0 + 0 0 0 1 0 0 0 0 0 + 0 0 0 0 1 0 0 -2 0 + 0 0 0 0 0 1 0 0 0 + 1 0 0 0 0 0 0 0 1 + + + 6 9 + 0 1 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 1 -1 + 0 0 0 1 0 0 0 0 0 + 0 0 0 0 1 0 0 -2 1 + 0 0 0 0 0 1 0 0 -1 + 1 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/lim-lam2.c.polylib b/test/reservoir/lim-lam2.c.polylib new file mode 100644 index 0000000..ae4670d --- /dev/null +++ b/test/reservoir/lim-lam2.c.polylib @@ -0,0 +1,19 @@ +/* Generated from lim-lam2.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=1;c2<=M;c2++) { + S1(i = c2) ; +} +if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=2;c4<=N;c4++) { + S2(i = c2,j = c4) ; + } + } +} +if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=N-1;c4++) { + S3(i = c2,j = c4) ; + } + } +} diff --git a/test/reservoir/lim-lam2.c.ppl b/test/reservoir/lim-lam2.c.ppl new file mode 100644 index 0000000..6c7b915 --- /dev/null +++ b/test/reservoir/lim-lam2.c.ppl @@ -0,0 +1,18 @@ +/* Generated from ././reservoir/lim-lam2.cloog by CLooG 0.15 64 bits in 0.01s. */ +for (c2=1;c2<=M;c2++) { + S1(i = c2) ; +} +if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=2;c4<=N;c4++) { + S2(i = c2,j = c4) ; + } + } +} +if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=N-1;c4++) { + S3(i = c2,j = c4) ; + } + } +} diff --git a/test/reservoir/lim-lam2.cloog b/test/reservoir/lim-lam2.cloog new file mode 100755 index 0000000..db50b74 --- /dev/null +++ b/test/reservoir/lim-lam2.cloog @@ -0,0 +1,76 @@ +# Language +c + +# Context + + 3 4 + 1 1 0 -1 + 1 0 1 -1 + 1 0 0 1 +0 + +# Number of statments +3 + +1 +# { (i,j,k) | i-1 >= 0, -i+j >= 0, 1 >= 0 } + + 3 5 + 1 1 0 0 -1 + 1 -1 1 0 0 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i-1 >= 0, -i+k >= 0, j-2 >= 0, -j+l >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 -1 + 1 -1 0 1 0 0 + 1 0 1 0 0 -2 + 1 0 -1 0 1 0 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+l-1 >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 -1 + 1 -1 0 1 0 0 + 1 0 1 0 0 -1 + 1 0 -1 0 1 -1 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +3 + + 6 10 + 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + + + 6 11 + 0 1 0 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + + + 6 11 + 0 1 0 0 0 0 0 0 0 0 -2 + 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 -2 + 0 0 0 0 1 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/lim-lam3.c.polylib b/test/reservoir/lim-lam3.c.polylib new file mode 100644 index 0000000..1f7ad4d --- /dev/null +++ b/test/reservoir/lim-lam3.c.polylib @@ -0,0 +1,47 @@ +/* Generated from ./reservoir/lim-lam3.cloog by CLooG v0.14.0 gmp bits in 0.04s. */ +/* CLooG asked for 304 KBytes. */ +for (c2=5;c2<=min(5*M,8);c2++) { + if (c2%5 == 0) { + S4(i = c2/5) ; + } +} +for (c2=9;c2<=min(13,5*M-1);c2++) { + for (c4=max(1,ceild(c2-M-3,4));c4<=floord(c2-4,5);c4++) { + i = c2-4*c4-3 ; + S2(j = c4) ; + } + if (c2%5 == 0) { + S4(i = c2/5) ; + } + for (c4=max(1,ceild(c2-3*M-1,2));c4<=floord(c2-4,5);c4++) { + if ((c2+c4+2)%3 == 0) { + i = (c2-2*c4-1)/3 ; + S3(j = c4) ; + } + } +} +for (c2=14;c2<=5*M-1;c2++) { + for (c4=max(2,ceild(c2-M-3,4));c4<=min(M-1,floord(c2-8,3));c4++) { + for (c6=max(1,ceild(c2-2*c4-M-5,2));c6<=min(c4-1,floord(c2-3*c4-6,2));c6++) { + i = c2-2*c4-2*c6-5 ; + S1(j = c4,k = c6) ; + } + } + for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) { + i = c2-4*c4-3 ; + S2(j = c4) ; + } + if (c2%5 == 0) { + S4(i = c2/5) ; + } + for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) { + if ((c2+c4+2)%3 == 0) { + i = (c2-2*c4-1)/3 ; + S3(j = c4) ; + } + } +} +if (M >= 2) { + c2 = 5*M ; + S4(i = M) ; +} diff --git a/test/reservoir/lim-lam3.c.ppl b/test/reservoir/lim-lam3.c.ppl new file mode 100644 index 0000000..86b6e7b --- /dev/null +++ b/test/reservoir/lim-lam3.c.ppl @@ -0,0 +1,46 @@ +/* Generated from ././reservoir/lim-lam3.cloog by CLooG 0.15 64 bits in 0.04s. */ +for (c2=5;c2<=min(5*M,8);c2++) { + if (c2%5 == 0) { + S4(i = c2/5) ; + } +} +for (c2=9;c2<=min(5*M-1,13);c2++) { + for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) { + i = c2-4*c4-3 ; + S2(j = c4) ; + } + if (c2%5 == 0) { + S4(i = c2/5) ; + } + for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) { + if ((c2+c4+2)%3 == 0) { + i = (c2-2*c4-1)/3 ; + S3(j = c4) ; + } + } +} +for (c2=14;c2<=5*M-1;c2++) { + for (c4=max(ceild(c2-M-3,4),2);c4<=min(floord(c2-8,3),M-1);c4++) { + for (c6=max(ceild(c2-2*c4-M-5,2),1);c6<=min(floord(c2-3*c4-6,2),c4-1);c6++) { + i = c2-2*c4-2*c6-5 ; + S1(j = c4,k = c6) ; + } + } + for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) { + i = c2-4*c4-3 ; + S2(j = c4) ; + } + if (c2%5 == 0) { + S4(i = c2/5) ; + } + for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) { + if ((c2+c4+2)%3 == 0) { + i = (c2-2*c4-1)/3 ; + S3(j = c4) ; + } + } +} +if (M >= 2) { + c2 = 5*M ; + S4(i = M) ; +} diff --git a/test/reservoir/lim-lam3.cloog b/test/reservoir/lim-lam3.cloog new file mode 100755 index 0000000..0d3d4a5 --- /dev/null +++ b/test/reservoir/lim-lam3.cloog @@ -0,0 +1,101 @@ +# Language +c + +# Context + + 2 3 + 1 1 -1 + 1 0 1 +0 + +# Number of statments +4 + +1 +# { (i,j,k,l) | -i+l >= 0, i-j-1 >= 0, k-1 >= 0, j-k-1 >= 0, 1 >= 0 } + + 5 6 + 1 -1 0 0 1 0 + 1 1 -1 0 0 -1 + 1 0 0 1 0 -1 + 1 0 1 -1 0 -1 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | -i+k >= 0, j-1 >= 0, i-j-1 >= 0, 1 >= 0 } + + 4 5 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 1 -1 0 -1 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | -i+k >= 0, j-1 >= 0, i-j-1 >= 0, 1 >= 0 } + + 4 5 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 1 -1 0 -1 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j) | i-1 >= 0, -i+j >= 0, 1 >= 0 } + + 3 4 + 1 1 0 -1 + 1 -1 1 0 + 1 0 0 1 + +0 0 0 +0 +# Scattering functions +4 + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 -2 -2 0 -5 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 -4 0 -3 + 0 0 0 1 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -3 -2 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 -2 + 0 0 0 0 1 0 0 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + + + 8 11 + 0 1 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -5 0 0 + 0 0 0 1 0 0 0 0 0 0 -2 + 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/lim-lam4.c.polylib b/test/reservoir/lim-lam4.c.polylib new file mode 100644 index 0000000..c53f54b --- /dev/null +++ b/test/reservoir/lim-lam4.c.polylib @@ -0,0 +1,22 @@ +/* Generated from lim-lam4.cloog by CLooG v0.14.0 64 bits in 0.01s. */ +/* CLooG asked for 160 KBytes. */ +if (M >= 2) { + S1(i = 1,j = 0,k = 0) ; +} +for (c2=2;c2<=2*M-2;c2++) { + for (c4=max(-M+1,-c2+1);c4<=-1;c4++) { + for (i=max(1,c2-M+1);i<=min(c2+c4,M-1);i++) { + j = c2+c4-i ; + S1(k = -c4) ; + } + for (c6=max(-c4,c2-M+1);c6<=min(c2-1,M-1);c6++) { + i = c2-c6 ; + j = c4+c6 ; + S2(k = c6) ; + } + } + for (i=max(1,c2-M+1);i<=min(M-1,c2);i++) { + j = c2-i ; + S1(k = 0) ; + } +} diff --git a/test/reservoir/lim-lam4.c.ppl b/test/reservoir/lim-lam4.c.ppl new file mode 100644 index 0000000..e15c7be --- /dev/null +++ b/test/reservoir/lim-lam4.c.ppl @@ -0,0 +1,21 @@ +/* Generated from ././reservoir/lim-lam4.cloog by CLooG 0.15 64 bits in 0.03s. */ +if (M >= 2) { + S1(i = 1,j = 0,k = 0) ; +} +for (c2=2;c2<=2*M-2;c2++) { + for (c4=max(-c2+1,-M+1);c4<=-1;c4++) { + for (i=max(c2-M+1,1);i<=min(c2+c4,M-1);i++) { + j = c2+c4-i ; + S1(k = -c4) ; + } + for (c6=max(c2-M+1,-c4);c6<=min(c2-1,M-1);c6++) { + i = c2-c6 ; + j = c4+c6 ; + S2(k = c6) ; + } + } + for (i=max(c2-M+1,1);i<=min(c2,M-1);i++) { + j = c2-i ; + S1(k = 0) ; + } +} diff --git a/test/reservoir/lim-lam4.cloog b/test/reservoir/lim-lam4.cloog new file mode 100755 index 0000000..0aa66e3 --- /dev/null +++ b/test/reservoir/lim-lam4.cloog @@ -0,0 +1,62 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k,l) | i-1 >= 0, -i+l-1 >= 0, j >= 0, k >= 0, -j-k+l-1 >= 0, 1 >= 0 } + + 6 6 + 1 1 0 0 0 -1 + 1 -1 0 0 1 -1 + 1 0 1 0 0 0 + 1 0 0 1 0 0 + 1 0 -1 -1 1 -1 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i-1 >= 0, -i+l-1 >= 0, j >= 0, -j+k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 6 6 + 1 1 0 0 0 -1 + 1 -1 0 0 1 -1 + 1 0 1 0 0 0 + 1 0 -1 1 0 -1 + 1 0 0 -1 1 -1 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 -1 -1 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 -1 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/lim-lam5.c.polylib b/test/reservoir/lim-lam5.c.polylib new file mode 100644 index 0000000..01b43cf --- /dev/null +++ b/test/reservoir/lim-lam5.c.polylib @@ -0,0 +1,17 @@ +/* Generated from lim-lam5.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S3(i = c2,j = c4) ; + } +} diff --git a/test/reservoir/lim-lam5.c.ppl b/test/reservoir/lim-lam5.c.ppl new file mode 100644 index 0000000..96c3898 --- /dev/null +++ b/test/reservoir/lim-lam5.c.ppl @@ -0,0 +1,16 @@ +/* Generated from ././reservoir/lim-lam5.cloog by CLooG 0.15 64 bits in 0.01s. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S3(i = c2,j = c4) ; + } +} diff --git a/test/reservoir/lim-lam5.cloog b/test/reservoir/lim-lam5.cloog new file mode 100755 index 0000000..c5d6ef9 --- /dev/null +++ b/test/reservoir/lim-lam5.cloog @@ -0,0 +1,76 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +3 + +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +0 +# Scattering functions +3 + + 6 10 + 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + + + 6 10 + 0 1 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + + + 6 10 + 0 1 0 0 0 0 0 0 0 -2 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/lim-lam6.c.polylib b/test/reservoir/lim-lam6.c.polylib new file mode 100644 index 0000000..139fef0 --- /dev/null +++ b/test/reservoir/lim-lam6.c.polylib @@ -0,0 +1,16 @@ +/* Generated from lim-lam6.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +if (M >= 1) { + for (c2=0;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } + } +} +if (M >= 1) { + for (c2=0;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c4,j = c2) ; + } + } +} diff --git a/test/reservoir/lim-lam6.c.ppl b/test/reservoir/lim-lam6.c.ppl new file mode 100644 index 0000000..727838b --- /dev/null +++ b/test/reservoir/lim-lam6.c.ppl @@ -0,0 +1,15 @@ +/* Generated from ././reservoir/lim-lam6.cloog by CLooG 0.15 64 bits in 0.00s. */ +if (M >= 1) { + for (c2=0;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } + } +} +if (M >= 1) { + for (c2=0;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c4,j = c2) ; + } + } +} diff --git a/test/reservoir/lim-lam6.cloog b/test/reservoir/lim-lam6.cloog new file mode 100755 index 0000000..a1bf181 --- /dev/null +++ b/test/reservoir/lim-lam6.cloog @@ -0,0 +1,56 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k) | i >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 0 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 0 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 6 10 + 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + + + 6 10 + 0 1 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 0 -1 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/liu-zhuge1.c.polylib b/test/reservoir/liu-zhuge1.c.polylib new file mode 100644 index 0000000..2a99902 --- /dev/null +++ b/test/reservoir/liu-zhuge1.c.polylib @@ -0,0 +1,150 @@ +/* Generated from ./reservoir/liu-zhuge1.cloog by CLooG v0.14.0 gmp bits in 0.07s. */ +/* CLooG asked for 276 KBytes. */ +if ((M >= 0) && (N >= 0)) { + for (c2=-4;c2<=min(-1,3*M+N-4);c2++) { + for (c4=max(0,c2-3*M+4);c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + } +} +if ((M <= 1) && (M >= 0)) { + for (c2=0;c2<=3*M+N-4;c2++) { + for (c4=max(c2-3*M,0);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=c2-3*M+4;c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(0,c2-3*M);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +for (c2=0;c2<=min(3*M-4,N-1);c2++) { + for (c4=0;c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=c2+1;c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=0;c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } +} +if (M >= 2) { + for (c2=3*M-3;c2<=N-1;c2++) { + for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=c2-3*M+4;c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=c2+1;c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(0,c2-3*M);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +if (N >= 0) { + for (c2=N;c2<=3*M-4;c2++) { + for (c4=0;c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=0;c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +for (c2=max(3*M-3,N);c2<=3*M+N-4;c2++) { + for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=c2-3*M+4;c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(0,c2-3*M);c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } +} +if ((M >= 0) && (N >= 0)) { + for (c2=max(3*M+N-3,0);c2<=3*M+N;c2++) { + for (c4=max(0,c2-3*M);c4<=min(c2,N);c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=max(0,c2-3*M);c4<=min(c2,N);c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} diff --git a/test/reservoir/liu-zhuge1.c.ppl b/test/reservoir/liu-zhuge1.c.ppl new file mode 100644 index 0000000..221dda6 --- /dev/null +++ b/test/reservoir/liu-zhuge1.c.ppl @@ -0,0 +1,149 @@ +/* Generated from ././reservoir/liu-zhuge1.cloog by CLooG 0.15 64 bits in 0.08s. */ +if ((M >= 0) && (N >= 0)) { + for (c2=-4;c2<=min(3*M+N-4,-1);c2++) { + for (c4=max(c2-3*M+4,0);c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + } +} +if ((M >= 0) && (M <= 1)) { + for (c2=0;c2<=3*M+N-4;c2++) { + for (c4=max(c2-3*M,0);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=c2-3*M+4;c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(c2-3*M,0);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +for (c2=0;c2<=min(3*M-4,N-1);c2++) { + for (c4=0;c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=c2+1;c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=0;c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } +} +if (N >= 0) { + for (c2=N;c2<=3*M-4;c2++) { + for (c4=0;c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=0;c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +if (M >= 2) { + for (c2=3*M-3;c2<=N-1;c2++) { + for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=c2-3*M+4;c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=c2+1;c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(c2-3*M,0);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +for (c2=max(3*M-3,N);c2<=3*M+N-4;c2++) { + for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=c2-3*M+4;c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(c2-3*M,0);c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } +} +if ((M >= 0) && (N >= 0)) { + for (c2=max(3*M+N-3,0);c2<=3*M+N;c2++) { + for (c4=max(c2-3*M,0);c4<=min(c2,N);c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=max(c2-3*M,0);c4<=min(c2,N);c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} diff --git a/test/reservoir/liu-zhuge1.cloog b/test/reservoir/liu-zhuge1.cloog new file mode 100755 index 0000000..e28cb4b --- /dev/null +++ b/test/reservoir/liu-zhuge1.cloog @@ -0,0 +1,76 @@ +# Language +c + +# Context + + 1 4 + 1 0 0 1 +0 + +# Number of statments +3 + +1 +# { (i,j,k,l) | i >= 0, -i+k >= 0, j >= 0, -j+l >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 0 + 1 -1 0 1 0 0 + 1 0 1 0 0 0 + 1 0 -1 0 1 0 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i >= 0, -i+k >= 0, j >= 0, -j+l >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 0 + 1 -1 0 1 0 0 + 1 0 1 0 0 0 + 1 0 -1 0 1 0 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i >= 0, -i+k >= 0, j >= 0, -j+l >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 0 + 1 -1 0 1 0 0 + 1 0 1 0 0 0 + 1 0 -1 0 1 0 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +3 + + 6 11 + 0 1 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -3 -1 0 0 4 + 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + + + 6 11 + 0 1 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -3 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + + + 6 11 + 0 1 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -3 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/loechner3.c.polylib b/test/reservoir/loechner3.c.polylib new file mode 100644 index 0000000..18d8a5c --- /dev/null +++ b/test/reservoir/loechner3.c.polylib @@ -0,0 +1,10 @@ +/* Generated from loechner3.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=1;c2<=M;c2++) { + for (c4=2;c4<=c2+M;c4++) { + for (c6=max(1,-c2+c4);c6<=min(M,c4-1);c6++) { + k = c4-c6 ; + S1(i = c2,j = c6) ; + } + } +} diff --git a/test/reservoir/loechner3.c.ppl b/test/reservoir/loechner3.c.ppl new file mode 100644 index 0000000..e06f1f4 --- /dev/null +++ b/test/reservoir/loechner3.c.ppl @@ -0,0 +1,9 @@ +/* Generated from ././reservoir/loechner3.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (c2=1;c2<=M;c2++) { + for (c4=2;c4<=c2+M;c4++) { + for (c6=max(-c2+c4,1);c6<=min(c4-1,M);c6++) { + k = c4-c6 ; + S1(i = c2,j = c6) ; + } + } +} diff --git a/test/reservoir/loechner3.cloog b/test/reservoir/loechner3.cloog new file mode 100755 index 0000000..04b34cb --- /dev/null +++ b/test/reservoir/loechner3.cloog @@ -0,0 +1,39 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +1 + +1 +# { (i,j,k,l) | -i+l >= 0, j-1 >= 0, -j+l >= 0, k-1 >= 0, i-k >= 0, 1 >= 0 } + + 6 6 + 1 -1 0 0 1 0 + 1 0 1 0 0 -1 + 1 0 -1 0 1 0 + 1 0 0 1 0 -1 + 1 1 0 -1 0 0 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +1 + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/loechner4.c.polylib b/test/reservoir/loechner4.c.polylib new file mode 100644 index 0000000..63a2f3a --- /dev/null +++ b/test/reservoir/loechner4.c.polylib @@ -0,0 +1,12 @@ +/* Generated from loechner4.cloog by CLooG v0.14.0 64 bits in 0.01s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=2;c2<=2*M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + for (c8=max(1,c2-M);c8<=min(c2-1,M);c8++) { + l = c2-c8 ; + S1(i = c6,j = c4,k = c8) ; + } + } + } +} diff --git a/test/reservoir/loechner4.c.ppl b/test/reservoir/loechner4.c.ppl new file mode 100644 index 0000000..f4bf9ef --- /dev/null +++ b/test/reservoir/loechner4.c.ppl @@ -0,0 +1,11 @@ +/* Generated from ././reservoir/loechner4.cloog by CLooG 0.15 64 bits in 0.02s. */ +for (c2=2;c2<=2*M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + for (c8=max(c2-M,1);c8<=min(c2-1,M);c8++) { + l = c2-c8 ; + S1(i = c6,j = c4,k = c8) ; + } + } + } +} diff --git a/test/reservoir/loechner4.cloog b/test/reservoir/loechner4.cloog new file mode 100755 index 0000000..503f56a --- /dev/null +++ b/test/reservoir/loechner4.cloog @@ -0,0 +1,44 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +1 + +1 +# { (i,j,k,l,m) | i-1 >= 0, -i+m >= 0, j-1 >= 0, -j+m >= 0, k-1 >= 0, -k+m >= 0, l-1 >= 0, -l+m >= 0, 1 >= 0 } + + 9 7 + 1 1 0 0 0 0 -1 + 1 -1 0 0 0 1 0 + 1 0 1 0 0 0 -1 + 1 0 -1 0 0 1 0 + 1 0 0 1 0 0 -1 + 1 0 0 -1 0 1 0 + 1 0 0 0 1 0 -1 + 1 0 0 0 -1 1 0 + 1 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +1 + + 10 16 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 0 0 0 0 -1 -1 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/loechner5.c.polylib b/test/reservoir/loechner5.c.polylib new file mode 100644 index 0000000..4968cf0 --- /dev/null +++ b/test/reservoir/loechner5.c.polylib @@ -0,0 +1,11 @@ +/* Generated from loechner5.cloog by CLooG v0.14.0 64 bits in 0.01s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + for (c8=1;c8<=M;c8++) { + S1(i = c4,j = c6,k = c2,l = c8) ; + } + } + } +} diff --git a/test/reservoir/loechner5.c.ppl b/test/reservoir/loechner5.c.ppl new file mode 100644 index 0000000..9c05d30 --- /dev/null +++ b/test/reservoir/loechner5.c.ppl @@ -0,0 +1,10 @@ +/* Generated from ././reservoir/loechner5.cloog by CLooG 0.15 64 bits in 0.02s. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + for (c8=1;c8<=M;c8++) { + S1(i = c4,j = c6,k = c2,l = c8) ; + } + } + } +} diff --git a/test/reservoir/loechner5.cloog b/test/reservoir/loechner5.cloog new file mode 100755 index 0000000..f208435 --- /dev/null +++ b/test/reservoir/loechner5.cloog @@ -0,0 +1,44 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +1 + +1 +# { (i,j,k,l,m) | i-1 >= 0, -i+m >= 0, j-1 >= 0, -j+m >= 0, k-1 >= 0, -k+m >= 0, l-1 >= 0, -l+m >= 0, 1 >= 0 } + + 9 7 + 1 1 0 0 0 0 -1 + 1 -1 0 0 0 1 0 + 1 0 1 0 0 0 -1 + 1 0 -1 0 0 1 0 + 1 0 0 1 0 0 -1 + 1 0 0 -1 0 1 0 + 1 0 0 0 1 0 -1 + 1 0 0 0 -1 1 0 + 1 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +1 + + 10 16 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 0 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/long.c.polylib b/test/reservoir/long.c.polylib new file mode 100644 index 0000000..54f1f59 --- /dev/null +++ b/test/reservoir/long.c.polylib @@ -0,0 +1,20 @@ +/* Generated from long.cloog by CLooG v0.14.0 64 bits in 11.58s. */ +/* CLooG asked for 1888 KBytes. */ +for (c2=1;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S2(i = c2,j = c4,k = c6) ; + } + } + for (c4=1;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S3(i = c2,j = c4,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S4(i = c2,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/long.c.ppl b/test/reservoir/long.c.ppl new file mode 100644 index 0000000..54f1f59 --- /dev/null +++ b/test/reservoir/long.c.ppl @@ -0,0 +1,20 @@ +/* Generated from long.cloog by CLooG v0.14.0 64 bits in 11.58s. */ +/* CLooG asked for 1888 KBytes. */ +for (c2=1;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S2(i = c2,j = c4,k = c6) ; + } + } + for (c4=1;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S3(i = c2,j = c4,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S4(i = c2,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/long.cloog b/test/reservoir/long.cloog new file mode 100644 index 0000000..aae4a18 --- /dev/null +++ b/test/reservoir/long.cloog @@ -0,0 +1,127 @@ +# Language +c + +# Context + + 15 11 + 1 1 0 0 0 0 0 0 0 0 -10 + 1 0 1 0 0 0 0 0 0 0 -10 + 1 0 0 1 0 0 0 0 0 0 -10 + 1 0 0 0 1 0 0 0 0 0 -1 + 1 0 0 0 -1 0 0 0 0 0 2 + 1 0 0 0 0 1 0 0 0 0 -1 + 1 0 0 0 0 -1 0 0 0 0 2 + 1 0 0 0 0 0 1 0 0 0 -1 + 1 0 0 0 0 0 -1 0 0 0 2 + 1 0 0 0 0 0 0 1 0 0 0 + 1 0 0 0 0 0 0 -1 0 0 1 + 1 0 0 0 0 0 0 0 1 0 0 + 1 0 0 0 0 0 0 0 -1 0 1 + 1 0 0 0 0 0 0 0 0 1 0 + 1 0 0 0 0 0 0 0 0 -1 1 +0 + +# Number of statments +4 + +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 -1 0 0 0 0 0 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 -1 0 0 0 0 0 0 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 -1 0 0 0 0 0 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 -1 0 0 0 0 0 0 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +4 + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 + diff --git a/test/reservoir/makefile b/test/reservoir/makefile new file mode 100644 index 0000000..2d33fb6 --- /dev/null +++ b/test/reservoir/makefile @@ -0,0 +1,79 @@ +# +# /**-------------------------------------------------------------------** +# ** CLooG ** +# **-------------------------------------------------------------------** +# ** makefile ** +# **-------------------------------------------------------------------** +# ** First version: march 6th 2003 ** +# **-------------------------------------------------------------------**/ +# +# makefile for checking. + +#/***************************************************************************** +# * CLooG : the Chunky Loop Generator (experimental) * +# ***************************************************************************** +# * * +# * Copyright (C) 2003 Cedric Bastoul * +# * * +# * This is free software; you can redistribute it and/or modify it under the * +# * terms of the GNU General Public License as published by the Free Software * +# * Foundation; either version 2 of the License, or (at your option) any * +# * later version. * +# * * +# * This software is distributed in the hope that it will be useful, but * +# * WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * +# * Public License for more details. * +# * * +# * You should have received a copy of the GNU General Public License along * +# * with software; if not, write to the Free Software Foundation, Inc., * +# * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +# * * +# * CLooG, the Chunky Loop Generator * +# * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr * +# * This file has been written with the help of the Bart Kienhuis's checking * +# * makefile for PipLib. * +# * * +# *****************************************************************************/ + +CLOOGTEST_C = \ + cholesky2 \ + fusion1 \ + fusion2 \ + jacobi2 \ + jacobi3 \ + lim-lam1 \ + lim-lam2 \ + lim-lam3 \ + lim-lam4 \ + lim-lam5 \ + lim-lam6 \ + liu-zhuge1 \ + loechner3 \ + loechner4 \ + loechner5 \ + long \ + mg-interp2 \ + mg-interp \ + mg-psinv \ + mg-resid \ + mg-rprj3 \ + pingali1 \ + pingali2 \ + pingali3 \ + pingali4 \ + pingali5 \ + pingali6 \ + QR \ + tang-xue1 \ + two + + +generate: + @echo " /*-----------------------------------------------*" + @echo " * Generate files *" + @echo " *-----------------------------------------------*/" + for x in $(CLOOGTEST_C) ; do \ + echo "Generate $$x.c" ; \ + ../../obj_i686-pc-linux-gnu/cloog $$x.cloog -o $$x.c ; \ + done diff --git a/test/reservoir/mg-interp.c.polylib b/test/reservoir/mg-interp.c.polylib new file mode 100644 index 0000000..df7820e --- /dev/null +++ b/test/reservoir/mg-interp.c.polylib @@ -0,0 +1,288 @@ +/* Generated from ./reservoir/mg-interp.cloog by CLooG v0.14.0 gmp bits in 0.96s. */ +/* CLooG asked for 3476 KBytes. */ +if ((M >= 2) && (N >= 4)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + S1(i = c2,j = 2,k = M) ; + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 2,k = c6) ; + S7(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c4=3;c4<=2*N-5;c4++) { + for (c6=1;c6<=M-1;c6++) { + if ((c4+1)%2 == 0) { + j = (c4-1)/2 ; + S10(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + j = (c4+2)/2 ; + S6(i = c2,k = c6) ; + S7(i = c2,k = c6) ; + } + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = c6) ; + } + } + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = M) ; + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + S11(i = c2,j = c4/2,k = c6) ; + } + } + } + c4 = 2*N-4 ; + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S6(i = c2,k = c6) ; + S7(i = c2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + j = N-2 ; + S11(i = c2,k = c6) ; + } + c4 = 2*N-3 ; + for (c6=1;c6<=M-1;c6++) { + j = N-2 ; + S10(i = c2,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + c4 = 2*N-2 ; + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S11(i = c2,k = c6) ; + } + c4 = 2*N-1 ; + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S10(i = c2,k = c6) ; + } + } +} +if ((M >= 2) && (N == 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + S1(i = c2,j = 2,k = M) ; + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 2,k = c6) ; + S7(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 2,k = c6) ; + } + } +} +if ((M >= 2) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 1,k = c6) ; + } + } +} +if ((M == 1) && (N >= 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=-1;c4<=0;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = 1) ; + } + } + for (c4=1;c4<=2*N-5;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = 1) ; + } + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = 1) ; + } + } + for (c4=2*N-4;c4<=2*N-3;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = 1) ; + } + } + } +} +if ((M == 1) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + S1(i = c2,j = 1,k = 1) ; + S3(i = c2,j = 1,k = 1) ; + } +} +if ((M >= 2) && (N >= 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S8(i = c2,j = 1,k = c6) ; + } + for (c4=3;c4<=2*N-2;c4++) { + for (c6=1;c6<=M;c6++) { + if (c4%2 == 0) { + S2(i = c2,j = c4/2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + S8(i = c2,j = c4/2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if ((c4+1)%2 == 0) { + j = (c4-1)/2 ; + S9(i = c2,k = c6) ; + } + } + } + c4 = 2*N-1 ; + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S9(i = c2,k = c6) ; + } + } +} +if ((M >= 2) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S8(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S9(i = c2,j = 1,k = c6) ; + } + } +} +if ((M == 1) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=2;c4<=2*N-2;c4++) { + if (c4%2 == 0) { + S2(i = c2,j = c4/2,k = 1) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S4(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S5(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= P+1) && (N >= Q+1)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S12(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= Q+1)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S13(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= P+1) && (N >= 2)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S14(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S15(i = c2,j = c4,k = c6) ; + } + } + } +} diff --git a/test/reservoir/mg-interp.c.ppl b/test/reservoir/mg-interp.c.ppl new file mode 100644 index 0000000..4c891c3 --- /dev/null +++ b/test/reservoir/mg-interp.c.ppl @@ -0,0 +1,311 @@ +/* Generated from ././reservoir/mg-interp.cloog by CLooG 0.15 64 bits in 1.58s. */ +if ((M >= 2) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 1,k = c6) ; + } + } +} +if ((M >= 2) && (N == 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + S1(i = c2,j = 2,k = M) ; + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 2,k = c6) ; + S7(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 2,k = c6) ; + } + } +} +if ((M >= 2) && (N >= 4)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + S1(i = c2,j = 2,k = M) ; + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 2,k = c6) ; + S7(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c4=3;c4<=2*N-5;c4++) { + for (c6=1;c6<=M-1;c6++) { + if ((c4+1)%2 == 0) { + j = (c4-1)/2 ; + S10(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + j = (c4+2)/2 ; + S6(i = c2,k = c6) ; + S7(i = c2,k = c6) ; + } + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = c6) ; + } + } + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = M) ; + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + S11(i = c2,j = c4/2,k = c6) ; + } + } + } + c4 = 2*N-4 ; + for (c6=1;c6<=M-1;c6++) { + if (1%2 == 0) { + j = (2*N-5)/2 ; + S10(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M;c6++) { + if (1%2 == 0) { + j = (2*N-3)/2 ; + S3(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S6(i = c2,k = c6) ; + S7(i = c2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + j = N-2 ; + S11(i = c2,k = c6) ; + } + c4 = 2*N-3 ; + for (c6=1;c6<=M-1;c6++) { + j = N-2 ; + S10(i = c2,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + if (1%2 == 0) { + j = (2*N-3)/2 ; + S11(i = c2,k = c6) ; + } + } + c4 = 2*N-2 ; + for (c6=1;c6<=M-1;c6++) { + if (1%2 == 0) { + j = (2*N-3)/2 ; + S10(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S11(i = c2,k = c6) ; + } + c4 = 2*N-1 ; + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S10(i = c2,k = c6) ; + } + } +} +if ((M == 1) && (N >= 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=-1;c4<=0;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = 1) ; + } + } + for (c4=1;c4<=2*N-5;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = 1) ; + } + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = 1) ; + } + } + for (c4=2*N-4;c4<=2*N-3;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = 1) ; + } + } + } +} +if ((M == 1) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + S1(i = c2,j = 1,k = 1) ; + S3(i = c2,j = 1,k = 1) ; + } +} +if ((M >= 2) && (N >= 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S8(i = c2,j = 1,k = c6) ; + } + for (c4=3;c4<=2*N-2;c4++) { + for (c6=1;c6<=M;c6++) { + if (c4%2 == 0) { + S2(i = c2,j = c4/2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + S8(i = c2,j = c4/2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if ((c4+1)%2 == 0) { + j = (c4-1)/2 ; + S9(i = c2,k = c6) ; + } + } + } + c4 = 2*N-1 ; + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S9(i = c2,k = c6) ; + } + } +} +if ((M >= 2) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S8(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S9(i = c2,j = 1,k = c6) ; + } + } +} +if ((M == 1) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=2;c4<=2*N-2;c4++) { + if (c4%2 == 0) { + S2(i = c2,j = c4/2,k = 1) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S4(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S5(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= P+1) && (N >= Q+1)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S12(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= Q+1)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S13(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= P+1) && (N >= 2)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S14(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S15(i = c2,j = c4,k = c6) ; + } + } + } +} diff --git a/test/reservoir/mg-interp.cloog b/test/reservoir/mg-interp.cloog new file mode 100755 index 0000000..9d08463 --- /dev/null +++ b/test/reservoir/mg-interp.cloog @@ -0,0 +1,376 @@ +# Language +c + +# Context + + 1 11 + 1 0 0 0 0 0 0 0 0 0 1 +0 + +# Number of statments +15 + +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-q >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 -1 0 0 0 0 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 -1 0 0 0 0 0 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 -1 0 0 0 0 0 0 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-q >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 -1 0 0 0 0 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 -1 0 0 0 0 0 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-q >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 -1 0 0 0 0 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 -1 0 0 0 0 0 0 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-q >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 -1 0 0 0 0 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +15 + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 3 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -2 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 2 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 2 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/mg-interp2.c.polylib b/test/reservoir/mg-interp2.c.polylib new file mode 100644 index 0000000..a19c581 --- /dev/null +++ b/test/reservoir/mg-interp2.c.polylib @@ -0,0 +1,38 @@ +/* Generated from mg-interp2.cloog by CLooG v0.14.0 64 bits in 0.02s. */ +/* CLooG asked for 160 KBytes. */ +if ((M >= P+1) && (N >= Q+1)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= Q+1)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S2(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= P+1) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S3(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S4(i = c2,j = c4,k = c6) ; + } + } + } +} diff --git a/test/reservoir/mg-interp2.c.ppl b/test/reservoir/mg-interp2.c.ppl new file mode 100644 index 0000000..0b455ad --- /dev/null +++ b/test/reservoir/mg-interp2.c.ppl @@ -0,0 +1,37 @@ +/* Generated from ././reservoir/mg-interp2.cloog by CLooG 0.15 64 bits in 0.06s. */ +if ((M >= P+1) && (N >= Q+1)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= Q+1)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S2(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= P+1) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S3(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S4(i = c2,j = c4,k = c6) ; + } + } + } +} diff --git a/test/reservoir/mg-interp2.cloog b/test/reservoir/mg-interp2.cloog new file mode 100755 index 0000000..d1218bc --- /dev/null +++ b/test/reservoir/mg-interp2.cloog @@ -0,0 +1,112 @@ +# Language +c + +# Context + + 1 11 + 1 0 0 0 0 0 0 0 0 0 1 +0 + +# Number of statments +4 + +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 -1 0 0 0 0 0 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 -1 0 0 0 0 0 0 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 -1 0 0 0 0 0 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 -1 0 0 0 0 0 0 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 14 + 1 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 1 -1 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 1 0 -1 0 0 1 0 0 0 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +4 + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 21 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/mg-psinv.c.polylib b/test/reservoir/mg-psinv.c.polylib new file mode 100644 index 0000000..89abd98 --- /dev/null +++ b/test/reservoir/mg-psinv.c.polylib @@ -0,0 +1,53 @@ +/* Generated from ./reservoir/mg-psinv.cloog by CLooG v0.14.0 gmp bits in 0.06s. */ +/* CLooG asked for 300 KBytes. */ +if ((M >= 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c4=4;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + for (c6=2;c6<=M-1;c6++) { + if (c4%2 == 0) { + S3(i = c2,j = c4/2,k = c6) ; + } + } + } + c4 = 2*N-2 ; + for (c6=2;c6<=M-1;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + } +} +if ((M >= 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M-1;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + } +} +if ((M >= 1) && (M <= 2) && (N >= 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c4=3;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + } + } +} diff --git a/test/reservoir/mg-psinv.c.ppl b/test/reservoir/mg-psinv.c.ppl new file mode 100644 index 0000000..5179314 --- /dev/null +++ b/test/reservoir/mg-psinv.c.ppl @@ -0,0 +1,52 @@ +/* Generated from ././reservoir/mg-psinv.cloog by CLooG 0.15 64 bits in 0.05s. */ +if ((M >= 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c4=4;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + for (c6=2;c6<=M-1;c6++) { + if (c4%2 == 0) { + S3(i = c2,j = c4/2,k = c6) ; + } + } + } + c4 = 2*N-2 ; + for (c6=2;c6<=M-1;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + } +} +if ((M >= 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M-1;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + } +} +if ((M >= 1) && (M <= 2) && (N >= 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c4=3;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + } + } +} diff --git a/test/reservoir/mg-psinv.cloog b/test/reservoir/mg-psinv.cloog new file mode 100755 index 0000000..7f0dd2c --- /dev/null +++ b/test/reservoir/mg-psinv.cloog @@ -0,0 +1,88 @@ +# Language +c + +# Context + + 1 5 + 1 0 0 0 1 +0 + +# Number of statments +3 + +1 +# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 7 8 + 1 1 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 -1 + 1 0 1 0 0 0 0 -2 + 1 0 -1 0 0 1 0 -1 + 1 0 0 1 0 0 0 -1 + 1 0 0 -1 1 0 0 0 + 1 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 7 8 + 1 1 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 -1 + 1 0 1 0 0 0 0 -2 + 1 0 -1 0 0 1 0 -1 + 1 0 0 1 0 0 0 -1 + 1 0 0 -1 1 0 0 0 + 1 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 8 + 1 1 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 -1 + 1 0 1 0 0 0 0 -2 + 1 0 -1 0 0 1 0 -1 + 1 0 0 1 0 0 0 -2 + 1 0 0 -1 1 0 0 -1 + 1 0 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +3 + + 8 15 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 15 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 15 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/mg-resid.c.polylib b/test/reservoir/mg-resid.c.polylib new file mode 100644 index 0000000..3d0ec6f --- /dev/null +++ b/test/reservoir/mg-resid.c.polylib @@ -0,0 +1,53 @@ +/* Generated from ./reservoir/mg-resid.cloog by CLooG v0.14.0 gmp bits in 0.06s. */ +/* CLooG asked for 300 KBytes. */ +if ((M >= 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c4=4;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + for (c6=2;c6<=M-1;c6++) { + if (c4%2 == 0) { + S3(i = c2,j = c4/2,k = c6) ; + } + } + } + c4 = 2*N-2 ; + for (c6=2;c6<=M-1;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + } +} +if ((M >= 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M-1;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + } +} +if ((M >= 1) && (M <= 2) && (N >= 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c4=3;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + } + } +} diff --git a/test/reservoir/mg-resid.c.ppl b/test/reservoir/mg-resid.c.ppl new file mode 100644 index 0000000..9c9dd4e --- /dev/null +++ b/test/reservoir/mg-resid.c.ppl @@ -0,0 +1,52 @@ +/* Generated from ././reservoir/mg-resid.cloog by CLooG 0.15 64 bits in 0.07s. */ +if ((M >= 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c4=4;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + for (c6=2;c6<=M-1;c6++) { + if (c4%2 == 0) { + S3(i = c2,j = c4/2,k = c6) ; + } + } + } + c4 = 2*N-2 ; + for (c6=2;c6<=M-1;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + } +} +if ((M >= 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M-1;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + } +} +if ((M >= 1) && (M <= 2) && (N >= 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c4=3;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + } + } +} diff --git a/test/reservoir/mg-resid.cloog b/test/reservoir/mg-resid.cloog new file mode 100755 index 0000000..7f0dd2c --- /dev/null +++ b/test/reservoir/mg-resid.cloog @@ -0,0 +1,88 @@ +# Language +c + +# Context + + 1 5 + 1 0 0 0 1 +0 + +# Number of statments +3 + +1 +# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 7 8 + 1 1 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 -1 + 1 0 1 0 0 0 0 -2 + 1 0 -1 0 0 1 0 -1 + 1 0 0 1 0 0 0 -1 + 1 0 0 -1 1 0 0 0 + 1 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 7 8 + 1 1 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 -1 + 1 0 1 0 0 0 0 -2 + 1 0 -1 0 0 1 0 -1 + 1 0 0 1 0 0 0 -1 + 1 0 0 -1 1 0 0 0 + 1 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 8 + 1 1 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 -1 + 1 0 1 0 0 0 0 -2 + 1 0 -1 0 0 1 0 -1 + 1 0 0 1 0 0 0 -2 + 1 0 0 -1 1 0 0 -1 + 1 0 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +3 + + 8 15 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 15 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 15 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/mg-rprj3.c.polylib b/test/reservoir/mg-rprj3.c.polylib new file mode 100644 index 0000000..e4f1b54 --- /dev/null +++ b/test/reservoir/mg-rprj3.c.polylib @@ -0,0 +1,143 @@ +/* Generated from ./reservoir/mg-rprj3.cloog by CLooG v0.14.0 gmp bits in 0.35s. */ +/* CLooG asked for 1128 KBytes. */ +if ((M >= 4) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c4=3;c4<=N-1;c4++) { + for (c6=2;c6<=M;c6++) { + j = c4-1 ; + S2(i = c2,k = c6) ; + } + j = c4-1 ; + S4(i = c2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + j = c4-1 ; + S3(i = c2,k = c6) ; + j = c4-1 ; + S5(i = c2,k = c6) ; + j = c4-1 ; + k = c6+1 ; + S4(i = c2) ; + } + c6 = M-1 ; + j = c4-1 ; + k = M-1 ; + S3(i = c2) ; + j = c4-1 ; + k = M-1 ; + S5(i = c2) ; + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + for (c6=2;c6<=M;c6++) { + j = N-1 ; + S2(i = c2,k = c6) ; + } + j = N-1 ; + S4(i = c2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + j = N-1 ; + S5(i = c2,k = c6) ; + j = N-1 ; + k = c6+1 ; + S4(i = c2) ; + } + c6 = M-1 ; + j = N-1 ; + k = M-1 ; + S3(i = c2) ; + j = N-1 ; + k = M-1 ; + S5(i = c2) ; + } +} +if ((M >= 4) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M;c6++) { + S2(i = c2,j = 2,k = c6) ; + } + S4(i = c2,j = 2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + S3(i = c2,j = 2,k = c6) ; + S5(i = c2,j = 2,k = c6) ; + k = c6+1 ; + S4(i = c2,j = 2) ; + } + c6 = M-1 ; + k = M-1 ; + S3(i = c2,j = 2) ; + k = M-1 ; + S5(i = c2,j = 2) ; + } +} +if ((M == 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=3;c6++) { + S2(i = c2,j = 2,k = c6) ; + } + S4(i = c2,j = 2,k = 2) ; + S3(i = c2,j = 2,k = 2) ; + S5(i = c2,j = 2,k = 2) ; + } +} +if ((M == 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c4=3;c4<=N-1;c4++) { + for (c6=2;c6<=3;c6++) { + j = c4-1 ; + S2(i = c2,k = c6) ; + } + j = c4-1 ; + S4(i = c2,k = 2) ; + j = c4-1 ; + S3(i = c2,k = 2) ; + j = c4-1 ; + S5(i = c2,k = 2) ; + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + for (c6=2;c6<=3;c6++) { + j = N-1 ; + S2(i = c2,k = c6) ; + } + j = N-1 ; + S4(i = c2,k = 2) ; + j = N-1 ; + S3(i = c2,k = 2) ; + j = N-1 ; + S5(i = c2,k = 2) ; + } +} +if ((M == 2) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + S1(i = c2,j = 2,k = 2) ; + for (c4=3;c4<=N-1;c4++) { + j = c4-1 ; + S2(i = c2,k = 2) ; + S1(i = c2,j = c4,k = 2) ; + } + j = N-1 ; + S2(i = c2,k = 2) ; + } +} +if ((M == 2) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + S1(i = c2,j = 2,k = 2) ; + S2(i = c2,j = 2,k = 2) ; + } +} diff --git a/test/reservoir/mg-rprj3.c.ppl b/test/reservoir/mg-rprj3.c.ppl new file mode 100644 index 0000000..7a93dd2 --- /dev/null +++ b/test/reservoir/mg-rprj3.c.ppl @@ -0,0 +1,142 @@ +/* Generated from ././reservoir/mg-rprj3.cloog by CLooG 0.15 64 bits in 0.58s. */ +if ((M >= 4) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c4=3;c4<=N-1;c4++) { + for (c6=2;c6<=M;c6++) { + j = c4-1 ; + S2(i = c2,k = c6) ; + } + j = c4-1 ; + S4(i = c2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + j = c4-1 ; + S3(i = c2,k = c6) ; + j = c4-1 ; + S5(i = c2,k = c6) ; + j = c4-1 ; + k = c6+1 ; + S4(i = c2) ; + } + c6 = M-1 ; + j = c4-1 ; + k = M-1 ; + S3(i = c2) ; + j = c4-1 ; + k = M-1 ; + S5(i = c2) ; + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + for (c6=2;c6<=M;c6++) { + j = N-1 ; + S2(i = c2,k = c6) ; + } + j = N-1 ; + S4(i = c2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + j = N-1 ; + S5(i = c2,k = c6) ; + j = N-1 ; + k = c6+1 ; + S4(i = c2) ; + } + c6 = M-1 ; + j = N-1 ; + k = M-1 ; + S3(i = c2) ; + j = N-1 ; + k = M-1 ; + S5(i = c2) ; + } +} +if ((M == 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c4=3;c4<=N-1;c4++) { + for (c6=2;c6<=3;c6++) { + j = c4-1 ; + S2(i = c2,k = c6) ; + } + j = c4-1 ; + S4(i = c2,k = 2) ; + j = c4-1 ; + S3(i = c2,k = 2) ; + j = c4-1 ; + S5(i = c2,k = 2) ; + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + for (c6=2;c6<=3;c6++) { + j = N-1 ; + S2(i = c2,k = c6) ; + } + j = N-1 ; + S4(i = c2,k = 2) ; + j = N-1 ; + S3(i = c2,k = 2) ; + j = N-1 ; + S5(i = c2,k = 2) ; + } +} +if ((M == 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=3;c6++) { + S2(i = c2,j = 2,k = c6) ; + } + S4(i = c2,j = 2,k = 2) ; + S3(i = c2,j = 2,k = 2) ; + S5(i = c2,j = 2,k = 2) ; + } +} +if ((M >= 4) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M;c6++) { + S2(i = c2,j = 2,k = c6) ; + } + S4(i = c2,j = 2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + S3(i = c2,j = 2,k = c6) ; + S5(i = c2,j = 2,k = c6) ; + k = c6+1 ; + S4(i = c2,j = 2) ; + } + c6 = M-1 ; + k = M-1 ; + S3(i = c2,j = 2) ; + k = M-1 ; + S5(i = c2,j = 2) ; + } +} +if ((M == 2) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + S1(i = c2,j = 2,k = 2) ; + for (c4=3;c4<=N-1;c4++) { + j = c4-1 ; + S2(i = c2,k = 2) ; + S1(i = c2,j = c4,k = 2) ; + } + j = N-1 ; + S2(i = c2,k = 2) ; + } +} +if ((M == 2) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + S1(i = c2,j = 2,k = 2) ; + S2(i = c2,j = 2,k = 2) ; + } +} diff --git a/test/reservoir/mg-rprj3.cloog b/test/reservoir/mg-rprj3.cloog new file mode 100755 index 0000000..adf72fd --- /dev/null +++ b/test/reservoir/mg-rprj3.cloog @@ -0,0 +1,136 @@ +# Language +c + +# Context + + 1 8 + 1 0 0 0 0 0 0 1 +0 + +# Number of statments +5 + +1 +# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l >= 0, 1 >= 0 } + + 7 11 + 1 1 0 0 0 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 -2 + 1 0 -1 0 0 1 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 -2 + 1 0 0 -1 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l >= 0, 1 >= 0 } + + 7 11 + 1 1 0 0 0 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 -2 + 1 0 -1 0 0 1 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 -2 + 1 0 0 -1 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 11 + 1 1 0 0 0 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 -2 + 1 0 -1 0 0 1 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 -2 + 1 0 0 -1 1 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 11 + 1 1 0 0 0 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 -2 + 1 0 -1 0 0 1 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 -2 + 1 0 0 -1 1 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 } + + 7 11 + 1 1 0 0 0 0 0 0 0 0 -2 + 1 -1 0 0 0 0 1 0 0 0 -1 + 1 0 1 0 0 0 0 0 0 0 -2 + 1 0 -1 0 0 1 0 0 0 0 -1 + 1 0 0 1 0 0 0 0 0 0 -2 + 1 0 0 -1 1 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +5 + + 8 18 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -2 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 18 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 18 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 18 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 1 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -2 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 18 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/pingali1.c.polylib b/test/reservoir/pingali1.c.polylib new file mode 100644 index 0000000..67fa49d --- /dev/null +++ b/test/reservoir/pingali1.c.polylib @@ -0,0 +1,27 @@ +/* Generated from pingali1.cloog by CLooG v0.14.0 64 bits in 0.01s. */ +/* CLooG asked for 160 KBytes. */ +if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=2;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S2(i = c2) ; + } + } + for (c4=3;c4<=2*N-1;c4++) { + for (c6=max(1,c4-N);c6<=floord(c4-1,2);c6++) { + j = c4-c6 ; + S1(i = c2,k = c6) ; + } + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S2(i = c2) ; + } + } + } +} +if (N == 1) { + for (c2=1;c2<=M;c2++) { + S2(i = c2,j = 1) ; + } +} diff --git a/test/reservoir/pingali1.c.ppl b/test/reservoir/pingali1.c.ppl new file mode 100644 index 0000000..1e803bc --- /dev/null +++ b/test/reservoir/pingali1.c.ppl @@ -0,0 +1,26 @@ +/* Generated from ././reservoir/pingali1.cloog by CLooG 0.15 64 bits in 0.03s. */ +if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=2;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S2(i = c2) ; + } + } + for (c4=3;c4<=2*N-1;c4++) { + for (c6=max(c4-N,1);c6<=floord(c4-1,2);c6++) { + j = c4-c6 ; + S1(i = c2,k = c6) ; + } + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S2(i = c2) ; + } + } + } +} +if (N == 1) { + for (c2=1;c2<=M;c2++) { + S2(i = c2,j = 1) ; + } +} diff --git a/test/reservoir/pingali1.cloog b/test/reservoir/pingali1.cloog new file mode 100755 index 0000000..0be0a2a --- /dev/null +++ b/test/reservoir/pingali1.cloog @@ -0,0 +1,61 @@ +# Language +c + +# Context + + 1 4 + 1 0 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, -j+m >= 0, k-1 >= 0, j-k-1 >= 0, 1 >= 0 } + + 6 7 + 1 1 0 0 0 0 -1 + 1 -1 0 0 1 0 0 + 1 0 -1 0 0 1 0 + 1 0 0 1 0 0 -1 + 1 0 1 -1 0 0 -1 + 1 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+l >= 0, 1 >= 0 } + + 5 6 + 1 1 0 0 0 -1 + 1 -1 0 1 0 0 + 1 0 1 0 0 -1 + 1 0 -1 0 1 0 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 8 14 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -2 0 0 1 + 0 0 0 0 0 1 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/pingali2.c.polylib b/test/reservoir/pingali2.c.polylib new file mode 100644 index 0000000..4eed9ce --- /dev/null +++ b/test/reservoir/pingali2.c.polylib @@ -0,0 +1,12 @@ +/* Generated from pingali2.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c2,j = c4) ; + } +} diff --git a/test/reservoir/pingali2.c.ppl b/test/reservoir/pingali2.c.ppl new file mode 100644 index 0000000..4c57fdf --- /dev/null +++ b/test/reservoir/pingali2.c.ppl @@ -0,0 +1,11 @@ +/* Generated from ././reservoir/pingali2.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c2,j = c4) ; + } +} diff --git a/test/reservoir/pingali2.cloog b/test/reservoir/pingali2.cloog new file mode 100755 index 0000000..0f89038 --- /dev/null +++ b/test/reservoir/pingali2.cloog @@ -0,0 +1,56 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 6 10 + 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + + + 6 10 + 0 1 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/pingali3.c.polylib b/test/reservoir/pingali3.c.polylib new file mode 100644 index 0000000..a385cf9 --- /dev/null +++ b/test/reservoir/pingali3.c.polylib @@ -0,0 +1,14 @@ +/* Generated from pingali3.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/pingali3.c.ppl b/test/reservoir/pingali3.c.ppl new file mode 100644 index 0000000..cf5ed55 --- /dev/null +++ b/test/reservoir/pingali3.c.ppl @@ -0,0 +1,13 @@ +/* Generated from ././reservoir/pingali3.cloog by CLooG 0.15 64 bits in 0.01s. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/pingali3.cloog b/test/reservoir/pingali3.cloog new file mode 100755 index 0000000..8f345c0 --- /dev/null +++ b/test/reservoir/pingali3.cloog @@ -0,0 +1,62 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | i-1 >= 0, -i+l >= 0, j-1 >= 0, -j+l >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 7 6 + 1 1 0 0 0 -1 + 1 -1 0 0 1 0 + 1 0 1 0 0 -1 + 1 0 -1 0 1 0 + 1 0 0 1 0 -1 + 1 0 0 -1 1 0 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 0 0 -1 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/pingali4.c.polylib b/test/reservoir/pingali4.c.polylib new file mode 100644 index 0000000..535bafc --- /dev/null +++ b/test/reservoir/pingali4.c.polylib @@ -0,0 +1,12 @@ +/* Generated from pingali4.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c2,j = c4) ; + } +} diff --git a/test/reservoir/pingali4.c.ppl b/test/reservoir/pingali4.c.ppl new file mode 100644 index 0000000..6e56b8b --- /dev/null +++ b/test/reservoir/pingali4.c.ppl @@ -0,0 +1,11 @@ +/* Generated from ././reservoir/pingali4.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } +} +for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c2,j = c4) ; + } +} diff --git a/test/reservoir/pingali4.cloog b/test/reservoir/pingali4.cloog new file mode 100755 index 0000000..46f4e07 --- /dev/null +++ b/test/reservoir/pingali4.cloog @@ -0,0 +1,57 @@ +# Language +c + +# Context + + 2 3 + 1 1 -2 + 1 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 } + + 5 5 + 1 1 0 0 -1 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 0 -1 1 0 + 1 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 6 10 + 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + + + 6 10 + 0 1 0 0 0 0 0 0 0 -1 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/pingali5.c.polylib b/test/reservoir/pingali5.c.polylib new file mode 100644 index 0000000..5630c35 --- /dev/null +++ b/test/reservoir/pingali5.c.polylib @@ -0,0 +1,26 @@ +/* Generated from pingali5.cloog by CLooG v0.14.0 64 bits in 0.00s. */ +/* CLooG asked for 160 KBytes. */ +for (c2=3;c2<=2*M-3;c2++) { + for (c4=ceild(c2+3,2);c4<=M;c4++) { + for (i=ceild(c2+1,2);i<=min(c4-1,c2-1);i++) { + j = c2-i ; + S1(k = c4) ; + } + } + for (c4=max(1,c2-M);c4<=floord(c2-1,2);c4++) { + i = c2-c4 ; + S2(j = c4) ; + } + for (c4=ceild(c2+3,2);c4<=M;c4++) { + for (i=ceild(c2+1,2);i<=min(c4-1,c2-1);i++) { + j = c2-i ; + S3(k = c4) ; + } + } +} +for (c2=max(2*M-2,3);c2<=2*M-1;c2++) { + for (c4=max(1,c2-M);c4<=floord(c2-1,2);c4++) { + i = c2-c4 ; + S2(j = c4) ; + } +} diff --git a/test/reservoir/pingali5.c.ppl b/test/reservoir/pingali5.c.ppl new file mode 100644 index 0000000..7aba0e4 --- /dev/null +++ b/test/reservoir/pingali5.c.ppl @@ -0,0 +1,25 @@ +/* Generated from ././reservoir/pingali5.cloog by CLooG 0.15 64 bits in 0.02s. */ +for (c2=3;c2<=2*M-3;c2++) { + for (c4=ceild(c2+3,2);c4<=M;c4++) { + for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) { + j = c2-i ; + S1(k = c4) ; + } + } + for (c4=max(c2-M,1);c4<=floord(c2-1,2);c4++) { + i = c2-c4 ; + S2(j = c4) ; + } + for (c4=ceild(c2+3,2);c4<=M;c4++) { + for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) { + j = c2-i ; + S3(k = c4) ; + } + } +} +for (c2=max(2*M-2,3);c2<=2*M-1;c2++) { + for (c4=max(c2-M,1);c4<=floord(c2-1,2);c4++) { + i = c2-c4 ; + S2(j = c4) ; + } +} diff --git a/test/reservoir/pingali5.cloog b/test/reservoir/pingali5.cloog new file mode 100755 index 0000000..2933d75 --- /dev/null +++ b/test/reservoir/pingali5.cloog @@ -0,0 +1,81 @@ +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statments +3 + +1 +# { (i,j,k,l) | j-1 >= 0, i-j-1 >= 0, -i+k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 5 6 + 1 0 1 0 0 -1 + 1 1 -1 0 0 -1 + 1 -1 0 1 0 -1 + 1 0 0 -1 1 0 + 1 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k) | -i+k >= 0, j-1 >= 0, i-j-1 >= 0, 1 >= 0 } + + 4 5 + 1 -1 0 1 0 + 1 0 1 0 -1 + 1 1 -1 0 -1 + 1 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l) | j-1 >= 0, i-j-1 >= 0, -i+k-1 >= 0, -k+l >= 0, 1 >= 0 } + + 5 6 + 1 0 1 0 0 -1 + 1 1 -1 0 0 -1 + 1 -1 0 1 0 -1 + 1 0 0 -1 1 0 + 1 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +3 + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 12 + 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 -1 0 0 + 0 0 0 1 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 -1 + 0 0 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 1 + + + 8 13 + 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -1 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 -2 + 0 0 0 0 1 0 0 0 0 0 -1 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 -2 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/pingali6.c.polylib b/test/reservoir/pingali6.c.polylib new file mode 100644 index 0000000..120f9aa --- /dev/null +++ b/test/reservoir/pingali6.c.polylib @@ -0,0 +1,36 @@ +/* Generated from ./reservoir/pingali6.cloog by CLooG v0.14.0 gmp bits in 0.04s. */ +/* CLooG asked for 212 KBytes. */ +if (N >= 3) { + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S1(i = 1,j = c4,k = c6) ; + } + } +} +if (N >= 3) { + for (c2=3;c2<=2*M;c2++) { + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if (c2%2 == 0) { + S1(i = c2/2,j = c4,k = c6) ; + } + } + } + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if ((c2+1)%2 == 0) { + i = (c2-1)/2 ; + S2(j = c4,k = c6) ; + } + } + } + } +} +if (N >= 3) { + c2 = 2*M+1 ; + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S2(i = M,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/pingali6.c.ppl b/test/reservoir/pingali6.c.ppl new file mode 100644 index 0000000..930cf2b --- /dev/null +++ b/test/reservoir/pingali6.c.ppl @@ -0,0 +1,35 @@ +/* Generated from ././reservoir/pingali6.cloog by CLooG 0.15 64 bits in 0.04s. */ +if (N >= 3) { + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S1(i = 1,j = c4,k = c6) ; + } + } +} +if (N >= 3) { + for (c2=3;c2<=2*M;c2++) { + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if (c2%2 == 0) { + S1(i = c2/2,j = c4,k = c6) ; + } + } + } + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if ((c2+1)%2 == 0) { + i = (c2-1)/2 ; + S2(j = c4,k = c6) ; + } + } + } + } +} +if (N >= 3) { + c2 = 2*M+1 ; + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S2(i = M,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/pingali6.cloog b/test/reservoir/pingali6.cloog new file mode 100755 index 0000000..93726ec --- /dev/null +++ b/test/reservoir/pingali6.cloog @@ -0,0 +1,66 @@ +# Language +c + +# Context + + 3 4 + 1 1 0 -1 + 1 0 1 -1 + 1 0 0 1 +0 + +# Number of statments +2 + +1 +# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+m-1 >= 0, 1 >= 0 } + + 7 7 + 1 1 0 0 0 0 -1 + 1 -1 0 0 1 0 0 + 1 0 1 0 0 0 -2 + 1 0 -1 0 0 1 -1 + 1 0 0 1 0 0 -2 + 1 0 0 -1 0 1 -1 + 1 0 0 0 0 0 1 + +0 0 0 +1 +# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+m-1 >= 0, 1 >= 0 } + + 7 7 + 1 1 0 0 0 0 -1 + 1 -1 0 0 1 0 0 + 1 0 1 0 0 0 -2 + 1 0 -1 0 0 1 -1 + 1 0 0 1 0 0 -2 + 1 0 0 -1 0 1 -1 + 1 0 0 0 0 0 1 + +0 0 0 +0 +# Scattering functions +2 + + 8 14 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -2 0 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + + + 8 14 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 -2 0 0 0 0 -1 + 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 + 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/stride.c.polylib b/test/reservoir/stride.c.polylib new file mode 100644 index 0000000..7ead4bd --- /dev/null +++ b/test/reservoir/stride.c.polylib @@ -0,0 +1,6 @@ +/* Generated from stride.cloog by CLooG v0.14.0 gmp bits in 0.00s. */ +/* CLooG asked for 80 KBytes. */ +for (c2=2;c2<=M;c2+=7) { + j = (c2-2)/7 ; + S1(i = c2) ; +} diff --git a/test/reservoir/stride.c.ppl b/test/reservoir/stride.c.ppl new file mode 100644 index 0000000..c51e2e1 --- /dev/null +++ b/test/reservoir/stride.c.ppl @@ -0,0 +1,5 @@ +/* Generated from ./reservoir/stride.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (c2=2;c2<=M;c2+=7) { + j = (c2-2)/7 ; + S1(i = c2) ; +} diff --git a/test/reservoir/stride.cloog b/test/reservoir/stride.cloog new file mode 100644 index 0000000..760a1a6 --- /dev/null +++ b/test/reservoir/stride.cloog @@ -0,0 +1,45 @@ +# +# Stride-bug: +# +# for (i = 2; i <= N; i+=7) { +# S(i); +# +# becomes: +# +# for (i = 5; i <= N; i+=7) { +# S(i); + +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statements +1 + +1 + + 4 5 + 0 1 -7 0 -2 + 1 1 0 0 -2 + 1 -1 0 1 0 + 1 0 0 0 1 + +0 0 0 +0 +# Scattering functions +1 + + 6 10 + 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/stride2.c.polylib b/test/reservoir/stride2.c.polylib new file mode 100644 index 0000000..458cc22 --- /dev/null +++ b/test/reservoir/stride2.c.polylib @@ -0,0 +1,6 @@ +/* Generated from stride2.cloog by CLooG v0.14.0 gmp bits in 0.00s. */ +/* CLooG asked for 80 KBytes. */ +for (c2=2;c2<=M;c2+=7) { + j = (c2-2)/7 ; + S1(i = c2) ; +} diff --git a/test/reservoir/stride2.c.ppl b/test/reservoir/stride2.c.ppl new file mode 100644 index 0000000..c29b9e4 --- /dev/null +++ b/test/reservoir/stride2.c.ppl @@ -0,0 +1,5 @@ +/* Generated from ./reservoir/stride2.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (c2=2;c2<=M;c2+=7) { + j = (c2-2)/7 ; + S1(i = c2) ; +} diff --git a/test/reservoir/stride2.cloog b/test/reservoir/stride2.cloog new file mode 100644 index 0000000..5fb9b14 --- /dev/null +++ b/test/reservoir/stride2.cloog @@ -0,0 +1,45 @@ +# +# Stride-bug: +# +# for (i = 2; i <= N; i+=7) { +# S(i); +# +# becomes: +# +# for (i = 5; i <= N; i+=7) { +# S(i); + +# Language +c + +# Context + + 1 3 + 1 0 1 +0 + +# Number of statements +1 + +1 + + 4 5 + 0 1 -7 0 -2 # i - 7j = 2 + 1 1 0 0 0 # i >= 0 + 1 -1 0 1 0 # i <= n + 1 0 0 0 1 + +0 0 0 +0 +# Scattering functions +1 + + 6 10 + 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 -1 0 0 0 + 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 + 1 0 0 0 0 0 0 0 0 1 + +0 diff --git a/test/reservoir/tang-xue1.c.polylib b/test/reservoir/tang-xue1.c.polylib new file mode 100644 index 0000000..f7ae9f2 --- /dev/null +++ b/test/reservoir/tang-xue1.c.polylib @@ -0,0 +1,18 @@ +/* Generated from ./reservoir/tang-xue1.cloog by CLooG v0.14.0 gmp bits in 0.03s. */ +/* CLooG asked for 152 KBytes. */ +for (c2=0;c2<=9;c2++) { + for (c4=max(-1,c2-9);c4<=min(4,c2+3);c4++) { + for (c6=max(max(c2,1),c2-c4);c6<=min(min(c2+1,9),c2-c4+4);c6++) { + for (c8=max(1,-c2+c4+c6);c8<=min(4,-c2+c4+c6+1);c8++) { + if (c2%2 == 0) { + if ((c2+c4)%2 == 0) { + j = (-c2+c4)/2 ; + k = -c2+c6 ; + l = -c4+c8 ; + S1(i = c2/2) ; + } + } + } + } + } +} diff --git a/test/reservoir/tang-xue1.c.ppl b/test/reservoir/tang-xue1.c.ppl new file mode 100644 index 0000000..188b862 --- /dev/null +++ b/test/reservoir/tang-xue1.c.ppl @@ -0,0 +1,17 @@ +/* Generated from ././reservoir/tang-xue1.cloog by CLooG 0.15 64 bits in 0.05s. */ +for (c2=0;c2<=9;c2++) { + for (c4=max(c2-9,-1);c4<=min(c2+3,4);c4++) { + for (c6=max(max(c2-c4,c2),1);c6<=min(min(c2-c4+4,c2+1),9);c6++) { + for (c8=max(-c2+c4+c6,1);c8<=min(-c2+c4+c6+1,4);c8++) { + if (c2%2 == 0) { + if ((c2+c4)%2 == 0) { + j = (-c2+c4)/2 ; + k = -c2+c6 ; + l = -c4+c8 ; + S1(i = c2/2) ; + } + } + } + } + } +} diff --git a/test/reservoir/tang-xue1.cloog b/test/reservoir/tang-xue1.cloog new file mode 100644 index 0000000..bf9b92b --- /dev/null +++ b/test/reservoir/tang-xue1.cloog @@ -0,0 +1,80 @@ +# +# Example 1 in "Generating Efficient Tiled Code for Distributed Memory +# Machines", Peiyi Tang and Jingling Xue. +# + +# for (int i = 1; i <= 9; i++) { +# for (int j = 1; j <= 4; j++) { +# A[i,2*j] = A[i,2*j-2] + A[i-1,2*j-2]; +# } +# } +# +# We tile it with a tiling matrix H = [1/2 0] +# [-1/2 1/2] +# +# We get: +# +# for (int i = 0; i <= 9; i += 2) { +# for (int j = max(-1, -9 + i); j <= min(4, 3 + i); j++) { +# for (int k = max(1, i, i-j); k <= min(4 + i -j, 1 + i, 9); k++) { +# for (int l = max(-i + j + k, 1); l <= min(4, 1 -i + j + k); l++) { +# if (i % 2 == 0) { +# if ((i + j) % 2 == 0) { +# A[k, 2 * l] = A[k, -2 + 2 * l] + A[-1 + k, -2 + 2 * l]; +# } +# } +# } +# } +# } +# } +# + +# language: C +c + +# parameter (none) +1 2 +# 1 +1 1 +0 + +1 # number of statements + +1 +# -2i-2j -l +4 >= 0 +# -k +l >= 0 +# -2i -k +9 >= 0 +# k >= 0 +# 2i +k -1 >= 0 +# k -l +1 >= 0 +# -k +1 >= 0 +# 2i+2j +l-1 >= 0 +8 6 +# i j k l 1 +1 -2 -2 0 -1 4 +1 0 0 -1 1 0 +1 -2 0 -1 0 9 +1 0 0 1 0 0 +1 2 0 1 0 -1 +1 0 0 1 -1 1 +1 0 0 -1 0 1 +1 2 2 0 1 -1 +0 0 0 +0 + +1 + +# Scattering functions +9 15 +# alpha=[2i, 2i+2j, 2i+k, 2i+2j+l] gamma=[0, 0, 0, 0] beta=[0, 0, 0, 0, 0, 0] +# c1 c2 c3 c4 c5 c6 c7 c8 c9 i j k l 1 +0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 -1 0 0 0 0 0 0 0 2 0 0 0 0 +0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 -1 0 0 0 0 0 2 2 0 0 0 +0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 -1 0 0 0 2 0 1 0 0 +0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 -1 0 2 2 0 1 0 +0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 +0 diff --git a/test/reservoir/two.c.polylib b/test/reservoir/two.c.polylib new file mode 100644 index 0000000..e8a57ef --- /dev/null +++ b/test/reservoir/two.c.polylib @@ -0,0 +1,9 @@ +/* Generated from ./reservoir/two.cloog by CLooG v0.14.0 gmp bits in 0.00s. */ +/* CLooG asked for 56 KBytes. */ +for (i=0;i<=1;i++) { + if ((i+1)%2 == 0) { + j = (-i+3)/2 ; + k = (i+9)/2 ; + S1 ; + } +} diff --git a/test/reservoir/two.c.ppl b/test/reservoir/two.c.ppl new file mode 100644 index 0000000..418a9d5 --- /dev/null +++ b/test/reservoir/two.c.ppl @@ -0,0 +1,8 @@ +/* Generated from ././reservoir/two.cloog by CLooG 0.15 64 bits in 0.00s. */ +for (i=0;i<=1;i++) { + if ((i+1)%2 == 0) { + j = (-i+3)/2 ; + k = (i+9)/2 ; + S1 ; + } +} diff --git a/test/reservoir/two.cloog b/test/reservoir/two.cloog new file mode 100644 index 0000000..60b259f --- /dev/null +++ b/test/reservoir/two.cloog @@ -0,0 +1,26 @@ +# Scan +# D = { (i, j, k) | 0 <= i < 10, 1 <= j < 20, 2i + 3j = k, i + j + 3 = 3k } +# +# language: C +c + +# parameter (none) +1 2 +1 1 +0 + +1 # Number of statements + +1 +6 5 +# i j k 1 +1 1 0 0 0 +1 -1 0 0 10 +1 0 1 0 -1 +1 0 -1 0 20 +0 2 3 -1 0 +0 1 1 -1 3 +0 0 0 +0 + +0 # Scattering functions |