interface
- integer function trexio_write_$group_num$_64 (trex_file, num) bind(C)
+ integer(c_int32_t) function trexio_write_$group_num$_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_num_f_dtype_double$, intent(in), value :: num
end function trexio_write_$group_num$_64
end interface
@@ -2344,9 +2344,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_num$_64 (trex_file, num) bind(C)
+ integer(c_int32_t) function trexio_read_$group_num$_64 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_num_f_dtype_double$, intent(out) :: num
end function trexio_read_$group_num$_64
end interface
@@ -2355,9 +2355,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_write_$group_num$_32 (trex_file, num) bind(C)
+ integer(c_int32_t) function trexio_write_$group_num$_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_num_f_dtype_single$, intent(in), value :: num
end function trexio_write_$group_num$_32
end interface
@@ -2366,9 +2366,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_num$_32 (trex_file, num) bind(C)
+ integer(c_int32_t) function trexio_read_$group_num$_32 (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_num_f_dtype_single$, intent(out) :: num
end function trexio_read_$group_num$_32
end interface
@@ -2377,9 +2377,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_write_$group_num$ (trex_file, num) bind(C)
+ integer(c_int32_t) function trexio_write_$group_num$ (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_num_f_dtype_default$, intent(in), value :: num
end function trexio_write_$group_num$
end interface
@@ -2388,9 +2388,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_num$ (trex_file, num) bind(C)
+ integer(c_int32_t) function trexio_read_$group_num$ (trex_file, num) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_num_f_dtype_default$, intent(out) :: num
end function trexio_read_$group_num$
end interface
@@ -2399,9 +2399,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_has_$group_num$ (trex_file) bind(C)
+ integer(c_int32_t) function trexio_has_$group_num$ (trex_file) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
end function trexio_has_$group_num$
end interface
@@ -2409,8 +2409,8 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
-
-
3.2.4 Python templates for front end
+
+
3.2.4 Python templates for front end
def write_$group_num$(trexio_file, num_w: $group_num_py_dtype$) -> None:
@@ -2495,12 +2495,12 @@ These templates are based on the use of iso_c_binding
. Pointers hav
-
-
3.3 Templates for front end has/read/write a dataset of numerical data
+
+
3.3 Templates for front end has/read/write a dataset of numerical data
-
-
3.3.1 Introduction
+
+
3.3.1 Introduction
This section concerns API calls related to datasets.
@@ -2582,8 +2582,8 @@ This section concerns API calls related to datasets.
-
-
3.3.2 C templates for front end
+
+
3.3.2 C templates for front end
The C templates that correspond to each of the abovementioned functions can be found below.
@@ -2594,12 +2594,12 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
-
-
3.3.2.1 Function declarations
+
+
3.3.2.1 Function declarations
-
-
3.3.2.2 Source code for double precision functions
+
+
3.3.2.2 Source code for double precision functions
trexio_exit_code
@@ -2762,8 +2762,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
-
-
3.3.2.3 Source code for single precision functions
+
+
3.3.2.3 Source code for single precision functions
trexio_exit_code
@@ -2914,11 +2914,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
-
-
3.3.2.4 Source code for memory-safe functions
+
+
3.3.2.4 Source code for memory-safe functions
-
trexio_exit_code rc;
+trexio_exit_code rc;
int64_t $group_dset_dim$ = 0;
/* Error handling for this call is added by the generator */
@@ -3074,8 +3074,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
-
-
3.3.2.5 Source code for default functions
+
+
3.3.2.5 Source code for default functions
trexio_exit_code
@@ -3150,8 +3150,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
-
-
3.3.3 Fortran templates for front end
+
+
3.3.3 Fortran templates for front end
The Fortran
templates that provide an access to the C
API calls from Fortran
.
@@ -3160,9 +3160,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_write_$group_dset$_64 (trex_file, dset) bind(C)
+ integer(c_int32_t) function trexio_write_$group_dset$_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_dset_f_dtype_double$, intent(in) :: dset$group_dset_f_dims$
end function trexio_write_$group_dset$_64
end interface
@@ -3171,9 +3171,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_dset$_64 (trex_file, dset) bind(C)
+ integer(c_int32_t) function trexio_read_$group_dset$_64 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_dset_f_dtype_double$, intent(out) :: dset$group_dset_f_dims$
end function trexio_read_$group_dset$_64
end interface
@@ -3182,9 +3182,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_write_$group_dset$_32 (trex_file, dset) bind(C)
+ integer(c_int32_t) function trexio_write_$group_dset$_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_dset_f_dtype_single$, intent(in) :: dset$group_dset_f_dims$
end function trexio_write_$group_dset$_32
end interface
@@ -3193,9 +3193,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_dset$_32 (trex_file, dset) bind(C)
+ integer(c_int32_t) function trexio_read_$group_dset$_32 (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_dset_f_dtype_single$, intent(out) :: dset$group_dset_f_dims$
end function trexio_read_$group_dset$_32
end interface
@@ -3204,9 +3204,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_write_$group_dset$ (trex_file, dset) bind(C)
+ integer(c_int32_t) function trexio_write_$group_dset$ (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_dset_f_dtype_default$, intent(in) :: dset$group_dset_f_dims$
end function trexio_write_$group_dset$
end interface
@@ -3215,9 +3215,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_dset$ (trex_file, dset) bind(C)
+ integer(c_int32_t) function trexio_read_$group_dset$ (trex_file, dset) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
$group_dset_f_dtype_default$, intent(out) :: dset$group_dset_f_dims$
end function trexio_read_$group_dset$
end interface
@@ -3226,9 +3226,9 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_has_$group_dset$ (trex_file) bind(C)
+ integer(c_int32_t) function trexio_has_$group_dset$ (trex_file) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
end function trexio_has_$group_dset$
end interface
@@ -3236,8 +3236,8 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
-
-
3.3.4 Python templates for front end
+
+
3.3.4 Python templates for front end
def write_$group_dset$(trexio_file, dset_w) -> None:
@@ -3432,12 +3432,12 @@ These templates are based on the use of iso_c_binding
. Pointers hav
-
-
3.4 Templates for front end has/read/write a dataset of sparse data
+
+
3.4 Templates for front end has/read/write a dataset of sparse data
-
-
3.4.1 Introduction
+
+
3.4.1 Introduction
Sparse data structures are used typically for large tensors such as
@@ -3598,16 +3598,16 @@ This section concerns API calls related to sparse data structures.
-
-
3.4.2 C templates for front end
+
+
3.4.2 C templates for front end
-
-
3.4.2.1 Function declarations
+
+
3.4.2.1 Function declarations
-
-
3.4.2.2 Source code for default functions
+
+
3.4.2.2 Source code for default functions
trexio_exit_code trexio_read_safe_$group_dset$(trexio_t* const file,
@@ -3882,8 +3882,8 @@ This section concerns API calls related to sparse data structures.
-
-
3.4.3 Fortran templates for front end
+
+
3.4.3 Fortran templates for front end
The Fortran
templates that provide an access to the C
API calls from Fortran
.
@@ -3892,31 +3892,31 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_write_$group_dset$ (trex_file, &
- offset_file, buffer_size, &
- index_sparse, value_sparse) bind(C)
+ integer(c_int32_t) function trexio_write_$group_dset$ (trex_file, &
+ offset_file, buffer_size, &
+ index_sparse, value_sparse) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- integer(8), intent(in), value :: offset_file
- integer(8), intent(in), value :: buffer_size
- integer(4), intent(in) :: index_sparse(*)
- double precision, intent(in) :: value_sparse(*)
+ integer(c_int64_t), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: offset_file
+ integer(c_int64_t), intent(in), value :: buffer_size
+ integer(c_int32_t), intent(in) :: index_sparse(*)
+ real(c_double), intent(in) :: value_sparse(*)
end function trexio_write_$group_dset$
end interface
interface
- integer function trexio_write_safe_$group_dset$ (trex_file, &
- offset_file, buffer_size, &
- index_sparse, index_size, &
- value_sparse, value_size) bind(C)
+ integer(c_int32_t) function trexio_write_safe_$group_dset$ (trex_file, &
+ offset_file, buffer_size, &
+ index_sparse, index_size, &
+ value_sparse, value_size) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- integer(8), intent(in), value :: offset_file
- integer(8), intent(in), value :: buffer_size
- integer(4), intent(in) :: index_sparse(*)
- integer(8), intent(in), value :: index_size
- double precision, intent(in) :: value_sparse(*)
- integer(8), intent(in), value :: value_size
+ integer(c_int64_t), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: offset_file
+ integer(c_int64_t), intent(in), value :: buffer_size
+ integer(c_int32_t), intent(in) :: index_sparse(*)
+ integer(c_int64_t), intent(in), value :: index_size
+ real(c_double), intent(in) :: value_sparse(*)
+ integer(c_int64_t), intent(in), value :: value_size
end function trexio_write_safe_$group_dset$
end interface
@@ -3924,31 +3924,31 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_dset$ (trex_file, &
- offset_file, buffer_size, &
- index_sparse, value_sparse) bind(C)
+ integer(c_int32_t) function trexio_read_$group_dset$ (trex_file, &
+ offset_file, buffer_size, &
+ index_sparse, value_sparse) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- integer(8), intent(in), value :: offset_file
- integer(8), intent(inout) :: buffer_size
- integer(4), intent(out) :: index_sparse(*)
- double precision, intent(out) :: value_sparse(*)
+ integer(c_int64_t), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: offset_file
+ integer(c_int64_t), intent(inout) :: buffer_size
+ integer(c_int32_t), intent(out) :: index_sparse(*)
+ real(c_double), intent(out) :: value_sparse(*)
end function trexio_read_$group_dset$
end interface
interface
- integer function trexio_read_safe_$group_dset$ (trex_file, &
- offset_file, buffer_size, &
- index_sparse, index_size, &
- value_sparse, value_size) bind(C)
+ integer(c_int32_t) function trexio_read_safe_$group_dset$ (trex_file, &
+ offset_file, buffer_size, &
+ index_sparse, index_size, &
+ value_sparse, value_size) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- integer(8), intent(in), value :: offset_file
- integer(8), intent(inout) :: buffer_size
- integer(4), intent(out) :: index_sparse(*)
- integer(8), intent(in), value :: index_size
- double precision, intent(out) :: value_sparse(*)
- integer(8), intent(in), value :: value_size
+ integer(c_int64_t), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: offset_file
+ integer(c_int64_t), intent(inout) :: buffer_size
+ integer(c_int32_t), intent(out) :: index_sparse(*)
+ integer(c_int64_t), intent(in), value :: index_size
+ real(c_double), intent(out) :: value_sparse(*)
+ integer(c_int64_t), intent(in), value :: value_size
end function trexio_read_safe_$group_dset$
end interface
@@ -3956,11 +3956,11 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_dset$_size (trex_file, &
- size_max) bind(C)
+ integer(c_int32_t) function trexio_read_$group_dset$_size (trex_file, &
+ size_max) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- integer(8), intent(out) :: size_max
+ integer(c_int64_t), intent(in), value :: trex_file
+ integer(c_int64_t), intent(out) :: size_max
end function trexio_read_$group_dset$_size
end interface
@@ -3968,9 +3968,9 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
interface
- integer function trexio_has_$group_dset$ (trex_file) bind(C)
+ integer(c_int32_t) function trexio_has_$group_dset$ (trex_file) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
end function trexio_has_$group_dset$
end interface
@@ -3978,8 +3978,8 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
-
-
3.4.4 Python templates for front end
+
+
3.4.4 Python templates for front end
def write_$group_dset$(trexio_file: File, offset_file: int, buffer_size: int, indices: list, values: list) -> None:
@@ -4200,12 +4200,12 @@ These templates are based on the use of iso_c_binding
. Pointers hav
-
-
3.5 Templates for front end has/read/write a dataset of strings
+
+
3.5 Templates for front end has/read/write a dataset of strings
-
-
3.5.1 Introduction
+
+
3.5.1 Introduction
This section concerns API calls related to datasets of strings.
@@ -4245,8 +4245,8 @@ This section concerns API calls related to datasets of strings.
-
-
3.5.2 C templates for front end
+
+
3.5.2 C templates for front end
First parameter is the TREXIO
file handle. Second parameter is the variable to be written/read
@@ -4254,12 +4254,12 @@ to/from the TREXIO
file (except for trexio_has_
functi
-
-
3.5.2.1 Function declarations
+
+
3.5.2.1 Function declarations
-
-
3.5.2.2 Source code for default functions
+
+
3.5.2.2 Source code for default functions
trexio_exit_code
@@ -4509,8 +4509,8 @@ to/from the TREXIO
file (except for trexio_has_
functi
-
-
3.5.3 Fortran templates for front end
+
+
3.5.3 Fortran templates for front end
The Fortran
templates that provide an access to the C
API calls from Fortran
.
@@ -4519,11 +4519,11 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_write_$group_dset$_low (trex_file, dset, max_str_len) bind(C)
+ integer(c_int32_t) function trexio_write_$group_dset$_low (trex_file, dset, max_str_len) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- character, intent(in) :: dset(*)
- integer(4), intent(in), value :: max_str_len
+ integer(c_int64_t), intent(in), value :: trex_file
+ character(kind=c_char), intent(in) :: dset(*)
+ integer(c_int32_t), intent(in), value :: max_str_len
end function trexio_write_$group_dset$_low
end interface
@@ -4531,11 +4531,11 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_dset$_low (trex_file, dset, max_str_len) bind(C)
+ integer(c_int32_t) function trexio_read_$group_dset$_low (trex_file, dset, max_str_len) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- character, intent(out) :: dset(*)
- integer(4), intent(in), value :: max_str_len
+ integer(c_int64_t), intent(in), value :: trex_file
+ character(kind=c_char), intent(out) :: dset(*)
+ integer(c_int32_t), intent(in), value :: max_str_len
end function trexio_read_$group_dset$_low
end interface
@@ -4543,9 +4543,9 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
interface
- integer function trexio_has_$group_dset$ (trex_file) bind(C)
+ integer(c_int32_t) function trexio_has_$group_dset$ (trex_file) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
end function trexio_has_$group_dset$
end interface
@@ -4554,8 +4554,8 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
integer function trexio_read_$group_dset$ (trex_file, dset, max_str_len)
implicit none
- integer(8), intent(in), value :: trex_file
- integer(4), intent(in), value :: max_str_len
+ integer(8), intent(in), value :: trex_file
+ integer(4), intent(in), value :: max_str_len
character(len=*), intent(inout) :: dset(*)
character, allocatable :: str_compiled(:)
@@ -4586,7 +4586,7 @@ These templates are based on the use of iso_c_binding
. Pointers hav
implicit none
integer(8), intent(in), value :: trex_file
integer(4), intent(in), value :: max_str_len
- character(len=*), intent(in) :: dset(*)
+ character(len=*), intent(in) :: dset(*)
character(len=:), allocatable :: str_compiled
integer(8) :: $group_dset_dim$
@@ -4606,8 +4606,8 @@ These templates are based on the use of iso_c_binding
. Pointers hav
-
-
3.5.4 Python templates for front end
+
+
3.5.4 Python templates for front end
def write_$group_dset$(trexio_file, dset_w: list) -> None:
@@ -4723,12 +4723,12 @@ These templates are based on the use of iso_c_binding
. Pointers hav
-
-
3.6 Templates for front end has/read/write a single string attribute
+
+
3.6 Templates for front end has/read/write a single string attribute
-
-
3.6.1 Introduction
+
+
3.6.1 Introduction
This section concerns API calls related to string attributes.
@@ -4768,16 +4768,16 @@ This section concerns API calls related to string attributes.
-
-
3.6.2 C templates for front end
+
+
3.6.2 C templates for front end
-
-
3.6.2.1 Function declarations
+
+
3.6.2.1 Function declarations
-
-
3.6.2.2 Source code for default functions
+
+
3.6.2.2 Source code for default functions
trexio_exit_code
@@ -4881,8 +4881,8 @@ This section concerns API calls related to string attributes.
-
-
3.6.3 Fortran templates for front end
+
+
3.6.3 Fortran templates for front end
The Fortran
templates that provide an access to the C
API calls from Fortran.
@@ -4892,12 +4892,12 @@ These templates are based on the use of iso_c_binding
. Pointers hav
interface
- integer function trexio_write_$group_str$_c (trex_file, str, max_str_len) &
- bind(C, name="trexio_write_$group_str$")
+ integer(c_int32_t) function trexio_write_$group_str$_c (trex_file, str, max_str_len) &
+ bind(C, name="trexio_write_$group_str$")
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- character, intent(in) :: str(*)
- integer(4), intent(in), value :: max_str_len
+ integer(c_int64_t), intent(in), value :: trex_file
+ character(kind=c_char), intent(in) :: str(*)
+ integer(c_int32_t), intent(in), value :: max_str_len
end function trexio_write_$group_str$_c
end interface
@@ -4905,12 +4905,12 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
interface
- integer function trexio_read_$group_str$_c (trex_file, str, max_str_len) &
- bind(C, name="trexio_read_$group_str$")
+ integer(c_int32_t) function trexio_read_$group_str$_c (trex_file, str, max_str_len) &
+ bind(C, name="trexio_read_$group_str$")
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
- character, intent(out) :: str(*)
- integer(4), intent(in), value :: max_str_len
+ integer(c_int64_t), intent(in), value :: trex_file
+ character(kind=c_char), intent(out) :: str(*)
+ integer(c_int32_t), intent(in), value :: max_str_len
end function trexio_read_$group_str$_c
end interface
@@ -4918,9 +4918,9 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
interface
- integer function trexio_has_$group_str$ (trex_file) bind(C)
+ integer(c_int32_t) function trexio_has_$group_str$ (trex_file) bind(C)
use, intrinsic :: iso_c_binding
- integer(8), intent(in), value :: trex_file
+ integer(c_int64_t), intent(in), value :: trex_file
end function trexio_has_$group_str$
end interface
@@ -4945,7 +4945,7 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
implicit none
integer(8),
intent(in),
value ::
trex_file
integer(4),
intent(in),
value ::
max_str_len
-
character(len=*),
intent(in) ::
str
+
character(len=*),
intent(in) ::
str
character(len=
len_trim(str)+1) ::
str_c
@@ -4959,8 +4959,8 @@ These templates are based on the use of
iso_c_binding
. Pointers hav
-
-
3.6.4 Python templates for front end
+
+
3.6.4 Python templates for front end
def write_$group_str$(trexio_file, str_w: str) -> None:
@@ -5050,8 +5050,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.
@@ -5069,7 +5069,7 @@ Note, that Fortran interface calls the main TREXIO
API, which is wr
character, intent(in), value :: mode
integer(trexio_backend), intent(in), value :: backend
integer(trexio_exit_code), intent(out) :: rc_open
- character(len=len_trim(filename)+1) :: filename_c
+ character(len=len_trim(filename)+1) :: filename_c
integer(trexio_exit_code) :: rc
filename_c = trim(filename) // c_null_char
@@ -5121,7 +5121,7 @@ C API. This is needed due to the fact that strings in C are terminated by
integer, intent(in), value :: max_len_str ! maximum length of a string in an array
character(len=*), intent(in) :: str_array(*)
character(len=:), allocatable, intent(out) :: str_res
- integer :: i
+ integer(8) :: i
str_res = ''
do i = 1, max_num_str
@@ -5142,18 +5142,16 @@ The subroutine below does the reverse tranformation from one big string with del
implicit none
integer(8), intent(in), value :: max_num_str ! number of elements in strign array
- integer, intent(in), value :: max_len_str ! maximum length of a string in an array
- character, intent(in) :: str_flat(*)
- character(len=*), intent(inout) :: str_array(*)
+ integer, intent(in), value :: max_len_str ! maximum length of a string in an array
+ character, intent(in) :: str_flat(*)
+ character(len=*), intent(inout) :: str_array(*)
character(len=max_len_str) :: tmp_str
- integer :: i, j, k, ind, offset
- integer(8) :: len_flat
+ integer(8) :: len_flat, i, j, k, ind
len_flat = (max_len_str+1)*max_num_str + 1
ind=1
- offset=1
do i=1,max_num_str
k = 1
tmp_str=''
@@ -5166,7 +5164,6 @@ The subroutine below does the reverse tranformation from one big string with del
k = k + 1
enddo
str_array(i)=tmp_str
- offset=ind
enddo
end subroutine trexio_str2strarray
@@ -5184,8 +5181,8 @@ two code are identical, i.e. if the assert
statement pass.
subroutine trexio_assert(trexio_rc, check_rc, success_message)
implicit none
- integer, intent(in), value :: trexio_rc
- integer, intent(in), value :: check_rc
+ integer, intent(in), value :: trexio_rc
+ integer, intent(in), value :: check_rc
character(len=*), intent(in), optional :: success_message
character*(128) :: str
@@ -5195,7 +5192,7 @@ two code are identical, i.e. if the assert
statement pass.
else
call trexio_string_of_error(trexio_rc, str)
print *, trim(str)
- call exit(1)
+ error stop 1
endif
end subroutine trexio_assert
@@ -5206,7 +5203,7 @@ two code are identical, i.e. if the assert
statement pass.
Author: TREX-CoE
-
Created: 2022-01-19 Wed 14:14
+
Created: 2022-01-19 Wed 18:34
Validate
diff --git a/templator_hdf5.html b/templator_hdf5.html
index 780ce3e..1a3c97f 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,29 +311,29 @@ 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$"
@@ -345,8 +345,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 {
@@ -359,8 +359,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
@@ -460,8 +460,8 @@ for the JavaScript code in this tag.
-
-
1.4 Template for HDF5 has/read/write the numerical attribute
+
+
1.4 Template for HDF5 has/read/write the numerical attribute
trexio_exit_code
@@ -555,8 +555,8 @@ for the JavaScript code in this tag.
-
-
1.5 Template for HDF5 has/read/write the dataset of numerical data
+
+
1.5 Template for HDF5 has/read/write the dataset of numerical data
trexio_exit_code
@@ -678,8 +678,8 @@ for the JavaScript code in this tag.
-
-
1.6 Template for HDF5 has/read/write the dataset of sparse data
+
+
1.6 Template for HDF5 has/read/write the dataset of sparse data
Sparse data is stored using extensible datasets of HDF5. Extensibility is required
@@ -880,8 +880,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
-
-
1.7 Template for HDF5 has/read/write the dataset of strings
+
+
1.7 Template for HDF5 has/read/write the dataset of strings
trexio_exit_code
@@ -1085,8 +1085,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
-
-
1.8 Template for HDF5 has/read/write the string attribute
+
+
1.8 Template for HDF5 has/read/write the string attribute
trexio_exit_code
@@ -1208,8 +1208,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
-
-
1.9 Helper functions
+
+
1.9 Helper functions
trexio_exit_code
@@ -1471,7 +1471,7 @@ due to the fact that the sparse data will be written in chunks of user-defined s
Author: TREX-CoE
-
Created: 2022-01-19 Wed 14:14
+
Created: 2022-01-19 Wed 18:34
Validate
diff --git a/templator_text.html b/templator_text.html
index 4bac26b..cbd3e84 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,28 +311,28 @@ 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
@@ -353,8 +353,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 {
@@ -373,8 +373,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 trexio_text_s {
@@ -387,8 +387,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
@@ -531,8 +531,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
@@ -554,8 +554,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*
@@ -847,8 +847,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
@@ -913,8 +913,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.
@@ -959,8 +959,8 @@ Memory is allocated when reading. The following function frees memory.
-
-
1.8 Template for has/read/write the numerical attribute
+
+
1.8 Template for has/read/write the numerical attribute
trexio_exit_code
@@ -1023,8 +1023,8 @@ Memory is allocated when reading. The following function frees memory.
-
-
1.9 Template for has/read/write the dataset of numerical data
+
+
1.9 Template for has/read/write the dataset of numerical data
The group_dset
array is assumed allocated with the appropriate size.
@@ -1120,8 +1120,8 @@ The group_dset
array is assumed allocated with the appropriate size
-
-
1.10 Template for has/read/write the dataset of strings
+
+
1.10 Template for has/read/write the dataset of strings
The group_dset
array is assumed allocated with the appropriate size.
@@ -1222,8 +1222,8 @@ The group_dset
array is assumed allocated with the appropriate size
-
-
1.11 Template for has/read/write the string attribute
+
+
1.11 Template for has/read/write the string attribute
trexio_exit_code
@@ -1297,8 +1297,8 @@ The group_dset
array is assumed allocated with the appropriate size
-
-
1.12 Template for has/read/write the dataset of sparse data
+
+
1.12 Template for has/read/write the dataset of sparse data
Each sparse array is stored in a separate .txt
file due to the fact that sparse I/O has to be decoupled
@@ -1575,7 +1575,7 @@ User provides indices and values of the sparse array as two separate variables.
Author: TREX-CoE
-
Created: 2022-01-19 Wed 14:14
+
Created: 2022-01-19 Wed 18:34
Validate
diff --git a/trex.html b/trex.html
index f2b2377..522e393 100644
--- a/trex.html
+++ b/trex.html
@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
+
TREX Configuration file
@@ -333,33 +333,33 @@ for the JavaScript code in this tag.
Table of Contents
@@ -409,8 +409,8 @@ fetched using multiple function calls to perform I/O on buffers.
-
-
1 Metadata (metadata group)
+
+
1 Metadata (metadata group)
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.
-
+
@@ -487,15 +487,15 @@ authors of the file, and a textual description.
-
-
2 Electron (electron group)
+
+
2 Electron (electron group)
We consider wave functions expressed in the spin-free formalism, where
the number of ↑ and ↓ electrons is fixed.
-
+
@@ -534,15 +534,15 @@ the number of ↑ and ↓ electrons is fixed.
-
-
3 Nucleus (nucleus group)
+
+
3 Nucleus (nucleus group)
The nuclei are considered as fixed point charges. Coordinates are
given in Cartesian \((x,y,z)\) format.
-
+
@@ -609,8 +609,8 @@ given in Cartesian \((x,y,z)\) format.
-
-
4 Effective core potentials (ecp group)
+
+
4 Effective core potentials (ecp group)
An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the
@@ -643,7 +643,7 @@ The functions \(V_{A\ell}\) are parameterized as:
See http://dx.doi.org/10.1063/1.4984046 or https://doi.org/10.1063/1.5121006 for more info.
-
+
@@ -741,8 +741,8 @@ The latter causes issues when written before ang_mom
in the TREXIO
-
-