diff --git a/org/qmckl_mo.org b/org/qmckl_mo.org index bb6037d..a5fa6e9 100644 --- a/org/qmckl_mo.org +++ b/org/qmckl_mo.org @@ -692,7 +692,6 @@ integer function qmckl_compute_mo_basis_mo_vgl_doc_f(context, & ! ao_vgl, int(size(ao_vgl,1),8), 0.d0, & ! mo_vgl, int(size(mo_vgl,1),8)) - end function qmckl_compute_mo_basis_mo_vgl_doc_f #+end_src @@ -801,11 +800,12 @@ qmckl_compute_mo_basis_mo_vgl_hpc (const qmckl_context context, #endif for (int64_t ipoint=0 ; ipoint < point_num ; ++ipoint) { double* restrict const vgl1 = &(mo_vgl[ipoint*5*mo_num]); - const double* restrict avgl1 = &(ao_vgl[ipoint*5*ao_num]); double* restrict const vgl2 = vgl1 + mo_num; double* restrict const vgl3 = vgl1 + (mo_num << 1); double* restrict const vgl4 = vgl1 + (mo_num << 1) + mo_num; double* restrict const vgl5 = vgl1 + (mo_num << 2); + + const double* restrict avgl1 = &(ao_vgl[ipoint*5*ao_num]); const double* restrict avgl2 = avgl1 + ao_num; const double* restrict avgl3 = avgl1 + (ao_num << 1); const double* restrict avgl4 = avgl1 + (ao_num << 1) + ao_num; @@ -840,6 +840,7 @@ qmckl_compute_mo_basis_mo_vgl_hpc (const qmckl_context context, } int64_t n; + for (n=0 ; n < nidx-4 ; n+=4) { int64_t k = idx[n]; const double* restrict ck1 = coefficient_t + idx[n ]*mo_num; @@ -884,8 +885,7 @@ qmckl_compute_mo_basis_mo_vgl_hpc (const qmckl_context context, } } - int64_t n0 = nidx-4; - n0 = n0 < 0 ? 0 : n0; + const int64_t n0 = n < 0 ? 0 : n; for (int64_t n=n0 ; n < nidx ; n+=1) { const double* restrict ck = coefficient_t + idx[n]*mo_num; const double a1 = av1[n]; diff --git a/org/qmckl_numprec.org b/org/qmckl_numprec.org index 3b73dc3..7c5f26f 100644 --- a/org/qmckl_numprec.org +++ b/org/qmckl_numprec.org @@ -250,19 +250,19 @@ qmckl_exit_code qmckl_set_numprec_range(const qmckl_context context, const int r # Fortran interface #+begin_src f90 :tangle (eval fh_func) interface - integer (qmckl_exit_code) function qmckl_numprec_set_range(context, range) bind(C) + integer (qmckl_exit_code) function qmckl_set_numprec_range(context, range) bind(C) use, intrinsic :: iso_c_binding import integer (qmckl_context), intent(in), value :: context integer (c_int32_t), intent(in), value :: range - end function qmckl_numprec_set_range + end function qmckl_set_numprec_range end interface #+end_src ~qmckl_get_numprec_range~ returns the value of the numerical range in the context. #+begin_src c :comments org :tangle (eval h_func) :exports none -int32_t qmckl_get_numprec_get_range(const qmckl_context context); +int32_t qmckl_get_numprec_range(const qmckl_context context); #+end_src # Source