mirror of https://github.com/TREX-CoE/qmckl.git
Compare commits
5 Commits
e07b8bfa55
...
e0abd84059
Author | SHA1 | Date |
---|---|---|
Anthony Scemama | e0abd84059 | |
Anthony Scemama | b2395ece87 | |
Anthony Scemama | f745899f3a | |
Anthony Scemama | 83dea2b773 | |
Anthony Scemama | 21f40b3a13 |
130
org/qmckl_ao.org
130
org/qmckl_ao.org
|
@ -233,7 +233,7 @@ qmckl_exit_code qmckl_get_ao_basis_$V$ ( const qmckl_context context,
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_$V$ (context, $V$) &
|
||||
bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -244,7 +244,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_$V$ (context, $V$) &
|
||||
bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -269,7 +269,7 @@ qmckl_exit_code qmckl_get_ao_basis_$V$ ( const qmckl_context context,
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_$V$ (context, &
|
||||
$V$, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -281,7 +281,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_$V$ (context, &
|
||||
$V$, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1214,7 +1214,7 @@ qmckl_set_ao_basis_cartesian (qmckl_context context,
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_type (context, &
|
||||
basis_type) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1225,7 +1225,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_shell_num(context, &
|
||||
num) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1236,7 +1236,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_prim_num(context, &
|
||||
num) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1247,7 +1247,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_nucleus_index(context, &
|
||||
idx, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1259,7 +1259,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_nucleus_shell_num(context, &
|
||||
shell_num, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1271,7 +1271,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_shell_ang_mom(context, &
|
||||
shell_ang_mom, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1283,7 +1283,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_shell_prim_num(context, &
|
||||
shell_prim_num, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1295,7 +1295,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_shell_prim_index(context, &
|
||||
shell_prim_index, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1307,7 +1307,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_shell_factor(context, &
|
||||
shell_factor, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1319,7 +1319,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_exponent(context, &
|
||||
exponent, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1331,7 +1331,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_coefficient(context, &
|
||||
coefficient, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1343,7 +1343,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_prim_factor(context, &
|
||||
prim_factor, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1355,7 +1355,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_ao_num(context, &
|
||||
num) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1366,7 +1366,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_cartesian(context, &
|
||||
cartesian) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -1377,7 +1377,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_set_ao_basis_ao_factor(context, &
|
||||
ao_factor, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2129,7 +2129,7 @@ bool qmckl_ao_basis_provided(const qmckl_context context) {
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_type (context, &
|
||||
basis_type) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2140,7 +2140,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_shell_num(context, &
|
||||
num) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2151,7 +2151,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_prim_num(context, &
|
||||
num) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2162,7 +2162,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_nucleus_shell_num(context, &
|
||||
shell_num, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2174,7 +2174,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_nucleus_index(context, &
|
||||
idx, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2186,7 +2186,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_shell_ang_mom(context, &
|
||||
shell_ang_mom, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2198,7 +2198,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_shell_prim_num(context, &
|
||||
shell_prim_num, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2210,7 +2210,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_shell_prim_index(context, &
|
||||
shell_prim_index, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2222,7 +2222,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_shell_factor(context, &
|
||||
shell_factor, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2234,7 +2234,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_exponent(context, &
|
||||
exponent, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2246,7 +2246,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_coefficient(context, &
|
||||
coefficient, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2258,7 +2258,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_prim_factor(context, &
|
||||
prim_factor, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2270,7 +2270,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_ao_num(context, &
|
||||
num) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2281,7 +2281,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_cartesian(context, &
|
||||
cartesian) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -2292,7 +2292,7 @@ end interface
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_ao_factor(context, &
|
||||
ao_factor, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -3018,7 +3018,7 @@ qmckl_get_ao_basis_primitive_vgl (qmckl_context context,
|
|||
integer(c_int32_t) function qmckl_get_ao_basis_primitive_vgl &
|
||||
(context, primitive_vgl, size_max) &
|
||||
bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
|
||||
|
@ -3079,7 +3079,7 @@ qmckl_get_ao_basis_shell_vgl (qmckl_context context,
|
|||
integer(c_int32_t) function qmckl_get_ao_basis_shell_vgl &
|
||||
(context, shell_vgl, size_max) &
|
||||
bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
|
||||
|
@ -3141,7 +3141,7 @@ qmckl_get_ao_basis_ao_vgl (qmckl_context context,
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_ao_vgl (context, &
|
||||
ao_vgl, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -3207,7 +3207,7 @@ qmckl_get_ao_basis_ao_vgl_inplace (qmckl_context context,
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_ao_vgl_inplace (context, &
|
||||
ao_vgl, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -3268,7 +3268,7 @@ qmckl_get_ao_basis_ao_value (qmckl_context context,
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_ao_value (context, &
|
||||
ao_value, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -3334,7 +3334,7 @@ qmckl_get_ao_basis_ao_value_inplace (qmckl_context context,
|
|||
interface
|
||||
integer(c_int32_t) function qmckl_get_ao_basis_ao_value_inplace (context, &
|
||||
ao_value, size_max) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
integer (c_int64_t) , intent(in) , value :: context
|
||||
|
@ -3395,15 +3395,14 @@ qmckl_ao_gaussian_vgl(const qmckl_context context,
|
|||
#+begin_src f90 :tangle (eval f)
|
||||
function qmckl_ao_gaussian_vgl(context, X, R, n, A, VGL, ldv) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
implicit none
|
||||
integer (qmckl_context) , intent(in) , value :: context
|
||||
real (c_double) , intent(in) :: X(3), R(3)
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
integer (c_int64_t) , intent(in) , value :: ldv
|
||||
real (c_double) , intent(in) :: A(n)
|
||||
real (c_double) , intent(out) :: VGL(ldv,5)
|
||||
integer (c_int64_t) , intent(in) , value :: ldv
|
||||
integer (qmckl_exit_code) :: info
|
||||
|
||||
integer*8 :: i,j
|
||||
|
@ -3462,7 +3461,6 @@ end function qmckl_ao_gaussian_vgl
|
|||
interface
|
||||
function qmckl_ao_gaussian_vgl(context, &
|
||||
X, R, n, A, VGL, ldv) bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
integer (qmckl_context) , intent(in) , value :: context
|
||||
integer (c_int64_t) , intent(in) , value :: ldv
|
||||
|
@ -3607,8 +3605,6 @@ function qmckl_compute_ao_basis_primitive_gaussian_vgl &
|
|||
(context, prim_num, point_num, nucl_num, nucleus_prim_index, coord, nucl_coord, expo, primitive_vgl) &
|
||||
bind(C) result(info)
|
||||
|
||||
use, intrinsic :: iso_c_binding
|
||||
|
||||
use qmckl_constants
|
||||
|
||||
use qmckl, only: qmckl_get_numprec_precision
|
||||
|
@ -3912,7 +3908,6 @@ function qmckl_compute_ao_basis_shell_gaussian_vgl( &
|
|||
expo, coef_normalized, shell_vgl) &
|
||||
bind(C) result(info)
|
||||
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
use qmckl, only: qmckl_get_numprec_precision
|
||||
|
||||
|
@ -4277,17 +4272,15 @@ print ( "[1][4][26] : %25.15e"% lf(a,x,y))
|
|||
#+begin_src f90 :tangle (eval f)
|
||||
function qmckl_ao_power(context, n, X, LMAX, P, ldp) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
|
||||
use qmckl_constants
|
||||
implicit none
|
||||
|
||||
integer (qmckl_context), intent(in) , value :: context
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
integer (c_int64_t) , intent(in) , value :: ldp
|
||||
real (c_double ) , intent(in) :: X(n)
|
||||
integer (c_int32_t) , intent(in) :: LMAX(n)
|
||||
real (c_double ) , intent(out) :: P(ldp,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldp
|
||||
|
||||
integer(qmckl_exit_code) :: info
|
||||
integer(c_int64_t) :: i,k
|
||||
|
@ -4333,16 +4326,16 @@ end function qmckl_ao_power
|
|||
integer(qmckl_exit_code) function qmckl_ao_power &
|
||||
(context, n, X, LMAX, P, ldp) &
|
||||
bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use :: qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
|
||||
integer (qmckl_context), intent(in) , value :: context
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
integer (c_int64_t) , intent(in) , value :: ldp
|
||||
real (c_double ) , intent(in) :: X(n)
|
||||
integer (c_int32_t) , intent(in) :: LMAX(n)
|
||||
real (c_double ) , intent(out) :: P(ldp,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldp
|
||||
|
||||
end function qmckl_ao_power
|
||||
end interface
|
||||
|
@ -4531,7 +4524,6 @@ qmckl_ao_polynomial_vgl (const qmckl_context context,
|
|||
function qmckl_ao_polynomial_vgl_doc (context, &
|
||||
X, R, lmax, n, L, ldl, VGL, ldv) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
implicit none
|
||||
|
||||
|
@ -4540,10 +4532,10 @@ function qmckl_ao_polynomial_vgl_doc (context, &
|
|||
real (c_double ) , intent(in) :: R(3)
|
||||
integer (c_int32_t) , intent(in) , value :: lmax
|
||||
integer (c_int64_t) , intent(inout) :: n
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,(lmax+1)*(lmax+2)*(lmax+3)/6)
|
||||
integer (c_int64_t) , intent(in) , value :: ldl
|
||||
real (c_double ) , intent(out) :: VGL(ldv,(lmax+1)*(lmax+2)*(lmax+3)/6)
|
||||
integer (c_int64_t) , intent(in) , value :: ldv
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,(lmax+1)*(lmax+2)*(lmax+3)/6)
|
||||
real (c_double ) , intent(out) :: VGL(ldv,(lmax+1)*(lmax+2)*(lmax+3)/6)
|
||||
|
||||
integer(qmckl_exit_code) :: info
|
||||
|
||||
|
@ -4670,7 +4662,7 @@ end function qmckl_ao_polynomial_vgl_doc
|
|||
integer(qmckl_exit_code) function qmckl_ao_polynomial_vgl_doc &
|
||||
(context, X, R, lmax, n, L, ldl, VGL, ldv) &
|
||||
bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
|
||||
|
@ -4679,10 +4671,10 @@ end function qmckl_ao_polynomial_vgl_doc
|
|||
real (c_double ) , intent(in) :: R(3)
|
||||
integer (c_int32_t) , intent(in) , value :: lmax
|
||||
integer (c_int64_t) , intent(inout) :: n
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldl
|
||||
real (c_double ) , intent(out) :: VGL(ldv,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldv
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,n)
|
||||
real (c_double ) , intent(out) :: VGL(ldv,n)
|
||||
|
||||
end function qmckl_ao_polynomial_vgl_doc
|
||||
end interface
|
||||
|
@ -4696,7 +4688,7 @@ end function qmckl_ao_polynomial_vgl_doc
|
|||
integer(qmckl_exit_code) function qmckl_ao_polynomial_vgl &
|
||||
(context, X, R, lmax, n, L, ldl, VGL, ldv) &
|
||||
bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
|
||||
|
@ -4704,11 +4696,11 @@ end function qmckl_ao_polynomial_vgl_doc
|
|||
real (c_double ) , intent(in) :: X(3)
|
||||
real (c_double ) , intent(in) :: R(3)
|
||||
integer (c_int32_t) , intent(in) , value :: lmax
|
||||
integer (c_int64_t) , intent(inout) :: n
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,n)
|
||||
integer (c_int64_t) , intent(inout) :: n
|
||||
integer (c_int64_t) , intent(in) , value :: ldl
|
||||
real (c_double ) , intent(out) :: VGL(ldv,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldv
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,n)
|
||||
real (c_double ) , intent(out) :: VGL(ldv,n)
|
||||
|
||||
end function qmckl_ao_polynomial_vgl
|
||||
end interface
|
||||
|
@ -4787,7 +4779,6 @@ qmckl_ao_polynomial_transp_vgl (const qmckl_context context,
|
|||
function qmckl_ao_polynomial_transp_vgl_doc (context, &
|
||||
X, R, lmax, n, L, ldl, VGL, ldv) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
|
||||
use qmckl_constants
|
||||
implicit none
|
||||
|
@ -4797,10 +4788,10 @@ function qmckl_ao_polynomial_transp_vgl_doc (context, &
|
|||
real (c_double ) , intent(in) :: R(3)
|
||||
integer (c_int32_t) , intent(in) , value :: lmax
|
||||
integer (c_int64_t) , intent(inout) :: n
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,(lmax+1)*(lmax+2)*(lmax+3)/6)
|
||||
integer (c_int64_t) , intent(in) , value :: ldl
|
||||
real (c_double ) , intent(out) :: VGL(ldv,5)
|
||||
integer (c_int64_t) , intent(in) , value :: ldv
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,(lmax+1)*(lmax+2)*(lmax+3)/6)
|
||||
real (c_double ) , intent(out) :: VGL(ldv,5)
|
||||
|
||||
integer(qmckl_exit_code) :: info
|
||||
|
||||
|
@ -5217,7 +5208,7 @@ qmckl_ao_polynomial_transp_vgl_hpc (const qmckl_context context,
|
|||
integer(qmckl_exit_code) function qmckl_ao_polynomial_transp_vgl &
|
||||
(context, X, R, lmax, n, L, ldl, VGL, ldv) &
|
||||
bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
import
|
||||
implicit none
|
||||
|
||||
|
@ -5226,10 +5217,10 @@ qmckl_ao_polynomial_transp_vgl_hpc (const qmckl_context context,
|
|||
real (c_double ) , intent(in) :: R(3)
|
||||
integer (c_int32_t) , intent(in) , value :: lmax
|
||||
integer (c_int64_t) , intent(inout) :: n
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldl
|
||||
real (c_double ) , intent(out) :: VGL(ldv,5)
|
||||
integer (c_int64_t) , intent(in) , value :: ldv
|
||||
integer (c_int32_t) , intent(out) :: L(ldl,n)
|
||||
real (c_double ) , intent(out) :: VGL(ldv,5)
|
||||
|
||||
end function qmckl_ao_polynomial_transp_vgl
|
||||
end interface
|
||||
|
@ -5409,7 +5400,6 @@ function qmckl_compute_nucleus_range_gaussian(context, &
|
|||
nucleus_max_ang_mom, shell_prim_index, shell_prim_num, shell_ang_mom, &
|
||||
ao_factor, expo, coef_normalized, nucleus_range) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
use qmckl, only: qmckl_ao_polynomial_vgl, qmckl_get_numprec_precision
|
||||
implicit none
|
||||
|
@ -5570,7 +5560,6 @@ function qmckl_compute_ao_value_doc(context, &
|
|||
nucleus_range, nucleus_max_ang_mom, shell_ang_mom, &
|
||||
ao_factor, shell_vgl, ao_value) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
use qmckl, only: qmckl_ao_polynomial_vgl, qmckl_get_numprec_precision
|
||||
implicit none
|
||||
|
@ -6360,7 +6349,6 @@ function qmckl_compute_ao_vgl_doc(context, &
|
|||
nucleus_range, nucleus_max_ang_mom, shell_ang_mom, &
|
||||
ao_factor, shell_vgl, ao_vgl) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
use qmckl, only : qmckl_ao_polynomial_vgl, qmckl_get_numprec_precision
|
||||
implicit none
|
||||
|
@ -6879,8 +6867,8 @@ qmckl_compute_ao_vgl_hpc_gaussian (
|
|||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
} else {
|
||||
for (int64_t il=0 ; il<n ; ++il) {
|
||||
ao_vgl_1[il] = 0.0;
|
||||
ao_vgl_2[il] = 0.0;
|
||||
|
|
|
@ -979,7 +979,6 @@ double* qmckl_alloc_double_of_tensor(const qmckl_context context,
|
|||
function qmckl_dgemm(context, TransA, TransB, &
|
||||
m, n, k, alpha, A, LDA, B, LDB, beta, C, LDC) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
#ifdef HAVE_LIBQMCKLDGEMM
|
||||
use qmckl_dgemm_tiled_module
|
||||
|
@ -992,13 +991,13 @@ function qmckl_dgemm(context, TransA, TransB, &
|
|||
integer (c_int64_t) , intent(in) , value :: n
|
||||
integer (c_int64_t) , intent(in) , value :: k
|
||||
real (c_double ) , intent(in) , value :: alpha
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(in) , value :: beta
|
||||
real (c_double ) , intent(out) :: C(ldc,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) , value :: beta
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,*)
|
||||
integer(qmckl_exit_code) :: info
|
||||
|
||||
#ifdef HAVE_LIBQMCKLDGEMM
|
||||
|
@ -1115,13 +1114,13 @@ end function qmckl_dgemm
|
|||
integer (c_int64_t) , intent(in) , value :: n
|
||||
integer (c_int64_t) , intent(in) , value :: k
|
||||
real (c_double ) , intent(in) , value :: alpha
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(in) , value :: beta
|
||||
real (c_double ) , intent(out) :: C(ldc,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,*)
|
||||
|
||||
end function qmckl_dgemm
|
||||
end interface
|
||||
|
@ -1274,7 +1273,6 @@ printf("qmckl_dgemm ok\n");
|
|||
function qmckl_dgemm_safe(context, TransA, TransB, &
|
||||
m, n, k, alpha, A, size_A, LDA, B, size_B, LDB, beta, C, size_C, LDC) &
|
||||
result(info) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
implicit none
|
||||
integer (qmckl_context), intent(in) , value :: context
|
||||
|
@ -1284,16 +1282,16 @@ function qmckl_dgemm_safe(context, TransA, TransB, &
|
|||
integer (c_int64_t) , intent(in) , value :: n
|
||||
integer (c_int64_t) , intent(in) , value :: k
|
||||
real (c_double ) , intent(in) , value :: alpha
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_A
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_B
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(in) , value :: beta
|
||||
real (c_double ) , intent(out) :: C(ldc,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_C
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,*)
|
||||
|
||||
integer(qmckl_exit_code) :: info
|
||||
info = QMCKL_SUCCESS
|
||||
|
@ -1375,16 +1373,16 @@ end function qmckl_dgemm_safe
|
|||
integer (c_int64_t) , intent(in) , value :: n
|
||||
integer (c_int64_t) , intent(in) , value :: k
|
||||
real (c_double ) , intent(in) , value :: alpha
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_max_A
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_max_B
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(in) , value :: beta
|
||||
real (c_double ) , intent(out) :: C(ldc,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_max_C
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,*)
|
||||
|
||||
end function qmckl_dgemm_safe
|
||||
end interface
|
||||
|
@ -1704,16 +1702,15 @@ print(C.T)
|
|||
function qmckl_adjugate(context, n, A, LDA, B, ldb, det_l) &
|
||||
result(info) bind(C)
|
||||
use qmckl_constants
|
||||
use, intrinsic :: iso_c_binding
|
||||
implicit none
|
||||
|
||||
integer (qmckl_context), intent(in) , value :: context
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(out) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(inout) :: det_l
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(out) :: B(ldb,*)
|
||||
integer(qmckl_exit_code) :: info
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
|
@ -1760,10 +1757,10 @@ end function qmckl_adjugate
|
|||
#+begin_src f90 :tangle (eval f) :exports none
|
||||
subroutine adjugate2(A,LDA,B,LDB,na,det_l)
|
||||
implicit none
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDA,na)
|
||||
integer*8, intent(in) :: LDA, LDB
|
||||
integer*8, intent(in) :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision, intent(inout) :: det_l
|
||||
|
||||
double precision :: C(2,2)
|
||||
|
@ -1779,10 +1776,10 @@ end subroutine adjugate2
|
|||
|
||||
subroutine adjugate3(a,LDA,B,LDB,na,det_l)
|
||||
implicit none
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDA,na)
|
||||
integer*8, intent(in) :: LDA, LDB
|
||||
integer*8, intent(in) :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision, intent(inout) :: det_l
|
||||
|
||||
double precision :: C(4,3)
|
||||
|
@ -1803,10 +1800,10 @@ end subroutine adjugate3
|
|||
|
||||
subroutine adjugate4(a,LDA,B,LDB,na,det_l)
|
||||
implicit none
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDA,na)
|
||||
integer*8, intent(in) :: LDA, LDB
|
||||
integer*8, intent(in) :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision, intent(inout) :: det_l
|
||||
|
||||
double precision :: C(4,4)
|
||||
|
@ -1833,10 +1830,10 @@ end subroutine adjugate4
|
|||
|
||||
subroutine adjugate5(A,LDA,B,LDB,na,det_l)
|
||||
implicit none
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDA,na)
|
||||
integer*8, intent(in) :: LDA, LDB
|
||||
integer*8, intent(in) :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision, intent(inout) :: det_l
|
||||
|
||||
double precision :: C(8,5)
|
||||
|
@ -1873,10 +1870,10 @@ end subroutine adjugate5
|
|||
|
||||
subroutine cofactor2(a,LDA,b,LDB,na,det_l)
|
||||
implicit none
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDA,na)
|
||||
integer*8, intent(in) :: LDA, LDB
|
||||
integer*8 :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision :: det_l
|
||||
|
||||
det_l = a(1,1)*a(2,2) - a(1,2)*a(2,1)
|
||||
|
@ -1888,10 +1885,10 @@ end subroutine cofactor2
|
|||
|
||||
subroutine cofactor3(a,LDA,b,LDB,na,det_l)
|
||||
implicit none
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDA,na)
|
||||
integer*8, intent(in) :: LDA, LDB
|
||||
integer*8, intent(in) :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision, intent(inout) :: det_l
|
||||
integer :: i
|
||||
|
||||
|
@ -1915,10 +1912,10 @@ end subroutine cofactor3
|
|||
|
||||
subroutine cofactor4(a,LDA,b,LDB,na,det_l)
|
||||
implicit none
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDA,na)
|
||||
integer*8, intent(in) :: LDA, LDB
|
||||
integer*8, intent(in) :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision, intent(inout) :: det_l
|
||||
integer :: i,j
|
||||
det_l = a(1,1)*(a(2,2)*(a(3,3)*a(4,4)-a(3,4)*a(4,3)) &
|
||||
|
@ -1958,10 +1955,10 @@ end subroutine cofactor4
|
|||
|
||||
subroutine cofactor5(A,LDA,B,LDB,na,det_l)
|
||||
implicit none
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDA,na)
|
||||
integer*8, intent(in) :: LDA, LDB
|
||||
integer*8, intent(in) :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision, intent(inout) :: det_l
|
||||
integer :: i,j
|
||||
|
||||
|
@ -2150,11 +2147,11 @@ end
|
|||
|
||||
integer (qmckl_context), intent(in) , value :: context
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(out) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(inout) :: det_l
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(out) :: B(ldb,*)
|
||||
|
||||
end function qmckl_adjugate
|
||||
end interface
|
||||
|
@ -2166,11 +2163,11 @@ subroutine adjugate_general(context, na, A, LDA, B, LDB, det_l)
|
|||
use qmckl
|
||||
implicit none
|
||||
integer(qmckl_context), intent(in) :: context
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
integer*8, intent(in) :: LDA
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
integer*8, intent(in) :: LDB
|
||||
integer*8, intent(in) :: na
|
||||
double precision, intent(in) :: A (LDA,na)
|
||||
double precision, intent(out) :: B (LDB,na)
|
||||
double precision, intent(inout) :: det_l
|
||||
|
||||
double precision :: work(LDA*max(na,64))
|
||||
|
@ -2567,7 +2564,6 @@ printf("qmckl_adjugate ok\n");
|
|||
function qmckl_adjugate_safe(context, &
|
||||
na, A, size_A, LDA, B, size_B, LDB, det_l) &
|
||||
result(info) bind(C)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
use qmckl, only: qmckl_adjugate
|
||||
|
||||
|
@ -2575,13 +2571,13 @@ function qmckl_adjugate_safe(context, &
|
|||
|
||||
integer (qmckl_context), intent(in) , value :: context
|
||||
integer (c_int64_t) , intent(in) , value :: na
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_A
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(out) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_B
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(inout) :: det_l
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(out) :: B(ldb,*)
|
||||
|
||||
integer(qmckl_exit_code) :: info
|
||||
|
||||
|
@ -2628,13 +2624,13 @@ end function qmckl_adjugate_safe
|
|||
|
||||
integer (qmckl_context), intent(in) , value :: context
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_max_A
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(out) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: size_max_B
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(inout) :: det_l
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(out) :: B(ldb,*)
|
||||
|
||||
end function qmckl_adjugate_safe
|
||||
end interface
|
||||
|
|
|
@ -222,7 +222,6 @@ qmckl_context_touch(const qmckl_context context)
|
|||
|
||||
qmckl_context_struct* const ctx = (qmckl_context_struct*) context;
|
||||
|
||||
// ctx->electron.walker_old = ctx->electron.walker;
|
||||
ctx->date += 1UL;
|
||||
ctx->point.date = ctx-> date;
|
||||
return QMCKL_SUCCESS;
|
||||
|
|
|
@ -93,7 +93,6 @@ int main() {
|
|||
function qmckl_distance_sq(context, transa, transb, m, n, &
|
||||
A, LDA, B, LDB, C, LDC) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
|
||||
use qmckl_constants
|
||||
implicit none
|
||||
|
@ -103,12 +102,12 @@ function qmckl_distance_sq(context, transa, transb, m, n, &
|
|||
character(c_char) , intent(in) , value :: transb
|
||||
integer (c_int64_t) , intent(in) , value :: m
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
|
||||
integer(qmckl_exit_code) :: info
|
||||
|
||||
|
@ -248,12 +247,12 @@ end function qmckl_distance_sq
|
|||
character(c_char ) , intent(in) , value :: transb
|
||||
integer (c_int64_t) , intent(in) , value :: m
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
|
||||
end function qmckl_distance_sq
|
||||
end interface
|
||||
|
@ -470,7 +469,6 @@ end function test_qmckl_distance_sq
|
|||
function qmckl_distance(context, transa, transb, m, n, &
|
||||
A, LDA, B, LDB, C, LDC) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
implicit none
|
||||
integer(qmckl_context), intent(in), value :: context
|
||||
|
@ -478,12 +476,12 @@ function qmckl_distance(context, transa, transb, m, n, &
|
|||
character(c_char) , intent(in) , value :: transb
|
||||
integer (c_int64_t) , intent(in) , value :: m
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
integer (qmckl_exit_code) :: info
|
||||
|
||||
integer*8 :: i,j
|
||||
|
@ -629,12 +627,12 @@ end function qmckl_distance
|
|||
character(c_char ) , intent(in) , value :: transb
|
||||
integer (c_int64_t) , intent(in) , value :: m
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
|
||||
end function qmckl_distance
|
||||
end interface
|
||||
|
@ -866,7 +864,6 @@ end function test_qmckl_dist
|
|||
function qmckl_distance_rescaled(context, transa, transb, m, n, &
|
||||
A, LDA, B, LDB, C, LDC, rescale_factor_kappa) &
|
||||
bind(C) result(info)
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
implicit none
|
||||
integer (qmckl_context), intent(in) , value :: context
|
||||
|
@ -874,13 +871,13 @@ function qmckl_distance_rescaled(context, transa, transb, m, n, &
|
|||
character(c_char ) , intent(in) , value :: transb
|
||||
integer (c_int64_t) , intent(in) , value :: m
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) , value :: rescale_factor_kappa
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
integer(qmckl_exit_code) :: info
|
||||
|
||||
integer*8 :: i,j
|
||||
|
@ -1034,13 +1031,13 @@ end function qmckl_distance_rescaled
|
|||
character(c_char ) , intent(in) , value :: transb
|
||||
integer (c_int64_t) , intent(in) , value :: m
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) , value :: rescale_factor_kappa
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(ldc,n)
|
||||
|
||||
end function qmckl_distance_rescaled
|
||||
end interface
|
||||
|
@ -1332,7 +1329,6 @@ function qmckl_distance_rescaled_gl(context, transa, transb, m, n, &
|
|||
A, LDA, B, LDB, C, LDC, rescale_factor_kappa) &
|
||||
bind(C) result(info)
|
||||
use qmckl_constants
|
||||
use, intrinsic :: iso_c_binding
|
||||
implicit none
|
||||
|
||||
integer(qmckl_exit_code) :: info
|
||||
|
@ -1341,13 +1337,13 @@ function qmckl_distance_rescaled_gl(context, transa, transb, m, n, &
|
|||
character(c_char ) , intent(in) , value :: transb
|
||||
integer (c_int64_t) , intent(in) , value :: m
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(out) :: C(4,ldc,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) , value :: rescale_factor_kappa
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(4,ldc,n)
|
||||
|
||||
integer*8 :: i,j
|
||||
real*8 :: x, y, z, dist, dist_inv
|
||||
|
@ -1516,13 +1512,13 @@ end function qmckl_distance_rescaled_gl
|
|||
character(c_char ) , intent(in) , value :: transb
|
||||
integer (c_int64_t) , intent(in) , value :: m
|
||||
integer (c_int64_t) , intent(in) , value :: n
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
integer (c_int64_t) , intent(in) , value :: lda
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
integer (c_int64_t) , intent(in) , value :: ldb
|
||||
real (c_double ) , intent(out) :: C(4,ldc,n)
|
||||
integer (c_int64_t) , intent(in) , value :: ldc
|
||||
real (c_double ) , intent(in) , value :: rescale_factor_kappa
|
||||
real (c_double ) , intent(in) :: A(lda,*)
|
||||
real (c_double ) , intent(in) :: B(ldb,*)
|
||||
real (c_double ) , intent(out) :: C(4,ldc,n)
|
||||
|
||||
end function qmckl_distance_rescaled_gl
|
||||
end interface
|
||||
|
|
|
@ -334,6 +334,10 @@ qmckl_set_electron_coord(qmckl_context context,
|
|||
ctx->electron.walker.num = walk_num;
|
||||
memcpy(&(ctx->electron.walker.point), &(ctx->point), sizeof(qmckl_point_struct));
|
||||
|
||||
// If it is the first time we set the electrons, we set also walkers_old.
|
||||
if (ctx->electron.walker_old.num == 0) {
|
||||
qmckl_set_electron_coord(context, transp, walk_num, coord, size_max);
|
||||
}
|
||||
return QMCKL_SUCCESS;
|
||||
|
||||
}
|
||||
|
|
|
@ -6610,7 +6610,6 @@ integer function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f( &
|
|||
|
||||
! Prepare table of exponentiated distances raised to appropriate power
|
||||
do nw = 1, walk_num
|
||||
een_rescaled_e_gl(:,:,:,:,nw) = 0.d0
|
||||
do j = 1, elec_num
|
||||
do i = 1, j-1
|
||||
rij_inv = 1.0d0 / ee_distance(i, j, nw)
|
||||
|
@ -6631,7 +6630,9 @@ integer function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f( &
|
|||
end do
|
||||
end do
|
||||
|
||||
! prepare the actual een table
|
||||
! Not necessary: should be set to zero by qmckl_malloc
|
||||
! een_rescaled_e_gl(:,:,:,0,nw) = 0.d0
|
||||
|
||||
do l = 1, cord_num
|
||||
kappa_l = - dble(l) * rescale_factor_ee
|
||||
do j = 1, elec_num
|
||||
|
@ -6804,6 +6805,16 @@ qmckl_exit_code qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_hpc (
|
|||
}
|
||||
}
|
||||
|
||||
for (int64_t j = 0; j < elec_num; ++j) {
|
||||
double* restrict eegl = &een_rescaled_e_gl[ elec_num * 4 * (j + elec_num * (cord_num + 1) * nw)];
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t i = 0; i < 4*elec_num; ++i) {
|
||||
eegl[i] = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
for (int64_t l = 1; l <= cord_num; ++l) {
|
||||
double kappa_l = - (double)l * rescale_factor_ee;
|
||||
for (int64_t j = 0; j < elec_num; ++j) {
|
||||
|
@ -7152,8 +7163,6 @@ integer function qmckl_compute_een_rescaled_n_f( &
|
|||
return
|
||||
endif
|
||||
|
||||
! Prepare table of exponentiated distances raised to appropriate power
|
||||
een_rescaled_n = 0.0d0
|
||||
do nw = 1, walk_num
|
||||
|
||||
! prepare the actual een table
|
||||
|
|
|
@ -89,7 +89,6 @@ cat << EOF >> ${qmckl_f}
|
|||
end module qmckl_constants
|
||||
|
||||
module qmckl
|
||||
use, intrinsic :: iso_c_binding
|
||||
use qmckl_constants
|
||||
EOF
|
||||
|
||||
|
|
|
@ -181,7 +181,7 @@ results = [ f"{rettyp_c} function {fname} &"
|
|||
, f" ({args}) &"
|
||||
, " bind(C) result(info)"
|
||||
, ""
|
||||
, " use, intrinsic :: iso_c_binding"
|
||||
, " use qmckl_constants"
|
||||
, " implicit none"
|
||||
, ""
|
||||
]
|
||||
|
@ -234,7 +234,7 @@ results = [ f"interface"
|
|||
, f" {rettyp_c} function {fname} &"
|
||||
, f" ({args}) &"
|
||||
, " bind(C)"
|
||||
, " use, intrinsic :: iso_c_binding"
|
||||
, " use qmckl_constants"
|
||||
, " import"
|
||||
, " implicit none"
|
||||
, ""
|
||||
|
@ -283,7 +283,7 @@ results = [ f"interface"
|
|||
, f" {rettyp_c} function {fname} &"
|
||||
, f" ({args}) &"
|
||||
, " bind(C)"
|
||||
, " use, intrinsic :: iso_c_binding"
|
||||
, " use qmckl_constants"
|
||||
, " import"
|
||||
, " implicit none"
|
||||
, ""
|
||||
|
|
Loading…
Reference in New Issue