1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-08-24 22:21:46 +02:00

Inline powers in AOs

This commit is contained in:
Anthony Scemama 2022-10-13 11:48:40 +02:00
parent 485571f771
commit 3e2ea5f2ca

View File

@ -4834,7 +4834,7 @@ end function qmckl_ao_polynomial_vgl_doc_f
const int64_t ldv );
#+end_src
#+CALL: generate_c_header(table=qmckl_ao_polynomial_vgl_args,rettyp=get_value("CRetType"),fname="qmckl_ao_polynomial_transp_vgl_hpc")
# #+CALL: generate_c_header(table=qmckl_ao_polynomial_vgl_args,rettyp=get_value("CRetType"),fname="qmckl_ao_polynomial_transp_vgl_hpc")
#+RESULTS:
#+begin_src c :tangle (eval h_func) :comments org
@ -4999,8 +4999,8 @@ end function qmckl_ao_polynomial_transp_vgl_doc_f
#+end_src
#+begin_src c :tangle (eval c) :comments org
qmckl_exit_code
qmckl_ao_polynomial_transp_vgl_hpc (const qmckl_context context,
static inline qmckl_exit_code
qmckl_ao_polynomial_transp_vgl_hpc_inline (const qmckl_context context,
const double* restrict X,
const double* restrict R,
const int32_t lmax,
@ -5274,6 +5274,21 @@ qmckl_ao_polynomial_transp_vgl_hpc (const qmckl_context context,
,*n = m;
return QMCKL_SUCCESS;
}
qmckl_exit_code
qmckl_ao_polynomial_transp_vgl_hpc (const qmckl_context context,
const double* restrict X,
const double* restrict R,
const int32_t lmax,
int64_t* n,
int32_t* restrict const L,
const int64_t ldl,
double* restrict const VGL,
const int64_t ldv )
{
return qmckl_ao_polynomial_transp_vgl_hpc_inline (context,
X, R, lmax, n, L, ldl, VGL, ldv );
}
#+end_src
#+CALL: generate_c_interface(table=qmckl_ao_polynomial_vgl_args,rettyp=get_value("CRetType"),fname="qmckl_ao_polynomial_transp_vgl_doc")
@ -5707,7 +5722,7 @@ qmckl_compute_ao_value_hpc_gaussian (const qmckl_context context,
<<ao_value_constants>>
#ifdef HAVE_OPENMP
#pragma omp parallel
#pragma omp parallel if (point_num > 16)
#endif
{
qmckl_exit_code rc;
@ -5787,7 +5802,7 @@ qmckl_compute_ao_value_hpc_gaussian (const qmckl_context context,
break;
default:
rc = qmckl_ao_polynomial_transp_vgl_hpc(context, e_coord, n_coord,
rc = qmckl_ao_polynomial_transp_vgl_hpc_inline(context, e_coord, n_coord,
nucleus_max_ang_mom[inucl],
&n_poly, powers, (int64_t) 3,
poly_vgl, size_max);
@ -6597,7 +6612,7 @@ qmckl_compute_ao_vgl_hpc_gaussian (
break;
default:
rc = qmckl_ao_polynomial_transp_vgl_hpc(context, e_coord, n_coord,
rc = qmckl_ao_polynomial_transp_vgl_hpc_inline(context, e_coord, n_coord,
nucleus_max_ang_mom[inucl],
&n_poly, powers, (int64_t) 3,
&(poly_vgl[0][0]), size_max);