diff --git a/org/qmckl_sherman_morrison_woodbury.org b/org/qmckl_sherman_morrison_woodbury.org index 36e62bc..efe10fc 100644 --- a/org/qmckl_sherman_morrison_woodbury.org +++ b/org/qmckl_sherman_morrison_woodbury.org @@ -790,11 +790,11 @@ If the determinant is passed it will only be partially updated if there were any | ~LDS~ | ~uint64_t~ | in | Leading dimension of Slater_inv | | ~Dim~ | ~uint64_t~ | in | Dimension of Slater_inv | | ~N_updates~ | ~uint64_t~ | in | Number of rank-1 updates to be applied to Slater_inv | -| ~Updates~ | ~double[N_updates*LDS]~ | in | Array containing the rank-1 updates | +| ~Updates~ | ~double[LDS*N_updates]~ | in | Array containing the rank-1 updates | | ~Updates_index~ | ~uint64_t[N_updates]~ | in | Array containing positions of the rank-1 updates | | ~breakdown~ | ~double~ | in | Break-down parameter on which to fail or not | | ~Slater_inv~ | ~double[Dim*LDS]~ | inout | Array containing the inverse Slater-matrix | -| ~later_updates~ | ~double[N_updates*LDS]~ | inout | Array containing the split updates for later | +| ~later_updates~ | ~double[LDS*N_updates]~ | inout | Array containing the split updates for later | | ~later_index~ | ~uint64_t[N_updates]~ | inout | Array containing the positions of the split updates for later | | ~later~ | ~uint64_t~ | inout | Number of split updates for later | | ~determinant~ | ~double~ | inout | Determinant of the Slater-matrix | @@ -928,11 +928,11 @@ end function qmckl_sm_splitting_core_doc_f #+end_src **** C interface to the pedagogical kernel (not directly exposed) -The following Fortran function ~qmckl_sm_splitting_core_doc~ makes sure -that the pedagogical kernel ~qmckl_sm_splitting_core_doc_f~, written in -Fortran, can be called from C using the ~ISO_C_BINDING~. The Fortran function -~qmckl_sm_splitting_core_doc~ will be exposed in the header file 'qmckl.h' -for C users and in the module file 'qmckl_f.F90' for Fortran users. +The function ~qmckl_sm_splitting_core_doc~ makes sure that +~qmckl_sm_splitting_core_doc_f~ can be called from C using the +~ISO_C_BINDING~. Function ~qmckl_sm_splitting_core_doc~ will be +exposed in ~qmckl.h~ and ~qmckl_f.F90~, but +~qmckl_sm_splitting_core_doc_f~ will not. #+CALL: generate_c_interface(table=qmckl_sm_splitting_core_args,rettyp=get_value("CRetType"),fname="qmckl_sm_splitting_core_doc") @@ -960,19 +960,16 @@ integer(c_int32_t) function qmckl_sm_splitting_core_doc & integer (c_int64_t) , intent(in) , value :: LDS integer (c_int64_t) , intent(in) , value :: Dim integer (c_int64_t) , intent(in) , value :: N_updates - real (c_double ) , intent(in) :: Updates(N_updates*LDS) + real (c_double ) , intent(in) :: Updates(LDS*N_updates) integer (c_int64_t) , intent(in) :: Updates_index(N_updates) real (c_double ) , intent(in) , value :: breakdown real (c_double ) , intent(inout) :: Slater_inv(Dim*LDS) - real (c_double ) , intent(inout) :: later_updates(N_updates*LDS) + real (c_double ) , intent(inout) :: later_updates(LDS*N_updates) integer (c_int64_t) , intent(inout) :: later_index(N_updates) integer (c_int64_t) , intent(inout) :: later real (c_double ) , intent(inout) :: determinant integer(c_int32_t), external :: qmckl_sm_splitting_core_doc_f - - write(*,*) "Entering 'qmckl_sm_splittinig_core_doc'" - info = qmckl_sm_splitting_core_doc_f & (context, & LDS, & @@ -987,8 +984,6 @@ integer(c_int32_t) function qmckl_sm_splitting_core_doc & later, & determinant) - write(*,*) "Leaving 'qmckl_sm_splittinig_core_doc'" - end function qmckl_sm_splitting_core_doc #+end_src