diff --git a/ref/main.c b/ref/main.c index 179d4397b8a2b5004be8d9a1582b2956c74fc448..5bd3d910ed2e7445740394f4a7d6ef4f104db127 100644 --- a/ref/main.c +++ b/ref/main.c @@ -29,7 +29,7 @@ double getTimeStamp() { int main() { xc_func_type gga_libxc, gga_genxc; int i; - int npoints = 10000000; + int npoints = 10*1000; //int npoints = 100; double *rho_libxc, *sigma_libxc; double *rho_genxc, *sigma_genxc; @@ -122,7 +122,7 @@ int main() { v4rhosigma3_genxc, v4sigma4_genxc ); E = getTimeStamp(); - fprintf(stderr, "GGA_X_PBE_GENXC: %.4fs\n", E-S); + fprintf(stderr, "GGA_X_PBE_GENXC: %.4fms\n", 1e3*(E-S)); if(xc_func_init(&gga_libxc, XC_GGA_X_BCGP, XC_POLARIZED) < 0) { fprintf(stderr, "XC_GGA_X_BCGP not found!\n"); @@ -144,14 +144,20 @@ int main() { v4rhosigma3_libxc, v4sigma4_libxc ); E = getTimeStamp(); - fprintf(stderr, "GGA_X_PBE: %.4fs\n", E-S); + fprintf(stderr, "GGA_X_PBE: %.4fms\n", 1e3*(E-S)); #define CHECK_CORRECTNESS(arr1,arr2,i); if(!nearlyEqual(arr1[i], arr2[i])) { fprintf(stderr, "Results differ!\n"); return -1; } for(i = 0; i < npoints; i++) { - CHECK_CORRECTNESS(rho_libxc, rho_genxc, 2 * i + 0); - CHECK_CORRECTNESS(vrho_libxc, vrho_genxc, 2 * i + 0); - CHECK_CORRECTNESS(v2rho2_libxc, v2rho2_genxc, 3 * i + 0); + CHECK_CORRECTNESS(zk_libxc, zk_genxc, i); +// CHECK_CORRECTNESS(rho_libxc, rho_genxc, 2 * i + 0); + CHECK_CORRECTNESS(vrho_libxc, vrho_genxc, 2 * i + 0); + CHECK_CORRECTNESS(vrho_libxc, vrho_genxc, 2 * i + 1); +// CHECK_CORRECTNESS(v2rho2_libxc, v2rho2_genxc, 3 * i + 0); + CHECK_CORRECTNESS(vsigma_libxc, vsigma_genxc, 3 * i + 0); + CHECK_CORRECTNESS(vsigma_libxc, vsigma_genxc, 3 * i + 1); + CHECK_CORRECTNESS(vsigma_libxc, vsigma_genxc, 3 * i + 2); } + printf("Results match\n"); xc_func_end(&gga_libxc); xc_func_end(&gga_genxc);