#include #include #define ceild(n,d) ceil(((double)(n))/((double)(d))) #define floord(n,d) floor(((double)(n))/((double)(d))) #define max(x,y) ((x) > (y)? (x) : (y)) #define min(x,y) ((x) < (y)? (x) : (y)) #include #include #include #include #include "decls.h" #include "util.h" int main() { int i, j, k, t; double t_start, t_end; init_array() ; #ifdef PERFCTR PERF_INIT; #endif IF_TIME(t_start = rtclock()); int c1, c2, c3; for (c1=0;c1<=T-1;c1++) { for (c2=c1+1;c2<=c1+N-2;c2++) { for (c3=c1+c2+1;c3<=c1+c2+N-2;c3++) { {a[-c1+c2][-c1-c2+c3]=(a[1+-c1+c2][1+-c1-c2+c3]+a[1+-c1+c2][-c1-c2+c3]+a[1+-c1+c2][-c1-c2+c3-1]+a[-c1+c2][1+-c1-c2+c3]+a[-c1+c2][-c1-c2+c3]+a[-c1+c2][-c1-c2+c3-1]+a[-c1+c2-1][1+-c1-c2+c3]+a[-c1+c2-1][-c1-c2+c3]+a[-c1+c2-1][-c1-c2+c3-1])/9;} ; } } } IF_TIME(t_end = rtclock()); IF_TIME(printf("%0.6lfs\n", t_end - t_start)); #ifdef PERFCTR PERF_EXIT; #endif #ifdef TEST print_array(); #endif return 0; }