summaryrefslogtreecommitdiffstats
path: root/hl/fortran
diff options
context:
space:
mode:
Diffstat (limited to 'hl/fortran')
-rw-r--r--hl/fortran/src/H5HL_buildiface.F90681
-rw-r--r--hl/fortran/src/H5LTff.F902258
-rw-r--r--hl/fortran/src/H5TBff.F90499
-rw-r--r--hl/fortran/src/Makefile.am28
-rw-r--r--hl/fortran/src/Makefile.in58
-rw-r--r--hl/fortran/src/hdf5_hl_fortrandll.def.in219
-rw-r--r--hl/fortran/test/tstlite.F9013
7 files changed, 825 insertions, 2931 deletions
diff --git a/hl/fortran/src/H5HL_buildiface.F90 b/hl/fortran/src/H5HL_buildiface.F90
new file mode 100644
index 0000000..1f5e278
--- /dev/null
+++ b/hl/fortran/src/H5HL_buildiface.F90
@@ -0,0 +1,681 @@
+!****p* Program/H5test_kind
+!
+! NAME
+! Executable: H5test_kind
+!
+! FILE
+! fortran/src/H5test_kind.f90
+!
+! PURPOSE
+! This stand alone program is used at build time to generate the program
+! H5fortran_detect.f90. It cycles through all the available KIND parameters for
+! integers and reals. The appropriate program and subroutines are then generated
+! depending on which of the KIND values are found.
+!
+! NOTES
+! This program uses the Fortran 2008 intrinsic function STORAGE_SIZE or SIZEOF
+! depending on availablity.It generates code that makes use of
+! STORAGE_SIZE/SIZEOF in H5fortran_detect.f90. STORAGE_SIZE is standard
+! compliant and should always be chosen over SIZEOF.
+!
+! The availability of STORAGE_SIZE/SIZEOF is checked at configure time and the TRUE/FALSE
+! condition is set in the configure variable "FORTRAN_HAVE_STORAGE_SIZE" or
+! "FORTRAN_HAVE_SIZEOF".
+!
+! The use of C_SIZOF(X) is not used since the argument X must be an interoperable
+! data entity.
+!
+! COPYRIGHT
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+! AUTHOR
+! M. Scot Breitenfeld
+!
+!*****
+
+#include <H5config_f.inc>
+
+PROGRAM test_kind
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+
+! These values are valid REAL KINDs (with corresponding C float) found during configure
+ H5_H5CONFIG_F_NUM_RKIND
+ H5_H5CONFIG_F_RKIND
+! These values are valid INTEGER KINDs (with corresponding C float) found during configure
+ H5_H5CONFIG_F_NUM_IKIND
+ H5_H5CONFIG_F_IKIND
+
+ INTEGER :: i, j, k
+ INTEGER :: ji, jr, jd
+#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+ REAL(KIND=C_LONG_DOUBLE) :: c_longdble
+#endif
+ REAL(KIND=C_DOUBLE) :: c_dble
+ REAL(KIND=C_FLOAT) :: c_flt
+ INTEGER :: sizeof_var
+ CHARACTER(LEN=2) :: chr2
+! subroutine rank of array being passed in
+ CHARACTER(LEN=2), DIMENSION(1:8), PARAMETER :: chr_rank=(/"_0","_1","_2","_3","_4","_5","_6","_7"/)
+! rank definitions
+ CHARACTER(LEN=70), DIMENSION(1:8), PARAMETER :: rank_dim_line=(/ &
+ ' ', &
+ ', DIMENSION(dims(1)) ', &
+ ', DIMENSION(dims(1),dims(2)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7))' &
+ /)
+! pointer to the buffer
+ CHARACTER(LEN=37), DIMENSION(1:8), PARAMETER :: f_ptr_line=(/ &
+ ' f_ptr = C_LOC(buf) ', &
+ ' f_ptr = C_LOC(buf(1)) ', &
+ ' f_ptr = C_LOC(buf(1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1,1))' &
+ /)
+
+! Generate Fortran H5LT* interfaces having multiple KIND interfaces.
+!
+! Developer's notes:
+!
+! Only interfaces with arrays of rank 7 and less are provided. Even-though the F2008
+! standard extended the maximum rank to 15, it was decided that they should use the
+! new APIs to handle those use cases. Handling rank 7 and less is for backward compatibility
+! with the Fortran 90/95 APIs codes which could never handle rank 8-15 array sizes.
+
+ OPEN(11,FILE='H5LTff_gen.F90')
+ WRITE(11,'(40(A,/))') &
+'!****h* ROBODoc/H5_KINDff.F90',&
+'!',&
+'! NAME',&
+'! H5_KIND',&
+'! ',&
+'! PURPOSE',&
+'! This module is generated at build by H5make_HLinterfaces.F90 to handle all the',&
+'! detected REAL KINDs for APIs being passed REAL KINDs. Currently these ',&
+'! are H5LT APIs',&
+'!',&
+'! COPYRIGHT',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'! Copyright by The HDF Group. *',&
+'! All rights reserved. *',&
+'! *',&
+'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
+'! terms governing use, modification, and redistribution, is contained in *',&
+'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
+'! of the source code distribution tree; Copyright.html can be found at the *',&
+'! root level of an installed copy of the electronic HDF5 document set and *',&
+'! is linked from the top-level documents page. It can also be found at *',&
+'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
+'! access to either file, you may request a copy from help@hdfgroup.org. *',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'!',&
+'! AUTHOR',&
+'! H5make_HLinterfaces.F90',&
+'!',&
+'!*****'
+
+ WRITE(11,'(a)') "MODULE H5LT"
+
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' USE h5fortran_types'
+ WRITE(11,'(A)') ' USE H5LT_CONST'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+!***************
+! H5LT INTERFACES
+!***************
+!
+! H5LTmake_dataset_f
+!
+ WRITE(11,'(A)') " INTERFACE h5ltmake_dataset_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltmake_dataset_real_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltread_dataset_f
+ WRITE(11,'(A)') " INTERFACE h5ltread_dataset_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltread_dataset_real_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltmake_dataset_float_f
+ WRITE(11,'(A)') " INTERFACE h5ltmake_dataset_float_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltmake_dataset_float_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltmake_dataset_double_f
+ WRITE(11,'(A)') " INTERFACE h5ltmake_dataset_double_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltmake_dataset_double_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltread_dataset_float_f
+ WRITE(11,'(A)') " INTERFACE h5ltread_dataset_float_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltread_dataset_float_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltread_dataset_double_f
+ WRITE(11,'(A)') " INTERFACE h5ltread_dataset_double_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltread_dataset_double_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+ WRITE(11,'(A)') 'CONTAINS'
+
+!**********************
+! H5LT APIs
+!**********************
+!
+! h5ltmake_dataset_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltmake_dataset_real_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltmake_dataset_real_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,rank,dims,type_id,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(IN) :: rank'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' INTEGER(hid_t), INTENT(in) :: type_id'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltmake_dataset_real_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltread_dataset_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltread_dataset_real_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltread_dataset_real_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,type_id,buf,dims,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER(hid_t), INTENT(in) :: type_id'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltread_dataset_real_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltmake_dataset_float_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltmake_dataset_float_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltmake_dataset_float_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,rank,dims,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(IN) :: rank'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltmake_dataset_float_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltread_dataset_float_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltread_dataset_float_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltread_dataset_float_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,buf,dims,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltread_dataset_float_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltmake_dataset_double_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltmake_dataset_double_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltmake_dataset_double_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,rank,dims,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(IN) :: rank'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltmake_dataset_double_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltread_dataset_double_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltread_dataset_double_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltread_dataset_double_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,buf,dims,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltread_dataset_double_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+ WRITE(11,'(A)') 'END MODULE H5LT' ! change this to be generic MSB
+
+ CLOSE(11)
+
+
+ OPEN(11,FILE='H5TBff_gen.F90')
+ WRITE(11,'(40(A,/))') &
+'!****h* ROBODoc/H5TBff_gen.F90',&
+'!',&
+'! NAME',&
+'! H5_KIND',&
+'! ',&
+'! PURPOSE',&
+'! This module is generated at build by H5make_HLinterfaces.F90 to handle all the',&
+'! detected REAL KINDs for APIs being passed REAL KINDs. Currently these ',&
+'! are H5LT APIs',&
+'!',&
+'! COPYRIGHT',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'! Copyright by The HDF Group. *',&
+'! All rights reserved. *',&
+'! *',&
+'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
+'! terms governing use, modification, and redistribution, is contained in *',&
+'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
+'! of the source code distribution tree; Copyright.html can be found at the *',&
+'! root level of an installed copy of the electronic HDF5 document set and *',&
+'! is linked from the top-level documents page. It can also be found at *',&
+'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
+'! access to either file, you may request a copy from help@hdfgroup.org. *',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'!',&
+'! AUTHOR',&
+'! H5make_HLinterfaces.F90',&
+'!',&
+'!*****'
+
+ WRITE(11,'(a)') "MODULE H5TB"
+
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' USE h5fortran_types'
+ WRITE(11,'(A)') ' USE H5TB_CONST'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+
+!***************
+! H5TB INTERFACES
+!***************
+
+! h5tbwrite_field_name_f
+ WRITE(11,'(A)') " INTERFACE h5tbwrite_field_name_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k =2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbwrite_field_name_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5tbread_field_name_f
+ WRITE(11,'(A)') " INTERFACE h5tbread_field_name_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k = 2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbread_field_name_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5tbwrite_field_index_f
+ WRITE(11,'(A)') " INTERFACE h5tbwrite_field_index_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k = 2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbwrite_field_index_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5tbread_field_index_f
+ WRITE(11,'(A)') " INTERFACE h5tbread_field_index_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k = 2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbread_field_index_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5tbinsert_field_f
+ WRITE(11,'(A)') " INTERFACE h5tbinsert_field_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k = 2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbinsert_field_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+ WRITE(11,'(A)') 'CONTAINS'
+
+ !**********************
+ ! H5TB APIs
+ !**********************
+
+ ! h5tbwrite_field_name_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbwrite_field_name_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbwrite_field_name_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_name,start, nrecords,type_size,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(in) :: field_name'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: start'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: nrecords'
+ WRITE(11,'(A)') ' INTEGER(size_t), INTENT(in) :: type_size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen1'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' namelen1 = LEN(field_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,start,nrecords,type_size,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbwrite_field_name_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ ! h5tbread_field_name_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbread_field_name_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbread_field_name_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_name,start, nrecords,type_size,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(in) :: field_name'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: start'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: nrecords'
+ WRITE(11,'(A)') ' INTEGER(size_t), INTENT(in) :: type_size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen1'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' namelen1 = LEN(field_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,start,nrecords,type_size,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbread_field_name_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ ! h5tbwrite_field_index_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbwrite_field_index_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbwrite_field_index_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_index,start, nrecords,type_size,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(in) :: field_index'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: start'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: nrecords'
+ WRITE(11,'(A)') ' INTEGER(size_t), INTENT(in) :: type_size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,start,nrecords,type_size,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbwrite_field_index_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ ! h5tbread_field_index_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbread_field_index_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbread_field_index_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_index,start, nrecords,type_size,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(in) :: field_index'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: start'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: nrecords'
+ WRITE(11,'(A)') ' INTEGER(size_t), INTENT(in) :: type_size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,start,nrecords,type_size,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbread_field_index_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ ! h5tbinsert_field_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbinsert_field_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbinsert_field_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_name,field_type,field_index,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t), INTENT(in) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(in) :: dset_name'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(in) :: field_name'
+ WRITE(11,'(A)') ' INTEGER(hid_t), INTENT(in) :: field_type'
+ WRITE(11,'(A)') ' INTEGER, INTENT(in) :: field_index'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT(in), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen1'
+ WRITE(11,'(A)') ' INTEGER :: errcode'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' namelen1 = LEN(field_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,field_type,field_index,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbinsert_field_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ WRITE(11,'(A)') 'END MODULE H5TB' ! change this to be generic MSB
+
+ CLOSE(11)
+
+END PROGRAM test_kind
+
+
+
diff --git a/hl/fortran/src/H5LTff.F90 b/hl/fortran/src/H5LTff.F90
index 092cdd9..ffc7ab5 100644
--- a/hl/fortran/src/H5LTff.F90
+++ b/hl/fortran/src/H5LTff.F90
@@ -32,7 +32,7 @@
#include <H5config_f.inc>
-MODULE h5lt
+MODULE H5LT_CONST
USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
USE hdf5
@@ -45,29 +45,6 @@ MODULE h5lt
MODULE PROCEDURE h5ltmake_dataset_f_int5
MODULE PROCEDURE h5ltmake_dataset_f_int6
MODULE PROCEDURE h5ltmake_dataset_f_int7
- MODULE PROCEDURE h5ltmake_dataset_f_c_float1
- MODULE PROCEDURE h5ltmake_dataset_f_c_float2
- MODULE PROCEDURE h5ltmake_dataset_f_c_float3
- MODULE PROCEDURE h5ltmake_dataset_f_c_float4
- MODULE PROCEDURE h5ltmake_dataset_f_c_float5
- MODULE PROCEDURE h5ltmake_dataset_f_c_float6
- MODULE PROCEDURE h5ltmake_dataset_f_c_float7
- MODULE PROCEDURE h5ltmake_dataset_f_c_double1
- MODULE PROCEDURE h5ltmake_dataset_f_c_double2
- MODULE PROCEDURE h5ltmake_dataset_f_c_double3
- MODULE PROCEDURE h5ltmake_dataset_f_c_double4
- MODULE PROCEDURE h5ltmake_dataset_f_c_double5
- MODULE PROCEDURE h5ltmake_dataset_f_c_double6
- MODULE PROCEDURE h5ltmake_dataset_f_c_double7
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5ltmake_dataset_f_c_long_double1
- MODULE PROCEDURE h5ltmake_dataset_f_c_long_double2
- MODULE PROCEDURE h5ltmake_dataset_f_c_long_double3
- MODULE PROCEDURE h5ltmake_dataset_f_c_long_double4
- MODULE PROCEDURE h5ltmake_dataset_f_c_long_double5
- MODULE PROCEDURE h5ltmake_dataset_f_c_long_double6
- MODULE PROCEDURE h5ltmake_dataset_f_c_long_double7
-#endif
MODULE PROCEDURE h5ltmake_dataset_f_ptr
END INTERFACE
@@ -79,29 +56,6 @@ MODULE h5lt
MODULE PROCEDURE h5ltread_dataset_f_int5
MODULE PROCEDURE h5ltread_dataset_f_int6
MODULE PROCEDURE h5ltread_dataset_f_int7
- MODULE PROCEDURE h5ltread_dataset_f_c_float1
- MODULE PROCEDURE h5ltread_dataset_f_c_float2
- MODULE PROCEDURE h5ltread_dataset_f_c_float3
- MODULE PROCEDURE h5ltread_dataset_f_c_float4
- MODULE PROCEDURE h5ltread_dataset_f_c_float5
- MODULE PROCEDURE h5ltread_dataset_f_c_float6
- MODULE PROCEDURE h5ltread_dataset_f_c_float7
- MODULE PROCEDURE h5ltread_dataset_f_c_double1
- MODULE PROCEDURE h5ltread_dataset_f_c_double2
- MODULE PROCEDURE h5ltread_dataset_f_c_double3
- MODULE PROCEDURE h5ltread_dataset_f_c_double4
- MODULE PROCEDURE h5ltread_dataset_f_c_double5
- MODULE PROCEDURE h5ltread_dataset_f_c_double6
- MODULE PROCEDURE h5ltread_dataset_f_c_double7
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5ltread_dataset_f_c_long_double1
- MODULE PROCEDURE h5ltread_dataset_f_c_long_double2
- MODULE PROCEDURE h5ltread_dataset_f_c_long_double3
- MODULE PROCEDURE h5ltread_dataset_f_c_long_double4
- MODULE PROCEDURE h5ltread_dataset_f_c_long_double5
- MODULE PROCEDURE h5ltread_dataset_f_c_long_double6
- MODULE PROCEDURE h5ltread_dataset_f_c_long_double7
-#endif
MODULE PROCEDURE h5ltread_dataset_f_ptr
END INTERFACE
@@ -115,58 +69,6 @@ MODULE h5lt
MODULE PROCEDURE h5ltmake_dataset_int_f_7
END INTERFACE
- INTERFACE h5ltmake_dataset_float_f
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_1
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_2
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_3
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_4
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_5
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_6
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_7
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_1
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_2
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_3
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_4
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_5
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_6
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_7
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_1
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_2
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_3
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_4
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_5
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_6
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_7
-#endif
- END INTERFACE
-
- INTERFACE h5ltmake_dataset_double_f
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_1
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_2
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_3
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_4
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_5
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_6
- MODULE PROCEDURE h5ltmake_dataset_c_float_f_7
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_1
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_2
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_3
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_4
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_5
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_6
- MODULE PROCEDURE h5ltmake_dataset_c_double_f_7
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_1
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_2
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_3
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_4
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_5
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_6
- MODULE PROCEDURE h5ltmake_dataset_c_long_double_f_7
-#endif
- END INTERFACE
-
INTERFACE h5ltread_dataset_int_f
MODULE PROCEDURE h5ltread_dataset_int_f_1
MODULE PROCEDURE h5ltread_dataset_int_f_2
@@ -177,58 +79,6 @@ MODULE h5lt
MODULE PROCEDURE h5ltread_dataset_int_f_7
END INTERFACE
- INTERFACE h5ltread_dataset_float_f
- MODULE PROCEDURE h5ltread_dataset_c_float_f_1
- MODULE PROCEDURE h5ltread_dataset_c_float_f_2
- MODULE PROCEDURE h5ltread_dataset_c_float_f_3
- MODULE PROCEDURE h5ltread_dataset_c_float_f_4
- MODULE PROCEDURE h5ltread_dataset_c_float_f_5
- MODULE PROCEDURE h5ltread_dataset_c_float_f_6
- MODULE PROCEDURE h5ltread_dataset_c_float_f_7
- MODULE PROCEDURE h5ltread_dataset_c_double_f_1
- MODULE PROCEDURE h5ltread_dataset_c_double_f_2
- MODULE PROCEDURE h5ltread_dataset_c_double_f_3
- MODULE PROCEDURE h5ltread_dataset_c_double_f_4
- MODULE PROCEDURE h5ltread_dataset_c_double_f_5
- MODULE PROCEDURE h5ltread_dataset_c_double_f_6
- MODULE PROCEDURE h5ltread_dataset_c_double_f_7
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_1
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_2
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_3
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_4
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_5
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_6
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_7
-#endif
- END INTERFACE
-
- INTERFACE h5ltread_dataset_double_f
- MODULE PROCEDURE h5ltread_dataset_c_float_f_1
- MODULE PROCEDURE h5ltread_dataset_c_float_f_2
- MODULE PROCEDURE h5ltread_dataset_c_float_f_3
- MODULE PROCEDURE h5ltread_dataset_c_float_f_4
- MODULE PROCEDURE h5ltread_dataset_c_float_f_5
- MODULE PROCEDURE h5ltread_dataset_c_float_f_6
- MODULE PROCEDURE h5ltread_dataset_c_float_f_7
- MODULE PROCEDURE h5ltread_dataset_c_double_f_1
- MODULE PROCEDURE h5ltread_dataset_c_double_f_2
- MODULE PROCEDURE h5ltread_dataset_c_double_f_3
- MODULE PROCEDURE h5ltread_dataset_c_double_f_4
- MODULE PROCEDURE h5ltread_dataset_c_double_f_5
- MODULE PROCEDURE h5ltread_dataset_c_double_f_6
- MODULE PROCEDURE h5ltread_dataset_c_double_f_7
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_1
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_2
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_3
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_4
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_5
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_6
- MODULE PROCEDURE h5ltread_dataset_c_long_double_f_7
-#endif
- END INTERFACE
-
INTERFACE
INTEGER FUNCTION h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
BIND(C,NAME='h5ltmake_dataset_c')
@@ -527,550 +377,7 @@ CONTAINS
END SUBROUTINE h5ltmake_dataset_f_int7
- !-------------------------------------------------------------------------
- ! Function(s): h5ltmake_dataset_f_c_float(1-7)
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_c_float1(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_float1
-
- SUBROUTINE h5ltmake_dataset_f_c_float2(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! data buffer
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_float2
-
- SUBROUTINE h5ltmake_dataset_f_c_float3(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! data buffer
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_float3
-
- SUBROUTINE h5ltmake_dataset_f_c_float4(loc_id, dset_name, rank, dims,&
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! data buffer
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_float4
-
- SUBROUTINE h5ltmake_dataset_f_c_float5(loc_id, dset_name, rank, dims,&
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! data buffer
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_float5
-
- SUBROUTINE h5ltmake_dataset_f_c_float6(loc_id, dset_name, rank, dims,&
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! data buffer
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_float6
-
- SUBROUTINE h5ltmake_dataset_f_c_float7(loc_id, dset_name, rank, dims,&
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! data buffer
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_float7
-
- !-------------------------------------------------------------------------
- ! Function(s): h5ltmake_dataset_f_c_double(1-7)
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_c_double1(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_double1
-
- SUBROUTINE h5ltmake_dataset_f_c_double2(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! data buffer
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_double2
-
- SUBROUTINE h5ltmake_dataset_f_c_double3(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_double3
-
- SUBROUTINE h5ltmake_dataset_f_c_double4(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_double4
-
- SUBROUTINE h5ltmake_dataset_f_c_double5(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_double5
-
- SUBROUTINE h5ltmake_dataset_f_c_double6(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_double6
-
- SUBROUTINE h5ltmake_dataset_f_c_double7(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_double7
-
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- !-------------------------------------------------------------------------
- ! Function(s): h5ltmake_dataset_f_c_long_double(1-7)
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_c_long_double1(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_long_double1
-
- SUBROUTINE h5ltmake_dataset_f_c_long_double2(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_long_double2
-
- SUBROUTINE h5ltmake_dataset_f_c_long_double3(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_long_double3
-
- SUBROUTINE h5ltmake_dataset_f_c_long_double4(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_long_double4
-
- SUBROUTINE h5ltmake_dataset_f_c_long_double5(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_long_double5
- SUBROUTINE h5ltmake_dataset_f_c_long_double6(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_f_c_long_double6
-
- SUBROUTINE h5ltmake_dataset_f_c_long_double7(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
- END SUBROUTINE h5ltmake_dataset_f_c_long_double7
-
-#endif
!-------------------------------------------------------------------------
! Function(s): h5ltread_dataset_f_ptr
!
@@ -1318,550 +625,6 @@ CONTAINS
!-------------------------------------------------------------------------
- ! Function(s): h5ltread_dataset_f_c_float(1-7)
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_c_float1(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_float1
-
- SUBROUTINE h5ltread_dataset_f_c_float2(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_float2
-
- SUBROUTINE h5ltread_dataset_f_c_float3(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_float3
-
- SUBROUTINE h5ltread_dataset_f_c_float4(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_float4
-
- SUBROUTINE h5ltread_dataset_f_c_float5(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_float5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_float6
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_c_float6(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_float6
-
- SUBROUTINE h5ltread_dataset_f_c_float7(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_float7
-
-
- !-------------------------------------------------------------------------
- ! Function(s): h5ltread_dataset_f_c_double(1-7)
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_c_double1(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), DIMENSION(*), TARGET :: buf! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_double1
-
- SUBROUTINE h5ltread_dataset_f_c_double2(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_double2
-
- SUBROUTINE h5ltread_dataset_f_c_double3(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_double3
-
- SUBROUTINE h5ltread_dataset_f_c_double4(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_double4
-
- SUBROUTINE h5ltread_dataset_f_c_double5(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_double5
-
- SUBROUTINE h5ltread_dataset_f_c_double6(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_double6
-
- SUBROUTINE h5ltread_dataset_f_c_double7(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_double7
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- !-------------------------------------------------------------------------
- ! Function(s): h5ltread_dataset_f_c_long_double(1-7)
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_c_long_double1(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), DIMENSION(*), TARGET :: buf! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_long_double1
-
- SUBROUTINE h5ltread_dataset_f_c_long_double2(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_long_double2
-
- SUBROUTINE h5ltread_dataset_f_c_long_double3(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_long_double3
-
- SUBROUTINE h5ltread_dataset_f_c_long_double4(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_long_double4
-
- SUBROUTINE h5ltread_dataset_f_c_long_double5(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_long_double5
-
- SUBROUTINE h5ltread_dataset_f_c_long_double6(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_long_double6
-
- SUBROUTINE h5ltread_dataset_f_c_long_double7(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_f_c_long_double7
-#endif
-
- !-------------------------------------------------------------------------
! Function: h5ltmake_dataset_int_f_1
!
! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
@@ -2037,535 +800,6 @@ CONTAINS
END SUBROUTINE h5ltmake_dataset_int_f_7
!-------------------------------------------------------------------------
- ! Function(s): h5ltmake_dataset_c_float_f_(1-7)
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_REAL type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_c_float_f_1 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_float_f_1
-
- SUBROUTINE h5ltmake_dataset_c_float_f_2 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_float_f_2
-
- SUBROUTINE h5ltmake_dataset_c_float_f_3 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_float_f_3
-
- SUBROUTINE h5ltmake_dataset_c_float_f_4 (loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_float_f_4
-
- SUBROUTINE h5ltmake_dataset_c_float_f_5 (loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_float_f_5
-
- SUBROUTINE h5ltmake_dataset_c_float_f_6 (loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_float_f_6
-
- SUBROUTINE h5ltmake_dataset_c_float_f_7 (loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_float_f_7
-
- !-------------------------------------------------------------------------
- ! Function9s): h5ltmake_dataset_c_double_f_(1-7)
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_c_double_f_1 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_double_f_1
-
- SUBROUTINE h5ltmake_dataset_c_double_f_2 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_double_f_2
-
- SUBROUTINE h5ltmake_dataset_c_double_f_3 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_double_f_3
-
- SUBROUTINE h5ltmake_dataset_c_double_f_4 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_double_f_4
-
- SUBROUTINE h5ltmake_dataset_c_double_f_5 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_double_f_5
-
- SUBROUTINE h5ltmake_dataset_c_double_f_6 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_double_f_6
-
- SUBROUTINE h5ltmake_dataset_c_double_f_7 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_double_f_7
-
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- !-------------------------------------------------------------------------
- ! Function(s): h5ltmake_dataset_c_long_double_f_(1-7)
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_c_long_double_f_1 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_long_double_f_1
-
- SUBROUTINE h5ltmake_dataset_c_long_double_f_2 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_long_double_f_2
-
- SUBROUTINE h5ltmake_dataset_c_long_double_f_3 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_long_double_f_3
-
- SUBROUTINE h5ltmake_dataset_c_long_double_f_4 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_long_double_f_4
-
- SUBROUTINE h5ltmake_dataset_c_long_double_f_5 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_long_double_f_5
-
- SUBROUTINE h5ltmake_dataset_c_long_double_f_6 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_long_double_f_6
-
- SUBROUTINE h5ltmake_dataset_c_long_double_f_7 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltmake_dataset_c_long_double_f_7
-#endif
-
- !-------------------------------------------------------------------------
! Function(s): h5ltread_dataset_int_f_(1-7)
!
! Purpose: Read a dataset
@@ -2729,494 +963,6 @@ CONTAINS
!-------------------------------------------------------------------------
- ! Function(s): h5ltread_dataset_c_float_f_(1-7)
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_c_float_f_1(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_float_f_1
-
- SUBROUTINE h5ltread_dataset_c_float_f_2(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_float_f_2
-
- SUBROUTINE h5ltread_dataset_c_float_f_3(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_float_f_3
-
- SUBROUTINE h5ltread_dataset_c_float_f_4(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_float_f_4
-
- SUBROUTINE h5ltread_dataset_c_float_f_5(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_float_f_5
-
- SUBROUTINE h5ltread_dataset_c_float_f_6(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_float_f_6
-
- SUBROUTINE h5ltread_dataset_c_float_f_7(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_float_f_7
-
- !-------------------------------------------------------------------------
- ! Function(s): h5ltread_dataset_c_double_f_(1-7)
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_c_double_f_1(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_double_f_1
-
- SUBROUTINE h5ltread_dataset_c_double_f_2(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_double_f_2
-
- SUBROUTINE h5ltread_dataset_c_double_f_3(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_double_f_3
-
- SUBROUTINE h5ltread_dataset_c_double_f_4(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_double_f_4
-
- SUBROUTINE h5ltread_dataset_c_double_f_5(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_double_f_5
-
- SUBROUTINE h5ltread_dataset_c_double_f_6(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_double_f_6
-
- SUBROUTINE h5ltread_dataset_c_double_f_7(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_double_f_7
-
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- !-------------------------------------------------------------------------
- ! Function9s): h5ltread_dataset_c_long_double_f_(1-7)
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_c_long_double_f_1(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_long_double_f_1
-
- SUBROUTINE h5ltread_dataset_c_long_double_f_2(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_long_double_f_2
-
- SUBROUTINE h5ltread_dataset_c_long_double_f_3(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_long_double_f_3
-
- SUBROUTINE h5ltread_dataset_c_long_double_f_4(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_long_double_f_4
-
- SUBROUTINE h5ltread_dataset_c_long_double_f_5(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_long_double_f_5
-
- SUBROUTINE h5ltread_dataset_c_long_double_f_6(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_long_double_f_6
-
- SUBROUTINE h5ltread_dataset_c_long_double_f_7(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)
-
- END SUBROUTINE h5ltread_dataset_c_long_double_f_7
-#endif
-
- !-------------------------------------------------------------------------
! Function: h5ltmake_dataset_string_f
!
! Purpose: Creates and writes a dataset
@@ -4157,7 +1903,7 @@ CONTAINS
END SUBROUTINE h5ltpath_valid_f
-END MODULE H5LT
+END MODULE H5LT_CONST
diff --git a/hl/fortran/src/H5TBff.F90 b/hl/fortran/src/H5TBff.F90
index 50eab2d..448d607 100644
--- a/hl/fortran/src/H5TBff.F90
+++ b/hl/fortran/src/H5TBff.F90
@@ -32,7 +32,7 @@
!
#include "H5config_f.inc"
-MODULE h5tb
+MODULE h5tb_CONST
USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
@@ -40,51 +40,26 @@ MODULE h5tb
INTERFACE h5tbwrite_field_name_f
MODULE PROCEDURE h5tbwrite_field_name_f_int
- MODULE PROCEDURE h5tbwrite_field_name_f_c_float
- MODULE PROCEDURE h5tbwrite_field_name_f_c_double
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5tbwrite_field_name_f_c_long_double
-#endif
MODULE PROCEDURE h5tbwrite_field_name_f_string
END INTERFACE
INTERFACE h5tbread_field_name_f
MODULE PROCEDURE h5tbread_field_name_f_int
- MODULE PROCEDURE h5tbread_field_name_f_c_float
- MODULE PROCEDURE h5tbread_field_name_f_c_double
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5tbread_field_name_f_c_long_double
-#endif
MODULE PROCEDURE h5tbread_field_name_f_string
END INTERFACE
INTERFACE h5tbwrite_field_index_f
MODULE PROCEDURE h5tbwrite_field_index_f_int
- MODULE PROCEDURE h5tbwrite_field_index_f_c_float
- MODULE PROCEDURE h5tbwrite_field_index_f_c_double
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5tbwrite_field_index_f_c_long_double
-#endif
MODULE PROCEDURE h5tbwrite_field_index_f_string
END INTERFACE
INTERFACE h5tbread_field_index_f
MODULE PROCEDURE h5tbread_field_index_f_int
- MODULE PROCEDURE h5tbread_field_index_f_c_float
- MODULE PROCEDURE h5tbread_field_index_f_c_double
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5tbread_field_index_f_c_long_double
-#endif
MODULE PROCEDURE h5tbread_field_index_f_string
END INTERFACE
INTERFACE h5tbinsert_field_f
MODULE PROCEDURE h5tbinsert_field_f_int
- MODULE PROCEDURE h5tbinsert_field_f_c_float
- MODULE PROCEDURE h5tbinsert_field_f_c_double
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- MODULE PROCEDURE h5tbinsert_field_f_c_long_double
-#endif
MODULE PROCEDURE h5tbinsert_field_f_string
END INTERFACE
@@ -348,105 +323,6 @@ CONTAINS
END SUBROUTINE h5tbwrite_field_name_f_int
- SUBROUTINE h5tbwrite_field_name_f_c_float(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbwrite_field_name_f_c_float
-
- SUBROUTINE h5tbwrite_field_name_f_c_double(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbwrite_field_name_f_c_double
-
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- SUBROUTINE h5tbwrite_field_name_f_c_long_double(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbwrite_field_name_f_c_long_double
-#endif
SUBROUTINE h5tbwrite_field_name_f_string(loc_id,&
dset_name,&
@@ -530,104 +406,6 @@ CONTAINS
END SUBROUTINE h5tbread_field_name_f_int
- SUBROUTINE h5tbread_field_name_f_c_float(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbread_field_name_f_c_float
-
- SUBROUTINE h5tbread_field_name_f_c_double(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbread_field_name_f_c_double
-
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- SUBROUTINE h5tbread_field_name_f_c_long_double(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbread_field_name_f_c_long_double
-#endif
-
SUBROUTINE h5tbread_field_name_f_string(loc_id,&
dset_name,&
field_name,&
@@ -706,98 +484,6 @@ CONTAINS
END SUBROUTINE h5tbwrite_field_index_f_int
- SUBROUTINE h5tbwrite_field_index_f_c_float(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
-
- errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbwrite_field_index_f_c_float
-
- SUBROUTINE h5tbwrite_field_index_f_c_double(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
-
- errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbwrite_field_index_f_c_double
-
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- SUBROUTINE h5tbwrite_field_index_f_c_long_double(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
-
- errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbwrite_field_index_f_c_long_double
-#endif
-
SUBROUTINE h5tbwrite_field_index_f_string(loc_id,&
dset_name,&
field_index,&
@@ -872,96 +558,6 @@ CONTAINS
END SUBROUTINE h5tbread_field_index_f_int
- SUBROUTINE h5tbread_field_index_f_c_float(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
- namelen = LEN(dset_name)
-
- errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbread_field_index_f_c_float
-
- SUBROUTINE h5tbread_field_index_f_c_double(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
- namelen = LEN(dset_name)
-
- errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbread_field_index_f_c_double
-
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- SUBROUTINE h5tbread_field_index_f_c_long_double(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
- namelen = LEN(dset_name)
-
- errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,f_ptr)
-
- END SUBROUTINE h5tbread_field_index_f_c_long_double
-#endif
-
SUBROUTINE h5tbread_field_index_f_string(loc_id,&
dset_name,&
field_index,&
@@ -1035,95 +631,6 @@ CONTAINS
END SUBROUTINE h5tbinsert_field_f_int
- SUBROUTINE h5tbinsert_field_f_c_float(loc_id,&
- dset_name,&
- field_name,&
- field_type,&
- field_index,&
- buf,&
- errcode )
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,f_ptr)
-
- END SUBROUTINE h5tbinsert_field_f_c_float
-
- SUBROUTINE h5tbinsert_field_f_c_double(loc_id,&
- dset_name,&
- field_name,&
- field_type,&
- field_index,&
- buf,&
- errcode )
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,f_ptr)
-
- END SUBROUTINE h5tbinsert_field_f_c_double
-
-#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
- SUBROUTINE h5tbinsert_field_f_c_long_double(loc_id,&
- dset_name,&
- field_name,&
- field_type,&
- field_index,&
- buf,&
- errcode )
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,f_ptr)
-
- END SUBROUTINE h5tbinsert_field_f_c_long_double
-#endif
-
SUBROUTINE h5tbinsert_field_f_string(loc_id,&
dset_name,&
field_name,&
@@ -1202,8 +709,6 @@ CONTAINS
END SUBROUTINE h5tbdelete_field_f
-
-
!-------------------------------------------------------------------------
! Function: h5tbget_table_info_f
!
@@ -1334,7 +839,7 @@ CONTAINS
END SUBROUTINE h5tbget_field_info_f
-END MODULE H5TB
+END MODULE H5TB_CONST
diff --git a/hl/fortran/src/Makefile.am b/hl/fortran/src/Makefile.am
index 0668230..bbb6c6b 100644
--- a/hl/fortran/src/Makefile.am
+++ b/hl/fortran/src/Makefile.am
@@ -46,8 +46,10 @@ endif
#endif
# List sources to include in the HDF5 HL Fortran library.
-libhdf5hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
- H5DSff.F90 H5LTff.F90 H5IMff.F90 H5TBff.F90
+libhdf5hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
+ H5DSff.F90 H5LTff.F90 H5IMff.F90 H5TBff.F90 H5LTff_gen.F90 H5TBff_gen.F90
+
+#H5LTff_gen.F90 H5TBff_gen.F90
# HDF5 HL Fortran library depends on HDF5 Library.
libhdf5hl_fortran_la_LIBADD=$(LIBH5_HL) $(LIBH5F)
@@ -60,7 +62,7 @@ maintainer-clean-local: clean-local
distclean-local: clean-local
clean-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(RM) *.$(F9XMODEXT); \
+ $(RM) *.$(F9XMODEXT) H5LTff_gen.F90 H5TBff_gen.F90; \
fi
install-data-local:
@@ -75,6 +77,23 @@ uninstall-local:
fi; \
fi
+# These are the helper programs we need to build.
+noinst_PROGRAMS = H5HL_buildiface
+
+# H5HL_buildiface.F90 generates all the APIs that have a KIND type associated
+# with them.
+
+H5LTff_gen.F90: H5HL_buildiface$(EXEEXT)
+ $(RUNSERIAL) ./H5HL_buildiface$(EXEEXT)
+
+H5TBff_gen.F90: H5HL_buildiface$(EXEEXT)
+
+#H5TBff_gen.F90: H5HL_buildiface$(EXEEXT)
+
+# H5HL_buildiface.F90 is included in the distribution, and Automake knows
+# how to compile a fortran program given its sources.
+
+H5HL_buildiface_SOURCES = H5HL_buildiface.F90
# Hardcode the dependencies of these files. There isn't a known way of
# determining this automagically (like we do with the C files). So, when
# doing a parallel make, some modules could be made way before the
@@ -83,5 +102,6 @@ H5DSff.lo: $(srcdir)/H5DSff.F90
H5LTff.lo: $(srcdir)/H5LTff.F90
H5IMff.lo: $(srcdir)/H5IMff.F90
H5TBff.lo: $(srcdir)/H5TBff.F90
-
+H5LTff_gen.lo: H5LTff_gen.F90
+H5TBff_gen.lo: H5LTff_gen.F90 H5TBff_gen.F90
include $(top_srcdir)/config/conclude.am
diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in
index 7328e76..11d53ff 100644
--- a/hl/fortran/src/Makefile.in
+++ b/hl/fortran/src/Makefile.in
@@ -31,6 +31,7 @@
#
# HDF5 High-Level Fortran Makefile(.in)
+
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -105,6 +106,7 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \
# want to build a shared C library and a static Fortran library. If so,
# pass the -static flag to the library linker.
@FORTRAN_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
+noinst_PROGRAMS = H5HL_buildiface$(EXEEXT)
TESTS =
subdir = hl/fortran/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -148,7 +150,8 @@ am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libhdf5hl_fortran_la_DEPENDENCIES = $(LIBH5_HL) $(LIBH5F)
am_libhdf5hl_fortran_la_OBJECTS = H5DSfc.lo H5LTfc.lo H5IMfc.lo \
- H5IMcc.lo H5TBfc.lo H5DSff.lo H5LTff.lo H5IMff.lo H5TBff.lo
+ H5IMcc.lo H5TBfc.lo H5DSff.lo H5LTff.lo H5IMff.lo H5TBff.lo \
+ H5LTff_gen.lo H5TBff_gen.lo
libhdf5hl_fortran_la_OBJECTS = $(am_libhdf5hl_fortran_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -158,6 +161,10 @@ libhdf5hl_fortran_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=FC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) \
$(AM_FCFLAGS) $(FCFLAGS) $(libhdf5hl_fortran_la_LDFLAGS) \
$(LDFLAGS) -o $@
+PROGRAMS = $(noinst_PROGRAMS)
+am_H5HL_buildiface_OBJECTS = H5HL_buildiface.$(OBJEXT)
+H5HL_buildiface_OBJECTS = $(am_H5HL_buildiface_OBJECTS)
+H5HL_buildiface_LDADD = $(LDADD)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -210,8 +217,9 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libhdf5hl_fortran_la_SOURCES)
-DIST_SOURCES = $(libhdf5hl_fortran_la_SOURCES)
+SOURCES = $(libhdf5hl_fortran_la_SOURCES) $(H5HL_buildiface_SOURCES)
+DIST_SOURCES = $(libhdf5hl_fortran_la_SOURCES) \
+ $(H5HL_buildiface_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -717,13 +725,21 @@ libhdf5hl_fortran_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVI
#endif
# List sources to include in the HDF5 HL Fortran library.
-libhdf5hl_fortran_la_SOURCES = H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
- H5DSff.F90 H5LTff.F90 H5IMff.F90 H5TBff.F90
+libhdf5hl_fortran_la_SOURCES = H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
+ H5DSff.F90 H5LTff.F90 H5IMff.F90 H5TBff.F90 H5LTff_gen.F90 H5TBff_gen.F90
+
+#H5LTff_gen.F90 H5TBff_gen.F90
# HDF5 HL Fortran library depends on HDF5 Library.
libhdf5hl_fortran_la_LIBADD = $(LIBH5_HL) $(LIBH5F)
+#H5TBff_gen.F90: H5HL_buildiface$(EXEEXT)
+
+# H5HL_buildiface.F90 is included in the distribution, and Automake knows
+# how to compile a fortran program given its sources.
+H5HL_buildiface_SOURCES = H5HL_buildiface.F90
+
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and
@@ -817,6 +833,19 @@ clean-libLTLIBRARIES:
libhdf5hl_fortran.la: $(libhdf5hl_fortran_la_OBJECTS) $(libhdf5hl_fortran_la_DEPENDENCIES) $(EXTRA_libhdf5hl_fortran_la_DEPENDENCIES)
$(AM_V_FCLD)$(libhdf5hl_fortran_la_LINK) -rpath $(libdir) $(libhdf5hl_fortran_la_OBJECTS) $(libhdf5hl_fortran_la_LIBADD) $(LIBS)
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+H5HL_buildiface$(EXEEXT): $(H5HL_buildiface_OBJECTS) $(H5HL_buildiface_DEPENDENCIES) $(EXTRA_H5HL_buildiface_DEPENDENCIES)
+ @rm -f H5HL_buildiface$(EXEEXT)
+ $(AM_V_FCLD)$(FCLINK) $(H5HL_buildiface_OBJECTS) $(H5HL_buildiface_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -1095,7 +1124,7 @@ distdir: $(DISTFILES)
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
-all-am: Makefile $(LTLIBRARIES) all-local
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local
installdirs:
for dir in "$(DESTDIR)$(libdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
@@ -1136,7 +1165,7 @@ maintainer-clean-generic:
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
- mostlyclean-am
+ clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
@@ -1209,8 +1238,8 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-local
.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \
check-am clean clean-generic clean-libLTLIBRARIES \
- clean-libtool clean-local cscopelist-am ctags ctags-am \
- distclean distclean-compile distclean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-local distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-data-local install-dvi \
@@ -1258,7 +1287,7 @@ maintainer-clean-local: clean-local
distclean-local: clean-local
clean-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(RM) *.$(F9XMODEXT); \
+ $(RM) *.$(F9XMODEXT) H5LTff_gen.F90 H5TBff_gen.F90; \
fi
install-data-local:
@@ -1273,6 +1302,13 @@ uninstall-local:
fi; \
fi
+# H5HL_buildiface.F90 generates all the APIs that have a KIND type associated
+# with them.
+
+H5LTff_gen.F90: H5HL_buildiface$(EXEEXT)
+ $(RUNSERIAL) ./H5HL_buildiface$(EXEEXT)
+
+H5TBff_gen.F90: H5HL_buildiface$(EXEEXT)
# Hardcode the dependencies of these files. There isn't a known way of
# determining this automagically (like we do with the C files). So, when
# doing a parallel make, some modules could be made way before the
@@ -1281,6 +1317,8 @@ H5DSff.lo: $(srcdir)/H5DSff.F90
H5LTff.lo: $(srcdir)/H5LTff.F90
H5IMff.lo: $(srcdir)/H5IMff.F90
H5TBff.lo: $(srcdir)/H5TBff.F90
+H5LTff_gen.lo: H5LTff_gen.F90
+H5TBff_gen.lo: H5LTff_gen.F90 H5TBff_gen.F90
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
diff --git a/hl/fortran/src/hdf5_hl_fortrandll.def.in b/hl/fortran/src/hdf5_hl_fortrandll.def.in
index d294ad7..eb07316 100644
--- a/hl/fortran/src/hdf5_hl_fortrandll.def.in
+++ b/hl/fortran/src/hdf5_hl_fortrandll.def.in
@@ -23,163 +23,64 @@ H5IM_mp_H5IMGET_PALETTE_INFO_F
H5IM_mp_H5IMGET_PALETTE_F
H5IM_mp_H5IMIS_PALETTE_F
; H5LT
-H5LT_mp_H5LTMAKE_DATASET_F_PTR
-H5LT_mp_H5LTMAKE_DATASET_F_INT1
-H5LT_mp_H5LTMAKE_DATASET_F_INT2
-H5LT_mp_H5LTMAKE_DATASET_F_INT3
-H5LT_mp_H5LTMAKE_DATASET_F_INT4
-H5LT_mp_H5LTMAKE_DATASET_F_INT5
-H5LT_mp_H5LTMAKE_DATASET_F_INT6
-H5LT_mp_H5LTMAKE_DATASET_F_INT7
-H5LT_mp_H5LTMAKE_DATASET_F_C_FLOAT1
-H5LT_mp_H5LTMAKE_DATASET_F_C_FLOAT2
-H5LT_mp_H5LTMAKE_DATASET_F_C_FLOAT3
-H5LT_mp_H5LTMAKE_DATASET_F_C_FLOAT4
-H5LT_mp_H5LTMAKE_DATASET_F_C_FLOAT5
-H5LT_mp_H5LTMAKE_DATASET_F_C_FLOAT6
-H5LT_mp_H5LTMAKE_DATASET_F_C_FLOAT7
-H5LT_mp_H5LTMAKE_DATASET_F_C_DOUBLE1
-H5LT_mp_H5LTMAKE_DATASET_F_C_DOUBLE2
-H5LT_mp_H5LTMAKE_DATASET_F_C_DOUBLE3
-H5LT_mp_H5LTMAKE_DATASET_F_C_DOUBLE4
-H5LT_mp_H5LTMAKE_DATASET_F_C_DOUBLE5
-H5LT_mp_H5LTMAKE_DATASET_F_C_DOUBLE6
-H5LT_mp_H5LTMAKE_DATASET_F_C_DOUBLE7
-H5LT_mp_H5LTMAKE_DATASET_F_C_LONG_DOUBLE1
-H5LT_mp_H5LTMAKE_DATASET_F_C_LONG_DOUBLE2
-H5LT_mp_H5LTMAKE_DATASET_F_C_LONG_DOUBLE3
-H5LT_mp_H5LTMAKE_DATASET_F_C_LONG_DOUBLE4
-H5LT_mp_H5LTMAKE_DATASET_F_C_LONG_DOUBLE5
-H5LT_mp_H5LTMAKE_DATASET_F_C_LONG_DOUBLE6
-H5LT_mp_H5LTMAKE_DATASET_F_C_LONG_DOUBLE7
-H5LT_mp_H5LTREAD_DATASET_F_PTR
-H5LT_mp_H5LTREAD_DATASET_F_INT1
-H5LT_mp_H5LTREAD_DATASET_F_INT2
-H5LT_mp_H5LTREAD_DATASET_F_INT3
-H5LT_mp_H5LTREAD_DATASET_F_INT4
-H5LT_mp_H5LTREAD_DATASET_F_INT5
-H5LT_mp_H5LTREAD_DATASET_F_INT6
-H5LT_mp_H5LTREAD_DATASET_F_INT7
-H5LT_mp_H5LTREAD_DATASET_F_C_FLOAT1
-H5LT_mp_H5LTREAD_DATASET_F_C_FLOAT2
-H5LT_mp_H5LTREAD_DATASET_F_C_FLOAT3
-H5LT_mp_H5LTREAD_DATASET_F_C_FLOAT4
-H5LT_mp_H5LTREAD_DATASET_F_C_FLOAT5
-H5LT_mp_H5LTREAD_DATASET_F_C_FLOAT6
-H5LT_mp_H5LTREAD_DATASET_F_C_FLOAT7
-H5LT_mp_H5LTREAD_DATASET_F_C_DOUBLE1
-H5LT_mp_H5LTREAD_DATASET_F_C_DOUBLE2
-H5LT_mp_H5LTREAD_DATASET_F_C_DOUBLE3
-H5LT_mp_H5LTREAD_DATASET_F_C_DOUBLE4
-H5LT_mp_H5LTREAD_DATASET_F_C_DOUBLE5
-H5LT_mp_H5LTREAD_DATASET_F_C_DOUBLE6
-H5LT_mp_H5LTREAD_DATASET_F_C_DOUBLE7
-H5LT_mp_H5LTREAD_DATASET_F_C_LONG_DOUBLE1
-H5LT_mp_H5LTREAD_DATASET_F_C_LONG_DOUBLE2
-H5LT_mp_H5LTREAD_DATASET_F_C_LONG_DOUBLE3
-H5LT_mp_H5LTREAD_DATASET_F_C_LONG_DOUBLE4
-H5LT_mp_H5LTREAD_DATASET_F_C_LONG_DOUBLE5
-H5LT_mp_H5LTREAD_DATASET_F_C_LONG_DOUBLE6
-H5LT_mp_H5LTREAD_DATASET_F_C_LONG_DOUBLE7
-H5LT_mp_H5LTMAKE_DATASET_INT_F_1
-H5LT_mp_H5LTMAKE_DATASET_INT_F_2
-H5LT_mp_H5LTMAKE_DATASET_INT_F_3
-H5LT_mp_H5LTMAKE_DATASET_INT_F_4
-H5LT_mp_H5LTMAKE_DATASET_INT_F_5
-H5LT_mp_H5LTMAKE_DATASET_INT_F_6
-H5LT_mp_H5LTMAKE_DATASET_INT_F_7
-H5LT_mp_H5LTMAKE_DATASET_C_FLOAT_F_1
-H5LT_mp_H5LTMAKE_DATASET_C_FLOAT_F_2
-H5LT_mp_H5LTMAKE_DATASET_C_FLOAT_F_3
-H5LT_mp_H5LTMAKE_DATASET_C_FLOAT_F_4
-H5LT_mp_H5LTMAKE_DATASET_C_FLOAT_F_5
-H5LT_mp_H5LTMAKE_DATASET_C_FLOAT_F_6
-H5LT_mp_H5LTMAKE_DATASET_C_FLOAT_F_7
-H5LT_mp_H5LTMAKE_DATASET_C_DOUBLE_F_1
-H5LT_mp_H5LTMAKE_DATASET_C_DOUBLE_F_2
-H5LT_mp_H5LTMAKE_DATASET_C_DOUBLE_F_3
-H5LT_mp_H5LTMAKE_DATASET_C_DOUBLE_F_4
-H5LT_mp_H5LTMAKE_DATASET_C_DOUBLE_F_5
-H5LT_mp_H5LTMAKE_DATASET_C_DOUBLE_F_5
-H5LT_mp_H5LTMAKE_DATASET_C_DOUBLE_F_5
-H5LT_mp_H5LTMAKE_DATASET_C_LONG_DOUBLE_F_1
-H5LT_mp_H5LTMAKE_DATASET_C_LONG_DOUBLE_F_2
-H5LT_mp_H5LTMAKE_DATASET_C_LONG_DOUBLE_F_3
-H5LT_mp_H5LTMAKE_DATASET_C_LONG_DOUBLE_F_4
-H5LT_mp_H5LTMAKE_DATASET_C_LONG_DOUBLE_F_5
-H5LT_mp_H5LTMAKE_DATASET_C_LONG_DOUBLE_F_5
-H5LT_mp_H5LTMAKE_DATASET_C_LONG_DOUBLE_F_5
-H5LT_mp_H5LTREAD_DATASET_INT_F_1
-H5LT_mp_H5LTREAD_DATASET_INT_F_2
-H5LT_mp_H5LTREAD_DATASET_INT_F_3
-H5LT_mp_H5LTREAD_DATASET_INT_F_4
-H5LT_mp_H5LTREAD_DATASET_INT_F_5
-H5LT_mp_H5LTREAD_DATASET_INT_F_6
-H5LT_mp_H5LTREAD_DATASET_INT_F_7
-H5LT_mp_H5LTREAD_DATASET_C_FLOAT_F_1
-H5LT_mp_H5LTREAD_DATASET_C_FLOAT_F_2
-H5LT_mp_H5LTREAD_DATASET_C_FLOAT_F_3
-H5LT_mp_H5LTREAD_DATASET_C_FLOAT_F_4
-H5LT_mp_H5LTREAD_DATASET_C_FLOAT_F_5
-H5LT_mp_H5LTREAD_DATASET_C_FLOAT_F_6
-H5LT_mp_H5LTREAD_DATASET_C_FLOAT_F_7
-H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_1
-H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_2
-H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_3
-H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_4
-H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_5
-H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_6
-H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_7
-H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_1
-H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_2
-H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_3
-H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_4
-H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_5
-H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_6
-H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_7
-H5LT_mp_H5LTMAKE_DATASET_STRING_F
-H5LT_mp_H5LTREAD_DATASET_STRING_F
-H5LT_mp_H5LTSET_ATTRIBUTE_INT_F
-H5LT_mp_H5LTSET_ATTRIBUTE_FLOAT_F
-H5LT_mp_H5LTSET_ATTRIBUTE_DOUBLE_F
-H5LT_mp_H5LTSET_ATTRIBUTE_STRING_F
-H5LT_mp_H5LTGET_ATTRIBUTE_INT_F
-H5LT_mp_H5LTGET_ATTRIBUTE_FLOAT_F
-H5LT_mp_H5LTGET_ATTRIBUTE_DOUBLE_F
-H5LT_mp_H5LTGET_ATTRIBUTE_STRING_F
-H5LT_mp_H5LTGET_DATASET_NDIMS_F
-H5LT_mp_H5LTFIND_DATASET_F
-H5LT_mp_H5LTGET_DATASET_INFO_F
-H5LT_mp_H5LTGET_ATTRIBUTE_NDIMS_F
-H5LT_mp_H5LTGET_ATTRIBUTE_INFO_F
-H5LT_mp_H5LTPATH_VALID_F
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_PTR
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT1
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT2
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT3
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT4
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT5
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT6
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT7
+H5LT_CONST_mp_H5LTREAD_DATASET_F_PTR
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT1
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT2
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT3
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT4
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT5
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT6
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT7
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_1
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_2
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_3
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_4
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_5
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_6
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_7
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_1
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_2
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_3
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_4
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_5
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_6
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_7
+H5LT_CONST_mp_H5LTMAKE_DATASET_STRING_F
+H5LT_CONST_mp_H5LTREAD_DATASET_STRING_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_INT_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_FLOAT_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_DOUBLE_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_STRING_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_INT_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_FLOAT_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_DOUBLE_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_STRING_F
+H5LT_CONST_mp_H5LTGET_DATASET_NDIMS_F
+H5LT_CONST_mp_H5LTFIND_DATASET_F
+H5LT_CONST_mp_H5LTGET_DATASET_INFO_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_NDIMS_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_INFO_F
+H5LT_CONST_mp_H5LTPATH_VALID_F
; H5TB
-H5TB_mp_H5TBMAKE_TABLE_F
-H5TB_mp_H5TBWRITE_FIELD_NAME_F_INT
-H5TB_mp_H5TBWRITE_FIELD_NAME_F_C_FLOAT
-H5TB_mp_H5TBWRITE_FIELD_NAME_F_C_DOUBLE
-H5TB_mp_H5TBWRITE_FIELD_NAME_F_C_LONG_DOUBLE
-H5TB_mp_H5TBWRITE_FIELD_NAME_F_STRING
-H5TB_mp_H5TBREAD_FIELD_NAME_F_INT
-H5TB_mp_H5TBREAD_FIELD_NAME_F_C_FLOAT
-H5TB_mp_H5TBREAD_FIELD_NAME_F_C_DOUBLE
-H5TB_mp_H5TBREAD_FIELD_NAME_F_C_LONG_DOUBLE
-H5TB_mp_H5TBREAD_FIELD_NAME_F_STRING
-H5TB_mp_H5TBWRITE_FIELD_INDEX_F_INT
-H5TB_mp_H5TBWRITE_FIELD_INDEX_F_C_FLOAT
-H5TB_mp_H5TBWRITE_FIELD_INDEX_F_C_DOUBLE
-H5TB_mp_H5TBWRITE_FIELD_INDEX_F_C_LONG_DOUBLE
-H5TB_mp_H5TBWRITE_FIELD_INDEX_F_STRING
-H5TB_mp_H5TBREAD_FIELD_INDEX_F_INT
-H5TB_mp_H5TBREAD_FIELD_INDEX_F_C_FLOAT
-H5TB_mp_H5TBREAD_FIELD_INDEX_F_C_DOUBLE
-H5TB_mp_H5TBREAD_FIELD_INDEX_F_C_LONG_DOUBLE
-H5TB_mp_H5TBREAD_FIELD_INDEX_F_STRING
-H5TB_mp_H5TBINSERT_FIELD_F_INT
-H5TB_mp_H5TBINSERT_FIELD_F_C_FLOAT
-H5TB_mp_H5TBINSERT_FIELD_F_C_DOUBLE
-H5TB_mp_H5TBINSERT_FIELD_F_C_LONG_DOUBLE
-H5TB_mp_H5TBINSERT_FIELD_F_STRING
-H5TB_mp_H5TBDELETE_FIELD_F
-H5TB_mp_H5TBGET_TABLE_INFO_F
-H5TB_mp_H5TBGET_FIELD_INFO_F
+H5TB_CONST_mp_H5TBMAKE_TABLE_F
+H5TB_CONST_mp_H5TBWRITE_FIELD_NAME_F_INT
+H5TB_CONST_mp_H5TBWRITE_FIELD_NAME_F_STRING
+H5TB_CONST_mp_H5TBREAD_FIELD_NAME_F_INT
+H5TB_CONST_mp_H5TBREAD_FIELD_NAME_F_STRING
+H5TB_CONST_mp_H5TBWRITE_FIELD_INDEX_F_INT
+H5TB_CONST_mp_H5TBWRITE_FIELD_INDEX_F_STRING
+H5TB_CONST_mp_H5TBREAD_FIELD_INDEX_F_INT
+H5TB_CONST_mp_H5TBREAD_FIELD_INDEX_F_STRING
+H5TB_CONST_mp_H5TBINSERT_FIELD_F_INT
+H5TB_CONST_mp_H5TBINSERT_FIELD_F_STRING
+H5TB_CONST_mp_H5TBDELETE_FIELD_F
+H5TB_CONST_mp_H5TBGET_TABLE_INFO_F
+H5TB_CONST_mp_H5TBGET_FIELD_INFO_F
diff --git a/hl/fortran/test/tstlite.F90 b/hl/fortran/test/tstlite.F90
index 4c1ca14..0eb005b 100644
--- a/hl/fortran/test/tstlite.F90
+++ b/hl/fortran/test/tstlite.F90
@@ -1539,20 +1539,23 @@ SUBROUTINE test_attributes()
! double
!-------------------------------------------------------------------------
- CALL test_begin(' Set/Get attributes double ')
-
#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
SizeOf_buf_type = STORAGE_SIZE(buf4(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
#else
SizeOf_buf_type = SIZEOF(buf4(1))
#endif
+
+ IF(SizeOf_buf_type.LT.16)THEN ! MSB can't handle 16 byte reals
+
+ CALL test_begin(' Set/Get attributes double ')
+
!
! write attribute.
!
f_ptr = C_LOC(buf4(1))
CALL h5ltset_attribute_f(file_id,dsetname1,attrname4,f_ptr,"real", SizeOf_buf_type, size, errcode)
- !CALL h5ltset_attribute_double_f(file_id,dsetname1,attrname4,f_ptr,"Real", SizeOf_buf_type, size, errcode)
+! CALL h5ltset_attribute_double_f(file_id,dsetname1,attrname4,buf4, size, errcode)
!
! read attribute.
@@ -1567,8 +1570,6 @@ SUBROUTINE test_attributes()
f_ptr = C_LOC(bufr4(1))
CALL h5ltget_attribute_f(file_id,dsetname1,attrname4,f_ptr,"REAL",SizeOf_buf_type,errcode)
-! CALL h5ltget_attribute_double_f(file_id,dsetname1,attrname4,bufr4,errcode)
-
!
! compare read and write buffers.
!
@@ -1582,6 +1583,8 @@ SUBROUTINE test_attributes()
CALL passed()
+ ENDIF
+
!-------------------------------------------------------------------------
! string
!-------------------------------------------------------------------------