mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-12-25 05:43:53 +01:00
Deploying to gh-pages from @ TREX-CoE/trexio@f1e3d34ea4 🚀
This commit is contained in:
parent
a6e59d51aa
commit
46fc3f705b
@ -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>
|
||||
<!-- 2022-01-07 Fri 07:58 -->
|
||||
<!-- 2022-01-07 Fri 10:04 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name=google-site-verification content=jdDnuP2rYGJVy8AHSd-8LkmOmvK_dyz5buZ98wilYII />
|
||||
@ -309,13 +309,14 @@ for the JavaScript code in this tag.
|
||||
</div><div id="content">
|
||||
<h1 class="title">TREXIO source code documentation</h1>
|
||||
<script async src="https://cse.google.com/cse.js?cx=a67f8ab65a66f97f2"></script>
|
||||
<div class="gcse-search"></div>
|
||||
<div class="gcse-search"></div>
|
||||
|
||||
<hr />
|
||||
|
||||
<ul class="org-ul">
|
||||
<li><a href="./tutorial_benzene.html">Tutorial</a></li>
|
||||
<li><a href="./trex.html">Data stored with TREXIO</a></li>
|
||||
<li><a href="./examples.html">How-to guide</a></li>
|
||||
<li><a href="./templator_front.html">Front end API</a></li>
|
||||
<li><a href="./templator_hdf5.html">HDF5 back end</a></li>
|
||||
<li><a href="./templator_text.html">TEXT back end</a></li>
|
||||
@ -347,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: 2022-01-07 Fri 07:58</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 10:04</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>
|
||||
<!-- 2022-01-07 Fri 07:58 -->
|
||||
<!-- 2022-01-07 Fri 10:04 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Examples</title>
|
||||
@ -333,24 +333,24 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orga5d0e8e">1. Accessing sparse quantities</a>
|
||||
<li><a href="#orgba56890">1. Accessing sparse quantities</a>
|
||||
<ul>
|
||||
<li><a href="#org1f6576c">1.1. Fortran</a>
|
||||
<li><a href="#org9f5890e">1.1. Fortran</a>
|
||||
<ul>
|
||||
<li><a href="#org0f173ae">1.1.1. Declare Temporary variables</a></li>
|
||||
<li><a href="#orgebdf4ee">1.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
|
||||
<li><a href="#org6652a55">1.1.3. Read the nuclear repulsion energy</a></li>
|
||||
<li><a href="#org03be659">1.1.4. Read the number of molecular orbitals</a></li>
|
||||
<li><a href="#orga6aebd0">1.1.5. Allocate memory</a></li>
|
||||
<li><a href="#org594b6dc">1.1.6. Read one-electron quantities</a></li>
|
||||
<li><a href="#org61b7c02">1.1.7. Read two-electron quantities</a>
|
||||
<li><a href="#orga2a41cc">1.1.1. Declare Temporary variables</a></li>
|
||||
<li><a href="#org8485afa">1.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
|
||||
<li><a href="#orge46293d">1.1.3. Read the nuclear repulsion energy</a></li>
|
||||
<li><a href="#org119ccb8">1.1.4. Read the number of molecular orbitals</a></li>
|
||||
<li><a href="#orgc8118f7">1.1.5. Allocate memory</a></li>
|
||||
<li><a href="#orgbe12704">1.1.6. Read one-electron quantities</a></li>
|
||||
<li><a href="#org9e1f674">1.1.7. Read two-electron quantities</a>
|
||||
<ul>
|
||||
<li><a href="#org5df9e36">1.1.7.1. Electron repulsion integrals</a></li>
|
||||
<li><a href="#org0a72e4b">1.1.7.2. Reduced density matrix</a></li>
|
||||
<li><a href="#org8a0ec69">1.1.7.1. Electron repulsion integrals</a></li>
|
||||
<li><a href="#orgc6b0c44">1.1.7.2. Reduced density matrix</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org710ebb8">1.1.8. Compute the energy</a></li>
|
||||
<li><a href="#org1867634">1.1.9. Terminate</a></li>
|
||||
<li><a href="#org4cb2714">1.1.8. Compute the energy</a></li>
|
||||
<li><a href="#org174bdc8">1.1.9. Terminate</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -360,12 +360,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga5d0e8e" class="outline-2">
|
||||
<h2 id="orga5d0e8e"><span class="section-number-2">1</span> Accessing sparse quantities</h2>
|
||||
<div id="outline-container-orgba56890" class="outline-2">
|
||||
<h2 id="orgba56890"><span class="section-number-2">1</span> Accessing sparse quantities</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org1f6576c" class="outline-3">
|
||||
<h3 id="org1f6576c"><span class="section-number-3">1.1</span> Fortran</h3>
|
||||
<div id="outline-container-org9f5890e" class="outline-3">
|
||||
<h3 id="org9f5890e"><span class="section-number-3">1.1</span> Fortran</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">program</span> <span style="color: #0000ff;">print_energy</span>
|
||||
@ -413,8 +413,8 @@ One needs to read from the TREXIO file:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0f173ae" class="outline-4">
|
||||
<h4 id="org0f173ae"><span class="section-number-4">1.1.1</span> Declare Temporary variables</h4>
|
||||
<div id="outline-container-orga2a41cc" class="outline-4">
|
||||
<h4 id="orga2a41cc"><span class="section-number-4">1.1.1</span> Declare Temporary variables</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> i, j, k, l, m</span>
|
||||
@ -429,8 +429,8 @@ One needs to read from the TREXIO file:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgebdf4ee" class="outline-4">
|
||||
<h4 id="orgebdf4ee"><span class="section-number-4">1.1.2</span> Obtain the name of the TREXIO file from the command line, and open it for reading</h4>
|
||||
<div id="outline-container-org8485afa" class="outline-4">
|
||||
<h4 id="org8485afa"><span class="section-number-4">1.1.2</span> Obtain the name of the TREXIO file from the command line, and open it for reading</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">call</span> <span style="color: #0000ff;">getarg</span>(1, filename)
|
||||
@ -446,8 +446,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6652a55" class="outline-4">
|
||||
<h4 id="org6652a55"><span class="section-number-4">1.1.3</span> Read the nuclear repulsion energy</h4>
|
||||
<div id="outline-container-orge46293d" class="outline-4">
|
||||
<h4 id="orge46293d"><span class="section-number-4">1.1.3</span> Read the nuclear repulsion energy</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90">rc = trexio_read_nucleus_repulsion(f, E_nn)
|
||||
@ -461,8 +461,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org03be659" class="outline-4">
|
||||
<h4 id="org03be659"><span class="section-number-4">1.1.4</span> Read the number of molecular orbitals</h4>
|
||||
<div id="outline-container-org119ccb8" class="outline-4">
|
||||
<h4 id="org119ccb8"><span class="section-number-4">1.1.4</span> Read the number of molecular orbitals</h4>
|
||||
<div class="outline-text-4" id="text-1-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90">rc = trexio_read_mo_num(f, n)
|
||||
@ -476,8 +476,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga6aebd0" class="outline-4">
|
||||
<h4 id="orga6aebd0"><span class="section-number-4">1.1.5</span> Allocate memory</h4>
|
||||
<div id="outline-container-orgc8118f7" class="outline-4">
|
||||
<h4 id="orgc8118f7"><span class="section-number-4">1.1.5</span> Allocate memory</h4>
|
||||
<div class="outline-text-4" id="text-1-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">allocate</span>( D(n,n), h0(n,n) )
|
||||
@ -489,8 +489,8 @@ W(:,:,:,:) = 0.d0
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org594b6dc" class="outline-4">
|
||||
<h4 id="org594b6dc"><span class="section-number-4">1.1.6</span> Read one-electron quantities</h4>
|
||||
<div id="outline-container-orgbe12704" class="outline-4">
|
||||
<h4 id="orgbe12704"><span class="section-number-4">1.1.6</span> Read one-electron quantities</h4>
|
||||
<div class="outline-text-4" id="text-1-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90">rc = trexio_has_mo_1e_int_core_hamiltonian(f)
|
||||
@ -522,8 +522,8 @@ rc = trexio_read_rdm_1e(f, D)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org61b7c02" class="outline-4">
|
||||
<h4 id="org61b7c02"><span class="section-number-4">1.1.7</span> Read two-electron quantities</h4>
|
||||
<div id="outline-container-org9e1f674" class="outline-4">
|
||||
<h4 id="org9e1f674"><span class="section-number-4">1.1.7</span> Read two-electron quantities</h4>
|
||||
<div class="outline-text-4" id="text-1-1-7">
|
||||
<p>
|
||||
Reading is done with OpenMP. Each thread reads its own buffer, and
|
||||
@ -539,8 +539,8 @@ to be protected in the critical section when modified.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5df9e36" class="outline-5">
|
||||
<h5 id="org5df9e36"><span class="section-number-5">1.1.7.1</span> Electron repulsion integrals</h5>
|
||||
<div id="outline-container-org8a0ec69" class="outline-5">
|
||||
<h5 id="org8a0ec69"><span class="section-number-5">1.1.7.1</span> Electron repulsion integrals</h5>
|
||||
<div class="outline-text-5" id="text-1-1-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90">rc = trexio_has_mo_2e_int_eri(f)
|
||||
@ -589,8 +589,8 @@ icount = BUFSIZE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a72e4b" class="outline-5">
|
||||
<h5 id="org0a72e4b"><span class="section-number-5">1.1.7.2</span> Reduced density matrix</h5>
|
||||
<div id="outline-container-orgc6b0c44" class="outline-5">
|
||||
<h5 id="orgc6b0c44"><span class="section-number-5">1.1.7.2</span> Reduced density matrix</h5>
|
||||
<div class="outline-text-5" id="text-1-1-7-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90">rc = trexio_has_rdm_2e(f)
|
||||
@ -634,8 +634,8 @@ icount = bufsize
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org710ebb8" class="outline-4">
|
||||
<h4 id="org710ebb8"><span class="section-number-4">1.1.8</span> Compute the energy</h4>
|
||||
<div id="outline-container-org4cb2714" class="outline-4">
|
||||
<h4 id="org4cb2714"><span class="section-number-4">1.1.8</span> Compute the energy</h4>
|
||||
<div class="outline-text-4" id="text-1-1-8">
|
||||
<p>
|
||||
As \((n,m)\) 2D arrays are stored in memory as \((\n times m)\) 1D
|
||||
@ -669,8 +669,8 @@ E = E + E_nn
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1867634" class="outline-4">
|
||||
<h4 id="org1867634"><span class="section-number-4">1.1.9</span> Terminate</h4>
|
||||
<div id="outline-container-org174bdc8" class="outline-4">
|
||||
<h4 id="org174bdc8"><span class="section-number-4">1.1.9</span> Terminate</h4>
|
||||
<div class="outline-text-4" id="text-1-1-9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"> <span style="color: #a020f0;">deallocate</span>( D, h0, G, W )
|
||||
@ -685,7 +685,7 @@ E = E + E_nn
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 07:58</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 10:04</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>
|
||||
<!-- 2022-01-07 Fri 07:58 -->
|
||||
<!-- 2022-01-07 Fri 10:04 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name=google-site-verification content=jdDnuP2rYGJVy8AHSd-8LkmOmvK_dyz5buZ98wilYII />
|
||||
@ -309,13 +309,14 @@ for the JavaScript code in this tag.
|
||||
</div><div id="content">
|
||||
<h1 class="title">TREXIO source code documentation</h1>
|
||||
<script async src="https://cse.google.com/cse.js?cx=a67f8ab65a66f97f2"></script>
|
||||
<div class="gcse-search"></div>
|
||||
<div class="gcse-search"></div>
|
||||
|
||||
<hr />
|
||||
|
||||
<ul class="org-ul">
|
||||
<li><a href="./tutorial_benzene.html">Tutorial</a></li>
|
||||
<li><a href="./trex.html">Data stored with TREXIO</a></li>
|
||||
<li><a href="./examples.html">How-to guide</a></li>
|
||||
<li><a href="./templator_front.html">Front end API</a></li>
|
||||
<li><a href="./templator_hdf5.html">HDF5 back end</a></li>
|
||||
<li><a href="./templator_text.html">TEXT back end</a></li>
|
||||
@ -347,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: 2022-01-07 Fri 07:58</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 10:04</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>
|
||||
<!-- 2022-01-07 Fri 07:58 -->
|
||||
<!-- 2022-01-07 Fri 10:04 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Front end API</title>
|
||||
@ -333,137 +333,137 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orga8ec322">1. Coding conventions</a>
|
||||
<li><a href="#org91dac6e">1. Coding conventions</a>
|
||||
<ul>
|
||||
<li><a href="#org40a30d3">1.1. Memory allocation</a></li>
|
||||
<li><a href="#org8a72cea">1.1. Memory allocation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org27575ec">2. Front end</a>
|
||||
<li><a href="#org4e4eb90">2. Front end</a>
|
||||
<ul>
|
||||
<li><a href="#orge58238f">2.1. Error handling</a>
|
||||
<li><a href="#org1ef3cdd">2.1. Error handling</a>
|
||||
<ul>
|
||||
<li><a href="#org49d5ba9">2.1.1. Decoding errors</a>
|
||||
<li><a href="#org0e91585">2.1.1. Decoding errors</a>
|
||||
<ul>
|
||||
<li><a href="#org5891b08">2.1.1.1. C source code</a></li>
|
||||
<li><a href="#org0b9fef6">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#org13ae1c5">2.1.1.3. Python interface</a></li>
|
||||
<li><a href="#orgb791b1a">2.1.1.1. C source code</a></li>
|
||||
<li><a href="#org78b69e9">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#org44cdee4">2.1.1.3. Python interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8014c2c">2.2. Back ends</a>
|
||||
<li><a href="#orgac0dcfc">2.2. Back ends</a>
|
||||
<ul>
|
||||
<li><a href="#orgbee9949">2.2.1. C</a></li>
|
||||
<li><a href="#org47139b5">2.2.2. Fortran</a></li>
|
||||
<li><a href="#org0bdb9f5">2.2.3. Python</a></li>
|
||||
<li><a href="#org70a1c67">2.2.1. C</a></li>
|
||||
<li><a href="#org6975549">2.2.2. Fortran</a></li>
|
||||
<li><a href="#org404e999">2.2.3. Python</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org438fb05">2.3. Read/write behavior</a></li>
|
||||
<li><a href="#orgc71c645">2.4. TREXIO file type</a>
|
||||
<li><a href="#org4ee26c8">2.3. Read/write behavior</a></li>
|
||||
<li><a href="#orge55a3e9">2.4. TREXIO file type</a>
|
||||
<ul>
|
||||
<li><a href="#org7dd07ab">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
|
||||
<li><a href="#org47d08f0">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org89ab228">2.5. Polymorphism of the file handle</a></li>
|
||||
<li><a href="#orgb56dd80">2.6. File opening</a>
|
||||
<li><a href="#org50ae385">2.5. Polymorphism of the file handle</a></li>
|
||||
<li><a href="#org90d8b8e">2.6. File opening</a>
|
||||
<ul>
|
||||
<li><a href="#orgefa93f8">2.6.1. C</a></li>
|
||||
<li><a href="#orge795968">2.6.2. Fortran</a></li>
|
||||
<li><a href="#org448f2e3">2.6.3. Python</a></li>
|
||||
<li><a href="#org52ead32">2.6.4. Zero-based versus one-based arrays of indices</a></li>
|
||||
<li><a href="#orga11eaf9">2.6.1. C</a></li>
|
||||
<li><a href="#orga8e638c">2.6.2. Fortran</a></li>
|
||||
<li><a href="#org6ca8c7c">2.6.3. Python</a></li>
|
||||
<li><a href="#org2c34029">2.6.4. Zero-based versus one-based arrays of indices</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org26a2a93">2.7. File closing</a>
|
||||
<li><a href="#orge4d94ad">2.7. File closing</a>
|
||||
<ul>
|
||||
<li><a href="#org3947596">2.7.1. C</a></li>
|
||||
<li><a href="#orgf691dad">2.7.2. Fortran</a></li>
|
||||
<li><a href="#orga5a6c23">2.7.3. Python</a></li>
|
||||
<li><a href="#orgb4002b6">2.7.1. C</a></li>
|
||||
<li><a href="#org09893b6">2.7.2. Fortran</a></li>
|
||||
<li><a href="#org5d501f4">2.7.3. Python</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6d10ae0">3. Templates for front end</a>
|
||||
<li><a href="#org90a5af6">3. Templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#orgd02ece2">3.1. Description</a></li>
|
||||
<li><a href="#org7365f1d">3.2. Templates for front end has/read/write a single numerical attribute</a>
|
||||
<li><a href="#org01eee4e">3.1. Description</a></li>
|
||||
<li><a href="#org7249eef">3.2. Templates for front end has/read/write a single numerical attribute</a>
|
||||
<ul>
|
||||
<li><a href="#org5fe2575">3.2.1. Introduction</a></li>
|
||||
<li><a href="#org6db16ae">3.2.2. C templates for front end</a>
|
||||
<li><a href="#org01db7b7">3.2.1. Introduction</a></li>
|
||||
<li><a href="#orgd30dde5">3.2.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#org0bfc495">3.2.2.1. Function declarations</a></li>
|
||||
<li><a href="#org4e12448">3.2.2.2. Source code for double precision functions</a></li>
|
||||
<li><a href="#org059b440">3.2.2.3. Source code for single precision functions</a></li>
|
||||
<li><a href="#orgcffb8cd">3.2.2.4. Source code for default functions</a></li>
|
||||
<li><a href="#org7e8c8f1">3.2.2.1. Function declarations</a></li>
|
||||
<li><a href="#org6380375">3.2.2.2. Source code for double precision functions</a></li>
|
||||
<li><a href="#org476fc95">3.2.2.3. Source code for single precision functions</a></li>
|
||||
<li><a href="#org5656beb">3.2.2.4. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc268a7f">3.2.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org726e084">3.2.4. Python templates for front end</a></li>
|
||||
<li><a href="#org6b29195">3.2.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org3da8c5f">3.2.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge516e9c">3.3. Templates for front end has/read/write a dataset of numerical data</a>
|
||||
<li><a href="#org2b2aff1">3.3. Templates for front end has/read/write a dataset of numerical data</a>
|
||||
<ul>
|
||||
<li><a href="#org16dd054">3.3.1. Introduction</a></li>
|
||||
<li><a href="#org6ec371f">3.3.2. C templates for front end</a>
|
||||
<li><a href="#org5536c5b">3.3.1. Introduction</a></li>
|
||||
<li><a href="#org5385d5c">3.3.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#org4d7621b">3.3.2.1. Function declarations</a></li>
|
||||
<li><a href="#org9e66f9f">3.3.2.2. Source code for double precision functions</a></li>
|
||||
<li><a href="#org4503570">3.3.2.3. Source code for single precision functions</a></li>
|
||||
<li><a href="#org46ef92f">3.3.2.4. Source code for memory-safe functions</a></li>
|
||||
<li><a href="#org99acf74">3.3.2.5. Source code for default functions</a></li>
|
||||
<li><a href="#org35660fa">3.3.2.1. Function declarations</a></li>
|
||||
<li><a href="#org0c2fc5d">3.3.2.2. Source code for double precision functions</a></li>
|
||||
<li><a href="#org5a8bf9f">3.3.2.3. Source code for single precision functions</a></li>
|
||||
<li><a href="#orgbb52468">3.3.2.4. Source code for memory-safe functions</a></li>
|
||||
<li><a href="#org773f6c1">3.3.2.5. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org50fb1b7">3.3.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#orgb1518f1">3.3.4. Python templates for front end</a></li>
|
||||
<li><a href="#orgf8d38fe">3.3.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org6f7ed5b">3.3.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfe61250">3.4. Templates for front end has/read/write a dataset of sparse data</a>
|
||||
<li><a href="#org8478b9c">3.4. Templates for front end has/read/write a dataset of sparse data</a>
|
||||
<ul>
|
||||
<li><a href="#org3edc6e6">3.4.1. Introduction</a></li>
|
||||
<li><a href="#org9cfcf53">3.4.2. C templates for front end</a>
|
||||
<li><a href="#org76a2bc9">3.4.1. Introduction</a></li>
|
||||
<li><a href="#org2c84ecb">3.4.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#org37161b0">3.4.2.1. Function declarations</a></li>
|
||||
<li><a href="#orgb1d33a1">3.4.2.2. Source code for default functions</a></li>
|
||||
<li><a href="#org69b5916">3.4.2.1. Function declarations</a></li>
|
||||
<li><a href="#orgf1af77b">3.4.2.2. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6746c08">3.4.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org6db6ee1">3.4.4. Python templates for front end</a></li>
|
||||
<li><a href="#orgfff4945">3.4.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org8211703">3.4.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8e70072">3.5. Templates for front end has/read/write a dataset of strings</a>
|
||||
<li><a href="#org362505b">3.5. Templates for front end has/read/write a dataset of strings</a>
|
||||
<ul>
|
||||
<li><a href="#org15cc41c">3.5.1. Introduction</a></li>
|
||||
<li><a href="#org3fe4a55">3.5.2. C templates for front end</a>
|
||||
<li><a href="#orge773a87">3.5.1. Introduction</a></li>
|
||||
<li><a href="#orgdbed956">3.5.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#orgf748539">3.5.2.1. Function declarations</a></li>
|
||||
<li><a href="#org92bb894">3.5.2.2. Source code for default functions</a></li>
|
||||
<li><a href="#org2f5e022">3.5.2.1. Function declarations</a></li>
|
||||
<li><a href="#org60f070c">3.5.2.2. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org868bd94">3.5.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org689bf40">3.5.4. Python templates for front end</a></li>
|
||||
<li><a href="#org0021a42">3.5.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#orgeede3cf">3.5.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfa0aca9">3.6. Templates for front end has/read/write a single string attribute</a>
|
||||
<li><a href="#org5df1a14">3.6. Templates for front end has/read/write a single string attribute</a>
|
||||
<ul>
|
||||
<li><a href="#org616a6ba">3.6.1. Introduction</a></li>
|
||||
<li><a href="#orgb50b9aa">3.6.2. C templates for front end</a>
|
||||
<li><a href="#orgb334699">3.6.1. Introduction</a></li>
|
||||
<li><a href="#org51b2cad">3.6.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#org9e03366">3.6.2.1. Function declarations</a></li>
|
||||
<li><a href="#orgb5160db">3.6.2.2. Source code for default functions</a></li>
|
||||
<li><a href="#org9770263">3.6.2.1. Function declarations</a></li>
|
||||
<li><a href="#orgad1425c">3.6.2.2. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd24b085">3.6.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org05975f2">3.6.4. Python templates for front end</a></li>
|
||||
<li><a href="#org4e318d7">3.6.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org0a03f94">3.6.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org697c498">4. Fortran helper/wrapper functions</a></li>
|
||||
<li><a href="#org1e08b49">4. Fortran helper/wrapper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga8ec322" class="outline-2">
|
||||
<h2 id="orga8ec322"><span class="section-number-2">1</span> Coding conventions</h2>
|
||||
<div id="outline-container-org91dac6e" class="outline-2">
|
||||
<h2 id="org91dac6e"><span class="section-number-2">1</span> Coding conventions</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<ul class="org-ul">
|
||||
<li>integer types will be defined using types given in <code>stdint.h</code></li>
|
||||
@ -478,8 +478,8 @@ for the JavaScript code in this tag.
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org40a30d3" class="outline-3">
|
||||
<h3 id="org40a30d3"><span class="section-number-3">1.1</span> Memory allocation</h3>
|
||||
<div id="outline-container-org8a72cea" class="outline-3">
|
||||
<h3 id="org8a72cea"><span class="section-number-3">1.1</span> Memory allocation</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Memory allocation of structures can be facilitated by using the
|
||||
@ -514,8 +514,8 @@ The maximum string size for the filenames is 4096 characters.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27575ec" class="outline-2">
|
||||
<h2 id="org27575ec"><span class="section-number-2">2</span> Front end</h2>
|
||||
<div id="outline-container-org4e4eb90" class="outline-2">
|
||||
<h2 id="org4e4eb90"><span class="section-number-2">2</span> Front end</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
All calls to TREXIO are thread-safe.
|
||||
@ -523,10 +523,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge58238f" class="outline-3">
|
||||
<h3 id="orge58238f"><span class="section-number-3">2.1</span> Error handling</h3>
|
||||
<div id="outline-container-org1ef3cdd" class="outline-3">
|
||||
<h3 id="org1ef3cdd"><span class="section-number-3">2.1</span> Error handling</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<table id="org9587421" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge87bf74" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -767,8 +767,8 @@ and the corresponding message are not propagated to the source code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49d5ba9" class="outline-4">
|
||||
<h4 id="org49d5ba9"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
|
||||
<div id="outline-container-org0e91585" class="outline-4">
|
||||
<h4 id="org0e91585"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<p>
|
||||
The <code>trexio_string_of_error</code> converts an exit code into a string. The
|
||||
@ -794,8 +794,8 @@ and the corresponding message are not propagated to the source code.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5891b08" class="outline-5">
|
||||
<h5 id="org5891b08"><span class="section-number-5">2.1.1.1</span> C source code</h5>
|
||||
<div id="outline-container-orgb791b1a" class="outline-5">
|
||||
<h5 id="orgb791b1a"><span class="section-number-5">2.1.1.1</span> C source code</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>*
|
||||
@ -906,8 +906,8 @@ and the corresponding message are not propagated to the source code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b9fef6" class="outline-5">
|
||||
<h5 id="org0b9fef6"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org78b69e9" class="outline-5">
|
||||
<h5 id="org78b69e9"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -923,8 +923,8 @@ and the corresponding message are not propagated to the source code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13ae1c5" class="outline-5">
|
||||
<h5 id="org13ae1c5"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
|
||||
<div id="outline-container-org44cdee4" class="outline-5">
|
||||
<h5 id="org44cdee4"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">class</span> <span style="color: #228b22;">Error</span>(<span style="color: #228b22;">Exception</span>):
|
||||
@ -963,8 +963,8 @@ and the corresponding message are not propagated to the source code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8014c2c" class="outline-3">
|
||||
<h3 id="org8014c2c"><span class="section-number-3">2.2</span> Back ends</h3>
|
||||
<div id="outline-container-orgac0dcfc" class="outline-3">
|
||||
<h3 id="orgac0dcfc"><span class="section-number-3">2.2</span> Back ends</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
TREXIO has several back ends:
|
||||
@ -988,8 +988,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbee9949" class="outline-4">
|
||||
<h4 id="orgbee9949"><span class="section-number-4">2.2.1</span> C</h4>
|
||||
<div id="outline-container-org70a1c67" class="outline-4">
|
||||
<h4 id="org70a1c67"><span class="section-number-4">2.2.1</span> C</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">back_end_t</span>;
|
||||
@ -1032,8 +1032,8 @@ This is useful due to the fact that HDF5 back end can be disabled at configure s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47139b5" class="outline-4">
|
||||
<h4 id="org47139b5"><span class="section-number-4">2.2.2</span> Fortran</h4>
|
||||
<div id="outline-container-org6975549" class="outline-4">
|
||||
<h4 id="org6975549"><span class="section-number-4">2.2.2</span> Fortran</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"> <span style="color: #228b22;">integer</span>(trexio_backend), <span style="color: #a020f0;">parameter</span> ::<span style="color: #a0522d;"> TREXIO_HDF5 = 0</span>
|
||||
@ -1059,8 +1059,8 @@ The function below is a Fortran interface for the aforementioned C-compatible <c
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0bdb9f5" class="outline-4">
|
||||
<h4 id="org0bdb9f5"><span class="section-number-4">2.2.3</span> Python</h4>
|
||||
<div id="outline-container-org404e999" class="outline-4">
|
||||
<h4 id="org404e999"><span class="section-number-4">2.2.3</span> Python</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"># <span style="color: #b22222;">define TREXIO back ends</span>
|
||||
@ -1074,8 +1074,8 @@ The function below is a Fortran interface for the aforementioned C-compatible <c
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org438fb05" class="outline-3">
|
||||
<h3 id="org438fb05"><span class="section-number-3">2.3</span> Read/write behavior</h3>
|
||||
<div id="outline-container-org4ee26c8" class="outline-3">
|
||||
<h3 id="org4ee26c8"><span class="section-number-3">2.3</span> Read/write behavior</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Every time a reading function is called, the data is read from the
|
||||
@ -1103,8 +1103,8 @@ concurrent programs, the behavior is not specified.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc71c645" class="outline-3">
|
||||
<h3 id="orgc71c645"><span class="section-number-3">2.4</span> TREXIO file type</h3>
|
||||
<div id="outline-container-orge55a3e9" class="outline-3">
|
||||
<h3 id="orge55a3e9"><span class="section-number-3">2.4</span> TREXIO file type</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
<code>trexio_s</code> is the the main type for TREXIO files, visible to the users
|
||||
@ -1138,8 +1138,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7dd07ab" class="outline-4">
|
||||
<h4 id="org7dd07ab"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
|
||||
<div id="outline-container-org47d08f0" class="outline-4">
|
||||
<h4 id="org47d08f0"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">class</span> <span style="color: #228b22;">File</span>:
|
||||
@ -1212,8 +1212,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org89ab228" class="outline-3">
|
||||
<h3 id="org89ab228"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
|
||||
<div id="outline-container-org50ae385" class="outline-3">
|
||||
<h3 id="org50ae385"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Polymorphism of the <code>trexio_t</code> type is handled by ensuring that the
|
||||
@ -1232,8 +1232,8 @@ corresponding types for all back ends can be safely casted to
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb56dd80" class="outline-3">
|
||||
<h3 id="orgb56dd80"><span class="section-number-3">2.6</span> File opening</h3>
|
||||
<div id="outline-container-org90d8b8e" class="outline-3">
|
||||
<h3 id="org90d8b8e"><span class="section-number-3">2.6</span> File opening</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>trexio_open</code> creates a new TREXIO file or opens existing one.
|
||||
@ -1272,8 +1272,8 @@ renaming the <code>.txt</code> data files.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgefa93f8" class="outline-4">
|
||||
<h4 id="orgefa93f8"><span class="section-number-4">2.6.1</span> C</h4>
|
||||
<div id="outline-container-orga11eaf9" class="outline-4">
|
||||
<h4 id="orga11eaf9"><span class="section-number-4">2.6.1</span> C</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_t</span>*
|
||||
@ -1346,10 +1346,10 @@ renaming the <code>.txt</code> data files.
|
||||
result->one_based = <span style="color: #008b8b;">false</span>; // <span style="color: #b22222;">Need to be flipped in Fortran interface</span>
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">irc</span> = pthread_mutex_init ( &(result->thread_lock), <span style="color: #008b8b;">NULL</span>);
|
||||
<span style="color: #a020f0;">if</span> (irc != 0) {
|
||||
<span style="color: #a020f0;">if</span> (rc_open != <span style="color: #008b8b;">NULL</span>) *rc_open = TREXIO_FAILURE;
|
||||
free(result);
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
|
||||
}
|
||||
assert (irc == 0);
|
||||
|
||||
<span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
|
||||
@ -1459,8 +1459,8 @@ renaming the <code>.txt</code> data files.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge795968" class="outline-4">
|
||||
<h4 id="orge795968"><span class="section-number-4">2.6.2</span> Fortran</h4>
|
||||
<div id="outline-container-orga8e638c" class="outline-4">
|
||||
<h4 id="orga8e638c"><span class="section-number-4">2.6.2</span> Fortran</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1478,8 +1478,8 @@ renaming the <code>.txt</code> data files.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org448f2e3" class="outline-4">
|
||||
<h4 id="org448f2e3"><span class="section-number-4">2.6.3</span> Python</h4>
|
||||
<div id="outline-container-org6ca8c7c" class="outline-4">
|
||||
<h4 id="org6ca8c7c"><span class="section-number-4">2.6.3</span> Python</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">open</span>(file_name: <span style="color: #483d8b;">str</span>, mode: <span style="color: #483d8b;">str</span>, back_end: <span style="color: #483d8b;">int</span>):
|
||||
@ -1527,8 +1527,8 @@ renaming the <code>.txt</code> data files.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52ead32" class="outline-4">
|
||||
<h4 id="org52ead32"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
|
||||
<div id="outline-container-org2c34029" class="outline-4">
|
||||
<h4 id="org2c34029"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
|
||||
<div class="outline-text-4" id="text-2-6-4">
|
||||
<p>
|
||||
Because arrays are zero-based in Fortran, we need to set a flag to
|
||||
@ -1561,8 +1561,8 @@ know if we need to shift by 1 arrays of indices.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org26a2a93" class="outline-3">
|
||||
<h3 id="org26a2a93"><span class="section-number-3">2.7</span> File closing</h3>
|
||||
<div id="outline-container-orge4d94ad" class="outline-3">
|
||||
<h3 id="orge4d94ad"><span class="section-number-3">2.7</span> File closing</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
<code>trexio_close</code> closes an existing <code>trexio_t</code> file.
|
||||
@ -1579,8 +1579,8 @@ output:
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3947596" class="outline-4">
|
||||
<h4 id="org3947596"><span class="section-number-4">2.7.1</span> C</h4>
|
||||
<div id="outline-container-orgb4002b6" class="outline-4">
|
||||
<h4 id="orgb4002b6"><span class="section-number-4">2.7.1</span> C</h4>
|
||||
<div class="outline-text-4" id="text-2-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -1659,8 +1659,8 @@ output:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf691dad" class="outline-4">
|
||||
<h4 id="orgf691dad"><span class="section-number-4">2.7.2</span> Fortran</h4>
|
||||
<div id="outline-container-org09893b6" class="outline-4">
|
||||
<h4 id="org09893b6"><span class="section-number-4">2.7.2</span> Fortran</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1674,8 +1674,8 @@ output:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga5a6c23" class="outline-4">
|
||||
<h4 id="orga5a6c23"><span class="section-number-4">2.7.3</span> Python</h4>
|
||||
<div id="outline-container-org5d501f4" class="outline-4">
|
||||
<h4 id="org5d501f4"><span class="section-number-4">2.7.3</span> Python</h4>
|
||||
<div class="outline-text-4" id="text-2-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">close</span>(trexio_file):
|
||||
@ -1697,12 +1697,12 @@ output:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6d10ae0" class="outline-2">
|
||||
<h2 id="org6d10ae0"><span class="section-number-2">3</span> Templates for front end</h2>
|
||||
<div id="outline-container-org90a5af6" class="outline-2">
|
||||
<h2 id="org90a5af6"><span class="section-number-2">3</span> Templates for front end</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgd02ece2" class="outline-3">
|
||||
<h3 id="orgd02ece2"><span class="section-number-3">3.1</span> Description</h3>
|
||||
<div id="outline-container-org01eee4e" class="outline-3">
|
||||
<h3 id="org01eee4e"><span class="section-number-3">3.1</span> Description</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
Consider the following block of <code>trex.json</code>:
|
||||
@ -1923,12 +1923,12 @@ value will result in <code>TREXIO_INVALID_ARG_2</code> exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7365f1d" class="outline-3">
|
||||
<h3 id="org7365f1d"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
|
||||
<div id="outline-container-org7249eef" class="outline-3">
|
||||
<h3 id="org7249eef"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
</div>
|
||||
<div id="outline-container-org5fe2575" class="outline-4">
|
||||
<h4 id="org5fe2575"><span class="section-number-4">3.2.1</span> Introduction</h4>
|
||||
<div id="outline-container-org01db7b7" class="outline-4">
|
||||
<h4 id="org01db7b7"><span class="section-number-4">3.2.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<p>
|
||||
This section concerns API calls related to numerical attributes,
|
||||
@ -1999,8 +1999,8 @@ namely single value of int/float types.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6db16ae" class="outline-4">
|
||||
<h4 id="org6db16ae"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-orgd30dde5" class="outline-4">
|
||||
<h4 id="orgd30dde5"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<p>
|
||||
The <code>C</code> templates that correspond to each of the abovementioned
|
||||
@ -2014,12 +2014,12 @@ precision (see Table above).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0bfc495" class="outline-5">
|
||||
<h5 id="org0bfc495"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org7e8c8f1" class="outline-5">
|
||||
<h5 id="org7e8c8f1"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e12448" class="outline-5">
|
||||
<h5 id="org4e12448"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
|
||||
<div id="outline-container-org6380375" class="outline-5">
|
||||
<h5 id="org6380375"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
|
||||
<div class="outline-text-5" id="text-3-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2088,8 +2088,8 @@ precision (see Table above).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org059b440" class="outline-5">
|
||||
<h5 id="org059b440"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
|
||||
<div id="outline-container-org476fc95" class="outline-5">
|
||||
<h5 id="org476fc95"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
|
||||
<div class="outline-text-5" id="text-3-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2165,8 +2165,8 @@ precision (see Table above).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcffb8cd" class="outline-5">
|
||||
<h5 id="orgcffb8cd"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
|
||||
<div id="outline-container-org5656beb" class="outline-5">
|
||||
<h5 id="org5656beb"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-2-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2223,8 +2223,8 @@ precision (see Table above).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc268a7f" class="outline-4">
|
||||
<h4 id="orgc268a7f"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-org6b29195" class="outline-4">
|
||||
<h4 id="org6b29195"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from Fortran.
|
||||
@ -2309,8 +2309,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org726e084" class="outline-4">
|
||||
<h4 id="org726e084"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-org3da8c5f" class="outline-4">
|
||||
<h4 id="org3da8c5f"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_num$(trexio_file, num_w: $group_num_py_dtype$) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -2395,12 +2395,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge516e9c" class="outline-3">
|
||||
<h3 id="orge516e9c"><span class="section-number-3">3.3</span> Templates for front end has/read/write a dataset of numerical data</h3>
|
||||
<div id="outline-container-org2b2aff1" class="outline-3">
|
||||
<h3 id="org2b2aff1"><span class="section-number-3">3.3</span> Templates for front end has/read/write a dataset of numerical data</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
</div>
|
||||
<div id="outline-container-org16dd054" class="outline-4">
|
||||
<h4 id="org16dd054"><span class="section-number-4">3.3.1</span> Introduction</h4>
|
||||
<div id="outline-container-org5536c5b" class="outline-4">
|
||||
<h4 id="org5536c5b"><span class="section-number-4">3.3.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-3-1">
|
||||
<p>
|
||||
This section concerns API calls related to datasets.
|
||||
@ -2482,8 +2482,8 @@ This section concerns API calls related to datasets.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ec371f" class="outline-4">
|
||||
<h4 id="org6ec371f"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-org5385d5c" class="outline-4">
|
||||
<h4 id="org5385d5c"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-3-2">
|
||||
<p>
|
||||
The C templates that correspond to each of the abovementioned functions can be found below.
|
||||
@ -2494,12 +2494,12 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d7621b" class="outline-5">
|
||||
<h5 id="org4d7621b"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org35660fa" class="outline-5">
|
||||
<h5 id="org35660fa"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e66f9f" class="outline-5">
|
||||
<h5 id="org9e66f9f"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
|
||||
<div id="outline-container-org0c2fc5d" class="outline-5">
|
||||
<h5 id="org0c2fc5d"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
|
||||
<div class="outline-text-5" id="text-3-3-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2595,7 +2595,7 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
|
||||
<span style="color: #a020f0;">if</span> ($group_dset$_p == <span style="color: #008b8b;">NULL</span>) <span style="color: #a020f0;">return</span> TREXIO_ALLOCATION_FAILED;
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0; i<dim_size; ++i){
|
||||
$group_dset$_p[i] -= ($group_dset_dtype_double$) 1;
|
||||
$group_dset$_p[i] = $group_dset$[i] - ($group_dset_dtype_double$) 1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2634,8 +2634,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4503570" class="outline-5">
|
||||
<h5 id="org4503570"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
|
||||
<div id="outline-container-org5a8bf9f" class="outline-5">
|
||||
<h5 id="org5a8bf9f"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
|
||||
<div class="outline-text-5" id="text-3-3-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2784,11 +2784,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org46ef92f" class="outline-5">
|
||||
<h5 id="org46ef92f"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
|
||||
<div id="outline-container-orgbb52468" class="outline-5">
|
||||
<h5 id="orgbb52468"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
|
||||
<div class="outline-text-5" id="text-3-3-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org7d0315e"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
<pre class="src src-c" id="org1ebf588"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
int64_t $group_dset_dim$ = 0;
|
||||
|
||||
/* <span style="color: #b22222;">Error handling for this call is added by the generator </span>*/
|
||||
@ -2944,8 +2944,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99acf74" class="outline-5">
|
||||
<h5 id="org99acf74"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
|
||||
<div id="outline-container-org773f6c1" class="outline-5">
|
||||
<h5 id="org773f6c1"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-3-2-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -3023,8 +3023,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org50fb1b7" class="outline-4">
|
||||
<h4 id="org50fb1b7"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-orgf8d38fe" class="outline-4">
|
||||
<h4 id="orgf8d38fe"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-3-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
|
||||
@ -3109,8 +3109,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb1518f1" class="outline-4">
|
||||
<h4 id="orgb1518f1"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-org6f7ed5b" class="outline-4">
|
||||
<h4 id="org6f7ed5b"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-3-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_dset$(trexio_file, dset_w) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -3305,12 +3305,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfe61250" class="outline-3">
|
||||
<h3 id="orgfe61250"><span class="section-number-3">3.4</span> Templates for front end has/read/write a dataset of sparse data</h3>
|
||||
<div id="outline-container-org8478b9c" class="outline-3">
|
||||
<h3 id="org8478b9c"><span class="section-number-3">3.4</span> Templates for front end has/read/write a dataset of sparse data</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
</div>
|
||||
<div id="outline-container-org3edc6e6" class="outline-4">
|
||||
<h4 id="org3edc6e6"><span class="section-number-4">3.4.1</span> Introduction</h4>
|
||||
<div id="outline-container-org76a2bc9" class="outline-4">
|
||||
<h4 id="org76a2bc9"><span class="section-number-4">3.4.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-4-1">
|
||||
<p>
|
||||
Sparse data structures are used typically for large tensors such as
|
||||
@ -3471,16 +3471,16 @@ This section concerns API calls related to sparse data structures.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9cfcf53" class="outline-4">
|
||||
<h4 id="org9cfcf53"><span class="section-number-4">3.4.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-org2c84ecb" class="outline-4">
|
||||
<h4 id="org2c84ecb"><span class="section-number-4">3.4.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-4-2">
|
||||
</div>
|
||||
<div id="outline-container-org37161b0" class="outline-5">
|
||||
<h5 id="org37161b0"><span class="section-number-5">3.4.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org69b5916" class="outline-5">
|
||||
<h5 id="org69b5916"><span class="section-number-5">3.4.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb1d33a1" class="outline-5">
|
||||
<h5 id="orgb1d33a1"><span class="section-number-5">3.4.2.2</span> Source code for default functions</h5>
|
||||
<div id="outline-container-orgf1af77b" class="outline-5">
|
||||
<h5 id="orgf1af77b"><span class="section-number-5">3.4.2.2</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-4-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #0000ff;">trexio_read_safe_$group_dset$</span>(<span style="color: #228b22;">trexio_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>,
|
||||
@ -3668,6 +3668,7 @@ This section concerns API calls related to sparse data structures.
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #483d8b;">#else</span>
|
||||
rc = TREXIO_BACK_END_MISSING;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
/*
|
||||
<span style="color: #b22222;"> case TREXIO_JSON:</span>
|
||||
@ -3724,8 +3725,8 @@ This section concerns API calls related to sparse data structures.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6746c08" class="outline-4">
|
||||
<h4 id="org6746c08"><span class="section-number-4">3.4.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-orgfff4945" class="outline-4">
|
||||
<h4 id="orgfff4945"><span class="section-number-4">3.4.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-4-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
|
||||
@ -3820,8 +3821,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6db6ee1" class="outline-4">
|
||||
<h4 id="org6db6ee1"><span class="section-number-4">3.4.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-org8211703" class="outline-4">
|
||||
<h4 id="org8211703"><span class="section-number-4">3.4.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-4-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_dset$(trexio_file: File, offset_file: <span style="color: #483d8b;">int</span>, buffer_size: <span style="color: #483d8b;">int</span>, indices: <span style="color: #483d8b;">list</span>, values: <span style="color: #483d8b;">list</span>) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -4042,12 +4043,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8e70072" class="outline-3">
|
||||
<h3 id="org8e70072"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
|
||||
<div id="outline-container-org362505b" class="outline-3">
|
||||
<h3 id="org362505b"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
</div>
|
||||
<div id="outline-container-org15cc41c" class="outline-4">
|
||||
<h4 id="org15cc41c"><span class="section-number-4">3.5.1</span> Introduction</h4>
|
||||
<div id="outline-container-orge773a87" class="outline-4">
|
||||
<h4 id="orge773a87"><span class="section-number-4">3.5.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-5-1">
|
||||
<p>
|
||||
This section concerns API calls related to datasets of strings.
|
||||
@ -4087,8 +4088,8 @@ This section concerns API calls related to datasets of strings.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3fe4a55" class="outline-4">
|
||||
<h4 id="org3fe4a55"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-orgdbed956" class="outline-4">
|
||||
<h4 id="orgdbed956"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-5-2">
|
||||
<p>
|
||||
First parameter is the <code>TREXIO</code> file handle. Second parameter is the variable to be written/read
|
||||
@ -4096,12 +4097,12 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf748539" class="outline-5">
|
||||
<h5 id="orgf748539"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org2f5e022" class="outline-5">
|
||||
<h5 id="org2f5e022"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org92bb894" class="outline-5">
|
||||
<h5 id="org92bb894"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
|
||||
<div id="outline-container-org60f070c" class="outline-5">
|
||||
<h5 id="org60f070c"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-5-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -4199,7 +4200,7 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
<span style="color: #0000ff;">trexio_write_$group_dset$_low</span> (<span style="color: #228b22;">trexio_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">dset_in</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">max_str_len</span>)
|
||||
<span style="color: #0000ff;">trexio_write_$group_dset$_low</span> (<span style="color: #228b22;">trexio_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>, <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">dset_in</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">max_str_len</span>)
|
||||
{
|
||||
|
||||
<span style="color: #a020f0;">if</span> (file == <span style="color: #008b8b;">NULL</span>) <span style="color: #a020f0;">return</span> TREXIO_INVALID_ARG_1;
|
||||
@ -4232,7 +4233,7 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
|
||||
<span style="color: #a020f0;">for</span>(<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0; i<dims[0]; i++) {
|
||||
|
||||
<span style="color: #228b22;">char</span>* <span style="color: #a0522d;">pch</span>;
|
||||
pch = i == 0 ? strtok( (<span style="color: #228b22;">char</span>*) dset_in, TREXIO_DELIM) : strtok(<span style="color: #008b8b;">NULL</span>, TREXIO_DELIM) ;
|
||||
pch = i == 0 ? strtok(dset_in, TREXIO_DELIM) : strtok(<span style="color: #008b8b;">NULL</span>, TREXIO_DELIM) ;
|
||||
|
||||
<span style="color: #a020f0;">if</span> (pch == <span style="color: #008b8b;">NULL</span>) {
|
||||
FREE(dset_str[0]);
|
||||
@ -4355,8 +4356,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org868bd94" class="outline-4">
|
||||
<h4 id="org868bd94"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-org0021a42" class="outline-4">
|
||||
<h4 id="org0021a42"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-5-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
|
||||
@ -4452,8 +4453,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org689bf40" class="outline-4">
|
||||
<h4 id="org689bf40"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-orgeede3cf" class="outline-4">
|
||||
<h4 id="orgeede3cf"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-5-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_dset$(trexio_file, dset_w: <span style="color: #483d8b;">list</span>) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -4569,12 +4570,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfa0aca9" class="outline-3">
|
||||
<h3 id="orgfa0aca9"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
|
||||
<div id="outline-container-org5df1a14" class="outline-3">
|
||||
<h3 id="org5df1a14"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
</div>
|
||||
<div id="outline-container-org616a6ba" class="outline-4">
|
||||
<h4 id="org616a6ba"><span class="section-number-4">3.6.1</span> Introduction</h4>
|
||||
<div id="outline-container-orgb334699" class="outline-4">
|
||||
<h4 id="orgb334699"><span class="section-number-4">3.6.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-6-1">
|
||||
<p>
|
||||
This section concerns API calls related to string attributes.
|
||||
@ -4614,16 +4615,16 @@ This section concerns API calls related to string attributes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb50b9aa" class="outline-4">
|
||||
<h4 id="orgb50b9aa"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-org51b2cad" class="outline-4">
|
||||
<h4 id="org51b2cad"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-6-2">
|
||||
</div>
|
||||
<div id="outline-container-org9e03366" class="outline-5">
|
||||
<h5 id="org9e03366"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org9770263" class="outline-5">
|
||||
<h5 id="org9770263"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb5160db" class="outline-5">
|
||||
<h5 id="orgb5160db"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
|
||||
<div id="outline-container-orgad1425c" class="outline-5">
|
||||
<h5 id="orgad1425c"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-6-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -4735,8 +4736,8 @@ This section concerns API calls related to string attributes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd24b085" class="outline-4">
|
||||
<h4 id="orgd24b085"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-org4e318d7" class="outline-4">
|
||||
<h4 id="org4e318d7"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-6-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from Fortran.
|
||||
@ -4813,8 +4814,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org05975f2" class="outline-4">
|
||||
<h4 id="org05975f2"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-org0a03f94" class="outline-4">
|
||||
<h4 id="org0a03f94"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-6-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_str$(trexio_file, str_w: <span style="color: #483d8b;">str</span>) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -4904,8 +4905,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org697c498" class="outline-2">
|
||||
<h2 id="org697c498"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
|
||||
<div id="outline-container-org1e08b49" class="outline-2">
|
||||
<h2 id="org1e08b49"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
The function below adapts the original C-based <code>trexio_open</code> for Fortran.
|
||||
@ -5040,7 +5041,7 @@ two code are identical, i.e. if the <code>assert</code> statement pass.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 07:58</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 10:04</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>
|
||||
<!-- 2022-01-07 Fri 07:58 -->
|
||||
<!-- 2022-01-07 Fri 10:04 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>HDF5 back end</title>
|
||||
@ -311,29 +311,29 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org938d6d1">1. HDF5 back end</a>
|
||||
<li><a href="#orgda22059">1. HDF5 back end</a>
|
||||
<ul>
|
||||
<li><a href="#org07b032d">1.1. Template for HDF5 definitions</a></li>
|
||||
<li><a href="#orgaa53893">1.2. Template for HDF5 structures</a></li>
|
||||
<li><a href="#org9f066d6">1.3. Template for HDF5 init/deinit</a></li>
|
||||
<li><a href="#org499cfbe">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
|
||||
<li><a href="#org4b67e1e">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
|
||||
<li><a href="#org5be4a1d">1.6. Template for HDF5 has/read/write the dataset of sparse data</a></li>
|
||||
<li><a href="#org3ddc606">1.7. Template for HDF5 has/read/write the dataset of strings</a></li>
|
||||
<li><a href="#org76cf1dd">1.8. Template for HDF5 has/read/write the string attribute</a></li>
|
||||
<li><a href="#org8d191c2">1.9. Helper functions</a></li>
|
||||
<li><a href="#orgdfd608b">1.1. Template for HDF5 definitions</a></li>
|
||||
<li><a href="#orgf09ea66">1.2. Template for HDF5 structures</a></li>
|
||||
<li><a href="#org5b49d68">1.3. Template for HDF5 init/deinit</a></li>
|
||||
<li><a href="#org1b013c3">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
|
||||
<li><a href="#org8b6c751">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
|
||||
<li><a href="#org8373b00">1.6. Template for HDF5 has/read/write the dataset of sparse data</a></li>
|
||||
<li><a href="#org3254e8c">1.7. Template for HDF5 has/read/write the dataset of strings</a></li>
|
||||
<li><a href="#org11d1c0a">1.8. Template for HDF5 has/read/write the string attribute</a></li>
|
||||
<li><a href="#orge7ebdec">1.9. Helper functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org938d6d1" class="outline-2">
|
||||
<h2 id="org938d6d1"><span class="section-number-2">1</span> HDF5 back end</h2>
|
||||
<div id="outline-container-orgda22059" class="outline-2">
|
||||
<h2 id="orgda22059"><span class="section-number-2">1</span> HDF5 back end</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org07b032d" class="outline-3">
|
||||
<h3 id="org07b032d"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
|
||||
<div id="outline-container-orgdfd608b" class="outline-3">
|
||||
<h3 id="orgdfd608b"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> $GROUP$_GROUP_NAME <span style="color: #8b2252;">"$group$"</span>
|
||||
@ -345,8 +345,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa53893" class="outline-3">
|
||||
<h3 id="orgaa53893"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
|
||||
<div id="outline-container-orgf09ea66" class="outline-3">
|
||||
<h3 id="orgf09ea66"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<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;">trexio_hdf5_s</span> {
|
||||
@ -360,8 +360,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org9f066d6" class="outline-3">
|
||||
<h3 id="org9f066d6"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
|
||||
<div id="outline-container-org5b49d68" class="outline-3">
|
||||
<h3 id="org5b49d68"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -441,8 +441,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org499cfbe" class="outline-3">
|
||||
<h3 id="org499cfbe"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
|
||||
<div id="outline-container-org1b013c3" class="outline-3">
|
||||
<h3 id="org1b013c3"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -536,8 +536,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4b67e1e" class="outline-3">
|
||||
<h3 id="org4b67e1e"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
|
||||
<div id="outline-container-org8b6c751" class="outline-3">
|
||||
<h3 id="org8b6c751"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -561,7 +561,6 @@ for the JavaScript code in this tag.
|
||||
<span style="color: #228b22;">hid_t</span> <span style="color: #a0522d;">dspace_id</span> = H5Dget_space(dset_id);
|
||||
// <span style="color: #b22222;">get the rank and dimensions of the dataset</span>
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rrank</span> = H5Sget_simple_extent_dims(dspace_id, ddims, <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
// <span style="color: #b22222;">check that dimensions are consistent</span>
|
||||
<span style="color: #a020f0;">if</span> (rrank != (<span style="color: #228b22;">int</span>) rank) {
|
||||
FREE(ddims);
|
||||
@ -660,8 +659,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5be4a1d" class="outline-3">
|
||||
<h3 id="org5be4a1d"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of sparse data</h3>
|
||||
<div id="outline-container-org8373b00" class="outline-3">
|
||||
<h3 id="org8373b00"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of sparse data</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<p>
|
||||
Sparse data is stored using extensible datasets of HDF5. Extensibility is required
|
||||
@ -683,13 +682,13 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
<span style="color: #228b22;">trexio_hdf5_t</span>* <span style="color: #a0522d;">f</span> = (<span style="color: #228b22;">trexio_hdf5_t</span>*) file;
|
||||
|
||||
<span style="color: #228b22;">hid_t</span> <span style="color: #a0522d;">index_dtype</span>;
|
||||
<span style="color: #228b22;">void</span>* <span style="color: #a0522d;">index_p</span>;
|
||||
<span style="color: #228b22;">void</span>* <span style="color: #a0522d;">index_p</span> = <span style="color: #008b8b;">NULL</span>;
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">size_ranked</span> = (<span style="color: #228b22;">uint64_t</span>) size * $group_dset_rank$;
|
||||
/* <span style="color: #b22222;">Determine the optimal type for storing indices depending on the size_max (usually mo_num or ao_num) </span>*/
|
||||
<span style="color: #a020f0;">if</span> (size_max < UINT8_MAX) {
|
||||
<span style="color: #228b22;">uint8_t</span>* <span style="color: #a0522d;">index</span> = CALLOC(size_ranked, uint8_t);
|
||||
<span style="color: #a020f0;">if</span> (index == <span style="color: #008b8b;">NULL</span>) <span style="color: #a020f0;">return</span> TREXIO_ALLOCATION_FAILED;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0; i<size_ranked; ++i){
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0; i<size_ranked; ++i){
|
||||
index[i] = (<span style="color: #228b22;">uint8_t</span>) index_sparse[i];
|
||||
}
|
||||
index_p = index;
|
||||
@ -697,7 +696,7 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
} <span style="color: #a020f0;">else</span> <span style="color: #a020f0;">if</span> (size_max < UINT16_MAX) {
|
||||
<span style="color: #228b22;">uint16_t</span>* <span style="color: #a0522d;">index</span> = CALLOC(size_ranked, uint16_t);
|
||||
<span style="color: #a020f0;">if</span> (index == <span style="color: #008b8b;">NULL</span>) <span style="color: #a020f0;">return</span> TREXIO_ALLOCATION_FAILED;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0; i<size_ranked; ++i){
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0; i<size_ranked; ++i){
|
||||
index[i] = (<span style="color: #228b22;">uint16_t</span>) index_sparse[i];
|
||||
}
|
||||
index_p = index;
|
||||
@ -714,8 +713,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">hsize_t</span> <span style="color: #a0522d;">chunk_v_dims</span>[1] = {size};
|
||||
|
||||
/* <span style="color: #b22222;">Indices and values are stored as 2 independent datasets in the HDF5 file </span>*/
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dset_index_name</span>[256] = <span style="color: #8b2252;">"\0"</span>;
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dset_value_name</span>[256] = <span style="color: #8b2252;">"\0"</span>;
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dset_index_name</span>[256];
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dset_value_name</span>[256];
|
||||
/* <span style="color: #b22222;">Build the names of the datasets </span>*/
|
||||
strncpy(dset_index_name, $GROUP_DSET$_NAME <span style="color: #8b2252;">"_indices"</span>, 256);
|
||||
strncpy(dset_value_name, $GROUP_DSET$_NAME <span style="color: #8b2252;">"_values"</span>, 256);
|
||||
@ -773,8 +772,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">trexio_hdf5_t</span>* <span style="color: #a0522d;">f</span> = (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">trexio_hdf5_t</span>*) file;
|
||||
|
||||
/* <span style="color: #b22222;">Indices and values are stored as 2 independent datasets in the HDF5 file </span>*/
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dset_index_name</span>[256] = <span style="color: #8b2252;">"\0"</span>;
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dset_value_name</span>[256] = <span style="color: #8b2252;">"\0"</span>;
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dset_index_name</span>[256];
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dset_value_name</span>[256];
|
||||
/* <span style="color: #b22222;">Build the names of the datasets </span>*/
|
||||
strncpy(dset_index_name, $GROUP_DSET$_NAME <span style="color: #8b2252;">"_indices"</span>, 256);
|
||||
strncpy(dset_value_name, $GROUP_DSET$_NAME <span style="color: #8b2252;">"_values"</span>, 256);
|
||||
@ -824,7 +823,7 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
<span style="color: #228b22;">hsize_t</span> <span style="color: #a0522d;">ddims</span>[1] = {0};
|
||||
|
||||
// <span style="color: #b22222;">get the rank and dimensions of the dataset</span>
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rrank</span> = H5Sget_simple_extent_dims(fspace_id, ddims, <span style="color: #008b8b;">NULL</span>);
|
||||
H5Sget_simple_extent_dims(fspace_id, ddims, <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
H5Dclose(dset_id);
|
||||
H5Sclose(fspace_id);
|
||||
@ -862,8 +861,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ddc606" class="outline-3">
|
||||
<h3 id="org3ddc606"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the dataset of strings</h3>
|
||||
<div id="outline-container-org3254e8c" class="outline-3">
|
||||
<h3 id="org3254e8c"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the dataset of strings</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -897,7 +896,6 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
|
||||
// <span style="color: #b22222;">get the rank of the dataset in a file</span>
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rrank</span> = H5Sget_simple_extent_dims(dspace, ddims, <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
<span style="color: #a020f0;">if</span> (rrank != (<span style="color: #228b22;">int</span>) rank) {
|
||||
FREE(ddims);
|
||||
H5Dclose(dset_id);
|
||||
@ -1068,8 +1066,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76cf1dd" class="outline-3">
|
||||
<h3 id="org76cf1dd"><span class="section-number-3">1.8</span> Template for HDF5 has/read/write the string attribute</h3>
|
||||
<div id="outline-container-org11d1c0a" class="outline-3">
|
||||
<h3 id="org11d1c0a"><span class="section-number-3">1.8</span> Template for HDF5 has/read/write the string attribute</h3>
|
||||
<div class="outline-text-3" id="text-1-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -1090,7 +1088,6 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">hid_t</span> <span style="color: #a0522d;">ftype_id</span> = H5Aget_type(str_id);
|
||||
<span style="color: #a020f0;">if</span> (ftype_id <= 0) <span style="color: #a020f0;">return</span> TREXIO_INVALID_ID;
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">sdim</span> = H5Tget_size(ftype_id);
|
||||
<span style="color: #a020f0;">if</span> (sdim <= 0) <span style="color: #a020f0;">return</span> TREXIO_FAILURE;
|
||||
sdim++; /* <span style="color: #b22222;">Make room for null terminator </span>*/
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">hid_t</span> <span style="color: #a0522d;">mem_id</span> = H5Tcopy(H5T_C_S1);
|
||||
@ -1192,8 +1189,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8d191c2" class="outline-3">
|
||||
<h3 id="org8d191c2"><span class="section-number-3">1.9</span> Helper functions</h3>
|
||||
<div id="outline-container-orge7ebdec" class="outline-3">
|
||||
<h3 id="orge7ebdec"><span class="section-number-3">1.9</span> Helper functions</h3>
|
||||
<div class="outline-text-3" id="text-1-9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -1272,6 +1269,12 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
|
||||
// <span style="color: #b22222;">get the rank and dimensions of the dataset</span>
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rrank</span> = H5Sget_simple_extent_dims(fspace, ddims, <span style="color: #008b8b;">NULL</span>);
|
||||
<span style="color: #a020f0;">if</span> (rrank != h5_rank) {
|
||||
H5Sclose(fspace);
|
||||
H5Dclose(dset_id);
|
||||
<span style="color: #a020f0;">return</span> TREXIO_FAILURE;
|
||||
}
|
||||
|
||||
ddims[0] += chunk_dims[0];
|
||||
|
||||
// <span style="color: #b22222;">extend the dset size</span>
|
||||
@ -1348,6 +1351,12 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
<span style="color: #b22222;"> </span>*/
|
||||
<span style="color: #228b22;">hsize_t</span> <span style="color: #a0522d;">ddims</span>[1] = {0};
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rrank</span> = H5Sget_simple_extent_dims(fspace_id, ddims, <span style="color: #008b8b;">NULL</span>);
|
||||
<span style="color: #a020f0;">if</span> (rrank != h5_rank) {
|
||||
H5Sclose(fspace_id);
|
||||
H5Dclose(dset_id);
|
||||
<span style="color: #a020f0;">return</span> TREXIO_FAILURE;
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">hsize_t</span> <span style="color: #a0522d;">max_offset</span> = offset_file[0] + size_read[0];
|
||||
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">is_EOF</span> = 0;
|
||||
@ -1361,8 +1370,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
}
|
||||
|
||||
// <span style="color: #b22222;">special case when reading int indices</span>
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_ranked</span> = (<span style="color: #228b22;">int64_t</span>) size_read[0];
|
||||
<span style="color: #228b22;">void</span>* <span style="color: #a0522d;">index_p</span>;
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">size_ranked</span> = (<span style="color: #228b22;">uint64_t</span>) size_read[0];
|
||||
<span style="color: #228b22;">void</span>* <span style="color: #a0522d;">index_p</span> = <span style="color: #008b8b;">NULL</span>;
|
||||
// <span style="color: #b22222;">read the datatype from the dataset and compare with the pre-defined values</span>
|
||||
<span style="color: #228b22;">hid_t</span> <span style="color: #a0522d;">dtype</span> = H5Dget_type(dset_id);
|
||||
<span style="color: #a020f0;">if</span> (is_index == 1) {
|
||||
@ -1418,13 +1427,13 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
<span style="color: #a020f0;">if</span> (is_index == 1) {
|
||||
<span style="color: #a020f0;">if</span> (H5Tequal(dtype, H5T_NATIVE_UINT8) > 0) {
|
||||
<span style="color: #228b22;">uint8_t</span>* <span style="color: #a0522d;">index</span> = (<span style="color: #228b22;">uint8_t</span>*) index_p;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0; i<size_ranked; ++i){
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0; i<size_ranked; ++i){
|
||||
((<span style="color: #228b22;">int32_t</span>*)data_sparse)[i] = (<span style="color: #228b22;">int32_t</span>) index[i];
|
||||
}
|
||||
FREE(index_p);
|
||||
} <span style="color: #a020f0;">else</span> <span style="color: #a020f0;">if</span> (H5Tequal(dtype, H5T_NATIVE_UINT16) > 0) {
|
||||
<span style="color: #228b22;">uint16_t</span>* <span style="color: #a0522d;">index</span> = (<span style="color: #228b22;">uint16_t</span>*) index_p;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0; i<size_ranked; ++i){
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0; i<size_ranked; ++i){
|
||||
((<span style="color: #228b22;">int32_t</span>*)data_sparse)[i] = (<span style="color: #228b22;">int32_t</span>) index[i];
|
||||
}
|
||||
FREE(index_p);
|
||||
@ -1443,7 +1452,7 @@ due to the fact that the sparse data will be written in chunks of user-defined s
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 07:58</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 10:04</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>
|
||||
<!-- 2022-01-07 Fri 07:58 -->
|
||||
<!-- 2022-01-07 Fri 10:04 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TEXT back end</title>
|
||||
@ -311,28 +311,28 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgfd293c1">1. TEXT back end</a>
|
||||
<li><a href="#orgf2d5c38">1. TEXT back end</a>
|
||||
<ul>
|
||||
<li><a href="#org675f207">1.1. Template for group-related structures in text back end</a></li>
|
||||
<li><a href="#org118bf2b">1.2. Template for general structure in text back end</a></li>
|
||||
<li><a href="#org1a65bfd">1.3. Initialize function (constant part)</a></li>
|
||||
<li><a href="#orgd9e57db">1.4. Deinitialize function (templated part)</a></li>
|
||||
<li><a href="#orgac2f372">1.5. Template for text read struct</a></li>
|
||||
<li><a href="#orgaa6f528">1.6. Template for text flush struct</a></li>
|
||||
<li><a href="#org578cb71">1.7. Template for text free memory</a></li>
|
||||
<li><a href="#org446f57a">1.8. Template for has/read/write the numerical attribute</a></li>
|
||||
<li><a href="#orgd0400ff">1.9. Template for has/read/write the dataset of numerical data</a></li>
|
||||
<li><a href="#org35aab0f">1.10. Template for has/read/write the dataset of strings</a></li>
|
||||
<li><a href="#orgdb2e149">1.11. Template for has/read/write the string attribute</a></li>
|
||||
<li><a href="#org8406298">1.12. Template for has/read/write the dataset of sparse data</a></li>
|
||||
<li><a href="#org42aeaa4">1.1. Template for group-related structures in text back end</a></li>
|
||||
<li><a href="#org847c0f5">1.2. Template for general structure in text back end</a></li>
|
||||
<li><a href="#orgf868063">1.3. Initialize function (constant part)</a></li>
|
||||
<li><a href="#org8e6a798">1.4. Deinitialize function (templated part)</a></li>
|
||||
<li><a href="#org44448a5">1.5. Template for text read struct</a></li>
|
||||
<li><a href="#org645385d">1.6. Template for text flush struct</a></li>
|
||||
<li><a href="#orgedd425c">1.7. Template for text free memory</a></li>
|
||||
<li><a href="#org5f6235a">1.8. Template for has/read/write the numerical attribute</a></li>
|
||||
<li><a href="#org154f742">1.9. Template for has/read/write the dataset of numerical data</a></li>
|
||||
<li><a href="#orgbf841ec">1.10. Template for has/read/write the dataset of strings</a></li>
|
||||
<li><a href="#org0559160">1.11. Template for has/read/write the string attribute</a></li>
|
||||
<li><a href="#org74c0d53">1.12. Template for has/read/write the dataset of sparse data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfd293c1" class="outline-2">
|
||||
<h2 id="orgfd293c1"><span class="section-number-2">1</span> TEXT back end</h2>
|
||||
<div id="outline-container-orgf2d5c38" class="outline-2">
|
||||
<h2 id="orgf2d5c38"><span class="section-number-2">1</span> TEXT back end</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The "file" produced by the text back end is a directory with one
|
||||
@ -353,8 +353,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org675f207" class="outline-3">
|
||||
<h3 id="org675f207"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
|
||||
<div id="outline-container-org42aeaa4" class="outline-3">
|
||||
<h3 id="org42aeaa4"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</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> $group$_s {
|
||||
@ -373,8 +373,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org118bf2b" class="outline-3">
|
||||
<h3 id="org118bf2b"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
|
||||
<div id="outline-container-org847c0f5" class="outline-3">
|
||||
<h3 id="org847c0f5"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<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;">trexio_text_s</span> {
|
||||
@ -387,8 +387,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1a65bfd" class="outline-3">
|
||||
<h3 id="org1a65bfd"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
|
||||
<div id="outline-container-orgf868063" class="outline-3">
|
||||
<h3 id="orgf868063"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -519,8 +519,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd9e57db" class="outline-3">
|
||||
<h3 id="orgd9e57db"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
|
||||
<div id="outline-container-org8e6a798" class="outline-3">
|
||||
<h3 id="org8e6a798"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -542,8 +542,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgac2f372" class="outline-3">
|
||||
<h3 id="orgac2f372"><span class="section-number-3">1.5</span> Template for text read struct</h3>
|
||||
<div id="outline-container-org44448a5" class="outline-3">
|
||||
<h3 id="org44448a5"><span class="section-number-3">1.5</span> Template for text read struct</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">$group$_t*
|
||||
@ -593,7 +593,7 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
|
||||
}
|
||||
|
||||
/* <span style="color: #b22222;">Read the dimensioning variables </span>*/
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rc</span>;
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rc</span> = 0;
|
||||
// <span style="color: #b22222;">START REPEAT GROUP_DSET_ALL</span>
|
||||
rc = fscanf(f, <span style="color: #8b2252;">"%1023s"</span>, buffer);
|
||||
<span style="color: #a020f0;">if</span> ((rc != 1) || (strcmp(buffer, <span style="color: #8b2252;">"rank_$group_dset$"</span>) != 0)) {
|
||||
@ -640,9 +640,9 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
|
||||
}
|
||||
// <span style="color: #b22222;">END REPEAT GROUP_DSET_ALL</span>
|
||||
|
||||
<span style="color: #228b22;">unsigned</span> <span style="color: #228b22;">int</span> <span style="color: #a0522d;">local_isSet</span>;
|
||||
// <span style="color: #b22222;">START REPEAT GROUP_NUM</span>
|
||||
/* <span style="color: #b22222;">Read data </span>*/
|
||||
<span style="color: #228b22;">unsigned</span> <span style="color: #228b22;">int</span> $group_num$_isSet;
|
||||
rc = fscanf(f, <span style="color: #8b2252;">"%1023s"</span>, buffer);
|
||||
assert(!((rc != 1) || (strcmp(buffer, <span style="color: #8b2252;">"$group_num$_isSet"</span>) != 0)));
|
||||
<span style="color: #a020f0;">if</span> ((rc != 1) || (strcmp(buffer, <span style="color: #8b2252;">"$group_num$_isSet"</span>) != 0)) {
|
||||
@ -652,9 +652,9 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
|
||||
}
|
||||
|
||||
/* <span style="color: #b22222;">additional parameter local_isSet is needed to suppress warning when fscanf into bool variable using %u or %d </span>*/
|
||||
rc = fscanf(f, <span style="color: #8b2252;">"%u"</span>, &(local_isSet));
|
||||
$group$->$group_num$_isSet = (<span style="color: #228b22;">bool</span>) local_isSet;
|
||||
/* <span style="color: #b22222;">additional parameter $group_num$_isSet is needed to suppress warning when fscanf into bool variable using %u or %d </span>*/
|
||||
rc = fscanf(f, <span style="color: #8b2252;">"%u"</span>, &($group_num$_isSet));
|
||||
$group$->$group_num$_isSet = (bool) $group_num$_isSet;
|
||||
assert(!(rc != 1));
|
||||
<span style="color: #a020f0;">if</span> (rc != 1) {
|
||||
FREE(buffer);
|
||||
@ -835,8 +835,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa6f528" class="outline-3">
|
||||
<h3 id="orgaa6f528"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
|
||||
<div id="outline-container-org645385d" class="outline-3">
|
||||
<h3 id="org645385d"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -901,8 +901,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org578cb71" class="outline-3">
|
||||
<h3 id="org578cb71"><span class="section-number-3">1.7</span> Template for text free memory</h3>
|
||||
<div id="outline-container-orgedd425c" class="outline-3">
|
||||
<h3 id="orgedd425c"><span class="section-number-3">1.7</span> Template for text free memory</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<p>
|
||||
Memory is allocated when reading. The following function frees memory.
|
||||
@ -947,8 +947,8 @@ Memory is allocated when reading. The following function frees memory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org446f57a" class="outline-3">
|
||||
<h3 id="org446f57a"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
|
||||
<div id="outline-container-org5f6235a" class="outline-3">
|
||||
<h3 id="org5f6235a"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
|
||||
<div class="outline-text-3" id="text-1-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -1011,8 +1011,8 @@ Memory is allocated when reading. The following function frees memory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd0400ff" class="outline-3">
|
||||
<h3 id="orgd0400ff"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
|
||||
<div id="outline-container-org154f742" class="outline-3">
|
||||
<h3 id="org154f742"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
|
||||
<div class="outline-text-3" id="text-1-9">
|
||||
<p>
|
||||
The <code>group_dset</code> array is assumed allocated with the appropriate size.
|
||||
@ -1108,8 +1108,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org35aab0f" class="outline-3">
|
||||
<h3 id="org35aab0f"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
|
||||
<div id="outline-container-orgbf841ec" class="outline-3">
|
||||
<h3 id="orgbf841ec"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
|
||||
<div class="outline-text-3" id="text-1-10">
|
||||
<p>
|
||||
The <code>group_dset</code> array is assumed allocated with the appropriate size.
|
||||
@ -1210,8 +1210,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgdb2e149" class="outline-3">
|
||||
<h3 id="orgdb2e149"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
|
||||
<div id="outline-container-org0559160" class="outline-3">
|
||||
<h3 id="org0559160"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
|
||||
<div class="outline-text-3" id="text-1-11">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -1285,8 +1285,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8406298" class="outline-3">
|
||||
<h3 id="org8406298"><span class="section-number-3">1.12</span> Template for has/read/write the dataset of sparse data</h3>
|
||||
<div id="outline-container-org74c0d53" class="outline-3">
|
||||
<h3 id="org74c0d53"><span class="section-number-3">1.12</span> Template for has/read/write the dataset of sparse data</h3>
|
||||
<div class="outline-text-3" id="text-1-12">
|
||||
<p>
|
||||
Each sparse array is stored in a separate <code>.txt</code> file due to the fact that sparse I/O has to be decoupled
|
||||
@ -1333,7 +1333,7 @@ User provides indices and values of the sparse array as two separate variables.
|
||||
<span style="color: #b22222;"> CURRENTLY NO OFFSET IS USED WHEN WRITING !</span>
|
||||
<span style="color: #b22222;"> </span>*/
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">line_length</span> = 0L;
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">format_str</span>[256] = <span style="color: #8b2252;">"\0"</span>;
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">format_str</span>[256];
|
||||
|
||||
/* <span style="color: #b22222;">Determine the optimal type for storing indices depending on the size_max (usually mo_num or ao_num) </span>*/
|
||||
<span style="color: #a020f0;">if</span> (size_max < UINT8_MAX) {
|
||||
@ -1357,7 +1357,7 @@ User provides indices and values of the sparse array as two separate variables.
|
||||
|
||||
/* <span style="color: #b22222;">Write the data in the file and check the return code of fprintf to verify that > 0 bytes have been written </span>*/
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rc</span>;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0UL; i<size; ++i) {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0UL; i < (<span style="color: #228b22;">uint64_t</span>) size; ++i) {
|
||||
rc = fprintf(f, format_str,
|
||||
$group_dset_sparse_indices_printf$,
|
||||
*(value_sparse + i));
|
||||
@ -1445,9 +1445,9 @@ User provides indices and values of the sparse array as two separate variables.
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rc</span>;
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">buffer</span>[1024];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">count</span> = 0UL;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0UL; i<size; ++i) {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span>=0UL; i < (<span style="color: #228b22;">uint64_t</span>) size; ++i) {
|
||||
|
||||
memset(buffer,0,<span style="color: #a020f0;">sizeof</span>(buffer));
|
||||
memset(buffer, 0, <span style="color: #a020f0;">sizeof</span>(buffer));
|
||||
|
||||
<span style="color: #a020f0;">if</span>(fgets(buffer, 1023, f) == <span style="color: #008b8b;">NULL</span>){
|
||||
|
||||
@ -1563,7 +1563,7 @@ User provides indices and values of the sparse array as two separate variables.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 07:58</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 10:04</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
116
trex.html
116
trex.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>
|
||||
<!-- 2022-01-07 Fri 07:58 -->
|
||||
<!-- 2022-01-07 Fri 10:04 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TREX Configuration file</title>
|
||||
@ -333,33 +333,33 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgbb68568">1. Metadata (metadata group)</a></li>
|
||||
<li><a href="#org80a3720">2. Electron (electron group)</a></li>
|
||||
<li><a href="#org9d693f4">3. Nucleus (nucleus group)</a></li>
|
||||
<li><a href="#org01e3766">4. Effective core potentials (ecp group)</a>
|
||||
<li><a href="#org5646172">1. Metadata (metadata group)</a></li>
|
||||
<li><a href="#org731f7d1">2. Electron (electron group)</a></li>
|
||||
<li><a href="#orge07fa88">3. Nucleus (nucleus group)</a></li>
|
||||
<li><a href="#orgceb34e1">4. Effective core potentials (ecp group)</a>
|
||||
<ul>
|
||||
<li><a href="#org818528a">4.1. Example</a></li>
|
||||
<li><a href="#org6702c12">4.1. Example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbdc1f28">5. Basis set (basis group)</a>
|
||||
<li><a href="#org52fd660">5. Basis set (basis group)</a>
|
||||
<ul>
|
||||
<li><a href="#orgef9f686">5.1. Example</a></li>
|
||||
<li><a href="#org7fc3b36">5.1. Example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgabfe385">6. Atomic orbitals (ao group)</a>
|
||||
<li><a href="#org0186fca">6. Atomic orbitals (ao group)</a>
|
||||
<ul>
|
||||
<li><a href="#ao_one_e">6.1. One-electron integrals (<code>ao_1e_int</code> group)</a></li>
|
||||
<li><a href="#ao_two_e">6.2. Two-electron integrals (<code>ao_2e_int</code> group)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org99c8812">7. Molecular orbitals (mo group)</a>
|
||||
<li><a href="#org1b9dc1f">7. Molecular orbitals (mo group)</a>
|
||||
<ul>
|
||||
<li><a href="#org88943bf">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
|
||||
<li><a href="#orgc70a220">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
|
||||
<li><a href="#orgcc6128a">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
|
||||
<li><a href="#org53f9856">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3845f5b">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
|
||||
<li><a href="#org1b5d552">9. Reduced density matrices (rdm group)</a></li>
|
||||
<li><a href="#org82aae62">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
|
||||
<li><a href="#orgc2dea78">9. Reduced density matrices (rdm group)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -409,8 +409,8 @@ fetched using multiple function calls to perform I/O on buffers.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="outline-container-orgbb68568" class="outline-2">
|
||||
<h2 id="orgbb68568"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
|
||||
<div id="outline-container-org5646172" class="outline-2">
|
||||
<h2 id="org5646172"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
As we expect our files to be archived in open-data repositories, we
|
||||
@ -420,7 +420,7 @@ which have participated to the creation of the file, a list of
|
||||
authors of the file, and a textual description.
|
||||
</p>
|
||||
|
||||
<table id="org0a8616d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9403d4f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -487,15 +487,15 @@ authors of the file, and a textual description.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org80a3720" class="outline-2">
|
||||
<h2 id="org80a3720"><span class="section-number-2">2</span> Electron (electron group)</h2>
|
||||
<div id="outline-container-org731f7d1" class="outline-2">
|
||||
<h2 id="org731f7d1"><span class="section-number-2">2</span> Electron (electron group)</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
We consider wave functions expressed in the spin-free formalism, where
|
||||
the number of ↑ and ↓ electrons is fixed.
|
||||
</p>
|
||||
|
||||
<table id="org9722ad5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1588f35" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -534,15 +534,15 @@ the number of ↑ and ↓ electrons is fixed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d693f4" class="outline-2">
|
||||
<h2 id="org9d693f4"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
|
||||
<div id="outline-container-orge07fa88" class="outline-2">
|
||||
<h2 id="orge07fa88"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The nuclei are considered as fixed point charges. Coordinates are
|
||||
given in Cartesian \((x,y,z)\) format.
|
||||
</p>
|
||||
|
||||
<table id="org8992cc8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga1f6b35" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -609,8 +609,8 @@ given in Cartesian \((x,y,z)\) format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org01e3766" class="outline-2">
|
||||
<h2 id="org01e3766"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
|
||||
<div id="outline-container-orgceb34e1" class="outline-2">
|
||||
<h2 id="orgceb34e1"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the
|
||||
@ -643,7 +643,7 @@ The functions \(V_{A\ell}\) are parameterized as:
|
||||
See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.4984046</a> or <a href="https://doi.org/10.1063/1.5121006">https://doi.org/10.1063/1.5121006</a> for more info.
|
||||
</p>
|
||||
|
||||
<table id="org41040bd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org71089ac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -741,8 +741,8 @@ The latter causes issues when written before <code>ang_mom</code> in the TREXIO
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org818528a" class="outline-3">
|
||||
<h3 id="org818528a"><span class="section-number-3">4.1</span> Example</h3>
|
||||
<div id="outline-container-org6702c12" class="outline-3">
|
||||
<h3 id="org6702c12"><span class="section-number-3">4.1</span> Example</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
For example, consider H<sub>2</sub> molecule with the following
|
||||
@ -805,8 +805,8 @@ power = [
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbdc1f28" class="outline-2">
|
||||
<h2 id="orgbdc1f28"><span class="section-number-2">5</span> Basis set (basis group)</h2>
|
||||
<div id="outline-container-org52fd660" class="outline-2">
|
||||
<h2 id="org52fd660"><span class="section-number-2">5</span> Basis set (basis group)</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
We consider here basis functions centered on nuclei. Hence, we enable
|
||||
@ -859,7 +859,7 @@ If the the basis function is not considered normalized, \(\mathcal{N}_s=1\).
|
||||
All the basis set parameters are stored in one-dimensional arrays:
|
||||
</p>
|
||||
|
||||
<table id="org0c72ed6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org787645a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -953,8 +953,8 @@ All the basis set parameters are stored in one-dimensional arrays:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef9f686" class="outline-3">
|
||||
<h3 id="orgef9f686"><span class="section-number-3">5.1</span> Example</h3>
|
||||
<div id="outline-container-org7fc3b36" class="outline-3">
|
||||
<h3 id="org7fc3b36"><span class="section-number-3">5.1</span> Example</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<p>
|
||||
For example, consider H<sub>2</sub> with the following basis set (in GAMESS
|
||||
@ -1032,8 +1032,8 @@ prim_factor =
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgabfe385" class="outline-2">
|
||||
<h2 id="orgabfe385"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
|
||||
<div id="outline-container-org0186fca" class="outline-2">
|
||||
<h2 id="org0186fca"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
<p>
|
||||
Going from the atomic basis set to AOs implies a systematic
|
||||
@ -1081,13 +1081,13 @@ shell, as in the GAMESS convention where
|
||||
|
||||
<p>
|
||||
In such a case, one should set the normalization of the shell (in
|
||||
the <a href="#orgbdc1f28">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
|
||||
the <a href="#org52fd660">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
|
||||
normalization factor of the atomic orbitals in spherical coordinates.
|
||||
The normalization factor of the \(xy\) function which should be
|
||||
introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
|
||||
</p>
|
||||
|
||||
<table id="org04c98ba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4b26df7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1139,8 +1139,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org42e54eb" class="outline-3">
|
||||
<h3 id="ao_one_e"><a id="org42e54eb"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
|
||||
<div id="outline-container-org827401c" class="outline-3">
|
||||
<h3 id="ao_one_e"><a id="org827401c"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
|
||||
<div class="outline-text-3" id="text-ao_one_e">
|
||||
<ul class="org-ul">
|
||||
<li>\[ \hat{V}_{\text{ne}} = \sum_{A=1}^{N_\text{nucl}}
|
||||
@ -1158,7 +1158,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
|
||||
over atomic orbitals.
|
||||
</p>
|
||||
|
||||
<table id="org35b7a0b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org758715b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1225,8 +1225,8 @@ over atomic orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7503e1f" class="outline-3">
|
||||
<h3 id="ao_two_e"><a id="org7503e1f"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
|
||||
<div id="outline-container-orgabf0df5" class="outline-3">
|
||||
<h3 id="ao_two_e"><a id="orgabf0df5"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
|
||||
<div class="outline-text-3" id="text-ao_two_e">
|
||||
<p>
|
||||
The two-electron integrals for a two-electron operator \(\hat{O}\) are
|
||||
@ -1247,7 +1247,7 @@ notation.
|
||||
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
|
||||
</ul>
|
||||
|
||||
<table id="org4183704" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbc15a42" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1287,10 +1287,10 @@ notation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99c8812" class="outline-2">
|
||||
<h2 id="org99c8812"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
|
||||
<div id="outline-container-org1b9dc1f" class="outline-2">
|
||||
<h2 id="org1b9dc1f"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<table id="org5b6b356" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3fb029d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1356,8 +1356,8 @@ notation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org88943bf" class="outline-3">
|
||||
<h3 id="org88943bf"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
|
||||
<div id="outline-container-orgcc6128a" class="outline-3">
|
||||
<h3 id="orgcc6128a"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
|
||||
<div class="outline-text-3" id="text-7-1">
|
||||
<p>
|
||||
The operators as the same as those defined in the
|
||||
@ -1365,7 +1365,7 @@ The operators as the same as those defined in the
|
||||
the basis of molecular orbitals.
|
||||
</p>
|
||||
|
||||
<table id="org96381ab" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org537383c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1432,8 +1432,8 @@ the basis of molecular orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc70a220" class="outline-3">
|
||||
<h3 id="orgc70a220"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
|
||||
<div id="outline-container-org53f9856" class="outline-3">
|
||||
<h3 id="org53f9856"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
|
||||
<div class="outline-text-3" id="text-7-2">
|
||||
<p>
|
||||
The operators as the same as those defined in the
|
||||
@ -1441,7 +1441,7 @@ The operators as the same as those defined in the
|
||||
the basis of molecular orbitals.
|
||||
</p>
|
||||
|
||||
<table id="org046a3d2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge041ca1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1481,13 +1481,13 @@ the basis of molecular orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3845f5b" class="outline-2">
|
||||
<h2 id="org3845f5b"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
|
||||
<div id="outline-container-org82aae62" class="outline-2">
|
||||
<h2 id="org82aae62"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
|
||||
</div>
|
||||
<div id="outline-container-org1b5d552" class="outline-2">
|
||||
<h2 id="org1b5d552"><span class="section-number-2">9</span> Reduced density matrices (rdm group)</h2>
|
||||
<div id="outline-container-orgc2dea78" class="outline-2">
|
||||
<h2 id="orgc2dea78"><span class="section-number-2">9</span> Reduced density matrices (rdm group)</h2>
|
||||
<div class="outline-text-2" id="text-9">
|
||||
<table id="org9b93ec3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd929e5c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1563,7 +1563,7 @@ the basis of molecular orbitals.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 07:58</p>
|
||||
<p class="date">Created: 2022-01-07 Fri 10:04</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