// Naively implemented Blitz++ version. NCCS = 9 float echo_Blitz(int N, int niters) { Array P1(N,N), P2(N,N), P3(N,N), c(N,N); Range I(1,N-2), J(1,N-2); setInitialConditions(c, P1, P2, P3, N); for (int iter=0; iter < niters; ++iter) { P3(I,J) = (2-4*c(I,J)) * P2(I,J) + c(I,J)*(P2(I-1,J) + P2(I+1,J) + P2(I,J-1) + P2(I,J+1)) - P1(I,J); P1 = P2; P2 = P3; } return P1(N/2,N/2); }