1/* Generated from ../../../git/cloog/test/./reservoir/mg-interp2.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.07s. */ 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,k) { hash(1); hash(i); hash(j); hash(k); } 11#define S2(i,j,k) { hash(2); hash(i); hash(j); hash(k); } 12#define S3(i,j,k) { hash(3); hash(i); hash(j); hash(k); } 13#define S4(i,j,k) { hash(4); hash(i); hash(j); hash(k); } 14 15void test(int M, int N, int O, int P, int Q, int R, int S, int T, int U) 16{ 17 /* Scattering iterators. */ 18 int c2, c4, c6; 19 /* Original iterators. */ 20 int i, j, k; 21 if ((M >= P+1) && (N >= Q+1)) { 22 for (c2=1;c2<=O-1;c2++) { 23 for (c4=Q;c4<=N-1;c4++) { 24 for (c6=P;c6<=M-1;c6++) { 25 S1(c2,c4,c6) ; 26 } 27 } 28 } 29 } 30 if ((M >= 2) && (N >= Q+1)) { 31 for (c2=1;c2<=O-1;c2++) { 32 for (c4=Q;c4<=N-1;c4++) { 33 for (c6=1;c6<=M-1;c6++) { 34 S2(c2,c4,c6) ; 35 } 36 } 37 } 38 } 39 if ((M >= P+1) && (N >= 2)) { 40 for (c2=1;c2<=O-1;c2++) { 41 for (c4=1;c4<=N-1;c4++) { 42 for (c6=P;c6<=M-1;c6++) { 43 S3(c2,c4,c6) ; 44 } 45 } 46 } 47 } 48 if ((M >= 2) && (N >= 2)) { 49 for (c2=1;c2<=O-1;c2++) { 50 for (c4=1;c4<=N-1;c4++) { 51 for (c6=1;c6<=M-1;c6++) { 52 S4(c2,c4,c6) ; 53 } 54 } 55 } 56 } 57} 58