From 4c20982d6f58b501e5a349dd74601cea0efcad76 Mon Sep 17 00:00:00 2001 From: vijay gopal chilkuri Date: Tue, 6 Jul 2021 19:49:22 +0530 Subject: [PATCH] Fixed memory lead in malloc caught by valgrind. #22 --- org/qmckl_jastrow.org | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org/qmckl_jastrow.org b/org/qmckl_jastrow.org index 5c90528..e05c37a 100644 --- a/org/qmckl_jastrow.org +++ b/org/qmckl_jastrow.org @@ -2492,7 +2492,7 @@ qmckl_exit_code qmckl_provide_factor_en_deriv_e(qmckl_context context) if (ctx->jastrow.factor_en_deriv_e == NULL) { qmckl_memory_info_struct mem_info = qmckl_memory_info_struct_zero; - mem_info.size = ctx->electron.walk_num * sizeof(double); + mem_info.size = ctx->electron.walk_num * 4 * ctx->electron.num * sizeof(double); double* factor_en_deriv_e = (double*) qmckl_malloc(context, mem_info); if (factor_en_deriv_e == NULL) { @@ -2816,10 +2816,11 @@ print("factor_en_deriv_e[3][0]:",factor_en_deriv_e[3][0]) /* Check if Jastrow is properly initialized */ assert(qmckl_jastrow_provided(context)); +// calculate factor_en_deriv_e double factor_en_deriv_e[walk_num][4][elec_num]; rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][0])); -// calculate factor_en +// check factor_en_deriv_e assert(fabs(factor_en_deriv_e[0][0][0]-0.11609919541763383) < 1.e-12); assert(fabs(factor_en_deriv_e[0][1][0]+0.23301394780804574) < 1.e-12); assert(fabs(factor_en_deriv_e[0][2][0]-0.17548337641865783) < 1.e-12);