mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-11-03 12:43:57 +01:00
Deploying to gh-pages from @ TREX-CoE/qmckl@399a632bdd 🚀
This commit is contained in:
parent
7091e5f58b
commit
981b64f9fb
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.txt
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -349,7 +349,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:44</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -349,7 +349,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:44</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
114
qmckl.html
114
qmckl.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Introduction</title>
|
||||
@ -333,34 +333,34 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb39614c">1. Using QMCkl</a></li>
|
||||
<li><a href="#org47eebb8">2. Developing in QMCkl</a>
|
||||
<li><a href="#org50e84d7">1. Using QMCkl</a></li>
|
||||
<li><a href="#org398965c">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orge8d85ab">2.1. Literate programming</a></li>
|
||||
<li><a href="#orgc74e2e9">2.2. Source code editing</a></li>
|
||||
<li><a href="#org9c1bc9c">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org48f31ad">2.4. Coding rules</a></li>
|
||||
<li><a href="#org7425b8d">2.5. Design of the library</a></li>
|
||||
<li><a href="#org52c4332">2.6. Naming conventions</a></li>
|
||||
<li><a href="#orge08eed5">2.7. Application programming interface</a></li>
|
||||
<li><a href="#orgde432c6">2.8. Global state</a></li>
|
||||
<li><a href="#org1b846e9">2.9. Headers</a></li>
|
||||
<li><a href="#org15e7220">2.10. Low-level functions</a></li>
|
||||
<li><a href="#orgaf0612e">2.11. High-level functions</a></li>
|
||||
<li><a href="#org45c91be">2.12. Numerical precision</a></li>
|
||||
<li><a href="#orga3016ce">2.13. Algorithms</a></li>
|
||||
<li><a href="#org1a0dd97">2.1. Literate programming</a></li>
|
||||
<li><a href="#orgd903c2a">2.2. Source code editing</a></li>
|
||||
<li><a href="#orgaa1a2d5">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgc0ed43d">2.4. Coding rules</a></li>
|
||||
<li><a href="#orgb26147e">2.5. Design of the library</a></li>
|
||||
<li><a href="#org1170c7c">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org77a8203">2.7. Application programming interface</a></li>
|
||||
<li><a href="#orgdc5e5ef">2.8. Global state</a></li>
|
||||
<li><a href="#orgebfd08f">2.9. Headers</a></li>
|
||||
<li><a href="#orgcc7f03f">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org698939b">2.11. High-level functions</a></li>
|
||||
<li><a href="#org7e910c2">2.12. Numerical precision</a></li>
|
||||
<li><a href="#orgb7387fd">2.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb39614c" class="outline-2">
|
||||
<h2 id="orgb39614c"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org50e84d7" class="outline-2">
|
||||
<h2 id="org50e84d7"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The <code>qmckl.h</code> header file has to be included in C codes when
|
||||
QMCkl functions are used:
|
||||
The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory
|
||||
has to be included in C codes when QMCkl functions are used:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -369,9 +369,9 @@ QMCkl functions are used:
|
||||
</div>
|
||||
|
||||
<p>
|
||||
In Fortran programs, the <code>qmckl_f.f90</code> interface file should be
|
||||
included in the source code using the library, and the Fortran codes
|
||||
should use the <code>qmckl</code> module as
|
||||
In Fortran programs, the <code>qmckl_f.f90</code> installed in
|
||||
<code>${prefix}/share/qmckl/fortran</code> interface file should be copied in the source
|
||||
code using the library, and the Fortran codes should use the <code>qmckl</code> module as
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -385,12 +385,12 @@ Both files are located in the <code>include/</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47eebb8" class="outline-2">
|
||||
<h2 id="org47eebb8"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org398965c" class="outline-2">
|
||||
<h2 id="org398965c"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orge8d85ab" class="outline-3">
|
||||
<h3 id="orge8d85ab"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-org1a0dd97" class="outline-3">
|
||||
<h3 id="org1a0dd97"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
In a traditional source code, most of the lines of source files of a program
|
||||
@ -435,8 +435,8 @@ interactively, in the same spirit as Jupyter notebooks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc74e2e9" class="outline-3">
|
||||
<h3 id="orgc74e2e9"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-orgd903c2a" class="outline-3">
|
||||
<h3 id="orgd903c2a"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
For a tutorial on literate programming with org-mode, follow <a href="http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html">this link</a>.
|
||||
@ -467,8 +467,8 @@ org-mode.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c1bc9c" class="outline-3">
|
||||
<h3 id="org9c1bc9c"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-orgaa1a2d5" class="outline-3">
|
||||
<h3 id="orgaa1a2d5"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some scripts in
|
||||
@ -516,8 +516,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48f31ad" class="outline-3">
|
||||
<h3 id="org48f31ad"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-orgc0ed43d" class="outline-3">
|
||||
<h3 id="orgc0ed43d"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
The authors should follow the recommendations of the C99
|
||||
@ -535,8 +535,8 @@ Compliance can be checked with <code>cppcheck</code> as:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7425b8d" class="outline-3">
|
||||
<h3 id="org7425b8d"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-orgb26147e" class="outline-3">
|
||||
<h3 id="orgb26147e"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
The proposed API should allow the library to: deal with memory transfers
|
||||
@ -547,8 +547,8 @@ functions (see below).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52c4332" class="outline-3">
|
||||
<h3 id="org52c4332"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org1170c7c" class="outline-3">
|
||||
<h3 id="org1170c7c"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported
|
||||
@ -573,8 +573,8 @@ form is allowed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge08eed5" class="outline-3">
|
||||
<h3 id="orge08eed5"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org77a8203" class="outline-3">
|
||||
<h3 id="org77a8203"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
In the C language, the number of bits used by the integer types can change
|
||||
@ -606,15 +606,15 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgde432c6" class="outline-3">
|
||||
<h3 id="orgde432c6"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-orgdc5e5ef" class="outline-3">
|
||||
<h3 id="orgdc5e5ef"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
Global variables should be avoided in the library, because it is
|
||||
possible that one single program needs to use multiple instances
|
||||
of the library. To solve this problem we propose to use a pointer
|
||||
to a <a href="./qmckl_context.html"><code>context</code></a> variable, built by the library with the
|
||||
<code>qmckl_context_create</code> function. The <a id="orgf27b1bb">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orga86c97b">=context=</a> contains the global
|
||||
state of the library, and is used as the first argument of many
|
||||
QMCkl functions.
|
||||
</p>
|
||||
@ -623,13 +623,13 @@ QMCkl functions.
|
||||
The internal structure of the context is not specified, to give a
|
||||
maximum of freedom to the different implementations. Modifying
|
||||
the state is done by setters and getters, prefixed by
|
||||
<code>qmckl_set_</code> an <code>qmckl_get_</code>.
|
||||
<code>qmckl_set_</code> an <code>qmckl_get_</code>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b846e9" class="outline-3">
|
||||
<h3 id="org1b846e9"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div id="outline-container-orgebfd08f" class="outline-3">
|
||||
<h3 id="orgebfd08f"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
A single <code>qmckl.h</code> header to be distributed by the library
|
||||
@ -717,8 +717,8 @@ and the types definitions should be written in the <code>*_f_type.f90</code> fil
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org15e7220" class="outline-3">
|
||||
<h3 id="org15e7220"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-orgcc7f03f" class="outline-3">
|
||||
<h3 id="orgcc7f03f"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -727,14 +727,14 @@ the function call tree (they don't call any other QMCkl function).
|
||||
|
||||
<p>
|
||||
These functions are <i>pure</i>, and unaware of the QMCkl
|
||||
<a href="#orgf27b1bb"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orga86c97b"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
if they need temporary memory it should be provided in input.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaf0612e" class="outline-3">
|
||||
<h3 id="orgaf0612e"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org698939b" class="outline-3">
|
||||
<h3 id="org698939b"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -747,27 +747,27 @@ temporary storage, to simplify the use of accelerators.
|
||||
<p>
|
||||
The high-level functions should be pure, unless the introduction
|
||||
of non-purity is justified. All the side effects should be made in
|
||||
the <a href="#orgf27b1bb"><code>context</code></a> variable.
|
||||
the <a href="#orga86c97b"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45c91be" class="outline-3">
|
||||
<h3 id="org45c91be"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org7e910c2" class="outline-3">
|
||||
<h3 id="org7e910c2"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
The number of bits of precision required for a function should be
|
||||
given as an input of low-level computational functions. This input
|
||||
will be used to define the values of the different thresholds that
|
||||
might be used to avoid computing unnecessary noise. High-level
|
||||
functions will use the precision specified in the <a href="#orgf27b1bb"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#orga86c97b"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga3016ce" class="outline-3">
|
||||
<h3 id="orga3016ce"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div id="outline-container-orgb7387fd" class="outline-3">
|
||||
<h3 id="orgb7387fd"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-2-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -783,7 +783,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:44</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
174
qmckl_ao.html
174
qmckl_ao.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Atomic Orbitals</title>
|
||||
@ -333,53 +333,53 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb3c54d6">1. Context</a>
|
||||
<li><a href="#orgb357fa0">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org60778e8">1.1. Data structure</a></li>
|
||||
<li><a href="#orgfc374b2">1.2. Access functions</a></li>
|
||||
<li><a href="#org949381e">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1e1d403">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#orga27fbc0">1.5. Test</a></li>
|
||||
<li><a href="#org5264356">1.1. Data structure</a></li>
|
||||
<li><a href="#orgde4adf7">1.2. Access functions</a></li>
|
||||
<li><a href="#org64b8173">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf6cf09d">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#orgbb58fe4">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2dd3152">2. Polynomial part</a>
|
||||
<li><a href="#org30112fb">2. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org81ef740">2.1. Powers of \(x-X_i\)</a>
|
||||
<li><a href="#orgccd4c11">2.1. Powers of \(x-X_i\)</a>
|
||||
<ul>
|
||||
<li><a href="#org13ea040">2.1.1. Requirements:</a></li>
|
||||
<li><a href="#orga3db3e5">2.1.2. C Header</a></li>
|
||||
<li><a href="#org2f6a735">2.1.3. Source</a></li>
|
||||
<li><a href="#org0c99fed">2.1.4. C interface</a></li>
|
||||
<li><a href="#orgddba532">2.1.5. Fortran interface</a></li>
|
||||
<li><a href="#orgf14d0f0">2.1.6. Test</a></li>
|
||||
<li><a href="#org7769d76">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc83194b">2.1.2. C Header</a></li>
|
||||
<li><a href="#org4c8de67">2.1.3. Source</a></li>
|
||||
<li><a href="#orgea38a68">2.1.4. C interface</a></li>
|
||||
<li><a href="#org8f09f50">2.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org4e93f3c">2.1.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org29ed836">2.2. Value, Gradient and Laplacian of a polynomial</a>
|
||||
<li><a href="#org70c3710">2.2. Value, Gradient and Laplacian of a polynomial</a>
|
||||
<ul>
|
||||
<li><a href="#orgd683718">2.2.1. Requirements:</a></li>
|
||||
<li><a href="#orga00f890">2.2.2. C Header</a></li>
|
||||
<li><a href="#org3294b51">2.2.3. Source</a></li>
|
||||
<li><a href="#org9dcaf9c">2.2.4. C interface</a></li>
|
||||
<li><a href="#org1e96c28">2.2.5. Fortran interface</a></li>
|
||||
<li><a href="#orgc4a7ebb">2.2.6. Test</a></li>
|
||||
<li><a href="#orgfdedc2f">2.2.1. Requirements</a></li>
|
||||
<li><a href="#org04bdb46">2.2.2. C Header</a></li>
|
||||
<li><a href="#org360d75a">2.2.3. Source</a></li>
|
||||
<li><a href="#org3c2ac9c">2.2.4. C interface</a></li>
|
||||
<li><a href="#org84d719f">2.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org08d1b89">2.2.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbd9787e">3. Radial part</a>
|
||||
<li><a href="#orgc27c81a">3. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org10af1a6">3.1. Gaussian basis functions</a></li>
|
||||
<li><a href="#orgd3757be">3.2. <span class="todo TODO">TODO</span> Slater basis functions</a></li>
|
||||
<li><a href="#org1949806">3.3. <span class="todo TODO">TODO</span> Radial functions on a grid</a></li>
|
||||
<li><a href="#org3682f16">3.1. Gaussian basis functions</a></li>
|
||||
<li><a href="#org02bd798">3.2. <span class="todo TODO">TODO</span> Slater basis functions</a></li>
|
||||
<li><a href="#orgb5682fb">3.3. <span class="todo TODO">TODO</span> Radial functions on a grid</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgda9c56e">4. Combining radial and polynomial parts</a></li>
|
||||
<li><a href="#org8b1840b">4. Combining radial and polynomial parts</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb3c54d6" class="outline-2">
|
||||
<h2 id="orgb3c54d6"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgb357fa0" class="outline-2">
|
||||
<h2 id="orgb357fa0"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -504,8 +504,8 @@ coefficient = [ 0.006068, 0.045308, 0.202822, 0.503903, 0.383421,
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org60778e8" class="outline-3">
|
||||
<h3 id="org60778e8"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org5264356" class="outline-3">
|
||||
<h3 id="org5264356"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_ao_basis_struct</span> {
|
||||
@ -534,8 +534,8 @@ struct is then initialized and <code>provided == true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfc374b2" class="outline-3">
|
||||
<h3 id="orgfc374b2"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgde4adf7" class="outline-3">
|
||||
<h3 id="orgde4adf7"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Access to scalars copies the values at the passed address, and
|
||||
@ -562,7 +562,7 @@ for array values a pointer to the array is returned.
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="orgc57d02b"><span style="color: #a020f0;">if</span> ( (ctx->ao_basis.uninitialized & mask) != 0) {
|
||||
<pre class="src src-c" id="orgcff5230"><span style="color: #a020f0;">if</span> ( (ctx->ao_basis.uninitialized & mask) != 0) {
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
|
||||
}
|
||||
</pre>
|
||||
@ -777,8 +777,8 @@ for array values a pointer to the array is returned.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org949381e" class="outline-3">
|
||||
<h3 id="org949381e"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org64b8173" class="outline-3">
|
||||
<h3 id="org64b8173"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -800,7 +800,7 @@ called. When
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org24d06f1"><span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<pre class="src src-c" id="org51790e3"><span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
@ -809,7 +809,7 @@ called. When
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org390e21f">ctx->ao_basis.uninitialized &= ~mask;
|
||||
<pre class="src src-c" id="org385aa4d">ctx->ao_basis.uninitialized &= ~mask;
|
||||
ctx->ao_basis.provided = (ctx->ao_basis.uninitialized == 0);
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
@ -1250,10 +1250,10 @@ ctx->ao_basis.provided = (ctx->ao_basis.uninitialized == 0);
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1e1d403" class="outline-3">
|
||||
<h3 id="org1e1d403"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div id="outline-container-orgf6cf09d" class="outline-3">
|
||||
<h3 id="orgf6cf09d"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<table id="orgb9ca26f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1860d95" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1312,8 +1312,8 @@ ctx->ao_basis.provided = (ctx->ao_basis.uninitialized == 0);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga27fbc0" class="outline-3">
|
||||
<h3 id="orga27fbc0"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-orgbb58fe4" class="outline-3">
|
||||
<h3 id="orgbb58fe4"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1402,12 +1402,12 @@ rc = qmckl_set_ao_basis_coefficient (context, coefficient);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2dd3152" class="outline-2">
|
||||
<h2 id="org2dd3152"><span class="section-number-2">2</span> Polynomial part</h2>
|
||||
<div id="outline-container-org30112fb" class="outline-2">
|
||||
<h2 id="org30112fb"><span class="section-number-2">2</span> Polynomial part</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org81ef740" class="outline-3">
|
||||
<h3 id="org81ef740"><span class="section-number-3">2.1</span> Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-orgccd4c11" class="outline-3">
|
||||
<h3 id="orgccd4c11"><span class="section-number-3">2.1</span> Powers of \(x-X_i\)</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
|
||||
@ -1419,7 +1419,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org4bfb571" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1b861ba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1477,8 +1477,8 @@ the \(n\) points:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13ea040" class="outline-4">
|
||||
<h4 id="org13ea040"><span class="section-number-4">2.1.1</span> Requirements:</h4>
|
||||
<div id="outline-container-org7769d76" class="outline-4">
|
||||
<h4 id="org7769d76"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1491,8 +1491,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga3db3e5" class="outline-4">
|
||||
<h4 id="orga3db3e5"><span class="section-number-4">2.1.2</span> C Header</h4>
|
||||
<div id="outline-container-orgc83194b" class="outline-4">
|
||||
<h4 id="orgc83194b"><span class="section-number-4">2.1.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_power</span> (
|
||||
@ -1507,8 +1507,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f6a735" class="outline-4">
|
||||
<h4 id="org2f6a735"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org4c8de67" class="outline-4">
|
||||
<h4 id="org4c8de67"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_power_f</span><span style="color: #000000; background-color: #ffffff;">(context, n, X, LMAX, P, ldp) result(info)</span>
|
||||
@ -1559,15 +1559,15 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0c99fed" class="outline-4">
|
||||
<h4 id="org0c99fed"><span class="section-number-4">2.1.4</span> C interface</h4>
|
||||
<div id="outline-container-orgea38a68" class="outline-4">
|
||||
<h4 id="orgea38a68"><span class="section-number-4">2.1.4</span> C interface</h4>
|
||||
</div>
|
||||
<div id="outline-container-orgddba532" class="outline-4">
|
||||
<h4 id="orgddba532"><span class="section-number-4">2.1.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org8f09f50" class="outline-4">
|
||||
<h4 id="org8f09f50"><span class="section-number-4">2.1.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf14d0f0" class="outline-4">
|
||||
<h4 id="orgf14d0f0"><span class="section-number-4">2.1.6</span> Test</h4>
|
||||
<div id="outline-container-org4e93f3c" class="outline-4">
|
||||
<h4 id="org4e93f3c"><span class="section-number-4">2.1.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_power</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
@ -1618,8 +1618,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29ed836" class="outline-3">
|
||||
<h3 id="org29ed836"><span class="section-number-3">2.2</span> Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org70c3710" class="outline-3">
|
||||
<h3 id="org70c3710"><span class="section-number-3">2.2</span> Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
A polynomial is centered on a nucleus \(\mathbf{R}_i\)
|
||||
@ -1664,7 +1664,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="org0b82b7f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge8e063c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1743,8 +1743,8 @@ angular momentum up to <code>lmax</code>.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd683718" class="outline-4">
|
||||
<h4 id="orgd683718"><span class="section-number-4">2.2.1</span> Requirements:</h4>
|
||||
<div id="outline-container-orgfdedc2f" class="outline-4">
|
||||
<h4 id="orgfdedc2f"><span class="section-number-4">2.2.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1769,8 +1769,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga00f890" class="outline-4">
|
||||
<h4 id="orga00f890"><span class="section-number-4">2.2.2</span> C Header</h4>
|
||||
<div id="outline-container-org04bdb46" class="outline-4">
|
||||
<h4 id="org04bdb46"><span class="section-number-4">2.2.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_polynomial_vgl</span> (
|
||||
@ -1788,8 +1788,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3294b51" class="outline-4">
|
||||
<h4 id="org3294b51"><span class="section-number-4">2.2.3</span> Source</h4>
|
||||
<div id="outline-container-org360d75a" class="outline-4">
|
||||
<h4 id="org360d75a"><span class="section-number-4">2.2.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_polynomial_vgl_f</span><span style="color: #000000; background-color: #ffffff;">(context, X, R, lmax, n, L, ldl, VGL, ldv) result(info)</span>
|
||||
@ -1924,16 +1924,16 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9dcaf9c" class="outline-4">
|
||||
<h4 id="org9dcaf9c"><span class="section-number-4">2.2.4</span> C interface</h4>
|
||||
<div id="outline-container-org3c2ac9c" class="outline-4">
|
||||
<h4 id="org3c2ac9c"><span class="section-number-4">2.2.4</span> C interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e96c28" class="outline-4">
|
||||
<h4 id="org1e96c28"><span class="section-number-4">2.2.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org84d719f" class="outline-4">
|
||||
<h4 id="org84d719f"><span class="section-number-4">2.2.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4a7ebb" class="outline-4">
|
||||
<h4 id="orgc4a7ebb"><span class="section-number-4">2.2.6</span> Test</h4>
|
||||
<div id="outline-container-org08d1b89" class="outline-4">
|
||||
<h4 id="org08d1b89"><span class="section-number-4">2.2.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_polynomial_vgl</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
@ -2038,12 +2038,12 @@ munit_assert_int(0, ==, test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbd9787e" class="outline-2">
|
||||
<h2 id="orgbd9787e"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div id="outline-container-orgc27c81a" class="outline-2">
|
||||
<h2 id="orgc27c81a"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org10af1a6" class="outline-3">
|
||||
<h3 id="org10af1a6"><span class="section-number-3">3.1</span> Gaussian basis functions</h3>
|
||||
<div id="outline-container-org3682f16" class="outline-3">
|
||||
<h3 id="org3682f16"><span class="section-number-3">3.1</span> Gaussian basis functions</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and
|
||||
@ -2115,7 +2115,7 @@ the same point:
|
||||
</table>
|
||||
|
||||
<p>
|
||||
Requirements :
|
||||
Requirements
|
||||
</p>
|
||||
|
||||
<ul class="org-ul">
|
||||
@ -2275,21 +2275,21 @@ Requirements :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd3757be" class="outline-3">
|
||||
<h3 id="orgd3757be"><span class="section-number-3">3.2</span> <span class="todo TODO">TODO</span> Slater basis functions</h3>
|
||||
<div id="outline-container-org02bd798" class="outline-3">
|
||||
<h3 id="org02bd798"><span class="section-number-3">3.2</span> <span class="todo TODO">TODO</span> Slater basis functions</h3>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1949806" class="outline-3">
|
||||
<h3 id="org1949806"><span class="section-number-3">3.3</span> <span class="todo TODO">TODO</span> Radial functions on a grid</h3>
|
||||
<div id="outline-container-orgb5682fb" class="outline-3">
|
||||
<h3 id="orgb5682fb"><span class="section-number-3">3.3</span> <span class="todo TODO">TODO</span> Radial functions on a grid</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgda9c56e" class="outline-2">
|
||||
<h2 id="orgda9c56e"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org8b1840b" class="outline-2">
|
||||
<h2 id="org8b1840b"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:44</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:45 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Context</title>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org9e8a41d">1. Context handling</a>
|
||||
<li><a href="#org269c205">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org7335c59">1.1. Data structure</a></li>
|
||||
<li><a href="#org4f826ba">1.2. Creation</a></li>
|
||||
<li><a href="#org6dee257">1.3. Locking</a></li>
|
||||
<li><a href="#org76914bc">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org6332f28">1.5. Destroy</a></li>
|
||||
<li><a href="#orge7d0423">1.1. Data structure</a></li>
|
||||
<li><a href="#orgbf2ebdf">1.2. Creation</a></li>
|
||||
<li><a href="#orge7f1e9f">1.3. Locking</a></li>
|
||||
<li><a href="#org8623114">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org4736fa8">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e8a41d" class="outline-2">
|
||||
<h2 id="org9e8a41d"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org269c205" class="outline-2">
|
||||
<h2 id="org269c205"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The context variable is a handle for the state of the library,
|
||||
@ -338,7 +338,7 @@ A value of <code>QMCKL_NULL_CONTEXT</code> for the context is equivalent to a
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org93f9d9c"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int64_t</span> <span style="color: #228b22;">qmckl_context</span> ;
|
||||
<pre class="src src-c" id="orgebe2749"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int64_t</span> <span style="color: #228b22;">qmckl_context</span> ;
|
||||
<span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">QMCKL_NULL_CONTEXT</span> (qmckl_context) 0
|
||||
</pre>
|
||||
</div>
|
||||
@ -356,8 +356,8 @@ and <code>ctx</code> is a <code>qmckl_context_struct*</code> pointer.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7335c59" class="outline-3">
|
||||
<h3 id="org7335c59"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orge7d0423" class="outline-3">
|
||||
<h3 id="orge7d0423"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
The context keeps a ``date'' that allows to check which data needs
|
||||
@ -367,7 +367,7 @@ coordinates are updated.
|
||||
|
||||
<p>
|
||||
When a new element is added to the context, the functions
|
||||
<a href="#org4f826ba">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org6332f28">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org76914bc">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#orgbf2ebdf">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org4736fa8">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org8623114">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
should be updated inorder to make deep copies.
|
||||
</p>
|
||||
|
||||
@ -416,8 +416,8 @@ if the context is valid, <code>QMCKL_NULL_CONTEXT</code> otherwise.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4f826ba" class="outline-3">
|
||||
<h3 id="org4f826ba"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orgbf2ebdf" class="outline-3">
|
||||
<h3 id="orgbf2ebdf"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
@ -491,8 +491,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6dee257" class="outline-3">
|
||||
<h3 id="org6dee257"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-orge7f1e9f" class="outline-3">
|
||||
<h3 id="orge7f1e9f"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
For thread safety, the context may be locked/unlocked. The lock is
|
||||
@ -537,8 +537,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76914bc" class="outline-3">
|
||||
<h3 id="org76914bc"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org8623114" class="outline-3">
|
||||
<h3 id="org8623114"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
<code>qmckl_context_copy</code> makes a deep copy of a context. It returns
|
||||
@ -586,8 +586,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6332f28" class="outline-3">
|
||||
<h3 id="org6332f28"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org4736fa8" class="outline-3">
|
||||
<h3 id="org4736fa8"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
|
||||
@ -641,7 +641,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:45</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:45 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Inter-particle distances</title>
|
||||
@ -333,14 +333,14 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org62a68b4">1. Squared distance</a>
|
||||
<li><a href="#orgc687cfd">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#org30b8871">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org6a834b4">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org34295a8">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org27aa0e5">1.1.2. C header</a></li>
|
||||
<li><a href="#org6fad75c">1.1.3. Source</a></li>
|
||||
<li><a href="#org64a84ab">1.1.4. Performance</a></li>
|
||||
<li><a href="#org8cc000f">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org45d7ec1">1.1.2. C header</a></li>
|
||||
<li><a href="#orgb8fe76d">1.1.3. Source</a></li>
|
||||
<li><a href="#org1dcfb7d">1.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -349,12 +349,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org62a68b4" class="outline-2">
|
||||
<h2 id="org62a68b4"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-orgc687cfd" class="outline-2">
|
||||
<h2 id="orgc687cfd"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org30b8871" class="outline-3">
|
||||
<h3 id="org30b8871"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org6a834b4" class="outline-3">
|
||||
<h3 id="org6a834b4"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
<code>qmckl_distance_sq</code> computes the matrix of the squared distances
|
||||
@ -367,7 +367,7 @@ between all pairs of points in two sets, one point within each set:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org512ec46" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7c9b440" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -460,8 +460,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org34295a8" class="outline-4">
|
||||
<h4 id="org34295a8"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org8cc000f" class="outline-4">
|
||||
<h4 id="org8cc000f"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -479,8 +479,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27aa0e5" class="outline-4">
|
||||
<h4 id="org27aa0e5"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org45d7ec1" class="outline-4">
|
||||
<h4 id="org45d7ec1"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_sq</span> (
|
||||
@ -500,8 +500,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6fad75c" class="outline-4">
|
||||
<h4 id="org6fad75c"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgb8fe76d" class="outline-4">
|
||||
<h4 id="orgb8fe76d"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_distance_sq_f</span><span style="color: #000000; background-color: #ffffff;">(context, transa, transb, m, n, A, LDA, B, LDB, C, LDC) result(info)</span>
|
||||
@ -634,8 +634,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org64a84ab" class="outline-4">
|
||||
<h4 id="org64a84ab"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org1dcfb7d" class="outline-4">
|
||||
<h4 id="org1dcfb7d"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-1-1-4">
|
||||
<p>
|
||||
This function might be more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -648,7 +648,7 @@ transposed.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:45</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:45 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Electrons</title>
|
||||
@ -311,20 +311,20 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org2455186">1. Context</a>
|
||||
<li><a href="#org43a78b0">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org1e9966c">1.1. Data structure</a></li>
|
||||
<li><a href="#org56d1b48">1.2. Access functions</a></li>
|
||||
<li><a href="#org9d8f7a7">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org6f9778d">1.4. Test</a></li>
|
||||
<li><a href="#orgb27fb45">1.1. Data structure</a></li>
|
||||
<li><a href="#org35c6d7e">1.2. Access functions</a></li>
|
||||
<li><a href="#orgaa7b1f3">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org142890f">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2455186" class="outline-2">
|
||||
<h2 id="org2455186"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org43a78b0" class="outline-2">
|
||||
<h2 id="org43a78b0"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -398,8 +398,8 @@ The following data stored in the context:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e9966c" class="outline-3">
|
||||
<h3 id="org1e9966c"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgb27fb45" class="outline-3">
|
||||
<h3 id="orgb27fb45"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_electron_struct</span> {
|
||||
@ -425,8 +425,8 @@ struct is then initialized and <code>provided == true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56d1b48" class="outline-3">
|
||||
<h3 id="org56d1b48"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org35c6d7e" class="outline-3">
|
||||
<h3 id="org35c6d7e"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Access to scalars copies the values at the passed address, and
|
||||
@ -449,7 +449,7 @@ for array values a pointer to the array is returned.
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="orga4faa6c"><span style="color: #a020f0;">if</span> ( (ctx->electron.uninitialized & mask) != 0) {
|
||||
<pre class="src src-c" id="org1a0204f"><span style="color: #a020f0;">if</span> ( (ctx->electron.uninitialized & mask) != 0) {
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
|
||||
}
|
||||
</pre>
|
||||
@ -550,8 +550,8 @@ for array values a pointer to the array is returned.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d8f7a7" class="outline-3">
|
||||
<h3 id="org9d8f7a7"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgaa7b1f3" class="outline-3">
|
||||
<h3 id="orgaa7b1f3"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the data relative to the electrons in the context, the
|
||||
@ -567,7 +567,7 @@ initialized, the <code>coord_new</code> and <code>coord_old</code> arrays are bo
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org1e94143"><span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<pre class="src src-c" id="org894baad"><span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
@ -576,7 +576,7 @@ initialized, the <code>coord_new</code> and <code>coord_old</code> arrays are bo
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org52b69a4">ctx->electron.uninitialized &= ~mask;
|
||||
<pre class="src src-c" id="orgc185455">ctx->electron.uninitialized &= ~mask;
|
||||
ctx->electron.provided = (ctx->electron.uninitialized == 0);
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ctx->electron.provided) {
|
||||
@ -809,8 +809,8 @@ overwritten.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6f9778d" class="outline-3">
|
||||
<h3 id="org6f9778d"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org142890f" class="outline-3">
|
||||
<h3 id="org142890f"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -857,7 +857,7 @@ rc = qmckl_set_electron_coord (context, coord);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:45</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:45 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Error handling</title>
|
||||
@ -311,18 +311,18 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org23dd132"></a></li>
|
||||
<li><a href="#org44aab7c">1. Decoding errors</a></li>
|
||||
<li><a href="#orgba180ac">2. Data structure in context</a></li>
|
||||
<li><a href="#org9a6b881">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orgcd0b520">4. Failing</a></li>
|
||||
<li><a href="#org19c91b8"></a></li>
|
||||
<li><a href="#orgab1e3ba">1. Decoding errors</a></li>
|
||||
<li><a href="#org08be3f2">2. Data structure in context</a></li>
|
||||
<li><a href="#orga250d22">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org02e7b23">4. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org23dd132" class="outline-2">
|
||||
<h2 id="org23dd132"></h2>
|
||||
<div class="outline-text-2" id="text-org23dd132">
|
||||
<div id="outline-container-org19c91b8" class="outline-2">
|
||||
<h2 id="org19c91b8"></h2>
|
||||
<div class="outline-text-2" id="text-org19c91b8">
|
||||
<p>
|
||||
The library should never make the calling programs abort, nor
|
||||
perform any input/output operations. This decision has to be taken
|
||||
@ -333,7 +333,7 @@ by the developer of the code calling the library.
|
||||
All the functions return with an exit code, defined as
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org0076dbf"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
<pre class="src src-c" id="org942ecaa"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@ -350,7 +350,7 @@ error code is returned to the program.
|
||||
Here is the complete list of exit codes.
|
||||
</p>
|
||||
|
||||
<table id="org41ed754" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org86a3fd8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -480,8 +480,8 @@ string is assumed to be large enough to contain the error message
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org44aab7c" class="outline-2">
|
||||
<h2 id="org44aab7c"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-orgab1e3ba" class="outline-2">
|
||||
<h2 id="orgab1e3ba"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
To decode the error messages, <code>qmckl_string_of_error</code> converts an
|
||||
@ -575,8 +575,8 @@ The text strings are extracted from the previous table.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgba180ac" class="outline-2">
|
||||
<h2 id="orgba180ac"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-org08be3f2" class="outline-2">
|
||||
<h2 id="org08be3f2"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The strings are declared with a maximum fixed size to avoid
|
||||
@ -599,8 +599,8 @@ dynamic memory allocation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9a6b881" class="outline-2">
|
||||
<h2 id="org9a6b881"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-orga250d22" class="outline-2">
|
||||
<h2 id="orga250d22"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The error is updated in the context using <code>qmckl_set_error</code>.
|
||||
@ -646,8 +646,8 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd0b520" class="outline-2">
|
||||
<h2 id="orgcd0b520"><span class="section-number-2">4</span> Failing</h2>
|
||||
<div id="outline-container-org02e7b23" class="outline-2">
|
||||
<h2 id="org02e7b23"><span class="section-number-2">4</span> Failing</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
To make a function fail, the <code>qmckl_failwith</code> function should be
|
||||
@ -710,7 +710,7 @@ For example, this function can be used as
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:45</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:45 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Memory management</title>
|
||||
@ -311,15 +311,15 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org26c1d31">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgb057496">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgbc14e37">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orge2439d1">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org5925698">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org3edfa9b">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org26c1d31" class="outline-2">
|
||||
<h2 id="org26c1d31"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orge2439d1" class="outline-2">
|
||||
<h2 id="orge2439d1"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Every time a new block of memory is allocated, the information
|
||||
@ -361,8 +361,8 @@ array, and the number of allocated blocks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb057496" class="outline-2">
|
||||
<h2 id="orgb057496"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-org5925698" class="outline-2">
|
||||
<h2 id="org5925698"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
Passing information to the allocation routine should be done by
|
||||
@ -371,8 +371,8 @@ passing an instance of a <code>qmckl_memory_info_struct</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbc14e37" class="outline-2">
|
||||
<h2 id="orgbc14e37"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org3edfa9b" class="outline-2">
|
||||
<h2 id="org3edfa9b"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
@ -535,7 +535,7 @@ allocation and needs to be updated.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:45</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:45 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Numerical precision</title>
|
||||
@ -333,16 +333,16 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgf2b7ae8">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org38430c1">2. Precision</a></li>
|
||||
<li><a href="#org2df1b99">3. Range</a></li>
|
||||
<li><a href="#org40f397b">4. Helper functions</a></li>
|
||||
<li><a href="#org578a1ff">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org5e36873">2. Precision</a></li>
|
||||
<li><a href="#orgbd8151a">3. Range</a></li>
|
||||
<li><a href="#org6de2428">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf2b7ae8" class="outline-2">
|
||||
<h2 id="orgf2b7ae8"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-org578a1ff" class="outline-2">
|
||||
<h2 id="org578a1ff"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Controlling numerical precision enables optimizations. Here, the
|
||||
@ -353,7 +353,7 @@ Arithmetic (IEEE 754),
|
||||
refers to the number of exponent bits.
|
||||
</p>
|
||||
|
||||
<table id="org22dbc5d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6061454" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -397,8 +397,8 @@ integer. The update functions return <code>QMCKL_SUCCESS</code> or
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38430c1" class="outline-2">
|
||||
<h2 id="org38430c1"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org5e36873" class="outline-2">
|
||||
<h2 id="org5e36873"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<code>qmckl_context_set_numprec_precision</code> modifies the parameter for the
|
||||
@ -485,8 +485,8 @@ numerical precision in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2df1b99" class="outline-2">
|
||||
<h2 id="org2df1b99"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-orgbd8151a" class="outline-2">
|
||||
<h2 id="orgbd8151a"><span class="section-number-2">3</span> Range</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<code>qmckl_set_numprec_range</code> modifies the parameter for the numerical
|
||||
@ -561,8 +561,8 @@ range in a given context.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org40f397b" class="outline-2">
|
||||
<h2 id="org40f397b"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org6de2428" class="outline-2">
|
||||
<h2 id="org6de2428"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -581,7 +581,7 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:45</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-04-20 Tue 23:58 -->
|
||||
<!-- 2021-04-21 Wed 10:45 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Testing</title>
|
||||
@ -311,7 +311,7 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-04-20 Tue 23:58</p>
|
||||
<p class="date">Created: 2021-04-21 Wed 10:45</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user