@@ -54,8 +54,7 @@ module h5fortran
5454! > below are procedure that need generic mapping (type or rank agnostic)
5555
5656! > write group or dataset integer/real
57- generic, public :: write = > &
58- hdf_write_scalar_r32,hdf_write_scalar_r64,hdf_write_scalar_i32,hdf_write_scalar_i64, hdf_write_scalar_char, &
57+ generic, public :: write = > hdf_write_scalar, &
5958hdf_write_1d_r32, hdf_write_1d_r64, hdf_write_1d_i32, hdf_write_1d_i64, &
6059hdf_write_2d_r32, hdf_write_2d_r64, hdf_write_2d_i32, hdf_write_2d_i64, &
6160hdf_write_3d_r32, hdf_write_3d_r64, hdf_write_3d_i32, hdf_write_3d_i64, &
@@ -64,20 +63,6 @@ module h5fortran
6463hdf_write_6d_r32, hdf_write_6d_r64, hdf_write_6d_i32, hdf_write_6d_i64, &
6564hdf_write_7d_r32, hdf_write_7d_r64, hdf_write_7d_i32, hdf_write_7d_i64
6665
67- generic, public :: write_r32 = > hdf_write_scalar_r32,hdf_write_1d_r32,hdf_write_2d_r32,hdf_write_3d_r32, &
68- hdf_write_4d_r32,hdf_write_5d_r32,hdf_write_6d_r32,hdf_write_7d_r32
69-
70- generic, public :: write_r64 = > hdf_write_scalar_r64,hdf_write_1d_r64,hdf_write_2d_r64,hdf_write_3d_r64, &
71- hdf_write_4d_r64,hdf_write_5d_r64,hdf_write_6d_r64,hdf_write_7d_r64
72-
73- generic, public :: write_i32 = > hdf_write_scalar_i32,hdf_write_1d_i32,hdf_write_2d_i32,hdf_write_3d_i32, &
74- hdf_write_4d_i32,hdf_write_5d_i32,hdf_write_6d_i32,hdf_write_7d_i32
75-
76- generic, public :: write_i64 = > hdf_write_scalar_i64,hdf_write_1d_i64,hdf_write_2d_i64,hdf_write_3d_i64, &
77- hdf_write_4d_i64,hdf_write_5d_i64,hdf_write_6d_i64,hdf_write_7d_i64
78-
79- generic, public :: write_char = > hdf_write_scalar_char
80-
8166! > write attributes
8267generic, public :: writeattr = > writeattr_char, writeattr_num
8368
@@ -90,8 +75,7 @@ module h5fortran
9075
9176! > private methods
9277! ! each method must be declared here, and above as a generic, public
93- procedure ,private :: &
94- hdf_write_scalar_r32, hdf_write_scalar_r64, hdf_write_scalar_i32, hdf_write_scalar_i64, hdf_write_scalar_char, &
78+ procedure ,private :: hdf_write_scalar, &
9579hdf_write_1d_r32, hdf_write_1d_r64, hdf_write_1d_i32, hdf_write_1d_i64, &
9680hdf_write_2d_r32, hdf_write_2d_r64, hdf_write_2d_i32, hdf_write_2d_i64, &
9781hdf_write_3d_r32, hdf_write_3d_r64, hdf_write_3d_i32, hdf_write_3d_i64, &
@@ -459,46 +443,13 @@ end subroutine lt7read
459443end interface
460444
461445interface ! < writer.f90
462- module subroutine hdf_write_scalar_r32 (self , dname , value , ierr , compact )
463- class(hdf5_file), intent (inout ) :: self
464- character (* ), intent (in ) :: dname
465- real (real32), intent (in ) :: value
466- logical , intent (in ), optional :: compact
467- integer , intent (out ), optional :: ierr
468- end subroutine hdf_write_scalar_r32
469-
470- module subroutine hdf_write_scalar_r64 (self , dname , value , ierr , compact )
446+ module subroutine hdf_write_scalar (self , dname , value , ierr , compact )
471447class(hdf5_file), intent (inout ) :: self
472448character (* ), intent (in ) :: dname
473- real (real64 ), intent (in ) :: value
449+ class( * ), intent (in ) :: value
474450logical , intent (in ), optional :: compact
475451integer , intent (out ), optional :: ierr
476- end subroutine hdf_write_scalar_r64
477-
478- module subroutine hdf_write_scalar_i32 (self , dname , value , ierr , compact )
479- class(hdf5_file), intent (inout ) :: self
480- character (* ), intent (in ) :: dname
481- integer (int32), intent (in ) :: value
482- logical , intent (in ), optional :: compact
483- integer , intent (out ), optional :: ierr
484- end subroutine hdf_write_scalar_i32
485-
486- module subroutine hdf_write_scalar_i64 (self , dname , value , ierr , compact )
487- class(hdf5_file), intent (inout ) :: self
488- character (* ), intent (in ) :: dname
489- integer (int64), intent (in ) :: value
490- logical , intent (in ), optional :: compact
491- integer , intent (out ), optional :: ierr
492- end subroutine hdf_write_scalar_i64
493-
494- module subroutine hdf_write_scalar_char (self , dname , value , ierr , compact )
495- class(hdf5_file), intent (inout ) :: self
496- character (* ), intent (in ) :: dname
497- character (* ), intent (in ) :: value
498- logical , intent (in ), optional :: compact
499- integer , intent (out ), optional :: ierr
500- end subroutine hdf_write_scalar_char
501-
452+ end subroutine hdf_write_scalar
502453
503454module subroutine hdf_write_1d_r32 (self ,dname ,value , ierr , chunk_size , istart , iend , stride , compact )
504455class(hdf5_file), intent (inout ) :: self
0 commit comments