mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-01-08 04:19:15 +01:00
Deploying to gh-pages from @ TREX-CoE/qmckl@5c81cf1dee 🚀
This commit is contained in:
parent
d753e36f82
commit
0262ff2603
@ -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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<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>
|
||||
@ -348,7 +348,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-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<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>
|
||||
@ -348,7 +348,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-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
102
qmckl.html
102
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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<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,30 +333,30 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org54b218a">1. Using QMCkl</a></li>
|
||||
<li><a href="#org47f49e4">2. Developing in QMCkl</a>
|
||||
<li><a href="#orgb84e130">1. Using QMCkl</a></li>
|
||||
<li><a href="#orgba89f10">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orgdafc1d7">2.1. Literate programming</a></li>
|
||||
<li><a href="#org5563b20">2.2. Source code editing</a></li>
|
||||
<li><a href="#org22f4661">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgad66be6">2.4. Coding rules</a></li>
|
||||
<li><a href="#orgbfe68b9">2.5. Design of the library</a></li>
|
||||
<li><a href="#org5abfad8">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org7d57da6">2.7. Application programming interface</a></li>
|
||||
<li><a href="#orgcb794dc">2.8. Global state</a></li>
|
||||
<li><a href="#orgf6bf82b">2.9. Low-level functions</a></li>
|
||||
<li><a href="#org134f006">2.10. High-level functions</a></li>
|
||||
<li><a href="#orgb2e1e09">2.11. Numerical precision</a></li>
|
||||
<li><a href="#org247c7bb">2.12. Algorithms</a></li>
|
||||
<li><a href="#org2f79ad9">2.13. Rules for the API</a></li>
|
||||
<li><a href="#org8865bee">2.1. Literate programming</a></li>
|
||||
<li><a href="#org70990e1">2.2. Source code editing</a></li>
|
||||
<li><a href="#org96dbf61">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgbe582df">2.4. Coding rules</a></li>
|
||||
<li><a href="#orgf6dc091">2.5. Design of the library</a></li>
|
||||
<li><a href="#orgbc379aa">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org124c975">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org4938a77">2.8. Global state</a></li>
|
||||
<li><a href="#org6dc73af">2.9. Low-level functions</a></li>
|
||||
<li><a href="#orgd395216">2.10. High-level functions</a></li>
|
||||
<li><a href="#orgbae067e">2.11. Numerical precision</a></li>
|
||||
<li><a href="#org5ae9eec">2.12. Algorithms</a></li>
|
||||
<li><a href="#org5f35cd7">2.13. Rules for the API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org54b218a" class="outline-2">
|
||||
<h2 id="org54b218a"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-orgb84e130" class="outline-2">
|
||||
<h2 id="orgb84e130"><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
|
||||
@ -385,12 +385,12 @@ Both files are located in the <code>include/</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47f49e4" class="outline-2">
|
||||
<h2 id="org47f49e4"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-orgba89f10" class="outline-2">
|
||||
<h2 id="orgba89f10"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgdafc1d7" class="outline-3">
|
||||
<h3 id="orgdafc1d7"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-org8865bee" class="outline-3">
|
||||
<h3 id="org8865bee"><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
|
||||
@ -436,8 +436,8 @@ interactively, in the same spirit as Jupyter notebooks.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5563b20" class="outline-3">
|
||||
<h3 id="org5563b20"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org70990e1" class="outline-3">
|
||||
<h3 id="org70990e1"><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>.
|
||||
@ -469,8 +469,8 @@ org-mode.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org22f4661" class="outline-3">
|
||||
<h3 id="org22f4661"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org96dbf61" class="outline-3">
|
||||
<h3 id="org96dbf61"><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
|
||||
@ -518,8 +518,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad66be6" class="outline-3">
|
||||
<h3 id="orgad66be6"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-orgbe582df" class="outline-3">
|
||||
<h3 id="orgbe582df"><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
|
||||
@ -535,8 +535,8 @@ freed</li>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgbfe68b9" class="outline-3">
|
||||
<h3 id="orgbfe68b9"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-orgf6dc091" class="outline-3">
|
||||
<h3 id="orgf6dc091"><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-org5abfad8" class="outline-3">
|
||||
<h3 id="org5abfad8"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-orgbc379aa" class="outline-3">
|
||||
<h3 id="orgbc379aa"><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-org7d57da6" class="outline-3">
|
||||
<h3 id="org7d57da6"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org124c975" class="outline-3">
|
||||
<h3 id="org124c975"><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
|
||||
@ -607,15 +607,15 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcb794dc" class="outline-3">
|
||||
<h3 id="orgcb794dc"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-org4938a77" class="outline-3">
|
||||
<h3 id="org4938a77"><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="orgde4cca6">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orgc261e39">=context=</a> contains the global
|
||||
state of the library, and is used as the first argument of many
|
||||
QMCkl functions.
|
||||
</p>
|
||||
@ -635,8 +635,8 @@ versions can be destroyed with <code>qmckl_context_destroy</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf6bf82b" class="outline-3">
|
||||
<h3 id="orgf6bf82b"><span class="section-number-3">2.9</span> Low-level functions</h3>
|
||||
<div id="outline-container-org6dc73af" class="outline-3">
|
||||
<h3 id="org6dc73af"><span class="section-number-3">2.9</span> Low-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -645,14 +645,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="#orgde4cca6"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orgc261e39"><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-org134f006" class="outline-3">
|
||||
<h3 id="org134f006"><span class="section-number-3">2.10</span> High-level functions</h3>
|
||||
<div id="outline-container-orgd395216" class="outline-3">
|
||||
<h3 id="orgd395216"><span class="section-number-3">2.10</span> High-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -665,27 +665,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="#orgde4cca6"><code>context</code></a> variable.
|
||||
the <a href="#orgc261e39"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb2e1e09" class="outline-3">
|
||||
<h3 id="orgb2e1e09"><span class="section-number-3">2.11</span> Numerical precision</h3>
|
||||
<div id="outline-container-orgbae067e" class="outline-3">
|
||||
<h3 id="orgbae067e"><span class="section-number-3">2.11</span> Numerical precision</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<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="#orgde4cca6"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#orgc261e39"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org247c7bb" class="outline-3">
|
||||
<h3 id="org247c7bb"><span class="section-number-3">2.12</span> Algorithms</h3>
|
||||
<div id="outline-container-org5ae9eec" class="outline-3">
|
||||
<h3 id="org5ae9eec"><span class="section-number-3">2.12</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -698,8 +698,8 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f79ad9" class="outline-3">
|
||||
<h3 id="org2f79ad9"><span class="section-number-3">2.13</span> Rules for the API</h3>
|
||||
<div id="outline-container-org5f35cd7" class="outline-3">
|
||||
<h3 id="org5f35cd7"><span class="section-number-3">2.13</span> Rules for the API</h3>
|
||||
<div class="outline-text-3" id="text-2-13">
|
||||
<ul class="org-ul">
|
||||
<li><code>stdint</code> should be used for integers (<code>int32_t</code>, <code>int64_t</code>)</li>
|
||||
@ -713,7 +713,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-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<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,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="#orgf6dc014">1. Polynomial part</a>
|
||||
<li><a href="#org7d7e7be">1. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org120d731">1.1. Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org6ef2a8b">1.2. Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
<li><a href="#org9d3d254">1.1. Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#orgc7c7093">1.2. Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8ce964a">2. Gaussian basis functions</a></li>
|
||||
<li><a href="#org4fd9108">3. <span class="todo TODO">TODO</span> Slater basis functions</a></li>
|
||||
<li><a href="#org9f252e2">2. Gaussian basis functions</a></li>
|
||||
<li><a href="#org7a8743d">3. <span class="todo TODO">TODO</span> Slater basis functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -389,12 +389,12 @@ In this section we describe the kernels used to compute the values,
|
||||
gradients and Laplacian of the atomic basis functions.
|
||||
</p>
|
||||
|
||||
<div id="outline-container-orgf6dc014" class="outline-2">
|
||||
<h2 id="orgf6dc014"><span class="section-number-2">1</span> Polynomial part</h2>
|
||||
<div id="outline-container-org7d7e7be" class="outline-2">
|
||||
<h2 id="org7d7e7be"><span class="section-number-2">1</span> Polynomial part</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org120d731" class="outline-3">
|
||||
<h3 id="org120d731"><span class="section-number-3">1.1</span> Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org9d3d254" class="outline-3">
|
||||
<h3 id="org9d3d254"><span class="section-number-3">1.1</span> Powers of \(x-X_i\)</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
|
||||
@ -574,8 +574,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ef2a8b" class="outline-3">
|
||||
<h3 id="org6ef2a8b"><span class="section-number-3">1.2</span> Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-orgc7c7093" class="outline-3">
|
||||
<h3 id="orgc7c7093"><span class="section-number-3">1.2</span> Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
A polynomial is centered on a nucleus \(\mathbf{R}_i\)
|
||||
@ -960,8 +960,8 @@ munit_assert_int(0, ==, test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8ce964a" class="outline-2">
|
||||
<h2 id="org8ce964a"><span class="section-number-2">2</span> Gaussian basis functions</h2>
|
||||
<div id="outline-container-org9f252e2" class="outline-2">
|
||||
<h2 id="org9f252e2"><span class="section-number-2">2</span> Gaussian basis functions</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and
|
||||
@ -1193,13 +1193,13 @@ Requirements :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4fd9108" class="outline-2">
|
||||
<h2 id="org4fd9108"><span class="section-number-2">3</span> <span class="todo TODO">TODO</span> Slater basis functions</h2>
|
||||
<div id="outline-container-org7a8743d" class="outline-2">
|
||||
<h2 id="org7a8743d"><span class="section-number-2">3</span> <span class="todo TODO">TODO</span> Slater basis functions</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Context</title>
|
||||
@ -333,51 +333,51 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org10f591c">1. Context handling</a>
|
||||
<li><a href="#org297625e">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org8b59ede">1.1. Data structure</a></li>
|
||||
<li><a href="#orga31fc32">1.2. Creation</a></li>
|
||||
<li><a href="#org5a89f40">1.3. Access to the previous context</a></li>
|
||||
<li><a href="#org07f8389">1.4. Locking</a></li>
|
||||
<li><a href="#org8ecb1cc">1.5. Copy</a></li>
|
||||
<li><a href="#orgb82df0e">1.6. Destroy</a></li>
|
||||
<li><a href="#org627faba">1.1. Data structure</a></li>
|
||||
<li><a href="#org319142e">1.2. Creation</a></li>
|
||||
<li><a href="#org4e0f3d0">1.3. Access to the previous context</a></li>
|
||||
<li><a href="#org2cffbc3">1.4. Locking</a></li>
|
||||
<li><a href="#orge89adc0">1.5. Copy</a></li>
|
||||
<li><a href="#org58a317a">1.6. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org73a2f2a">2. Memory allocation handling</a>
|
||||
<li><a href="#org55792e4">2. Memory allocation handling</a>
|
||||
<ul>
|
||||
<li><a href="#org6df8edd">2.1. Data structure</a></li>
|
||||
<li><a href="#orgd1ff315">2.2. Append memory</a></li>
|
||||
<li><a href="#orgd52b5a5">2.3. Remove memory</a></li>
|
||||
<li><a href="#orgdc45d77">2.1. Data structure</a></li>
|
||||
<li><a href="#orgc87365f">2.2. Append memory</a></li>
|
||||
<li><a href="#orgd692309">2.3. Remove memory</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8dd3d80">3. Error handling</a>
|
||||
<li><a href="#org5348c2d">3. Error handling</a>
|
||||
<ul>
|
||||
<li><a href="#org2833f04">3.1. Data structure</a></li>
|
||||
<li><a href="#orgc4fb880">3.2. Updating errors</a></li>
|
||||
<li><a href="#org03b5840">3.1. Data structure</a></li>
|
||||
<li><a href="#org4679582">3.2. Updating errors</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org20c6ff6">4. Control of the numerical precision</a>
|
||||
<li><a href="#orgc9d22c2">4. Control of the numerical precision</a>
|
||||
<ul>
|
||||
<li><a href="#orge049b4b">4.1. Precision</a></li>
|
||||
<li><a href="#org9e3bd63">4.2. Range</a></li>
|
||||
<li><a href="#orgfd8b6bd">4.3. Helper functions</a></li>
|
||||
<li><a href="#org45c241c">4.1. Precision</a></li>
|
||||
<li><a href="#orgf19f6fa">4.2. Range</a></li>
|
||||
<li><a href="#org1fed3f2">4.3. Helper functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfa3c22b">5. <span class="todo TODO">TODO</span> Basis set</a>
|
||||
<li><a href="#org41a7446">5. <span class="todo TODO">TODO</span> Basis set</a>
|
||||
<ul>
|
||||
<li><a href="#org3b4c00d">5.1. Data structure</a></li>
|
||||
<li><a href="#org8172bdd">5.2. <code>qmckl_context_update_ao_basis</code></a>
|
||||
<li><a href="#orgd8bc69c">5.1. Data structure</a></li>
|
||||
<li><a href="#org2666fce">5.2. <code>qmckl_context_update_ao_basis</code></a>
|
||||
<ul>
|
||||
<li><a href="#org68da8d4">5.2.1. Source</a></li>
|
||||
<li><a href="#org9360415">5.2.2. Fortran interface</a></li>
|
||||
<li><a href="#orgcaba00d">5.2.3. <span class="todo TODO">TODO</span> Test</a></li>
|
||||
<li><a href="#org770f855">5.2.1. Source</a></li>
|
||||
<li><a href="#org54b9c48">5.2.2. Fortran interface</a></li>
|
||||
<li><a href="#org5379ff7">5.2.3. <span class="todo TODO">TODO</span> Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0814b57">5.3. <code>qmckl_context_set_ao_basis</code></a>
|
||||
<li><a href="#org2fd51c4">5.3. <code>qmckl_context_set_ao_basis</code></a>
|
||||
<ul>
|
||||
<li><a href="#org1c0f02d">5.3.1. Source</a></li>
|
||||
<li><a href="#org74b971e">5.3.2. Fortran interface</a></li>
|
||||
<li><a href="#org7d44086">5.3.3. <span class="todo TODO">TODO</span> Test</a></li>
|
||||
<li><a href="#orgfda8157">5.3.1. Source</a></li>
|
||||
<li><a href="#orgbad9b8c">5.3.2. Fortran interface</a></li>
|
||||
<li><a href="#org97164d7">5.3.3. <span class="todo TODO">TODO</span> Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -401,8 +401,8 @@ A value of <code>QMCKL_NULL_CONTEXT</code> for the context is equivalent to a
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org10f591c" class="outline-2">
|
||||
<h2 id="org10f591c"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org297625e" class="outline-2">
|
||||
<h2 id="org297625e"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The context appears as an immutable data structure: modifying a
|
||||
@ -419,8 +419,8 @@ and <code>ctx</code> is a <code>qmckl_context_struct*</code> pointer.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8b59ede" class="outline-3">
|
||||
<h3 id="org8b59ede"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org627faba" class="outline-3">
|
||||
<h3 id="org627faba"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
The main data structure contains pointers to other data structures,
|
||||
@ -430,7 +430,7 @@ pointers.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="orga630ec7"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_context_struct</span> {
|
||||
<pre class="src src-c" id="orge814f2a"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_context_struct</span> {
|
||||
|
||||
/* <span style="color: #b22222;">Pointer to the previous context, before modification </span>*/
|
||||
<span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_context_struct</span> * <span style="color: #a0522d;">prev</span>;
|
||||
@ -510,8 +510,8 @@ if the context is valid, <code>QMCKL_NULL_CONTEXT</code> otherwise.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga31fc32" class="outline-3">
|
||||
<h3 id="orga31fc32"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-org319142e" class="outline-3">
|
||||
<h3 id="org319142e"><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.
|
||||
@ -563,8 +563,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org5a89f40" class="outline-3">
|
||||
<h3 id="org5a89f40"><span class="section-number-3">1.3</span> Access to the previous context</h3>
|
||||
<div id="outline-container-org4e0f3d0" class="outline-3">
|
||||
<h3 id="org4e0f3d0"><span class="section-number-3">1.3</span> Access to the previous context</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
<code>qmckl_context_previous</code> returns the previous context. It returns
|
||||
@ -586,8 +586,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org07f8389" class="outline-3">
|
||||
<h3 id="org07f8389"><span class="section-number-3">1.4</span> Locking</h3>
|
||||
<div id="outline-container-org2cffbc3" class="outline-3">
|
||||
<h3 id="org2cffbc3"><span class="section-number-3">1.4</span> Locking</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
For thread safety, the context may be locked/unlocked. The lock is
|
||||
@ -647,8 +647,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8ecb1cc" class="outline-3">
|
||||
<h3 id="org8ecb1cc"><span class="section-number-3">1.5</span> Copy</h3>
|
||||
<div id="outline-container-orge89adc0" class="outline-3">
|
||||
<h3 id="orge89adc0"><span class="section-number-3">1.5</span> Copy</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
<code>qmckl_context_copy</code> makes a shallow copy of a context. It returns
|
||||
@ -694,8 +694,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb82df0e" class="outline-3">
|
||||
<h3 id="orgb82df0e"><span class="section-number-3">1.6</span> Destroy</h3>
|
||||
<div id="outline-container-org58a317a" class="outline-3">
|
||||
<h3 id="org58a317a"><span class="section-number-3">1.6</span> Destroy</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<p>
|
||||
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
|
||||
@ -755,12 +755,12 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org73a2f2a" class="outline-2">
|
||||
<h2 id="org73a2f2a"><span class="section-number-2">2</span> Memory allocation handling</h2>
|
||||
<div id="outline-container-org55792e4" class="outline-2">
|
||||
<h2 id="org55792e4"><span class="section-number-2">2</span> Memory allocation handling</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org6df8edd" class="outline-3">
|
||||
<h3 id="org6df8edd"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgdc45d77" class="outline-3">
|
||||
<h3 id="orgdc45d77"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Pointers to all allocated memory domains are stored in the context,
|
||||
@ -769,7 +769,7 @@ computation of the amount of currently used memory by the library.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org54b4a81"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_memory_struct</span> {
|
||||
<pre class="src src-c" id="orgd7f072e"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_memory_struct</span> {
|
||||
<span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_memory_struct</span> * <span style="color: #a0522d;">next</span> ;
|
||||
<span style="color: #228b22;">void</span> * <span style="color: #a0522d;">pointer</span> ;
|
||||
<span style="color: #228b22;">size_t</span> <span style="color: #a0522d;">size</span> ;
|
||||
@ -779,8 +779,8 @@ computation of the amount of currently used memory by the library.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd1ff315" class="outline-3">
|
||||
<h3 id="orgd1ff315"><span class="section-number-3">2.2</span> Append memory</h3>
|
||||
<div id="outline-container-orgc87365f" class="outline-3">
|
||||
<h3 id="orgc87365f"><span class="section-number-3">2.2</span> Append memory</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The following function, called in <a href="./qmckl_memory.html"><code>qmckl_memory.c</code></a>, appends a new
|
||||
@ -838,8 +838,8 @@ immediately with <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd52b5a5" class="outline-3">
|
||||
<h3 id="orgd52b5a5"><span class="section-number-3">2.3</span> Remove memory</h3>
|
||||
<div id="outline-container-orgd692309" class="outline-3">
|
||||
<h3 id="orgd692309"><span class="section-number-3">2.3</span> Remove memory</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
The following function, called in <a href="./qmckl_memory.html"><code>qmckl_memory.c</code></a>, removes a
|
||||
@ -890,15 +890,15 @@ immediately with <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8dd3d80" class="outline-2">
|
||||
<h2 id="org8dd3d80"><span class="section-number-2">3</span> Error handling</h2>
|
||||
<div id="outline-container-org5348c2d" class="outline-2">
|
||||
<h2 id="org5348c2d"><span class="section-number-2">3</span> Error handling</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org2833f04" class="outline-3">
|
||||
<h3 id="org2833f04"><span class="section-number-3">3.1</span> Data structure</h3>
|
||||
<div id="outline-container-org03b5840" class="outline-3">
|
||||
<h3 id="org03b5840"><span class="section-number-3">3.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org2b694ca"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">QMCKL_MAX_FUN_LEN</span> 256
|
||||
<pre class="src src-c" id="org3d3794e"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">QMCKL_MAX_FUN_LEN</span> 256
|
||||
<span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">QMCKL_MAX_MSG_LEN</span> 1024
|
||||
|
||||
<span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_error_struct</span> {
|
||||
@ -913,8 +913,8 @@ immediately with <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4fb880" class="outline-3">
|
||||
<h3 id="orgc4fb880"><span class="section-number-3">3.2</span> Updating errors</h3>
|
||||
<div id="outline-container-org4679582" class="outline-3">
|
||||
<h3 id="org4679582"><span class="section-number-3">3.2</span> Updating errors</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
The error is updated in the context using
|
||||
@ -1063,8 +1063,8 @@ For example, this function can be used as
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org20c6ff6" class="outline-2">
|
||||
<h2 id="org20c6ff6"><span class="section-number-2">4</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orgc9d22c2" class="outline-2">
|
||||
<h2 id="orgc9d22c2"><span class="section-number-2">4</span> Control of the numerical precision</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
Controlling numerical precision enables optimizations. Here, the
|
||||
@ -1072,7 +1072,7 @@ default parameters determining the target numerical precision and
|
||||
range are defined.
|
||||
</p>
|
||||
|
||||
<table id="org6c5d7ad" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga97daf0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1118,7 +1118,7 @@ range are defined.
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org21808f2"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_precision_struct</span> {
|
||||
<pre class="src src-c" id="org9d051f5"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_precision_struct</span> {
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">precision</span>;
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">range</span>;
|
||||
} <span style="color: #228b22;">qmckl_precision_struct</span>;
|
||||
@ -1139,8 +1139,8 @@ integer. The update functions return <code>QMCKL_SUCCESS</code> or
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge049b4b" class="outline-3">
|
||||
<h3 id="orge049b4b"><span class="section-number-3">4.1</span> Precision</h3>
|
||||
<div id="outline-container-org45c241c" class="outline-3">
|
||||
<h3 id="org45c241c"><span class="section-number-3">4.1</span> Precision</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<code>qmckl_context_update_precision</code> modifies the parameter for the
|
||||
@ -1262,8 +1262,8 @@ different precision parameter.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e3bd63" class="outline-3">
|
||||
<h3 id="org9e3bd63"><span class="section-number-3">4.2</span> Range</h3>
|
||||
<div id="outline-container-orgf19f6fa" class="outline-3">
|
||||
<h3 id="orgf19f6fa"><span class="section-number-3">4.2</span> Range</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<p>
|
||||
<code>qmckl_context_update_range</code> modifies the parameter for the numerical range in a given context.
|
||||
@ -1371,8 +1371,8 @@ different precision parameter.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgfd8b6bd" class="outline-3">
|
||||
<h3 id="orgfd8b6bd"><span class="section-number-3">4.3</span> Helper functions</h3>
|
||||
<div id="outline-container-org1fed3f2" class="outline-3">
|
||||
<h3 id="org1fed3f2"><span class="section-number-3">4.3</span> Helper functions</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
<p>
|
||||
<code>qmckl_context_get_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -1388,8 +1388,8 @@ different precision parameter.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgfa3c22b" class="outline-2">
|
||||
<h2 id="orgfa3c22b"><span class="section-number-2">5</span> <span class="todo TODO">TODO</span> Basis set</h2>
|
||||
<div id="outline-container-org41a7446" class="outline-2">
|
||||
<h2 id="org41a7446"><span class="section-number-2">5</span> <span class="todo TODO">TODO</span> Basis set</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
For H<sub>2</sub> with the following basis set,
|
||||
@ -1436,11 +1436,11 @@ COEFFICIENT = [ 0.006068, 0.045308, 0.202822, 0.503903, 0.383421,
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b4c00d" class="outline-3">
|
||||
<h3 id="org3b4c00d"><span class="section-number-3">5.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgd8bc69c" class="outline-3">
|
||||
<h3 id="orgd8bc69c"><span class="section-number-3">5.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org71a0bf4"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_ao_basis_struct</span> {
|
||||
<pre class="src src-c" id="org44e08ff"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_ao_basis_struct</span> {
|
||||
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">prim_num</span>;
|
||||
@ -1458,8 +1458,8 @@ COEFFICIENT = [ 0.006068, 0.045308, 0.202822, 0.503903, 0.383421,
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8172bdd" class="outline-3">
|
||||
<h3 id="org8172bdd"><span class="section-number-3">5.2</span> <code>qmckl_context_update_ao_basis</code></h3>
|
||||
<div id="outline-container-org2666fce" class="outline-3">
|
||||
<h3 id="org2666fce"><span class="section-number-3">5.2</span> <code>qmckl_context_update_ao_basis</code></h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<p>
|
||||
Updates the data describing the AO basis set into the context.
|
||||
@ -1543,8 +1543,8 @@ Updates the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org68da8d4" class="outline-4">
|
||||
<h4 id="org68da8d4"><span class="section-number-4">5.2.1</span> Source</h4>
|
||||
<div id="outline-container-org770f855" class="outline-4">
|
||||
<h4 id="org770f855"><span class="section-number-4">5.2.1</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-5-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1685,8 +1685,8 @@ Updates the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9360415" class="outline-4">
|
||||
<h4 id="org9360415"><span class="section-number-4">5.2.2</span> Fortran interface</h4>
|
||||
<div id="outline-container-org54b9c48" class="outline-4">
|
||||
<h4 id="org54b9c48"><span class="section-number-4">5.2.2</span> Fortran interface</h4>
|
||||
<div class="outline-text-4" id="text-5-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1712,13 +1712,13 @@ Updates the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcaba00d" class="outline-4">
|
||||
<h4 id="orgcaba00d"><span class="section-number-4">5.2.3</span> <span class="todo TODO">TODO</span> Test</h4>
|
||||
<div id="outline-container-org5379ff7" class="outline-4">
|
||||
<h4 id="org5379ff7"><span class="section-number-4">5.2.3</span> <span class="todo TODO">TODO</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0814b57" class="outline-3">
|
||||
<h3 id="org0814b57"><span class="section-number-3">5.3</span> <code>qmckl_context_set_ao_basis</code></h3>
|
||||
<div id="outline-container-org2fd51c4" class="outline-3">
|
||||
<h3 id="org2fd51c4"><span class="section-number-3">5.3</span> <code>qmckl_context_set_ao_basis</code></h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
<p>
|
||||
Sets the data describing the AO basis set into the context.
|
||||
@ -1797,8 +1797,8 @@ Sets the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1c0f02d" class="outline-4">
|
||||
<h4 id="org1c0f02d"><span class="section-number-4">5.3.1</span> Source</h4>
|
||||
<div id="outline-container-orgfda8157" class="outline-4">
|
||||
<h4 id="orgfda8157"><span class="section-number-4">5.3.1</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-5-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_context</span>
|
||||
@ -1827,8 +1827,8 @@ Sets the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org74b971e" class="outline-4">
|
||||
<h4 id="org74b971e"><span class="section-number-4">5.3.2</span> Fortran interface</h4>
|
||||
<div id="outline-container-orgbad9b8c" class="outline-4">
|
||||
<h4 id="orgbad9b8c"><span class="section-number-4">5.3.2</span> Fortran interface</h4>
|
||||
<div class="outline-text-4" id="text-5-3-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1854,15 +1854,15 @@ Sets the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d44086" class="outline-4">
|
||||
<h4 id="org7d44086"><span class="section-number-4">5.3.3</span> <span class="todo TODO">TODO</span> Test</h4>
|
||||
<div id="outline-container-org97164d7" class="outline-4">
|
||||
<h4 id="org97164d7"><span class="section-number-4">5.3.3</span> <span class="todo TODO">TODO</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Distances</title>
|
||||
@ -333,13 +333,13 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org4439206">1. Squared distance</a>
|
||||
<li><a href="#orge30dc1a">1. Squared distance</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orgb62731a">1.0.1. Requirements</a></li>
|
||||
<li><a href="#orgfe812e6">1.0.2. Performance</a></li>
|
||||
<li><a href="#org046a859">1.0.3. Source</a></li>
|
||||
<li><a href="#org665326b">1.0.1. Requirements</a></li>
|
||||
<li><a href="#org715d237">1.0.2. Performance</a></li>
|
||||
<li><a href="#org3abc2f3">1.0.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -351,8 +351,8 @@ for the JavaScript code in this tag.
|
||||
Functions for the computation of distances between particles.
|
||||
</p>
|
||||
|
||||
<div id="outline-container-org4439206" class="outline-2">
|
||||
<h2 id="org4439206"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-orge30dc1a" class="outline-2">
|
||||
<h2 id="orge30dc1a"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
<code>qmckl_distance_sq</code> computes the matrix of the squared distances
|
||||
@ -445,8 +445,8 @@ Functions for the computation of distances between particles.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb62731a" class="outline-4">
|
||||
<h4 id="orgb62731a"><span class="section-number-4">1.0.1</span> Requirements</h4>
|
||||
<div id="outline-container-org665326b" class="outline-4">
|
||||
<h4 id="org665326b"><span class="section-number-4">1.0.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-0-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not 0</li>
|
||||
@ -464,8 +464,8 @@ Functions for the computation of distances between particles.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfe812e6" class="outline-4">
|
||||
<h4 id="orgfe812e6"><span class="section-number-4">1.0.2</span> Performance</h4>
|
||||
<div id="outline-container-org715d237" class="outline-4">
|
||||
<h4 id="org715d237"><span class="section-number-4">1.0.2</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-1-0-2">
|
||||
<p>
|
||||
This function might be more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -484,8 +484,8 @@ transposed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org046a859" class="outline-4">
|
||||
<h4 id="org046a859"><span class="section-number-4">1.0.3</span> Source</h4>
|
||||
<div id="outline-container-org3abc2f3" class="outline-4">
|
||||
<h4 id="org3abc2f3"><span class="section-number-4">1.0.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-0-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>
|
||||
@ -621,7 +621,7 @@ transposed.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
117
qmckl_error.html
117
qmckl_error.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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<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,14 +311,14 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org077d6ab"></a></li>
|
||||
<li><a href="#org4e5c923"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org077d6ab" class="outline-2">
|
||||
<h2 id="org077d6ab"></h2>
|
||||
<div class="outline-text-2" id="text-org077d6ab">
|
||||
<div id="outline-container-org4e5c923" class="outline-2">
|
||||
<h2 id="org4e5c923"></h2>
|
||||
<div class="outline-text-2" id="text-org4e5c923">
|
||||
<p>
|
||||
The library should never make the calling programs abort, nor
|
||||
perform any input/output operations. This decision has to be taken
|
||||
@ -326,15 +326,15 @@ by the developer of the code calling the library.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
All the functions return with an <a id="orgcecbb15">exit code</a>, defined as
|
||||
All the functions return with an <a id="orgc5090cd">exit code</a>, defined as
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org3a56667"><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="org56f2db6"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The <a href="#orgcecbb15">exit code</a> returns the completion status of the function to the
|
||||
The <a href="#orgc5090cd">exit code</a> returns the completion status of the function to the
|
||||
calling program. When a function call completed successfully,
|
||||
<code>QMCKL_SUCCESS</code> is returned. If one of the functions of
|
||||
the library fails to complete the requested task, an appropriate
|
||||
@ -345,107 +345,204 @@ error code is returned to the program.
|
||||
Here is the complete list of exit codes.
|
||||
</p>
|
||||
|
||||
<table id="orgd141047" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0cf0193" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Macro</th>
|
||||
<th scope="col" class="org-right">Code</th>
|
||||
<th scope="col" class="org-left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_SUCCESS</code></td>
|
||||
<td class="org-right">0</td>
|
||||
<td class="org-left">'Success'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_1</code></td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">'Invalid argument 1'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_2</code></td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-left">'Invalid argument 2'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_3</code></td>
|
||||
<td class="org-right">3</td>
|
||||
<td class="org-left">'Invalid argument 3'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_4</code></td>
|
||||
<td class="org-right">4</td>
|
||||
<td class="org-left">'Invalid argument 4'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_5</code></td>
|
||||
<td class="org-right">5</td>
|
||||
<td class="org-left">'Invalid argument 5'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_6</code></td>
|
||||
<td class="org-right">6</td>
|
||||
<td class="org-left">'Invalid argument 6'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_7</code></td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">'Invalid argument 7'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_8</code></td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">'Invalid argument 8'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_9</code></td>
|
||||
<td class="org-right">9</td>
|
||||
<td class="org-left">'Invalid argument 9'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_10</code></td>
|
||||
<td class="org-right">10</td>
|
||||
<td class="org-left">'Invalid argument 10'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_FAILURE</code></td>
|
||||
<td class="org-right">101</td>
|
||||
<td class="org-left">'Failure'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_ERRNO</code></td>
|
||||
<td class="org-right">102</td>
|
||||
<td class="org-left">strerror(errno)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_CONTEXT</code></td>
|
||||
<td class="org-right">103</td>
|
||||
<td class="org-left">'Invalid context'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_ALLOCATION_FAILED</code></td>
|
||||
<td class="org-right">104</td>
|
||||
<td class="org-left">'Allocation failed'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_DEALLOCATION_FAILED</code></td>
|
||||
<td class="org-right">105</td>
|
||||
<td class="org-left">'De-allocation failed'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_EXIT_CODE</code></td>
|
||||
<td class="org-right">106</td>
|
||||
<td class="org-left">'Invalid <a href="#orgc5090cd">exit code</a>'</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
The <code>qmckl_strerror</code> converts an <a href="#orgc5090cd">exit code</a> into a string. The
|
||||
string is assumed to be large enough to contain the error message
|
||||
(typically 128 characters).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The text strings are extracted from the previous table.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_string_of_error</span>(<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">error</span>, <span style="color: #228b22;">char</span> <span style="color: #a0522d;">string</span>[QMCKL_ERROR_MAX_STRING_LENGTH]) {
|
||||
<span style="color: #228b22;">char</span>* <span style="color: #a0522d;">message</span>;
|
||||
<span style="color: #a020f0;">switch</span> (error) {
|
||||
<span style="color: #a020f0;">case</span> QMCKL_SUCCESS:
|
||||
message = <span style="color: #8b2252;">"Success"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_1:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 1"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_2:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 2"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_3:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 3"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_4:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 4"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_5:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 5"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_6:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 6"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_7:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 7"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_8:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 8"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_9:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 9"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_10:
|
||||
message = <span style="color: #8b2252;">"Invalid argument 10"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_FAILURE:
|
||||
message = <span style="color: #8b2252;">"Failure"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_ERRNO:
|
||||
message = strerror(errno);
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_CONTEXT:
|
||||
message = <span style="color: #8b2252;">"Invalid context"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_ALLOCATION_FAILED:
|
||||
message = <span style="color: #8b2252;">"Allocation failed"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_DEALLOCATION_FAILED:
|
||||
message = <span style="color: #8b2252;">"De-allocation failed"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_EXIT_CODE:
|
||||
message = <span style="color: #8b2252;">"Invalid exit code"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
}
|
||||
strncpy(string,message,QMCKL_ERROR_MAX_STRING_LENGTH);
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<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,7 +311,7 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgc94de16"></a></li>
|
||||
<li><a href="#orgbfeb1b1"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -321,9 +321,9 @@ optimized libraries to fine-tune the memory allocation.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="outline-container-orgc94de16" class="outline-2">
|
||||
<h2 id="orgc94de16"></h2>
|
||||
<div class="outline-text-2" id="text-orgc94de16">
|
||||
<div id="outline-container-orgbfeb1b1" class="outline-2">
|
||||
<h2 id="orgbfeb1b1"></h2>
|
||||
<div class="outline-text-2" id="text-orgbfeb1b1">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
<code>qmckl_malloc</code>. It lets the library choose how the memory will be
|
||||
@ -429,7 +429,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-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</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-03-19 Fri 12:52 -->
|
||||
<!-- 2021-03-19 Fri 17:18 -->
|
||||
<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-03-19 Fri 12:52</p>
|
||||
<p class="date">Created: 2021-03-19 Fri 17:18</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