From b60fc166012d1e7fd20eb47c231151ac34255ece Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 20 Apr 2022 15:55:59 +0200 Subject: [PATCH] Add Fortran interfaces in MOs --- org/qmckl_mo.org | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/org/qmckl_mo.org b/org/qmckl_mo.org index bf45ff0..1974874 100644 --- a/org/qmckl_mo.org +++ b/org/qmckl_mo.org @@ -256,6 +256,35 @@ bool qmckl_mo_basis_provided(const qmckl_context context) { #+end_src + +*** Fortran interfaces + + #+begin_src f90 :tangle (eval fh_func) :comments org +interface + integer(c_int32_t) function qmckl_get_mo_basis_mo_num (context, & + mo_num) bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + integer (c_int64_t) , intent(in) , value :: context + integer (c_int64_t) , intent(out) :: mo_num + end function qmckl_get_mo_basis_mo_num +end interface + +interface + integer(c_int32_t) function qmckl_get_mo_basis_coefficient(context, & + coefficient, size_max) bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + integer (c_int64_t) , intent(in) , value :: context + double precision, intent(out) :: coefficient(*) + integer (c_int64_t) , intent(int), value :: size_max + end function qmckl_get_mo_basis_coefficient +end interface + + #+end_src + ** Initialization functions To set the basis set, all the following functions need to be