| /* Generated from ../../../git/cloog/test/classen.cloog by CLooG 0.14.0-76-gfd78716 gmp bits in 1.73s. */ |
| extern void hash(int); |
| |
| /* Useful macros. */ |
| #define floord(n,d) (((n)<0) ? -((-(n)+(d)-1)/(d)) : (n)/(d)) |
| #define ceild(n,d) (((n)<0) ? -((-(n))/(d)) : ((n)+(d)-1)/(d)) |
| #define max(x,y) ((x) > (y) ? (x) : (y)) |
| #define min(x,y) ((x) < (y) ? (x) : (y)) |
| |
| #define S1(coordT1,coordP1,other1,other2) { hash(1); hash(coordT1); hash(coordP1); hash(other1); hash(other2); } |
| #define S2(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(2); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); } |
| #define S3(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(3); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); } |
| #define S4(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(4); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); } |
| #define S5(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(5); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); } |
| #define S6(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(6); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); } |
| #define S7(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(7); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); } |
| #define S8(coordT1,coordP1) { hash(8); hash(coordT1); hash(coordP1); } |
| |
| void test(int m) |
| { |
| /* Scattering iterators. */ |
| int glT1, rp1, local1, local2; |
| /* Original iterators. */ |
| int coordT1, coordP1, other1, other2, other3, other4, other5, other6; |
| if (m >= 2) { |
| S1(0,1,1,1) ; |
| S2(0,1,1,1,1,1,2,1) ; |
| S3(0,1,1,2,1,1,1,2) ; |
| S4(0,1,2,2,1,1,2,2) ; |
| S8(0,1) ; |
| } |
| if (m == 1) { |
| S1(0,1,1,1) ; |
| S8(0,1) ; |
| } |
| if (m >= 3) { |
| S5(0,1,1,1,1,1,2,1) ; |
| S1(1,1,2,1) ; |
| S2(1,1,2,1,2,1,3,1) ; |
| S3(1,1,2,2,2,1,2,2) ; |
| S4(1,1,3,2,2,1,3,2) ; |
| S6(0,1,1,2,1,1,1,2) ; |
| S7(0,1,2,2,1,1,2,2) ; |
| S1(1,2,1,2) ; |
| S2(1,2,2,2,1,2,2,2) ; |
| S3(1,2,2,3,1,2,1,3) ; |
| S4(1,2,3,3,1,2,2,3) ; |
| for (coordP1=1;coordP1<=2;coordP1++) { |
| S8(1,coordP1) ; |
| } |
| } |
| for (glT1=2;glT1<=m-2;glT1++) { |
| coordT1 = glT1-1 ; |
| other5 = glT1+1 ; |
| S5(glT1-1,1,glT1,1,glT1,1,glT1+1,1) ; |
| other1 = glT1+1 ; |
| S1(glT1,1,glT1+1,1) ; |
| local1 = glT1+1 ; |
| other1 = glT1+1 ; |
| other3 = glT1+1 ; |
| other5 = glT1+2 ; |
| S2(glT1,1,glT1+1,1,glT1+1,1,glT1+2,1) ; |
| other3 = glT1+1 ; |
| other5 = glT1+1 ; |
| S3(glT1,1,glT1+1,2,glT1+1,1,glT1+1,2) ; |
| other1 = glT1+2 ; |
| other3 = glT1+1 ; |
| other5 = glT1+2 ; |
| S4(glT1,1,glT1+2,2,glT1+1,1,glT1+2,2) ; |
| for (rp1=2;rp1<=glT1;rp1++) { |
| local1 = glT1-rp1+1 ; |
| coordT1 = glT1-1 ; |
| other3 = glT1-rp1+1 ; |
| other5 = glT1-rp1+2 ; |
| S5(glT1-1,rp1,glT1,rp1,glT1-rp1+1,rp1,glT1-rp1+2,rp1) ; |
| local1 = glT1-rp1+2 ; |
| local2 = rp1-1 ; |
| coordT1 = glT1-1 ; |
| coordP1 = rp1-1 ; |
| other3 = glT1-rp1+2 ; |
| other4 = rp1-1 ; |
| other5 = glT1-rp1+2 ; |
| S6(glT1-1,rp1-1,glT1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+2,rp1) ; |
| other1 = glT1+1 ; |
| other3 = glT1-rp1+2 ; |
| other4 = rp1-1 ; |
| other5 = glT1-rp1+3 ; |
| S7(glT1-1,rp1-1,glT1+1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+3,rp1) ; |
| other1 = glT1-rp1+2 ; |
| S1(glT1,rp1,glT1-rp1+2,rp1) ; |
| local1 = glT1-rp1+2 ; |
| other1 = glT1+1 ; |
| other3 = glT1-rp1+2 ; |
| other5 = glT1-rp1+3 ; |
| S2(glT1,rp1,glT1+1,rp1,glT1-rp1+2,rp1,glT1-rp1+3,rp1) ; |
| other2 = rp1+1 ; |
| other3 = glT1-rp1+2 ; |
| other5 = glT1-rp1+2 ; |
| other6 = rp1+1 ; |
| S3(glT1,rp1,glT1+1,rp1+1,glT1-rp1+2,rp1,glT1-rp1+2,rp1+1) ; |
| other1 = glT1+2 ; |
| other2 = rp1+1 ; |
| other3 = glT1-rp1+2 ; |
| other5 = glT1-rp1+3 ; |
| other6 = rp1+1 ; |
| S4(glT1,rp1,glT1+2,rp1+1,glT1-rp1+2,rp1,glT1-rp1+3,rp1+1) ; |
| } |
| rp1 = glT1+1 ; |
| coordT1 = glT1-1 ; |
| other2 = glT1+1 ; |
| other6 = glT1+1 ; |
| S6(glT1-1,glT1,glT1,glT1+1,1,glT1,1,glT1+1) ; |
| other1 = glT1+1 ; |
| other2 = glT1+1 ; |
| other6 = glT1+1 ; |
| S7(glT1-1,glT1,glT1+1,glT1+1,1,glT1,2,glT1+1) ; |
| coordP1 = glT1+1 ; |
| other2 = glT1+1 ; |
| S1(glT1,glT1+1,1,glT1+1) ; |
| local2 = glT1+1 ; |
| coordP1 = glT1+1 ; |
| other1 = glT1+1 ; |
| other2 = glT1+1 ; |
| other4 = glT1+1 ; |
| other6 = glT1+1 ; |
| S2(glT1,glT1+1,glT1+1,glT1+1,1,glT1+1,2,glT1+1) ; |
| other2 = glT1+2 ; |
| other4 = glT1+1 ; |
| other6 = glT1+2 ; |
| S3(glT1,glT1+1,glT1+1,glT1+2,1,glT1+1,1,glT1+2) ; |
| other1 = glT1+2 ; |
| other2 = glT1+2 ; |
| other4 = glT1+1 ; |
| other6 = glT1+2 ; |
| S4(glT1,glT1+1,glT1+2,glT1+2,1,glT1+1,2,glT1+2) ; |
| for (coordP1=1;coordP1<=glT1+1;coordP1++) { |
| S8(glT1,coordP1) ; |
| } |
| } |
| if (m >= 3) { |
| glT1 = m-1 ; |
| local1 = m-1 ; |
| coordT1 = m-2 ; |
| other1 = m-1 ; |
| other3 = m-1 ; |
| S5(m-2,1,m-1,1,m-1,1,m,1) ; |
| coordT1 = m-1 ; |
| S1(m-1,1,m,1) ; |
| coordT1 = m-1 ; |
| S3(m-1,1,m,2,m,1,m,2) ; |
| for (rp1=2;rp1<=m-1;rp1++) { |
| local1 = -rp1+m ; |
| coordT1 = m-2 ; |
| other1 = m-1 ; |
| other3 = -rp1+m ; |
| other5 = -rp1+m+1 ; |
| S5(m-2,rp1,m-1,rp1,-rp1+m,rp1,-rp1+m+1,rp1) ; |
| local1 = -rp1+m+1 ; |
| local2 = rp1-1 ; |
| coordT1 = m-2 ; |
| coordP1 = rp1-1 ; |
| other1 = m-1 ; |
| other3 = -rp1+m+1 ; |
| other4 = rp1-1 ; |
| other5 = -rp1+m+1 ; |
| S6(m-2,rp1-1,m-1,rp1,-rp1+m+1,rp1-1,-rp1+m+1,rp1) ; |
| other3 = -rp1+m+1 ; |
| other4 = rp1-1 ; |
| other5 = -rp1+m+2 ; |
| S7(m-2,rp1-1,m,rp1,-rp1+m+1,rp1-1,-rp1+m+2,rp1) ; |
| coordT1 = m-1 ; |
| other1 = -rp1+m+1 ; |
| S1(m-1,rp1,-rp1+m+1,rp1) ; |
| local1 = -rp1+m+1 ; |
| coordT1 = m-1 ; |
| other3 = -rp1+m+1 ; |
| other5 = -rp1+m+2 ; |
| S2(m-1,rp1,m,rp1,-rp1+m+1,rp1,-rp1+m+2,rp1) ; |
| other2 = rp1+1 ; |
| other3 = -rp1+m+1 ; |
| other5 = -rp1+m+1 ; |
| other6 = rp1+1 ; |
| S3(m-1,rp1,m,rp1+1,-rp1+m+1,rp1,-rp1+m+1,rp1+1) ; |
| other1 = m+1 ; |
| other2 = rp1+1 ; |
| other3 = -rp1+m+1 ; |
| other5 = -rp1+m+2 ; |
| other6 = rp1+1 ; |
| S4(m-1,rp1,m+1,rp1+1,-rp1+m+1,rp1,-rp1+m+2,rp1+1) ; |
| } |
| local2 = m-1 ; |
| coordT1 = m-2 ; |
| coordP1 = m-1 ; |
| other1 = m-1 ; |
| other4 = m-1 ; |
| S6(m-2,m-1,m-1,m,1,m-1,1,m) ; |
| other4 = m-1 ; |
| S7(m-2,m-1,m,m,1,m-1,2,m) ; |
| coordT1 = m-1 ; |
| S1(m-1,m,1,m) ; |
| coordT1 = m-1 ; |
| S2(m-1,m,m,m,1,m,2,m) ; |
| coordT1 = m-1 ; |
| for (coordP1=1;coordP1<=m;coordP1++) { |
| S8(m-1,coordP1) ; |
| } |
| } |
| for (glT1=m;glT1<=2*m-4;glT1++) { |
| rp1 = glT1-m+2 ; |
| local1 = m-1 ; |
| local2 = glT1-m+2 ; |
| coordT1 = glT1-1 ; |
| coordP1 = glT1-m+2 ; |
| other2 = glT1-m+2 ; |
| other3 = m-1 ; |
| other4 = glT1-m+2 ; |
| other6 = glT1-m+2 ; |
| S5(glT1-1,glT1-m+2,glT1,glT1-m+2,m-1,glT1-m+2,m,glT1-m+2) ; |
| local2 = glT1-m+1 ; |
| coordT1 = glT1-1 ; |
| coordP1 = glT1-m+1 ; |
| other2 = glT1-m+2 ; |
| other4 = glT1-m+1 ; |
| other6 = glT1-m+2 ; |
| S6(glT1-1,glT1-m+1,glT1,glT1-m+2,m,glT1-m+1,m,glT1-m+2) ; |
| coordP1 = glT1-m+2 ; |
| other2 = glT1-m+2 ; |
| S1(glT1,glT1-m+2,m,glT1-m+2) ; |
| local2 = glT1-m+2 ; |
| coordP1 = glT1-m+2 ; |
| other1 = glT1+1 ; |
| other2 = glT1-m+3 ; |
| other4 = glT1-m+2 ; |
| other6 = glT1-m+3 ; |
| S3(glT1,glT1-m+2,glT1+1,glT1-m+3,m,glT1-m+2,m,glT1-m+3) ; |
| for (rp1=glT1-m+3;rp1<=m-1;rp1++) { |
| local1 = glT1-rp1+1 ; |
| coordT1 = glT1-1 ; |
| other3 = glT1-rp1+1 ; |
| other5 = glT1-rp1+2 ; |
| S5(glT1-1,rp1,glT1,rp1,glT1-rp1+1,rp1,glT1-rp1+2,rp1) ; |
| local1 = glT1-rp1+2 ; |
| local2 = rp1-1 ; |
| coordT1 = glT1-1 ; |
| coordP1 = rp1-1 ; |
| other3 = glT1-rp1+2 ; |
| other4 = rp1-1 ; |
| other5 = glT1-rp1+2 ; |
| S6(glT1-1,rp1-1,glT1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+2,rp1) ; |
| other1 = glT1+1 ; |
| other3 = glT1-rp1+2 ; |
| other4 = rp1-1 ; |
| other5 = glT1-rp1+3 ; |
| S7(glT1-1,rp1-1,glT1+1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+3,rp1) ; |
| other1 = glT1-rp1+2 ; |
| S1(glT1,rp1,glT1-rp1+2,rp1) ; |
| local1 = glT1-rp1+2 ; |
| other1 = glT1+1 ; |
| other3 = glT1-rp1+2 ; |
| other5 = glT1-rp1+3 ; |
| S2(glT1,rp1,glT1+1,rp1,glT1-rp1+2,rp1,glT1-rp1+3,rp1) ; |
| other2 = rp1+1 ; |
| other3 = glT1-rp1+2 ; |
| other5 = glT1-rp1+2 ; |
| other6 = rp1+1 ; |
| S3(glT1,rp1,glT1+1,rp1+1,glT1-rp1+2,rp1,glT1-rp1+2,rp1+1) ; |
| other1 = glT1+2 ; |
| other2 = rp1+1 ; |
| other3 = glT1-rp1+2 ; |
| other5 = glT1-rp1+3 ; |
| other6 = rp1+1 ; |
| S4(glT1,rp1,glT1+2,rp1+1,glT1-rp1+2,rp1,glT1-rp1+3,rp1+1) ; |
| } |
| local1 = glT1-m+1 ; |
| coordT1 = glT1-1 ; |
| other3 = glT1-m+1 ; |
| other5 = glT1-m+2 ; |
| S5(glT1-1,m,glT1,m,glT1-m+1,m,glT1-m+2,m) ; |
| local1 = glT1-m+2 ; |
| local2 = m-1 ; |
| coordT1 = glT1-1 ; |
| coordP1 = m-1 ; |
| other3 = glT1-m+2 ; |
| other4 = m-1 ; |
| other5 = glT1-m+2 ; |
| S6(glT1-1,m-1,glT1,m,glT1-m+2,m-1,glT1-m+2,m) ; |
| other1 = glT1+1 ; |
| other3 = glT1-m+2 ; |
| other4 = m-1 ; |
| other5 = glT1-m+3 ; |
| S7(glT1-1,m-1,glT1+1,m,glT1-m+2,m-1,glT1-m+3,m) ; |
| other1 = glT1-m+2 ; |
| S1(glT1,m,glT1-m+2,m) ; |
| local1 = glT1-m+2 ; |
| other1 = glT1+1 ; |
| other3 = glT1-m+2 ; |
| other5 = glT1-m+3 ; |
| S2(glT1,m,glT1+1,m,glT1-m+2,m,glT1-m+3,m) ; |
| for (coordP1=glT1-m+2;coordP1<=m;coordP1++) { |
| S8(glT1,coordP1) ; |
| } |
| } |
| if (m >= 3) { |
| glT1 = 2*m-3 ; |
| rp1 = m-1 ; |
| local1 = m-1 ; |
| local2 = m-1 ; |
| coordT1 = 2*m-4 ; |
| coordP1 = m-1 ; |
| other1 = 2*m-3 ; |
| other2 = m-1 ; |
| other3 = m-1 ; |
| other4 = m-1 ; |
| other6 = m-1 ; |
| S5(2*m-4,m-1,2*m-3,m-1,m-1,m-1,m,m-1) ; |
| local2 = m-2 ; |
| coordT1 = 2*m-4 ; |
| coordP1 = m-2 ; |
| other1 = 2*m-3 ; |
| other2 = m-1 ; |
| other4 = m-2 ; |
| other6 = m-1 ; |
| S6(2*m-4,m-2,2*m-3,m-1,m,m-2,m,m-1) ; |
| coordT1 = 2*m-3 ; |
| coordP1 = m-1 ; |
| other2 = m-1 ; |
| S1(2*m-3,m-1,m,m-1) ; |
| local2 = m-1 ; |
| coordT1 = 2*m-3 ; |
| coordP1 = m-1 ; |
| other1 = 2*m-2 ; |
| other4 = m-1 ; |
| S3(2*m-3,m-1,2*m-2,m,m,m-1,m,m) ; |
| local1 = m-2 ; |
| coordT1 = 2*m-4 ; |
| other1 = 2*m-3 ; |
| other3 = m-2 ; |
| other5 = m-1 ; |
| S5(2*m-4,m,2*m-3,m,m-2,m,m-1,m) ; |
| local1 = m-1 ; |
| local2 = m-1 ; |
| coordT1 = 2*m-4 ; |
| coordP1 = m-1 ; |
| other1 = 2*m-3 ; |
| other3 = m-1 ; |
| other4 = m-1 ; |
| other5 = m-1 ; |
| S6(2*m-4,m-1,2*m-3,m,m-1,m-1,m-1,m) ; |
| other1 = 2*m-2 ; |
| other3 = m-1 ; |
| other4 = m-1 ; |
| S7(2*m-4,m-1,2*m-2,m,m-1,m-1,m,m) ; |
| coordT1 = 2*m-3 ; |
| other1 = m-1 ; |
| S1(2*m-3,m,m-1,m) ; |
| local1 = m-1 ; |
| coordT1 = 2*m-3 ; |
| other1 = 2*m-2 ; |
| other3 = m-1 ; |
| S2(2*m-3,m,2*m-2,m,m-1,m,m,m) ; |
| coordT1 = 2*m-3 ; |
| for (coordP1=m-1;coordP1<=m;coordP1++) { |
| S8(2*m-3,coordP1) ; |
| } |
| } |
| if (m == 2) { |
| S5(0,1,1,1,1,1,2,1) ; |
| S1(1,1,2,1) ; |
| S3(1,1,2,2,2,1,2,2) ; |
| S6(0,1,1,2,1,1,1,2) ; |
| S7(0,1,2,2,1,1,2,2) ; |
| S1(1,2,1,2) ; |
| S2(1,2,2,2,1,2,2,2) ; |
| for (coordP1=1;coordP1<=2;coordP1++) { |
| S8(1,coordP1) ; |
| } |
| } |
| if (m >= 2) { |
| glT1 = 2*m-2 ; |
| local1 = m-1 ; |
| coordT1 = 2*m-3 ; |
| other1 = 2*m-2 ; |
| other3 = m-1 ; |
| S5(2*m-3,m,2*m-2,m,m-1,m,m,m) ; |
| local2 = m-1 ; |
| coordT1 = 2*m-3 ; |
| coordP1 = m-1 ; |
| other1 = 2*m-2 ; |
| other4 = m-1 ; |
| S6(2*m-3,m-1,2*m-2,m,m,m-1,m,m) ; |
| coordT1 = 2*m-2 ; |
| S1(2*m-2,m,m,m) ; |
| coordT1 = 2*m-2 ; |
| S8(2*m-2,m) ; |
| } |
| } |