mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-01-03 18:16:28 +01:00
Added file names as properties
This commit is contained in:
parent
913b50099b
commit
680a0880b4
@ -1,5 +1,6 @@
|
|||||||
#+TITLE: QMCkl source code documentation
|
#+TITLE: QMCkl source code documentation
|
||||||
#+EXPORT_FILE_NAME: index.html
|
#+EXPORT_FILE_NAME: index.html
|
||||||
|
#+PROPERTY: comments org
|
||||||
|
|
||||||
#+SETUPFILE: https://fniessen.github.io/org-html-themes/org/theme-readtheorg.setup
|
#+SETUPFILE: https://fniessen.github.io/org-html-themes/org/theme-readtheorg.setup
|
||||||
|
|
||||||
|
@ -1,4 +1,11 @@
|
|||||||
** Atomic Orbitals
|
** Atomic Orbitals
|
||||||
|
:PROPERTIES:
|
||||||
|
:f: qmckl_ao.f90
|
||||||
|
:c_test: test_qmckl_ao.c
|
||||||
|
:fh: qmckl_f.f90
|
||||||
|
:h: qmckl.h
|
||||||
|
:f_test: test_qmckl_ao_f.f90
|
||||||
|
:END:
|
||||||
|
|
||||||
|
|
||||||
This files contains all the routines for the computation of the
|
This files contains all the routines for the computation of the
|
||||||
@ -10,7 +17,7 @@
|
|||||||
- a Fortran test file : =test_qmckl_ao_f.f90=
|
- a Fortran test file : =test_qmckl_ao_f.f90=
|
||||||
|
|
||||||
*** Test :noexport:
|
*** Test :noexport:
|
||||||
#+BEGIN_SRC C :tangle test_qmckl_ao.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c_test" t)
|
||||||
#include "qmckl.h"
|
#include "qmckl.h"
|
||||||
#include "munit.h"
|
#include "munit.h"
|
||||||
MunitResult test_qmckl_ao() {
|
MunitResult test_qmckl_ao() {
|
||||||
@ -67,7 +74,7 @@ MunitResult test_qmckl_ao() {
|
|||||||
- ~LDP~ >= $\max_i$ ~LMAX[i]~
|
- ~LDP~ >= $\max_i$ ~LMAX[i]~
|
||||||
|
|
||||||
***** Header
|
***** Header
|
||||||
#+BEGIN_SRC C :tangle qmckl.h
|
#+BEGIN_SRC C :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_exit_code qmckl_ao_power(const qmckl_context context,
|
qmckl_exit_code qmckl_ao_power(const qmckl_context context,
|
||||||
const int64_t n,
|
const int64_t n,
|
||||||
const double *X, const int32_t *LMAX,
|
const double *X, const int32_t *LMAX,
|
||||||
@ -75,7 +82,7 @@ qmckl_exit_code qmckl_ao_power(const qmckl_context context,
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_ao.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f" t)
|
||||||
integer function qmckl_ao_power_f(context, n, X, LMAX, P, ldp) result(info)
|
integer function qmckl_ao_power_f(context, n, X, LMAX, P, ldp) result(info)
|
||||||
implicit none
|
implicit none
|
||||||
integer*8 , intent(in) :: context
|
integer*8 , intent(in) :: context
|
||||||
@ -110,7 +117,7 @@ end function qmckl_ao_power_f
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** C interface :noexport:
|
***** C interface :noexport:
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_ao.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f" t)
|
||||||
integer(c_int32_t) function qmckl_ao_power(context, n, X, LMAX, P, ldp) &
|
integer(c_int32_t) function qmckl_ao_power(context, n, X, LMAX, P, ldp) &
|
||||||
bind(C) result(info)
|
bind(C) result(info)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -127,7 +134,7 @@ integer(c_int32_t) function qmckl_ao_power(context, n, X, LMAX, P, ldp) &
|
|||||||
end function qmckl_ao_power
|
end function qmckl_ao_power
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer(c_int32_t) function qmckl_ao_power(context, n, X, LMAX, P, ldp) bind(C)
|
integer(c_int32_t) function qmckl_ao_power(context, n, X, LMAX, P, ldp) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -142,7 +149,7 @@ end function qmckl_ao_power
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Test :noexport:
|
***** Test :noexport:
|
||||||
#+BEGIN_SRC f90 :tangle test_qmckl_ao_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f_test" t)
|
||||||
integer(c_int32_t) function test_qmckl_ao_power(context) bind(C)
|
integer(c_int32_t) function test_qmckl_ao_power(context) bind(C)
|
||||||
use qmckl
|
use qmckl
|
||||||
implicit none
|
implicit none
|
||||||
@ -187,7 +194,7 @@ integer(c_int32_t) function test_qmckl_ao_power(context) bind(C)
|
|||||||
end function test_qmckl_ao_power
|
end function test_qmckl_ao_power
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC C :tangle test_qmckl_ao.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c_test" t)
|
||||||
int test_qmckl_ao_power(qmckl_context context);
|
int test_qmckl_ao_power(qmckl_context context);
|
||||||
munit_assert_int(0, ==, test_qmckl_ao_power(context));
|
munit_assert_int(0, ==, test_qmckl_ao_power(context));
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@ -237,7 +244,7 @@ munit_assert_int(0, ==, test_qmckl_ao_power(context));
|
|||||||
| -4 | Inconsistent ~lmax~ |
|
| -4 | Inconsistent ~lmax~ |
|
||||||
|
|
||||||
***** Header
|
***** Header
|
||||||
#+BEGIN_SRC C :tangle qmckl.h
|
#+BEGIN_SRC C :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_exit_code qmckl_ao_polynomial_vgl(const qmckl_context context,
|
qmckl_exit_code qmckl_ao_polynomial_vgl(const qmckl_context context,
|
||||||
const double *X, const double *R,
|
const double *X, const double *R,
|
||||||
const int32_t lmax, const int64_t *n,
|
const int32_t lmax, const int64_t *n,
|
||||||
@ -246,7 +253,7 @@ qmckl_exit_code qmckl_ao_polynomial_vgl(const qmckl_context context,
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_ao.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f" t)
|
||||||
integer function qmckl_ao_polynomial_vgl_f(context, X, R, lmax, n, L, ldl, VGL, ldv) result(info)
|
integer function qmckl_ao_polynomial_vgl_f(context, X, R, lmax, n, L, ldl, VGL, ldv) result(info)
|
||||||
implicit none
|
implicit none
|
||||||
integer*8 , intent(in) :: context
|
integer*8 , intent(in) :: context
|
||||||
@ -376,7 +383,7 @@ end function qmckl_ao_polynomial_vgl_f
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** C interface :noexport:
|
***** C interface :noexport:
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_ao.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f" t)
|
||||||
integer(c_int32_t) function qmckl_ao_polynomial_vgl(context, X, R, lmax, n, L, ldl, VGL, ldv) &
|
integer(c_int32_t) function qmckl_ao_polynomial_vgl(context, X, R, lmax, n, L, ldl, VGL, ldv) &
|
||||||
bind(C) result(info)
|
bind(C) result(info)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -396,7 +403,7 @@ end function qmckl_ao_polynomial_vgl
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface :noexport:
|
***** Fortran interface :noexport:
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer(c_int32_t) function qmckl_ao_polynomial_vgl(context, X, R, lmax, n, L, ldl, VGL, ldv) &
|
integer(c_int32_t) function qmckl_ao_polynomial_vgl(context, X, R, lmax, n, L, ldl, VGL, ldv) &
|
||||||
bind(C)
|
bind(C)
|
||||||
@ -413,7 +420,7 @@ end function qmckl_ao_polynomial_vgl
|
|||||||
end interface
|
end interface
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
***** Test :noexport:
|
***** Test :noexport:
|
||||||
#+BEGIN_SRC f90 :tangle test_qmckl_ao_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f_test" t)
|
||||||
integer(c_int32_t) function test_qmckl_ao_polynomial_vgl(context) bind(C)
|
integer(c_int32_t) function test_qmckl_ao_polynomial_vgl(context) bind(C)
|
||||||
use qmckl
|
use qmckl
|
||||||
implicit none
|
implicit none
|
||||||
@ -508,7 +515,7 @@ integer(c_int32_t) function test_qmckl_ao_polynomial_vgl(context) bind(C)
|
|||||||
end function test_qmckl_ao_polynomial_vgl
|
end function test_qmckl_ao_polynomial_vgl
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC C :tangle test_qmckl_ao.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c_test" t)
|
||||||
int test_qmckl_ao_polynomial_vgl(qmckl_context context);
|
int test_qmckl_ao_polynomial_vgl(qmckl_context context);
|
||||||
munit_assert_int(0, ==, test_qmckl_ao_polynomial_vgl(context));
|
munit_assert_int(0, ==, test_qmckl_ao_polynomial_vgl(context));
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@ -548,7 +555,7 @@ munit_assert_int(0, ==, test_qmckl_ao_polynomial_vgl(context));
|
|||||||
- ~VGL~ is allocated with at least $n \times 5 \times 8$ bytes
|
- ~VGL~ is allocated with at least $n \times 5 \times 8$ bytes
|
||||||
|
|
||||||
***** Header
|
***** Header
|
||||||
#+BEGIN_SRC C :tangle qmckl.h
|
#+BEGIN_SRC C :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_exit_code qmckl_ao_gaussian_vgl(const qmckl_context context,
|
qmckl_exit_code qmckl_ao_gaussian_vgl(const qmckl_context context,
|
||||||
const double *X, const double *R,
|
const double *X, const double *R,
|
||||||
const int64_t *n, const int64_t *A,
|
const int64_t *n, const int64_t *A,
|
||||||
@ -556,7 +563,7 @@ qmckl_exit_code qmckl_ao_gaussian_vgl(const qmckl_context context,
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_ao.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f" t)
|
||||||
integer function qmckl_ao_gaussian_vgl_f(context, X, R, n, A, VGL, ldv) result(info)
|
integer function qmckl_ao_gaussian_vgl_f(context, X, R, n, A, VGL, ldv) result(info)
|
||||||
implicit none
|
implicit none
|
||||||
integer*8 , intent(in) :: context
|
integer*8 , intent(in) :: context
|
||||||
@ -619,7 +626,7 @@ end function qmckl_ao_gaussian_vgl_f
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** C interface :noexport:
|
***** C interface :noexport:
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_ao.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f" t)
|
||||||
integer(c_int32_t) function qmckl_ao_gaussian_vgl(context, X, R, n, A, VGL, ldv) &
|
integer(c_int32_t) function qmckl_ao_gaussian_vgl(context, X, R, n, A, VGL, ldv) &
|
||||||
bind(C) result(info)
|
bind(C) result(info)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -636,7 +643,7 @@ integer(c_int32_t) function qmckl_ao_gaussian_vgl(context, X, R, n, A, VGL, ldv)
|
|||||||
end function qmckl_ao_gaussian_vgl
|
end function qmckl_ao_gaussian_vgl
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer(c_int32_t) function qmckl_ao_gaussian_vgl(context, X, R, n, A, VGL, ldv) &
|
integer(c_int32_t) function qmckl_ao_gaussian_vgl(context, X, R, n, A, VGL, ldv) &
|
||||||
bind(C)
|
bind(C)
|
||||||
@ -650,7 +657,7 @@ end function qmckl_ao_gaussian_vgl
|
|||||||
end interface
|
end interface
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
***** Test :noexport:
|
***** Test :noexport:
|
||||||
#+BEGIN_SRC f90 :tangle test_qmckl_ao_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "f_test" t)
|
||||||
integer(c_int32_t) function test_qmckl_ao_gaussian_vgl(context) bind(C)
|
integer(c_int32_t) function test_qmckl_ao_gaussian_vgl(context) bind(C)
|
||||||
use qmckl
|
use qmckl
|
||||||
implicit none
|
implicit none
|
||||||
@ -717,7 +724,7 @@ integer(c_int32_t) function test_qmckl_ao_gaussian_vgl(context) bind(C)
|
|||||||
end function test_qmckl_ao_gaussian_vgl
|
end function test_qmckl_ao_gaussian_vgl
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC C :tangle test_qmckl_ao.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c_test" t)
|
||||||
int test_qmckl_ao_gaussian_vgl(qmckl_context context);
|
int test_qmckl_ao_gaussian_vgl(qmckl_context context);
|
||||||
munit_assert_int(0, ==, test_qmckl_ao_gaussian_vgl(context));
|
munit_assert_int(0, ==, test_qmckl_ao_gaussian_vgl(context));
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@ -728,7 +735,7 @@ munit_assert_int(0, ==, test_qmckl_ao_gaussian_vgl(context));
|
|||||||
*** End of files :noexport:
|
*** End of files :noexport:
|
||||||
|
|
||||||
***** Test
|
***** Test
|
||||||
#+BEGIN_SRC C :tangle test_qmckl_ao.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c_test" t)
|
||||||
if (qmckl_context_destroy(context) != QMCKL_SUCCESS)
|
if (qmckl_context_destroy(context) != QMCKL_SUCCESS)
|
||||||
return QMCKL_FAILURE;
|
return QMCKL_FAILURE;
|
||||||
return MUNIT_OK;
|
return MUNIT_OK;
|
||||||
|
@ -1,4 +1,11 @@
|
|||||||
** Context
|
** Context
|
||||||
|
:PROPERTIES:
|
||||||
|
:c: qmckl_context.c
|
||||||
|
:c_test: test_qmckl_context.c
|
||||||
|
:fh: qmckl_f.f90
|
||||||
|
:h: qmckl.h
|
||||||
|
:END:
|
||||||
|
|
||||||
|
|
||||||
This file is written in C because it is more natural to express the
|
This file is written in C because it is more natural to express the
|
||||||
context in C than in Fortran.
|
context in C than in Fortran.
|
||||||
@ -8,11 +15,11 @@
|
|||||||
- a test file : =test_qmckl_context.c=
|
- a test file : =test_qmckl_context.c=
|
||||||
|
|
||||||
*** Headers :noexport:
|
*** Headers :noexport:
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
#include "qmckl.h"
|
#include "qmckl.h"
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC C :tangle test_qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c_test" t)
|
||||||
#include "qmckl.h"
|
#include "qmckl.h"
|
||||||
#include "munit.h"
|
#include "munit.h"
|
||||||
MunitResult test_qmckl_context() {
|
MunitResult test_qmckl_context() {
|
||||||
@ -30,7 +37,7 @@ MunitResult test_qmckl_context() {
|
|||||||
# The following code block should be kept to insert comments into
|
# The following code block should be kept to insert comments into
|
||||||
# the qmckl.h file
|
# the qmckl.h file
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h :export none
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t) :export none
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
**** Basis set data structure
|
**** Basis set data structure
|
||||||
@ -38,7 +45,7 @@ MunitResult test_qmckl_context() {
|
|||||||
Data structure for the info related to the atomic orbitals
|
Data structure for the info related to the atomic orbitals
|
||||||
basis set.
|
basis set.
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl_context.c
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "c" t)
|
||||||
typedef struct qmckl_ao_basis_struct {
|
typedef struct qmckl_ao_basis_struct {
|
||||||
|
|
||||||
int64_t shell_num;
|
int64_t shell_num;
|
||||||
@ -59,7 +66,7 @@ typedef struct qmckl_ao_basis_struct {
|
|||||||
The tag is used internally to check if the memory domain pointed
|
The tag is used internally to check if the memory domain pointed
|
||||||
by a pointer is a valid context.
|
by a pointer is a valid context.
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl_context.c
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "c" t)
|
||||||
typedef struct qmckl_context_struct {
|
typedef struct qmckl_context_struct {
|
||||||
|
|
||||||
struct qmckl_context_struct * prev;
|
struct qmckl_context_struct * prev;
|
||||||
@ -83,7 +90,7 @@ typedef struct qmckl_context_struct {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
**** Test :noexport:
|
**** Test :noexport:
|
||||||
#+BEGIN_SRC C :tangle test_qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c_test" t)
|
||||||
qmckl_context context;
|
qmckl_context context;
|
||||||
qmckl_context new_context;
|
qmckl_context new_context;
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@ -95,12 +102,12 @@ qmckl_context new_context;
|
|||||||
Returns the input ~qmckl_context~ if the context is valid, 0
|
Returns the input ~qmckl_context~ if the context is valid, 0
|
||||||
otherwise.
|
otherwise.
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_context qmckl_context_check(const qmckl_context context) ;
|
qmckl_context qmckl_context_check(const qmckl_context context) ;
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_context qmckl_context_check(const qmckl_context context) {
|
qmckl_context qmckl_context_check(const qmckl_context context) {
|
||||||
|
|
||||||
if (context == (qmckl_context) 0) return (qmckl_context) 0;
|
if (context == (qmckl_context) 0) return (qmckl_context) 0;
|
||||||
@ -119,12 +126,12 @@ qmckl_context qmckl_context_check(const qmckl_context context) {
|
|||||||
- On success, returns a pointer to a context using the ~qmckl_context~ type
|
- On success, returns a pointer to a context using the ~qmckl_context~ type
|
||||||
- Returns ~0~ upon failure to allocate the internal data structure
|
- Returns ~0~ upon failure to allocate the internal data structure
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_context qmckl_context_create();
|
qmckl_context qmckl_context_create();
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_context qmckl_context_create() {
|
qmckl_context qmckl_context_create() {
|
||||||
|
|
||||||
qmckl_context_struct* context =
|
qmckl_context_struct* context =
|
||||||
@ -144,7 +151,7 @@ qmckl_context qmckl_context_create() {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int64_t) function qmckl_context_create() bind(C)
|
integer (c_int64_t) function qmckl_context_create() bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -153,7 +160,7 @@ qmckl_context qmckl_context_create() {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Test :noexport:
|
***** Test :noexport:
|
||||||
#+BEGIN_SRC C :comments link :tangle test_qmckl_context.c
|
#+BEGIN_SRC C :comments link :tangle (org-entry-get nil "c_test" t)
|
||||||
context = qmckl_context_create();
|
context = qmckl_context_create();
|
||||||
munit_assert_int64( context, !=, (qmckl_context) 0);
|
munit_assert_int64( context, !=, (qmckl_context) 0);
|
||||||
munit_assert_int64( qmckl_context_check(context), ==, context);
|
munit_assert_int64( qmckl_context_check(context), ==, context);
|
||||||
@ -167,12 +174,12 @@ munit_assert_int64( qmckl_context_check(context), ==, context);
|
|||||||
- Returns 0 upon failure to allocate the internal data structure
|
- Returns 0 upon failure to allocate the internal data structure
|
||||||
for the new context
|
for the new context
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_context qmckl_context_copy(const qmckl_context context);
|
qmckl_context qmckl_context_copy(const qmckl_context context);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_context qmckl_context_copy(const qmckl_context context) {
|
qmckl_context qmckl_context_copy(const qmckl_context context) {
|
||||||
|
|
||||||
const qmckl_context checked_context = qmckl_context_check(context);
|
const qmckl_context checked_context = qmckl_context_check(context);
|
||||||
@ -201,7 +208,7 @@ qmckl_context qmckl_context_copy(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int64_t) function qmckl_context_copy(context) bind(C)
|
integer (c_int64_t) function qmckl_context_copy(context) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -211,7 +218,7 @@ qmckl_context qmckl_context_copy(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Test :noexport:
|
***** Test :noexport:
|
||||||
#+BEGIN_SRC C :comments link :tangle test_qmckl_context.c
|
#+BEGIN_SRC C :comments link :tangle (org-entry-get nil "c_test" t)
|
||||||
new_context = qmckl_context_copy(context);
|
new_context = qmckl_context_copy(context);
|
||||||
munit_assert_int64(new_context, !=, (qmckl_context) 0);
|
munit_assert_int64(new_context, !=, (qmckl_context) 0);
|
||||||
munit_assert_int64(new_context, !=, context);
|
munit_assert_int64(new_context, !=, context);
|
||||||
@ -225,12 +232,12 @@ munit_assert_int64(qmckl_context_check(new_context), ==, new_context);
|
|||||||
- Returns 0 for the initial context
|
- Returns 0 for the initial context
|
||||||
- Returns 0 for the 0-valued context
|
- Returns 0 for the 0-valued context
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_context qmckl_context_previous(const qmckl_context context);
|
qmckl_context qmckl_context_previous(const qmckl_context context);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_context qmckl_context_previous(const qmckl_context context) {
|
qmckl_context qmckl_context_previous(const qmckl_context context) {
|
||||||
|
|
||||||
const qmckl_context checked_context = qmckl_context_check(context);
|
const qmckl_context checked_context = qmckl_context_check(context);
|
||||||
@ -244,7 +251,7 @@ qmckl_context qmckl_context_previous(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int64_t) function qmckl_context_previous(context) bind(C)
|
integer (c_int64_t) function qmckl_context_previous(context) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -254,7 +261,7 @@ qmckl_context qmckl_context_previous(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Test :noexport:
|
***** Test :noexport:
|
||||||
#+BEGIN_SRC C :comments link :tangle test_qmckl_context.c
|
#+BEGIN_SRC C :comments link :tangle (org-entry-get nil "c_test" t)
|
||||||
munit_assert_int64(qmckl_context_previous(new_context), !=, (qmckl_context) 0);
|
munit_assert_int64(qmckl_context_previous(new_context), !=, (qmckl_context) 0);
|
||||||
munit_assert_int64(qmckl_context_previous(new_context), ==, context);
|
munit_assert_int64(qmckl_context_previous(new_context), ==, context);
|
||||||
munit_assert_int64(qmckl_context_previous(context), ==, (qmckl_context) 0);
|
munit_assert_int64(qmckl_context_previous(context), ==, (qmckl_context) 0);
|
||||||
@ -269,12 +276,12 @@ munit_assert_int64(qmckl_context_previous((qmckl_context) 0), ==, (qmckl_context
|
|||||||
- Fails if the 0-valued context is given in argument
|
- Fails if the 0-valued context is given in argument
|
||||||
- Fails if the the pointer is not a valid context
|
- Fails if the the pointer is not a valid context
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_exit_code qmckl_context_destroy(qmckl_context context);
|
qmckl_exit_code qmckl_context_destroy(qmckl_context context);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_exit_code qmckl_context_destroy(const qmckl_context context) {
|
qmckl_exit_code qmckl_context_destroy(const qmckl_context context) {
|
||||||
|
|
||||||
const qmckl_context checked_context = qmckl_context_check(context);
|
const qmckl_context checked_context = qmckl_context_check(context);
|
||||||
@ -290,7 +297,7 @@ qmckl_exit_code qmckl_context_destroy(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int32_t) function qmckl_context_destroy(context) bind(C)
|
integer (c_int32_t) function qmckl_context_destroy(context) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -300,7 +307,7 @@ qmckl_exit_code qmckl_context_destroy(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Test :noexport:
|
***** Test :noexport:
|
||||||
#+BEGIN_SRC C :tangle test_qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c_test" t)
|
||||||
munit_assert_int64(qmckl_context_check(new_context), ==, new_context);
|
munit_assert_int64(qmckl_context_check(new_context), ==, new_context);
|
||||||
munit_assert_int64(new_context, !=, (qmckl_context) 0);
|
munit_assert_int64(new_context, !=, (qmckl_context) 0);
|
||||||
munit_assert_int32(qmckl_context_destroy(new_context), ==, QMCKL_SUCCESS);
|
munit_assert_int32(qmckl_context_destroy(new_context), ==, QMCKL_SUCCESS);
|
||||||
@ -366,7 +373,7 @@ COEFFICIENT = [ 0.006068, 0.045308, 0.202822, 0.503903, 0.383421,
|
|||||||
| ~EXPONENT(prim_num)~ | Array of exponents |
|
| ~EXPONENT(prim_num)~ | Array of exponents |
|
||||||
| ~COEFFICIENT(prim_num)~ | Array of coefficients |
|
| ~COEFFICIENT(prim_num)~ | Array of coefficients |
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_exit_code
|
qmckl_exit_code
|
||||||
qmckl_context_update_ao_basis(qmckl_context context , const char type,
|
qmckl_context_update_ao_basis(qmckl_context context , const char type,
|
||||||
const int64_t shell_num , const int64_t prim_num,
|
const int64_t shell_num , const int64_t prim_num,
|
||||||
@ -377,7 +384,7 @@ qmckl_context_update_ao_basis(qmckl_context context , const char type
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_exit_code
|
qmckl_exit_code
|
||||||
qmckl_context_update_ao_basis(qmckl_context context , const char type,
|
qmckl_context_update_ao_basis(qmckl_context context , const char type,
|
||||||
const int64_t shell_num , const int64_t prim_num,
|
const int64_t shell_num , const int64_t prim_num,
|
||||||
@ -492,7 +499,7 @@ qmckl_context_update_ao_basis(qmckl_context context , const char type
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int32_t) function qmckl_context_update_ao_basis(context, &
|
integer (c_int32_t) function qmckl_context_update_ao_basis(context, &
|
||||||
typ, shell_num, prim_num, SHELL_CENTER, SHELL_ANG_MOM, SHELL_FACTOR, &
|
typ, shell_num, prim_num, SHELL_CENTER, SHELL_ANG_MOM, SHELL_FACTOR, &
|
||||||
@ -530,7 +537,7 @@ qmckl_context_update_ao_basis(qmckl_context context , const char type
|
|||||||
| ~EXPONENT(prim_num)~ | Array of exponents |
|
| ~EXPONENT(prim_num)~ | Array of exponents |
|
||||||
| ~COEFFICIENT(prim_num)~ | Array of coefficients |
|
| ~COEFFICIENT(prim_num)~ | Array of coefficients |
|
||||||
|
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_context
|
qmckl_context
|
||||||
qmckl_context_set_ao_basis(const qmckl_context context , const char type,
|
qmckl_context_set_ao_basis(const qmckl_context context , const char type,
|
||||||
const int64_t shell_num , const int64_t prim_num,
|
const int64_t shell_num , const int64_t prim_num,
|
||||||
@ -541,7 +548,7 @@ qmckl_context_set_ao_basis(const qmckl_context context , const char typ
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_context
|
qmckl_context
|
||||||
qmckl_context_set_ao_basis(const qmckl_context context , const char type,
|
qmckl_context_set_ao_basis(const qmckl_context context , const char type,
|
||||||
const int64_t shell_num , const int64_t prim_num,
|
const int64_t shell_num , const int64_t prim_num,
|
||||||
@ -566,7 +573,7 @@ qmckl_context_set_ao_basis(const qmckl_context context , const char typ
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int64_t) function qmckl_context_set_ao_basis(context, &
|
integer (c_int64_t) function qmckl_context_set_ao_basis(context, &
|
||||||
typ, shell_num, prim_num, SHELL_CENTER, SHELL_ANG_MOM, SHELL_FACTOR, &
|
typ, shell_num, prim_num, SHELL_CENTER, SHELL_ANG_MOM, SHELL_FACTOR, &
|
||||||
@ -602,12 +609,12 @@ qmckl_context_set_ao_basis(const qmckl_context context , const char typ
|
|||||||
|
|
||||||
**** ~qmckl_context_update_precision~
|
**** ~qmckl_context_update_precision~
|
||||||
Modifies the parameter for the numerical precision in a given context.
|
Modifies the parameter for the numerical precision in a given context.
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_exit_code qmckl_context_update_precision(const qmckl_context context, const int precision);
|
qmckl_exit_code qmckl_context_update_precision(const qmckl_context context, const int precision);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_exit_code qmckl_context_update_precision(const qmckl_context context, const int precision) {
|
qmckl_exit_code qmckl_context_update_precision(const qmckl_context context, const int precision) {
|
||||||
|
|
||||||
if (precision < 2) return QMCKL_FAILURE;
|
if (precision < 2) return QMCKL_FAILURE;
|
||||||
@ -622,7 +629,7 @@ qmckl_exit_code qmckl_context_update_precision(const qmckl_context context, cons
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int32_t) function qmckl_context_update_precision(context, precision) bind(C)
|
integer (c_int32_t) function qmckl_context_update_precision(context, precision) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -635,12 +642,12 @@ qmckl_exit_code qmckl_context_update_precision(const qmckl_context context, cons
|
|||||||
***** TODO Tests :noexport:
|
***** TODO Tests :noexport:
|
||||||
**** ~qmckl_context_update_range~
|
**** ~qmckl_context_update_range~
|
||||||
Modifies the parameter for the numerical range in a given context.
|
Modifies the parameter for the numerical range in a given context.
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_exit_code qmckl_context_update_range(const qmckl_context context, const int range);
|
qmckl_exit_code qmckl_context_update_range(const qmckl_context context, const int range);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_exit_code qmckl_context_update_range(const qmckl_context context, const int range) {
|
qmckl_exit_code qmckl_context_update_range(const qmckl_context context, const int range) {
|
||||||
|
|
||||||
if (range < 2) return QMCKL_FAILURE;
|
if (range < 2) return QMCKL_FAILURE;
|
||||||
@ -655,7 +662,7 @@ qmckl_exit_code qmckl_context_update_range(const qmckl_context context, const in
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int32_t) function qmckl_context_update_range(context, range) bind(C)
|
integer (c_int32_t) function qmckl_context_update_range(context, range) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -668,12 +675,12 @@ qmckl_exit_code qmckl_context_update_range(const qmckl_context context, const in
|
|||||||
***** TODO Tests :noexport:
|
***** TODO Tests :noexport:
|
||||||
**** ~qmckl_context_set_precision~
|
**** ~qmckl_context_set_precision~
|
||||||
Returns a copy of the context with a different precision parameter.
|
Returns a copy of the context with a different precision parameter.
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_context qmckl_context_set_precision(const qmckl_context context, const int precision);
|
qmckl_context qmckl_context_set_precision(const qmckl_context context, const int precision);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_context qmckl_context_set_precision(const qmckl_context context, const int precision) {
|
qmckl_context qmckl_context_set_precision(const qmckl_context context, const int precision) {
|
||||||
qmckl_context new_context = qmckl_context_copy(context);
|
qmckl_context new_context = qmckl_context_copy(context);
|
||||||
if (new_context == 0) return 0;
|
if (new_context == 0) return 0;
|
||||||
@ -685,7 +692,7 @@ qmckl_context qmckl_context_set_precision(const qmckl_context context, const int
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int64_t) function qmckl_context_set_precision(context, precision) bind(C)
|
integer (c_int64_t) function qmckl_context_set_precision(context, precision) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -698,12 +705,12 @@ qmckl_context qmckl_context_set_precision(const qmckl_context context, const int
|
|||||||
***** TODO Tests :noexport:
|
***** TODO Tests :noexport:
|
||||||
**** ~qmckl_context_set_range~
|
**** ~qmckl_context_set_range~
|
||||||
Returns a copy of the context with a different precision parameter.
|
Returns a copy of the context with a different precision parameter.
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
qmckl_context qmckl_context_set_range(const qmckl_context context, const int range);
|
qmckl_context qmckl_context_set_range(const qmckl_context context, const int range);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
qmckl_context qmckl_context_set_range(const qmckl_context context, const int range) {
|
qmckl_context qmckl_context_set_range(const qmckl_context context, const int range) {
|
||||||
qmckl_context new_context = qmckl_context_copy(context);
|
qmckl_context new_context = qmckl_context_copy(context);
|
||||||
if (new_context == 0) return 0;
|
if (new_context == 0) return 0;
|
||||||
@ -715,7 +722,7 @@ qmckl_context qmckl_context_set_range(const qmckl_context context, const int ran
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int64_t) function qmckl_context_set_range(context, range) bind(C)
|
integer (c_int64_t) function qmckl_context_set_range(context, range) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -729,12 +736,12 @@ qmckl_context qmckl_context_set_range(const qmckl_context context, const int ran
|
|||||||
|
|
||||||
**** ~qmckl_context_get_precision~
|
**** ~qmckl_context_get_precision~
|
||||||
Returns the value of the numerical precision in the context
|
Returns the value of the numerical precision in the context
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
int32_t qmckl_context_get_precision(const qmckl_context context);
|
int32_t qmckl_context_get_precision(const qmckl_context context);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
int qmckl_context_get_precision(const qmckl_context context) {
|
int qmckl_context_get_precision(const qmckl_context context) {
|
||||||
const qmckl_context_struct* ctx = (qmckl_context_struct*) context;
|
const qmckl_context_struct* ctx = (qmckl_context_struct*) context;
|
||||||
return ctx->precision;
|
return ctx->precision;
|
||||||
@ -742,7 +749,7 @@ int qmckl_context_get_precision(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int32_t) function qmckl_context_get_precision(context) bind(C)
|
integer (c_int32_t) function qmckl_context_get_precision(context) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -754,12 +761,12 @@ int qmckl_context_get_precision(const qmckl_context context) {
|
|||||||
***** TODO Tests :noexport:
|
***** TODO Tests :noexport:
|
||||||
**** ~qmckl_context_get_range~
|
**** ~qmckl_context_get_range~
|
||||||
Returns the value of the numerical range in the context
|
Returns the value of the numerical range in the context
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
int32_t qmckl_context_get_range(const qmckl_context context);
|
int32_t qmckl_context_get_range(const qmckl_context context);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
int qmckl_context_get_range(const qmckl_context context) {
|
int qmckl_context_get_range(const qmckl_context context) {
|
||||||
const qmckl_context_struct* ctx = (qmckl_context_struct*) context;
|
const qmckl_context_struct* ctx = (qmckl_context_struct*) context;
|
||||||
return ctx->range;
|
return ctx->range;
|
||||||
@ -767,7 +774,7 @@ int qmckl_context_get_range(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
integer (c_int32_t) function qmckl_context_get_range(context) bind(C)
|
integer (c_int32_t) function qmckl_context_get_range(context) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -780,12 +787,12 @@ int qmckl_context_get_range(const qmckl_context context) {
|
|||||||
|
|
||||||
**** ~qmckl_context_get_epsilon~
|
**** ~qmckl_context_get_epsilon~
|
||||||
Returns $\epsilon = 2^{1-n}$ where ~n~ is the precision
|
Returns $\epsilon = 2^{1-n}$ where ~n~ is the precision
|
||||||
#+BEGIN_SRC C :comments org :tangle qmckl.h
|
#+BEGIN_SRC C :comments org :tangle (org-entry-get nil "h" t)
|
||||||
double qmckl_context_get_epsilon(const qmckl_context context);
|
double qmckl_context_get_epsilon(const qmckl_context context);
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Source
|
***** Source
|
||||||
#+BEGIN_SRC C :tangle qmckl_context.c
|
#+BEGIN_SRC C :tangle (org-entry-get nil "c" t)
|
||||||
double qmckl_context_get_epsilon(const qmckl_context context) {
|
double qmckl_context_get_epsilon(const qmckl_context context) {
|
||||||
const qmckl_context_struct* ctx = (qmckl_context_struct*) context;
|
const qmckl_context_struct* ctx = (qmckl_context_struct*) context;
|
||||||
return pow(2.0,(double) 1-ctx->precision);
|
return pow(2.0,(double) 1-ctx->precision);
|
||||||
@ -793,7 +800,7 @@ double qmckl_context_get_epsilon(const qmckl_context context) {
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Fortran interface
|
***** Fortran interface
|
||||||
#+BEGIN_SRC f90 :tangle qmckl_f.f90
|
#+BEGIN_SRC f90 :tangle (org-entry-get nil "fh" t)
|
||||||
interface
|
interface
|
||||||
real (c_double) function qmckl_context_get_epsilon(context) bind(C)
|
real (c_double) function qmckl_context_get_epsilon(context) bind(C)
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -809,7 +816,7 @@ double qmckl_context_get_epsilon(const qmckl_context context) {
|
|||||||
*** End of files :noexport:
|
*** End of files :noexport:
|
||||||
|
|
||||||
***** Test
|
***** Test
|
||||||
#+BEGIN_SRC C :comments link :tangle test_qmckl_context.c
|
#+BEGIN_SRC C :comments link :tangle (org-entry-get nil "c_test" t)
|
||||||
return MUNIT_OK;
|
return MUNIT_OK;
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
Loading…
Reference in New Issue
Block a user