diff --git a/README.html b/README.html index 27f8d22..2f2223a 100644 --- a/README.html +++ b/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + TREXIO source code documentation @@ -341,7 +341,7 @@ and bug reports should be submitted at

Author: TREX-CoE

-

Created: 2021-05-07 Fri 22:44

+

Created: 2021-05-18 Tue 10:16

Validate

diff --git a/index.html b/index.html index 27f8d22..2f2223a 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + TREXIO source code documentation @@ -341,7 +341,7 @@ and bug reports should be submitted at

Author: TREX-CoE

-

Created: 2021-05-07 Fri 22:44

+

Created: 2021-05-18 Tue 10:16

Validate

diff --git a/templator_front.html b/templator_front.html index 022464d..3b4f464 100644 --- a/templator_front.html +++ b/templator_front.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Front end API @@ -311,45 +311,45 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 Coding conventions

+
+

1 Coding conventions

  • integer types will be defined using types given in stdint.h
  • @@ -364,8 +364,8 @@ for the JavaScript code in this tag.
-
-

1.1 Memory allocation

+
+

1.1 Memory allocation

Memory allocation of structures can be facilitated by using the @@ -400,8 +400,8 @@ The maximum string size for the filenames is 4096 characters.

-
-

2 Front end

+
+

2 Front end

All calls to TREXIO are thread-safe. @@ -409,10 +409,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.

-
-

2.1 Error handling

+
+

2.1 Error handling

- +
@@ -694,8 +694,8 @@ The text strings are extracted from the previous table. -
-

2.2 Back ends

+
+

2.2 Back ends

