diff --git a/codes/jacobi-2d/jacobi-2d.c b/codes/jacobi-2d/jacobi-2d.c index 767ac0b3b4d815dcfe3d7856b8d1f8631e79ed74..5dc7edf694f6fb2cccae428df63915d70fb9a313 100644 --- a/codes/jacobi-2d/jacobi-2d.c +++ b/codes/jacobi-2d/jacobi-2d.c @@ -58,6 +58,26 @@ void print_array(int n, POLYBENCH_DUMP_FINISH; } +extern double _binary_data_bin_start; +extern double _binary_data_bin_end; + +static +void calc_error(int n, + DATA_TYPE POLYBENCH_2D(A,N,N,n,n)) +{ + int i; + double err = 0; + double *accurate = &_binary_data_bin_start; + double *test = &(A[0][0]); + + /* calculate the mean squared error */ + for(i = 0; i < n*n; i++) { + err += (accurate[i] - test[i])*(accurate[i] - test[i]); + } + err /= n*n; + printf("error: %f\n", err); +} + /* Main computational kernel. The whole function will be timed, including the call and return. */ @@ -83,23 +103,6 @@ void kernel_jacobi_2d(int tsteps, } -extern double _binary_data_bin_start; -extern double _binary_data_bin_end; - -static -void calc_error(int n, - DATA_TYPE POLYBENCH_2D(A,N,N,n,n)) -{ - int i; - double err = 0; - double *accurate = &_binary_data_bin_start; - - for(i = 0; i < n*n; i++) { - err += (accurate[i] - A[0][i])*(accurate[i] - A[0][i]); - } - printf("error: %f\n", err); -} - int main(int argc, char** argv) { /* Retrieve problem size. */