1/* Generated from ../../../git/cloog/test/./reservoir/mg-rprj3.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.39s. */ 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#define S5(i,j,k) { hash(5); hash(i); hash(j); hash(k); } 15 16void test(int M, int N, int O, int P, int Q, int R) 17{ 18 /* Scattering iterators. */ 19 int c2, c4, c6; 20 /* Original iterators. */ 21 int i, j, k; 22 if ((M >= 4) && (N >= 4)) { 23 for (c2=2;c2<=O-1;c2++) { 24 for (c6=2;c6<=M;c6++) { 25 S1(c2,2,c6) ; 26 } 27 for (c4=3;c4<=N-1;c4++) { 28 for (c6=2;c6<=M;c6++) { 29 j = c4-1 ; 30 S2(c2,c4-1,c6) ; 31 } 32 j = c4-1 ; 33 S4(c2,c4-1,2) ; 34 for (c6=2;c6<=M-2;c6++) { 35 j = c4-1 ; 36 S3(c2,c4-1,c6) ; 37 j = c4-1 ; 38 S5(c2,c4-1,c6) ; 39 j = c4-1 ; 40 k = c6+1 ; 41 S4(c2,c4-1,c6+1) ; 42 } 43 c6 = M-1 ; 44 j = c4-1 ; 45 k = M-1 ; 46 S3(c2,c4-1,M-1) ; 47 j = c4-1 ; 48 k = M-1 ; 49 S5(c2,c4-1,M-1) ; 50 for (c6=2;c6<=M;c6++) { 51 S1(c2,c4,c6) ; 52 } 53 } 54 for (c6=2;c6<=M;c6++) { 55 j = N-1 ; 56 S2(c2,N-1,c6) ; 57 } 58 j = N-1 ; 59 S4(c2,N-1,2) ; 60 for (c6=2;c6<=M-2;c6++) { 61 j = N-1 ; 62 S3(c2,N-1,c6) ; 63 j = N-1 ; 64 S5(c2,N-1,c6) ; 65 j = N-1 ; 66 k = c6+1 ; 67 S4(c2,N-1,c6+1) ; 68 } 69 c6 = M-1 ; 70 j = N-1 ; 71 k = M-1 ; 72 S3(c2,N-1,M-1) ; 73 j = N-1 ; 74 k = M-1 ; 75 S5(c2,N-1,M-1) ; 76 } 77 } 78 if ((M >= 4) && (N == 3)) { 79 for (c2=2;c2<=O-1;c2++) { 80 for (c6=2;c6<=M;c6++) { 81 S1(c2,2,c6) ; 82 } 83 for (c6=2;c6<=M;c6++) { 84 S2(c2,2,c6) ; 85 } 86 S4(c2,2,2) ; 87 for (c6=2;c6<=M-2;c6++) { 88 S3(c2,2,c6) ; 89 S5(c2,2,c6) ; 90 k = c6+1 ; 91 S4(c2,2,c6+1) ; 92 } 93 c6 = M-1 ; 94 k = M-1 ; 95 S3(c2,2,M-1) ; 96 k = M-1 ; 97 S5(c2,2,M-1) ; 98 } 99 } 100 if ((M == 3) && (N == 3)) { 101 for (c2=2;c2<=O-1;c2++) { 102 for (c6=2;c6<=3;c6++) { 103 S1(c2,2,c6) ; 104 } 105 for (c6=2;c6<=3;c6++) { 106 S2(c2,2,c6) ; 107 } 108 S4(c2,2,2) ; 109 S3(c2,2,2) ; 110 S5(c2,2,2) ; 111 } 112 } 113 if ((M == 3) && (N >= 4)) { 114 for (c2=2;c2<=O-1;c2++) { 115 for (c6=2;c6<=3;c6++) { 116 S1(c2,2,c6) ; 117 } 118 for (c4=3;c4<=N-1;c4++) { 119 for (c6=2;c6<=3;c6++) { 120 j = c4-1 ; 121 S2(c2,c4-1,c6) ; 122 } 123 j = c4-1 ; 124 S4(c2,c4-1,2) ; 125 j = c4-1 ; 126 S3(c2,c4-1,2) ; 127 j = c4-1 ; 128 S5(c2,c4-1,2) ; 129 for (c6=2;c6<=3;c6++) { 130 S1(c2,c4,c6) ; 131 } 132 } 133 for (c6=2;c6<=3;c6++) { 134 j = N-1 ; 135 S2(c2,N-1,c6) ; 136 } 137 j = N-1 ; 138 S4(c2,N-1,2) ; 139 j = N-1 ; 140 S3(c2,N-1,2) ; 141 j = N-1 ; 142 S5(c2,N-1,2) ; 143 } 144 } 145 if ((M == 2) && (N >= 4)) { 146 for (c2=2;c2<=O-1;c2++) { 147 S1(c2,2,2) ; 148 for (c4=3;c4<=N-1;c4++) { 149 j = c4-1 ; 150 S2(c2,c4-1,2) ; 151 S1(c2,c4,2) ; 152 } 153 j = N-1 ; 154 S2(c2,N-1,2) ; 155 } 156 } 157 if ((M == 2) && (N == 3)) { 158 for (c2=2;c2<=O-1;c2++) { 159 S1(c2,2,2) ; 160 S2(c2,2,2) ; 161 } 162 } 163} 164