TREXIO has several back ends: @@ -725,8 +725,8 @@ lines that correspond to the TREXIO_JSON back end (not implemented

-
-

2.3 Read/write behavior

+
+

2.3 Read/write behavior

Every time a reading function is called, the data is read from the @@ -754,8 +754,8 @@ concurrent programs, the behavior is not specified.

-
-

2.4 TREXIO file type

+
+

2.4 TREXIO file type

trexio_s is the the main type for TREXIO files, visible to the users @@ -787,8 +787,8 @@ TREXIO files will have as a first argument the TREXIO file handle.

-
-

2.5 Polymorphism of the file handle

+
+

2.5 Polymorphism of the file handle

Polymorphism of the trexio_t type is handled by ensuring that the @@ -807,8 +807,8 @@ corresponding types for all back ends can be safely casted to

-
-

2.6 File opening

+
+

2.6 File opening

trexio_open creates a new TREXIO file or opens existing one. @@ -970,8 +970,8 @@ should tend to avoid renaming the .txt data files.

-
-

2.7 File closing

+
+

2.7 File closing

trexio_close closes an existing trexio_t file. @@ -1070,8 +1070,8 @@ output:

-
-

3 Templates for front end

+
+

3 Templates for front end

Consider the following block of trex.json: @@ -1184,28 +1184,46 @@ each variable can be found below:

+ + + + + + - - + + - - + + + + + + + + + + + + + + - - + + - - + + @@ -1243,8 +1261,8 @@ or double precision for integer and floating point numbers.

-
-

3.1 Templates for front end has/read/write a dimension

+
+

3.1 Templates for front end has/read/write a dimension

This section concerns API calls related to dimensioning variables. @@ -1313,8 +1331,8 @@ This section concerns API calls related to dimensioning variables.

%24.16e
$group_dset_dtype_default$Default datatype of the dataset [C]double/int32_t
$group_dset_dtype_single$Single precision type of the dataset [C]floatSingle precision datatype of the dataset [C]float/int32_t
$group_dset_dtype_double$Double precision type of the dataset [C]doubleDouble precision datatype of the dataset [C]double/int64_t
$default_prec$Default precision for read/write without suffix [C]64/32
$group_dset_f_dtype_default$Default datatype of the dataset [Fortran]real(8)/integer(4)
$group_dset_f_dtype_single$Single precision type of the dataset [Fortran]real(4)Single precision datatype of the dataset [Fortran]real(4)/integer(4)
$group_dset_f_dtype_double$Double precision type of the dataset [Fortran]real(8)Double precision datatype of the dataset [Fortran]real(8)/integer(8)
-
-

3.1.1 C templates for front end

+
+

3.1.1 C templates for front end

The C templates that correspond to each of the abovementioned @@ -1506,8 +1524,8 @@ precision (see Table above).

-
-

3.1.2 Fortran templates for front end

+
+

3.1.2 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -1593,8 +1611,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.2 Templates for front end has/read/write a dataset

+
+

3.2 Templates for front end has/read/write a dataset

This section concerns API calls related to datasets. @@ -1663,8 +1681,8 @@ This section concerns API calls related to datasets.

-
-

3.2.1 C templates for front end

+
+

3.2.1 C templates for front end

The C templates that correspond to each of the abovementioned functions can be found below. @@ -1876,18 +1894,18 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T

trexio_exit_code
-trexio_read_$group$_$group_dset$ (trexio_t* const file, $group_dset_dtype_double$* const $group_dset$)
+trexio_read_$group$_$group_dset$ (trexio_t* const file, $group_dset_dtype_default$* const $group_dset$)
 {
-  return trexio_read_$group$_$group_dset$_64(file, $group_dset$);
+  return trexio_read_$group$_$group_dset$_$default_prec$(file, $group_dset$);
 }
 
trexio_exit_code
-trexio_write_$group$_$group_dset$ (trexio_t* const file, const $group_dset_dtype_double$* $group_dset$)
+trexio_write_$group$_$group_dset$ (trexio_t* const file, const $group_dset_dtype_default$* $group_dset$)
 {
-  return trexio_write_$group$_$group_dset$_64(file, $group_dset$);
+  return trexio_write_$group$_$group_dset$_$default_prec$(file, $group_dset$);
 }
 
@@ -1922,8 +1940,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
-
-

3.2.2 Fortran templates for front end

+
+

3.2.2 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -1979,7 +1997,7 @@ These templates are based on the use of iso_c_binding. Pointers hav integer function trexio_write_$group$_$group_dset$ (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file - $group_dset_f_dtype_double$, intent(in) :: dset$group_dset_f_dims$ + $group_dset_f_dtype_default$, intent(in) :: dset$group_dset_f_dims$ end function trexio_write_$group$_$group_dset$ end interface @@ -1990,7 +2008,7 @@ These templates are based on the use of iso_c_binding. Pointers hav integer function trexio_read_$group$_$group_dset$ (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file - $group_dset_f_dtype_double$, intent(out) :: dset$group_dset_f_dims$ + $group_dset_f_dtype_default$, intent(out) :: dset$group_dset_f_dims$ end function trexio_read_$group$_$group_dset$ end interface @@ -2010,8 +2028,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

4 Fortran helper/wrapper functions

+
+

4 Fortran helper/wrapper functions

The function below adapts the original C-based trexio_open for Fortran. @@ -2040,7 +2058,7 @@ Note, that Fortran interface calls the main TREXIO API, which is wr

Author: TREX-CoE

-

Created: 2021-05-07 Fri 22:44

+

Created: 2021-05-18 Tue 10:16

Validate

diff --git a/templator_hdf5.html b/templator_hdf5.html index e31fc0f..0024f26 100644 --- a/templator_hdf5.html +++ b/templator_hdf5.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + HDF5 back end @@ -311,25 +311,25 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 HDF5 back end

+
+

1 HDF5 back end

-
-

1.1 Template for HDF5 definitions

+
+

1.1 Template for HDF5 definitions

#define $GROUP$_GROUP_NAME          "$group$"
@@ -340,8 +340,8 @@ for the JavaScript code in this tag.
 
-
-

1.2 Template for HDF5 structures

+
+

1.2 Template for HDF5 structures

typedef struct trexio_hdf5_s {
@@ -356,8 +356,8 @@ for the JavaScript code in this tag.
 
-
-

1.3 Template for HDF5 init/deinit

+
+

1.3 Template for HDF5 init/deinit

trexio_exit_code
@@ -440,8 +440,8 @@ for the JavaScript code in this tag.
 
-
-

1.4 Template for HDF5 has/read/write a number

+
+

1.4 Template for HDF5 has/read/write a number

trexio_exit_code
@@ -563,8 +563,8 @@ for the JavaScript code in this tag.
 
-
-

1.5 Template for HDF5 has/read/write a dataset

+
+

1.5 Template for HDF5 has/read/write a dataset

trexio_exit_code
@@ -698,7 +698,7 @@ for the JavaScript code in this tag.
 

Author: TREX-CoE

-

Created: 2021-05-07 Fri 22:44

+

Created: 2021-05-18 Tue 10:16

Validate

diff --git a/templator_text.html b/templator_text.html index 859c603..9591447 100644 --- a/templator_text.html +++ b/templator_text.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + TEXT back end @@ -311,24 +311,24 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 TEXT back end

+
+

1 TEXT back end

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.

-
-

1.1 Template for group-related structures in text back end

+
+

1.1 Template for group-related structures in text back end

typedef struct $group$_s {
@@ -376,8 +376,8 @@ The file is written when closed, or when the flush function is called.
 
-
-

1.2 Template for general structure in text back end

+
+

1.2 Template for general structure in text back end

typedef struct rdm_s {
@@ -403,8 +403,8 @@ The file is written when closed, or when the flush function is called.
 
-
-

1.3 Initialize function (constant part)

+
+

1.3 Initialize function (constant part)

trexio_exit_code
@@ -436,10 +436,6 @@ The file is written when closed, or when the flush function is called.
 
   char file_name[TREXIO_MAX_FILENAME_LENGTH];
 
-  if (file_name == NULL) {
-    return TREXIO_ALLOCATION_FAILED;
-  }
-
   strncpy (file_name, file->file_name, TREXIO_MAX_FILENAME_LENGTH);
   strncat (file_name, lock_file_name, TREXIO_MAX_FILENAME_LENGTH-strlen(lock_file_name));
 
@@ -509,8 +505,8 @@ The file is written when closed, or when the flush function is called.
 
-
-

1.4 Deinitialize function (templated part)

+
+

1.4 Deinitialize function (templated part)

trexio_exit_code
@@ -534,8 +530,8 @@ The file is written when closed, or when the flush function is called.
 
-
-

1.5 Template for text read struct

+
+

1.5 Template for text read struct

$group$_t*
@@ -558,11 +554,6 @@ trexio_text_read_$group$ (trexio_text_t* Build the file name */
   const char* $group$_file_name = "/$group$.txt";
 
-  if ($group$->file_name == NULL) {
-    FREE($group$);
-    return NULL;
-  }
-
   strncpy ($group$->file_name, file->parent.file_name, TREXIO_MAX_FILENAME_LENGTH);
   strncat ($group$->file_name, $group$_file_name,
            TREXIO_MAX_FILENAME_LENGTH-strlen($group$_file_name));
@@ -706,8 +697,8 @@ trexio_text_read_$group$ (trexio_text_t* 
 
-
-

1.6 Template for text flush struct

+
+

1.6 Template for text flush struct

trexio_exit_code
@@ -766,8 +757,8 @@ trexio_text_read_$group$ (trexio_text_t* 
 
-
-

1.7 Template for text free memory

+
+

1.7 Template for text free memory

Memory is allocated when reading. The following function frees memory. @@ -803,8 +794,8 @@ Memory is allocated when reading. The following function frees memory.

-
-

1.8 Template for has/read/write the $group_num$ attribute

+
+

1.8 Template for has/read/write the $group_num$ attribute

trexio_exit_code
@@ -866,8 +857,8 @@ Memory is allocated when reading. The following function frees memory.
 
-
-

1.9 Template for has/read/write the $group_dset$ dataset

+
+

1.9 Template for has/read/write the $group_dset$ dataset

The group_dset array is assumed allocated with the appropriate size. @@ -964,12 +955,12 @@ The group_dset array is assumed allocated with the appropriate size

-
-

1.10 RDM struct (hard-coded)

+
+

1.10 RDM struct (hard-coded)

-
-

1.10.1 Read the complete struct

+
+

1.10.1 Read the complete struct

rdm_t* trexio_text_read_rdm(trexio_text_t* const file);
@@ -1064,8 +1055,8 @@ The group_dset array is assumed allocated with the appropriate size
 
-
-

1.10.2 Flush the complete struct

+
+

1.10.2 Flush the complete struct

trexio_exit_code trexio_text_flush_rdm(trexio_text_t* const file);
@@ -1108,8 +1099,8 @@ The group_dset array is assumed allocated with the appropriate size
 
-
-

1.10.3 Free memory

+
+

1.10.3 Free memory

Memory is allocated when reading. The followig function frees memory. @@ -1145,8 +1136,8 @@ Memory is allocated when reading. The followig function frees memory.

-
-

1.10.4 Read/Write the onee attribute

+
+

1.10.4 Read/Write the onee attribute

The one_e array is assumed allocated with the appropriate size. @@ -1212,8 +1203,8 @@ The one_e array is assumed allocated with the appropriate size.

-
-

1.10.5 Read/Write the twoe attribute

+
+

1.10.5 Read/Write the twoe attribute

two_e is a sparse data structure, which can be too large to fit @@ -1321,7 +1312,7 @@ file for each sparse float structure.

Author: TREX-CoE

-

Created: 2021-05-07 Fri 22:44

+

Created: 2021-05-18 Tue 10:16

Validate