1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-12-25 22:03:56 +01:00

Deploying to gh-pages from @ TREX-CoE/trexio@cd8332a3e5 🚀

This commit is contained in:
scemama 2021-05-06 22:03:17 +00:00
parent 6c616977f7
commit a3fced3ea4
5 changed files with 189 additions and 183 deletions

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-06 Thu 17:57 -->
<!-- 2021-05-06 Thu 22:03 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREXIO source code documentation</title>
@ -341,7 +341,7 @@ and bug reports should be submitted at
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-05-06 Thu 17:57</p>
<p class="date">Created: 2021-05-06 Thu 22:03</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-06 Thu 17:57 -->
<!-- 2021-05-06 Thu 22:03 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREXIO source code documentation</title>
@ -341,7 +341,7 @@ and bug reports should be submitted at
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-05-06 Thu 17:57</p>
<p class="date">Created: 2021-05-06 Thu 22:03</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,10 +3,10 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-06 Thu 17:57 -->
<!-- 2021-05-06 Thu 22:03 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
<title>Front end API</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="TREX-CoE" />
<style type="text/css">
@ -306,52 +306,50 @@ for the JavaScript code in this tag.
|
<a accesskey="H" href="index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Front end API</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org0d90fca">1. Coding conventions</a>
<li><a href="#orgcfd7c54">1. Coding conventions</a>
<ul>
<li><a href="#org8a9328a">1.1. Memory allocation</a></li>
<li><a href="#org4c26947">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#orge8f4017">2. Front end</a>
<li><a href="#org6c81131">2. Front end</a>
<ul>
<li><a href="#org0e27a2c">2.1. Error handling</a></li>
<li><a href="#orgfce1641">2.2. Back ends</a></li>
<li><a href="#org188ffcc">2.3. Read/write behavior</a></li>
<li><a href="#org6aca689">2.4. TREXIO file type</a></li>
<li><a href="#org78e8f11">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgfa1538e">2.6. File opening</a></li>
<li><a href="#orga7e8ded">2.7. File closing</a></li>
<li><a href="#org6b73a70">2.1. Error handling</a></li>
<li><a href="#org0501b47">2.2. Back ends</a></li>
<li><a href="#org9970605">2.3. Read/write behavior</a></li>
<li><a href="#orge81a3ec">2.4. TREXIO file type</a></li>
<li><a href="#org6354d94">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org54f9d34">2.6. File opening</a></li>
<li><a href="#org435e167">2.7. File closing</a></li>
</ul>
</li>
<li><a href="#orgfe75aed">3. Templates for front end</a>
<li><a href="#orgcfa5728">3. Templates for front end</a>
<ul>
<li><a href="#org8646f98">3.1. Templates for front end has/read/write a dimension</a>
<li><a href="#orgd26c0b4">3.1. Templates for front end has/read/write a dimension</a>
<ul>
<li><a href="#org539cf33">3.1.1. C templates for front end</a></li>
<li><a href="#org848405a">3.1.2. Fortran templates for front end</a></li>
<li><a href="#org367f97e">3.1.1. C templates for front end</a></li>
<li><a href="#org1e4b73a">3.1.2. Fortran templates for front end</a></li>
</ul>
</li>
<li><a href="#orgc4b9aba">3.2. Templates for front end has/read/write a dataset</a>
<li><a href="#orgd4af1b8">3.2. Templates for front end has/read/write a dataset</a>
<ul>
<li><a href="#orgd184039">3.2.1. C templates for front end</a></li>
<li><a href="#org495555b">3.2.2. Fortran templates for front end</a></li>
<li><a href="#org7ba6e39">3.2.1. C templates for front end</a></li>
<li><a href="#org4467760">3.2.2. Fortran templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org7640efc">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org8946e95">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<p>
d+TITLE: Front end API
</p>
<div id="outline-container-org0d90fca" class="outline-2">
<h2 id="org0d90fca"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orgcfd7c54" class="outline-2">
<h2 id="orgcfd7c54"><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>
@ -366,8 +364,8 @@ d+TITLE: Front end API
</ul>
</div>
<div id="outline-container-org8a9328a" class="outline-3">
<h3 id="org8a9328a"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-org4c26947" class="outline-3">
<h3 id="org4c26947"><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
@ -401,8 +399,9 @@ The maximum string size for the filenames is 4096 characters.
</div>
</div>
</div>
<div id="outline-container-orge8f4017" class="outline-2">
<h2 id="orge8f4017"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-org6c81131" class="outline-2">
<h2 id="org6c81131"><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.
@ -410,10 +409,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</p>
</div>
<div id="outline-container-org0e27a2c" class="outline-3">
<h3 id="org0e27a2c"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-org6b73a70" class="outline-3">
<h3 id="org6b73a70"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="orgb8652d8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org810158e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -695,8 +694,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orgfce1641" class="outline-3">
<h3 id="orgfce1641"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org0501b47" class="outline-3">
<h3 id="org0501b47"><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:
@ -726,8 +725,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
</div>
<div id="outline-container-org188ffcc" class="outline-3">
<h3 id="org188ffcc"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org9970605" class="outline-3">
<h3 id="org9970605"><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
@ -755,8 +754,8 @@ concurrent programs, the behavior is not specified.
</p>
</div>
</div>
<div id="outline-container-org6aca689" class="outline-3">
<h3 id="org6aca689"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-orge81a3ec" class="outline-3">
<h3 id="orge81a3ec"><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
@ -788,8 +787,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
</div>
<div id="outline-container-org78e8f11" class="outline-3">
<h3 id="org78e8f11"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-org6354d94" class="outline-3">
<h3 id="org6354d94"><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
@ -808,8 +807,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-orgfa1538e" class="outline-3">
<h3 id="orgfa1538e"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-org54f9d34" class="outline-3">
<h3 id="org54f9d34"><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.
@ -971,8 +970,8 @@ should tend to avoid renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orga7e8ded" class="outline-3">
<h3 id="orga7e8ded"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org435e167" class="outline-3">
<h3 id="org435e167"><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.
@ -1071,8 +1070,8 @@ output:
</div>
</div>
<div id="outline-container-orgfe75aed" class="outline-2">
<h2 id="orgfe75aed"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-orgcfa5728" class="outline-2">
<h2 id="orgcfa5728"><span class="section-number-2">3</span> Templates for front end</h2>
<div class="outline-text-2" id="text-3">
<p>
Consider the following block of <code>trex.json</code>:
@ -1092,17 +1091,19 @@ Consider the following block of <code>trex.json</code>:
</div>
<p>
<code>TREXIO</code> is generated automatically by the <code>generator.py</code> Python script
based on the tree-like configuration provided in the <code>trex.json</code> file.
Because of that, generalized templates can be implemented and re-used.
This approach minimizes the number of bugs as compared with manual copy-paste-modify scheme.
<code>TREXIO</code> is generated automatically by the <code>generator.py</code> Python
script based on the tree-like configuration provided in the
<code>trex.json</code> file. Because of that, generalized templates can be
implemented and re-used. This approach minimizes the number of bugs
as compared with manual copy-paste-modify scheme.
</p>
<p>
All templates presented below use the <code>$var$</code> notation to indicate the variable,
which will be replaced by the <code>generator.py</code>. Sometimes the upper case is used, i.e.
<code>$VAR$</code> (for example, in <code>#define</code> statements).
More detailed description of each variable can be found below:
All templates presented below use the <code>$var$</code> notation to indicate
the variable, which will be replaced by the
<code>generator.py</code>. Sometimes the upper case is used, i.e. <code>$VAR$</code> (for
example, in <code>#define</code> statements). More detailed description of
each variable can be found below:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -1125,99 +1126,101 @@ More detailed description of each variable can be found below:
<tbody>
<tr>
<td class="org-left"><code>$group$</code></td>
<td class="org-left">'Name of the group'</td>
<td class="org-left">Name of the group</td>
<td class="org-left"><code>nucleus</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_num$</code></td>
<td class="org-left">'Name of the dimensioning variable (scalar)'</td>
<td class="org-left">Name of the dimensioning variable (scalar)</td>
<td class="org-left"><code>nucleus_num</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset$</code></td>
<td class="org-left">'Name of the dataset (vector/matrix/tensor)'</td>
<td class="org-left">Name of the dataset (vector/matrix/tensor)</td>
<td class="org-left"><code>nucleus_coord</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_rank$</code></td>
<td class="org-left">'Rank of the dataset'</td>
<td class="org-left">Rank of the dataset</td>
<td class="org-left"><code>2</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_dim$</code></td>
<td class="org-left">'Selected dimension of the dataset'</td>
<td class="org-left">Selected dimension of the dataset</td>
<td class="org-left"><code>nucleus_num</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_dim_list$</code></td>
<td class="org-left">'All dimensions of the dataset'</td>
<td class="org-left">All dimensions of the dataset</td>
<td class="org-left"><code>{nucleus_num, 3}</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_dtype$</code></td>
<td class="org-left">'Basic type of the dataset (int/float/char)'</td>
<td class="org-left">Basic type of the dataset (int/float/char)</td>
<td class="org-left"><code>float</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_h5_dtype$</code></td>
<td class="org-left">'Type of the dataset in HDF5'</td>
<td class="org-left">Type of the dataset in HDF5</td>
<td class="org-left"><code>double</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_std_dtype_in$</code></td>
<td class="org-left">'Input type of the dataset in TEXT [fscanf] '</td>
<td class="org-left">Input type of the dataset in TEXT [fscanf]</td>
<td class="org-left"><code>%lf</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_std_dtype_out$</code></td>
<td class="org-left">'Output type of the dataset in TEXT [fprintf]'</td>
<td class="org-left">Output type of the dataset in TEXT [fprintf]</td>
<td class="org-left"><code>%24.16e</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_dtype_single$</code></td>
<td class="org-left">'Single precision type of the dataset [C]'</td>
<td class="org-left">Single precision type of the dataset [C]</td>
<td class="org-left"><code>float</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_dtype_double$</code></td>
<td class="org-left">'Double precision type of the dataset [C]'</td>
<td class="org-left">Double precision type of the dataset [C]</td>
<td class="org-left"><code>double</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_f_dtype_single$</code></td>
<td class="org-left">'Single precision type of the dataset [Fortran]'</td>
<td class="org-left">Single precision type of the dataset [Fortran]</td>
<td class="org-left"><code>real(4)</code></td>
</tr>
<tr>
<td class="org-left"><code>$group_dset_f_dtype_double$</code></td>
<td class="org-left">'Double precision type of the dataset [Fortran]'</td>
<td class="org-left">Double precision type of the dataset [Fortran]</td>
<td class="org-left"><code>real(8)</code></td>
</tr>
</tbody>
</table>
<p>
Note: parent group name is always added to the child objects upon construction of TREXIO
(e.g. <code>num</code> of <code>nucleus</code> group becomes <code>nucleus_num</code> and should be accessed accordingly within TREXIO).
Note: parent group name is always added to the child objects upon
construction of TREXIO (e.g. <code>num</code> of <code>nucleus</code> group becomes
<code>nucleus_num</code> and should be accessed accordingly within TREXIO).
</p>
<p>
TREXIO generator parses the <code>trex.json</code> file. TREXIO operates with names of variables
based on the 1-st (parent group) and 2-nd (child object) levels of <code>trex.json</code> .
The parsed data is divided in 2 parts:
TREXIO generator parses the <code>trex.json</code> file. TREXIO operates with
names of variables based on the 1-st (parent group) and 2-nd (child
object) levels of <code>trex.json</code> . The parsed data is divided in 2
parts:
</p>
<ol class="org-ol">
@ -1227,14 +1230,14 @@ Currently supported types: int, float. TODO: strings.</li>
</ol>
<p>
For each of the aforementioned objects, TREXIO provides <b>has</b>, <b>read</b> and <b>write</b> functionality.
TREXIO supports I/O with single or double precision for integer and floating point numbers.
For each of the aforementioned objects, TREXIO provides <b>has</b>,
<b>read</b> and <b>write</b> functionality. TREXIO supports I/O with single
or double precision for integer and floating point numbers.
</p>
</div>
<div id="outline-container-org8646f98" class="outline-3">
<h3 id="org8646f98"><span class="section-number-3">3.1</span> Templates for front end has/read/write a dimension</h3>
<div id="outline-container-orgd26c0b4" class="outline-3">
<h3 id="orgd26c0b4"><span class="section-number-3">3.1</span> Templates for front end has/read/write a dimension</h3>
<div class="outline-text-3" id="text-3-1">
<p>
This section concerns API calls related to dimensioning variables.
@ -1260,58 +1263,61 @@ This section concerns API calls related to dimensioning variables.
<tbody>
<tr>
<td class="org-left"><code>trexio_has_$group_num$</code></td>
<td class="org-left">'Check if a dimensioning variable exists in a file'</td>
<td class="org-left">Check if a dimensioning variable exists in a file</td>
<td class="org-left">---</td>
</tr>
<tr>
<td class="org-left"><code>trexio_read_$group_num$</code></td>
<td class="org-left">'Read a dimensioning variable '</td>
<td class="org-left">Read a dimensioning variable</td>
<td class="org-left">Single</td>
</tr>
<tr>
<td class="org-left"><code>trexio_write_$group_num$</code></td>
<td class="org-left">'Write a dimensioning variable'</td>
<td class="org-left">Write a dimensioning variable</td>
<td class="org-left">Single</td>
</tr>
<tr>
<td class="org-left"><code>trexio_read_$group_num$_32</code></td>
<td class="org-left">'Read a dimensioning variable '</td>
<td class="org-left">Read a dimensioning variable</td>
<td class="org-left">Single</td>
</tr>
<tr>
<td class="org-left"><code>trexio_write_$group_num$_32</code></td>
<td class="org-left">'Write a dimensioning variable'</td>
<td class="org-left">Write a dimensioning variable</td>
<td class="org-left">Single</td>
</tr>
<tr>
<td class="org-left"><code>trexio_read_$group_num$_64</code></td>
<td class="org-left">'Read a dimensioning variable '</td>
<td class="org-left">Read a dimensioning variable</td>
<td class="org-left">Double</td>
</tr>
<tr>
<td class="org-left"><code>trexio_write_$group_num$_64</code></td>
<td class="org-left">'Write a dimensioning variable'</td>
<td class="org-left">Write a dimensioning variable</td>
<td class="org-left">Double</td>
</tr>
</tbody>
</table>
</div>
<div id="outline-container-org539cf33" class="outline-4">
<h4 id="org539cf33"><span class="section-number-4">3.1.1</span> C templates for front end</h4>
<div id="outline-container-org367f97e" class="outline-4">
<h4 id="org367f97e"><span class="section-number-4">3.1.1</span> C templates for front end</h4>
<div class="outline-text-4" id="text-3-1-1">
<p>
The <code>C</code> templates that correspond to each of the abovementioned functions can be found below.
First parameter is the <code>TREXIO</code> file handle. Second parameter is the variable to be written/read
The <code>C</code> templates that correspond to each of the abovementioned
functions can be found below. First parameter is the <code>TREXIO</code> file
handle. Second parameter is the variable to be written/read
to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functions).
Suffixes <code>_32</code> and <code>_64</code> correspond to API calls dealing with single and double precision, respectively.
The basic (non-suffixed) API call on dimensioning variables deals with single precision (see Table above).
Suffixes <code>_32</code> and <code>_64</code> correspond to API calls dealing with
single and double precision, respectively. The basic
(non-suffixed) API call on dimensioning variables deals with single
precision (see Table above).
</p>
@ -1493,8 +1499,8 @@ The basic (non-suffixed) API call on dimensioning variables deals with single pr
</div>
</div>
<div id="outline-container-org848405a" class="outline-4">
<h4 id="org848405a"><span class="section-number-4">3.1.2</span> Fortran templates for front end</h4>
<div id="outline-container-org1e4b73a" class="outline-4">
<h4 id="org1e4b73a"><span class="section-number-4">3.1.2</span> Fortran templates for front end</h4>
<div class="outline-text-4" id="text-3-1-2">
<p>
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from Fortran.
@ -1580,8 +1586,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgc4b9aba" class="outline-3">
<h3 id="orgc4b9aba"><span class="section-number-3">3.2</span> Templates for front end has/read/write a dataset</h3>
<div id="outline-container-orgd4af1b8" class="outline-3">
<h3 id="orgd4af1b8"><span class="section-number-3">3.2</span> Templates for front end has/read/write a dataset</h3>
<div class="outline-text-3" id="text-3-2">
<p>
This section concerns API calls related to datasets.
@ -1607,51 +1613,51 @@ This section concerns API calls related to datasets.
<tbody>
<tr>
<td class="org-left"><code>trexio_has_$group$_$group_dset$</code></td>
<td class="org-left">'Check if a dataset exists in a file'</td>
<td class="org-left">Check if a dataset exists in a file</td>
<td class="org-left">---</td>
</tr>
<tr>
<td class="org-left"><code>trexio_read_$group$_$group_dset$</code></td>
<td class="org-left">'Read a dataset '</td>
<td class="org-left">Read a dataset</td>
<td class="org-left">Double</td>
</tr>
<tr>
<td class="org-left"><code>trexio_write_$group$_$group_dset$</code></td>
<td class="org-left">'Write a dataset'</td>
<td class="org-left">Write a dataset</td>
<td class="org-left">Double</td>
</tr>
<tr>
<td class="org-left"><code>trexio_read_$group$_$group_dset$_32</code></td>
<td class="org-left">'Read a dataset'</td>
<td class="org-left">Read a dataset</td>
<td class="org-left">Single</td>
</tr>
<tr>
<td class="org-left"><code>trexio_write_$group$_$group_dset$_32</code></td>
<td class="org-left">'Write a dataset'</td>
<td class="org-left">Write a dataset</td>
<td class="org-left">Single</td>
</tr>
<tr>
<td class="org-left"><code>trexio_read_$group$_$group_dset$_64</code></td>
<td class="org-left">'Read a dataset'</td>
<td class="org-left">Read a dataset</td>
<td class="org-left">Double</td>
</tr>
<tr>
<td class="org-left"><code>trexio_write_$group$_$group_dset$_64</code></td>
<td class="org-left">'Write a dataset'</td>
<td class="org-left">Write a dataset</td>
<td class="org-left">Double</td>
</tr>
</tbody>
</table>
</div>
<div id="outline-container-orgd184039" class="outline-4">
<h4 id="orgd184039"><span class="section-number-4">3.2.1</span> C templates for front end</h4>
<div id="outline-container-org7ba6e39" class="outline-4">
<h4 id="org7ba6e39"><span class="section-number-4">3.2.1</span> C templates for front end</h4>
<div class="outline-text-4" id="text-3-2-1">
<p>
The C templates that correspond to each of the abovementioned functions can be found below.
@ -1909,8 +1915,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org495555b" class="outline-4">
<h4 id="org495555b"><span class="section-number-4">3.2.2</span> Fortran templates for front end</h4>
<div id="outline-container-org4467760" class="outline-4">
<h4 id="org4467760"><span class="section-number-4">3.2.2</span> Fortran templates for front end</h4>
<div class="outline-text-4" id="text-3-2-2">
<p>
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
@ -1997,8 +2003,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org7640efc" class="outline-2">
<h2 id="org7640efc"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org8946e95" class="outline-2">
<h2 id="org8946e95"><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.
@ -2027,7 +2033,7 @@ Note, that Fortran interface calls the main <code>TREXIO</code> API, which is wr
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-05-06 Thu 17:57</p>
<p class="date">Created: 2021-05-06 Thu 22:03</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-06 Thu 17:57 -->
<!-- 2021-05-06 Thu 22:03 -->
<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,25 +311,25 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org58ef299">1. HDF5 back end</a>
<li><a href="#org243cdfb">1. HDF5 back end</a>
<ul>
<li><a href="#orge1dee5b">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org674684e">1.2. Template for HDF5 structures</a></li>
<li><a href="#org005db21">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org7450812">1.4. Template for HDF5 has/read/write a number</a></li>
<li><a href="#org213bd49">1.5. Template for HDF5 has/read/write a dataset</a></li>
<li><a href="#orgd9425b9">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org1bf3183">1.2. Template for HDF5 structures</a></li>
<li><a href="#org5e3d8ce">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#orge75fdb9">1.4. Template for HDF5 has/read/write a number</a></li>
<li><a href="#org693f20c">1.5. Template for HDF5 has/read/write a dataset</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org58ef299" class="outline-2">
<h2 id="org58ef299"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-org243cdfb" class="outline-2">
<h2 id="org243cdfb"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orge1dee5b" class="outline-3">
<h3 id="orge1dee5b"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-orgd9425b9" class="outline-3">
<h3 id="orgd9425b9"><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>
@ -340,8 +340,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org674684e" class="outline-3">
<h3 id="org674684e"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-org1bf3183" class="outline-3">
<h3 id="org1bf3183"><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> {
@ -356,8 +356,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-org005db21" class="outline-3">
<h3 id="org005db21"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-org5e3d8ce" class="outline-3">
<h3 id="org5e3d8ce"><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>
@ -440,8 +440,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org7450812" class="outline-3">
<h3 id="org7450812"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write a number</h3>
<div id="outline-container-orge75fdb9" class="outline-3">
<h3 id="orge75fdb9"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write a number</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>
@ -563,8 +563,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org213bd49" class="outline-3">
<h3 id="org213bd49"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write a dataset</h3>
<div id="outline-container-org693f20c" class="outline-3">
<h3 id="org693f20c"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write a dataset</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>
@ -698,7 +698,7 @@ for the JavaScript code in this tag.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-05-06 Thu 17:57</p>
<p class="date">Created: 2021-05-06 Thu 22:03</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-06 Thu 17:57 -->
<!-- 2021-05-06 Thu 22:03 -->
<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,24 +311,24 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgc72aa79">1. TEXT back end</a>
<li><a href="#org8eb38b3">1. TEXT back end</a>
<ul>
<li><a href="#org5966547">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org593dbdf">1.2. Template for general structure in text back end</a></li>
<li><a href="#orga295b88">1.3. Initialize function (constant part)</a></li>
<li><a href="#org857666c">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgdcea87b">1.5. Template for text read struct</a></li>
<li><a href="#orgb8d7c17">1.6. Template for text flush struct</a></li>
<li><a href="#orgd378d85">1.7. Template for text free memory</a></li>
<li><a href="#orgd7de6b1">1.8. Template for has/read/write the <code>$group_num$</code> attribute</a></li>
<li><a href="#org02da8e5">1.9. Template for has/read/write the <code>$group_dset$</code> dataset</a></li>
<li><a href="#orgb9f5cd8">1.10. RDM struct (hard-coded)</a>
<li><a href="#org12c3fce">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org70b2171">1.2. Template for general structure in text back end</a></li>
<li><a href="#org0693644">1.3. Initialize function (constant part)</a></li>
<li><a href="#orge747409">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org682fa21">1.5. Template for text read struct</a></li>
<li><a href="#org39949f0">1.6. Template for text flush struct</a></li>
<li><a href="#orgf1ff581">1.7. Template for text free memory</a></li>
<li><a href="#org01a2375">1.8. Template for has/read/write the <code>$group_num$</code> attribute</a></li>
<li><a href="#orgc5025b1">1.9. Template for has/read/write the <code>$group_dset$</code> dataset</a></li>
<li><a href="#org1496c2f">1.10. RDM struct (hard-coded)</a>
<ul>
<li><a href="#org77ebc42">1.10.1. Read the complete struct</a></li>
<li><a href="#org1c4343a">1.10.2. Flush the complete struct</a></li>
<li><a href="#orge4d4880">1.10.3. Free memory</a></li>
<li><a href="#orgc80ae44">1.10.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org3b50d7b">1.10.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org9c96847">1.10.1. Read the complete struct</a></li>
<li><a href="#org5c443c9">1.10.2. Flush the complete struct</a></li>
<li><a href="#orgdf973bd">1.10.3. Free memory</a></li>
<li><a href="#org4bbe337">1.10.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org54fe26e">1.10.5. Read/Write the two<sub>e</sub> attribute</a></li>
</ul>
</li>
</ul>
@ -337,8 +337,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgc72aa79" class="outline-2">
<h2 id="orgc72aa79"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org8eb38b3" class="outline-2">
<h2 id="org8eb38b3"><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
@ -359,8 +359,8 @@ The file is written when closed, or when the flush function is called.
</p>
</div>
<div id="outline-container-org5966547" class="outline-3">
<h3 id="org5966547"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org12c3fce" class="outline-3">
<h3 id="org12c3fce"><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 {
@ -376,8 +376,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org593dbdf" class="outline-3">
<h3 id="org593dbdf"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org70b2171" class="outline-3">
<h3 id="org70b2171"><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;">rdm_s</span> {
@ -403,8 +403,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orga295b88" class="outline-3">
<h3 id="orga295b88"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org0693644" class="outline-3">
<h3 id="org0693644"><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>
@ -509,8 +509,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org857666c" class="outline-3">
<h3 id="org857666c"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-orge747409" class="outline-3">
<h3 id="orge747409"><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>
@ -534,8 +534,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgdcea87b" class="outline-3">
<h3 id="orgdcea87b"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-org682fa21" class="outline-3">
<h3 id="org682fa21"><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*
@ -706,8 +706,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-orgb8d7c17" class="outline-3">
<h3 id="orgb8d7c17"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-org39949f0" class="outline-3">
<h3 id="org39949f0"><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>
@ -766,8 +766,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-orgd378d85" class="outline-3">
<h3 id="orgd378d85"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-orgf1ff581" class="outline-3">
<h3 id="orgf1ff581"><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.
@ -803,8 +803,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-orgd7de6b1" class="outline-3">
<h3 id="orgd7de6b1"><span class="section-number-3">1.8</span> Template for has/read/write the <code>$group_num$</code> attribute</h3>
<div id="outline-container-org01a2375" class="outline-3">
<h3 id="org01a2375"><span class="section-number-3">1.8</span> Template for has/read/write the <code>$group_num$</code> 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>
@ -866,8 +866,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-org02da8e5" class="outline-3">
<h3 id="org02da8e5"><span class="section-number-3">1.9</span> Template for has/read/write the <code>$group_dset$</code> dataset</h3>
<div id="outline-container-orgc5025b1" class="outline-3">
<h3 id="orgc5025b1"><span class="section-number-3">1.9</span> Template for has/read/write the <code>$group_dset$</code> dataset</h3>
<div class="outline-text-3" id="text-1-9">
<p>
The <code>group_dset</code> array is assumed allocated with the appropriate size.
@ -964,12 +964,12 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-orgb9f5cd8" class="outline-3">
<h3 id="orgb9f5cd8"><span class="section-number-3">1.10</span> RDM struct (hard-coded)</h3>
<div id="outline-container-org1496c2f" class="outline-3">
<h3 id="org1496c2f"><span class="section-number-3">1.10</span> RDM struct (hard-coded)</h3>
<div class="outline-text-3" id="text-1-10">
</div>
<div id="outline-container-org77ebc42" class="outline-4">
<h4 id="org77ebc42"><span class="section-number-4">1.10.1</span> Read the complete struct</h4>
<div id="outline-container-org9c96847" class="outline-4">
<h4 id="org9c96847"><span class="section-number-4">1.10.1</span> Read the complete struct</h4>
<div class="outline-text-4" id="text-1-10-1">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">rdm_t</span>* <span style="color: #0000ff;">trexio_text_read_rdm</span>(<span style="color: #228b22;">trexio_text_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>);
@ -1064,8 +1064,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org1c4343a" class="outline-4">
<h4 id="org1c4343a"><span class="section-number-4">1.10.2</span> Flush the complete struct</h4>
<div id="outline-container-org5c443c9" class="outline-4">
<h4 id="org5c443c9"><span class="section-number-4">1.10.2</span> Flush the complete struct</h4>
<div class="outline-text-4" id="text-1-10-2">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #0000ff;">trexio_text_flush_rdm</span>(<span style="color: #228b22;">trexio_text_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>);
@ -1108,8 +1108,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-orge4d4880" class="outline-4">
<h4 id="orge4d4880"><span class="section-number-4">1.10.3</span> Free memory</h4>
<div id="outline-container-orgdf973bd" class="outline-4">
<h4 id="orgdf973bd"><span class="section-number-4">1.10.3</span> Free memory</h4>
<div class="outline-text-4" id="text-1-10-3">
<p>
Memory is allocated when reading. The followig function frees memory.
@ -1145,8 +1145,8 @@ Memory is allocated when reading. The followig function frees memory.
</div>
</div>
<div id="outline-container-orgc80ae44" class="outline-4">
<h4 id="orgc80ae44"><span class="section-number-4">1.10.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-org4bbe337" class="outline-4">
<h4 id="org4bbe337"><span class="section-number-4">1.10.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div class="outline-text-4" id="text-1-10-4">
<p>
The <code>one_e</code> array is assumed allocated with the appropriate size.
@ -1212,8 +1212,8 @@ The <code>one_e</code> array is assumed allocated with the appropriate size.
</div>
</div>
<div id="outline-container-org3b50d7b" class="outline-4">
<h4 id="org3b50d7b"><span class="section-number-4">1.10.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-org54fe26e" class="outline-4">
<h4 id="org54fe26e"><span class="section-number-4">1.10.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div class="outline-text-4" id="text-1-10-5">
<p>
<code>two_e</code> is a sparse data structure, which can be too large to fit
@ -1321,7 +1321,7 @@ file for each sparse float structure.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-05-06 Thu 17:57</p>
<p class="date">Created: 2021-05-06 Thu 22:03</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>