From f6f346d5117b040647e95cba8284a2f3fc1fcd6c Mon Sep 17 00:00:00 2001 From: Gianfranco Abrusci Date: Wed, 2 Feb 2022 16:37:26 +0100 Subject: [PATCH] seg fault at qmckl_compute_asymp_jasb --- org/qmckl_jastrow.org | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/org/qmckl_jastrow.org b/org/qmckl_jastrow.org index 0beaaa1..15223ea 100644 --- a/org/qmckl_jastrow.org +++ b/org/qmckl_jastrow.org @@ -1340,8 +1340,36 @@ qmckl_exit_code qmckl_compute_asymp_jasb ( const double rescale_factor_kappa_ee, double* const asymp_jasb ) { // Put some code here + int64_t i, p, info; + double kappa_inv, x, asym_one; - return QMCKL_SUCCESS; + kappa_inv = 1.0/ rescale_factor_kappa_ee; + + info = QMCKL_SUCCESS; + + if (context == QMCKL_NULL_CONTEXT){ + info = QMCKL_INVALID_CONTEXT; + return info; + } + + if (bord_num <= 0) { + info = QMCKL_INVALID_ARG_2; + return info; + } + asym_one = bord_vector[0] * kappa_inv / (1.0 + bord_vector[1] * kappa_inv); + asymp_jasb[0] = asym_one; + asymp_jasb[1] = 0.5 * asym_one; + + for (int i=0; i<=1; ++i) { + x = kappa_inv; + + for (int p = 1; p < bord_num-1; ++i){ + x = x * kappa_inv; + asymp_jasb[i] = asymp_jasb[i] + bord_vector[p + 1] * x; + } + } + + return info; } // end function qmckl_exit_code #+end_src