1/* Generated from ../../../git/cloog/test/thomasset.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.10s. */ 2extern void hash(int); 3 4/* Useful macros. */ 5#define floord(n,d) (((n)<0) ? -((-(n)+(d)-1)/(d)) : (n)/(d)) 6#define ceild(n,d) (((n)<0) ? -((-(n))/(d)) : ((n)+(d)-1)/(d)) 7#define max(x,y) ((x) > (y) ? (x) : (y)) 8#define min(x,y) ((x) < (y) ? (x) : (y)) 9 10#define S1(i,j) { hash(1); hash(i); hash(j); } 11#define S2(i,j,k,p,q) { hash(2); hash(i); hash(j); hash(k); hash(p); hash(q); } 12 13void test(int n) 14{ 15 /* Scattering iterators. */ 16 int c1, c2; 17 /* Original iterators. */ 18 int i, j, k, p, q; 19 for (c1=0;c1<=floord(n-5,3);c1++) { 20 for (i=max(3*c1+1,1);i<=3*c1+3;i++) { 21 S1(i,c1) ; 22 } 23 } 24 if (n == 1) { 25 S1(1,0) ; 26 for (k=0;k<=min(0,0);k++) { 27 for (p=max(0,ceild(-3*k-1,3));p<=min(floord(-3*k+1,3),0);p++) { 28 q = -k-p ; 29 S2(1,1,k,p,-k-p) ; 30 } 31 } 32 } 33 if (n >= 2) { 34 for (c1=max(0,ceild(n-4,3));c1<=0;c1++) { 35 S1(1,c1) ; 36 for (j=1;j<=min(n,3*c1-n+5);j++) { 37 for (k=0;k<=floord(3*c1-j-n+4,3);k++) { 38 for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) { 39 q = c1-k-p ; 40 S2(1,j,k,p,c1-k-p) ; 41 } 42 } 43 } 44 for (i=2;i<=min(n,3*c1+3);i++) { 45 S1(i,c1) ; 46 } 47 for (c2=1;c2<=n-1;c2++) { 48 i = c2+1 ; 49 for (j=1;j<=min(3*c1-n+5,n);j++) { 50 for (k=0;k<=floord(3*c1-j-n+4,3);k++) { 51 for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) { 52 q = c1-k-p ; 53 S2(c2+1,j,k,p,c1-k-p) ; 54 } 55 } 56 } 57 } 58 } 59 } 60 for (c1=max(1,ceild(n-4,3));c1<=floord(n-1,3);c1++) { 61 for (j=1;j<=3*c1-n+5;j++) { 62 for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) { 63 for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { 64 q = c1-k-p ; 65 S2(1,j,k,p,c1-k-p) ; 66 } 67 } 68 } 69 for (i=3*c1+1;i<=min(n,3*c1+3);i++) { 70 S1(i,c1) ; 71 } 72 for (c2=1;c2<=n-1;c2++) { 73 i = c2+1 ; 74 for (j=1;j<=3*c1-n+5;j++) { 75 for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) { 76 for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { 77 q = c1-k-p ; 78 S2(c2+1,j,k,p,c1-k-p) ; 79 } 80 } 81 } 82 } 83 } 84 if (n >= 1) { 85 for (c1=ceild(n,3);c1<=floord(2*n+1,3);c1++) { 86 for (c2=0;c2<=n-1;c2++) { 87 i = c2+1 ; 88 for (j=max(1,3*c1-n-1);j<=min(n,3*c1-n+5);j++) { 89 for (k=max(ceild(3*c1-j-n,3),0);k<=min(floord(3*c1-j-n+4,3),0);k++) { 90 for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { 91 q = c1-k-p ; 92 S2(c2+1,j,k,p,c1-k-p) ; 93 } 94 } 95 } 96 } 97 } 98 } 99} 100