summaryrefslogtreecommitdiffstats
path: root/fortran
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-07-14 17:07:27 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-07-14 17:07:27 (GMT)
commit0e102fb1cdc194f2ef56a328f7fc026241bffe39 (patch)
tree52d3b8b3a95be18256fd4f03d86927aacb44ae19 /fortran
parenta3de9abcbff051f5f4195a701b559b5e62bbf42b (diff)
downloadhdf5-0e102fb1cdc194f2ef56a328f7fc026241bffe39.zip
hdf5-0e102fb1cdc194f2ef56a328f7fc026241bffe39.tar.gz
hdf5-0e102fb1cdc194f2ef56a328f7fc026241bffe39.tar.bz2
[svn-r27384] H5Dwrite and H5Awrite for INTEGERs are now generated code
Diffstat (limited to 'fortran')
-rw-r--r--fortran/src/H5Aff.F908
-rw-r--r--fortran/src/H5Dff.F908
-rw-r--r--fortran/src/H5_buildiface.F9095
-rw-r--r--fortran/src/hdf5_fortrandll.def.in16
4 files changed, 87 insertions, 40 deletions
diff --git a/fortran/src/H5Aff.F90 b/fortran/src/H5Aff.F90
index a2b84c4..8e9eadf 100644
--- a/fortran/src/H5Aff.F90
+++ b/fortran/src/H5Aff.F90
@@ -73,14 +73,6 @@ MODULE H5A
USE H5GLOBAL
INTERFACE h5awrite_f
- MODULE PROCEDURE h5awrite_integer_scalar
- MODULE PROCEDURE h5awrite_integer_1
- MODULE PROCEDURE h5awrite_integer_2
- MODULE PROCEDURE h5awrite_integer_3
- MODULE PROCEDURE h5awrite_integer_4
- MODULE PROCEDURE h5awrite_integer_5
- MODULE PROCEDURE h5awrite_integer_6
- MODULE PROCEDURE h5awrite_integer_7
MODULE PROCEDURE h5awrite_char_scalar
MODULE PROCEDURE h5awrite_char_1
MODULE PROCEDURE h5awrite_char_2
diff --git a/fortran/src/H5Dff.F90 b/fortran/src/H5Dff.F90
index 17b124e..75ac2d6 100644
--- a/fortran/src/H5Dff.F90
+++ b/fortran/src/H5Dff.F90
@@ -111,14 +111,6 @@ MODULE H5D
INTERFACE h5dwrite_f
MODULE PROCEDURE h5dwrite_reference_obj
MODULE PROCEDURE h5dwrite_reference_dsetreg
- MODULE PROCEDURE h5dwrite_integer_scalar
- MODULE PROCEDURE h5dwrite_integer_1
- MODULE PROCEDURE h5dwrite_integer_2
- MODULE PROCEDURE h5dwrite_integer_3
- MODULE PROCEDURE h5dwrite_integer_4
- MODULE PROCEDURE h5dwrite_integer_5
- MODULE PROCEDURE h5dwrite_integer_6
- MODULE PROCEDURE h5dwrite_integer_7
MODULE PROCEDURE h5dwrite_char_scalar
MODULE PROCEDURE h5dwrite_char_1
MODULE PROCEDURE h5dwrite_char_2
diff --git a/fortran/src/H5_buildiface.F90 b/fortran/src/H5_buildiface.F90
index c5592ca..e837143 100644
--- a/fortran/src/H5_buildiface.F90
+++ b/fortran/src/H5_buildiface.F90
@@ -154,7 +154,14 @@ PROGRAM test_kind
j = rkind(i)
WRITE(chr2,'(I2)') j
DO k = 1, 8
- WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_rkind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO i = 1, num_ikinds
+ j = ikind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
ENDDO
END DO
WRITE(11,'(A)') " END INTERFACE"
@@ -179,7 +186,14 @@ PROGRAM test_kind
j = rkind(i)
WRITE(chr2,'(I2)') j
DO k = 1, 8
- WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_rkind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO i = 1, num_ikinds
+ j = ikind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
ENDDO
END DO
WRITE(11,'(A)') " END INTERFACE"
@@ -267,11 +281,11 @@ PROGRAM test_kind
! DLL definitions for windows
WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
- WRITE(11,'(A)') '!DEC$attributes dllexport :: h5awrite_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5awrite_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
WRITE(11,'(A)') '!DEC$endif'
! Subroutine API
- WRITE(11,'(A)') ' SUBROUTINE h5awrite_kind_'//TRIM(ADJUSTL(chr2))&
+ WRITE(11,'(A)') ' SUBROUTINE h5awrite_rkind_'//TRIM(ADJUSTL(chr2))&
&//'_rank'//chr_rank(j)//'(attr_id, memtype_id, buf, dims, hdferr)'
WRITE(11,'(A)') ' IMPLICIT NONE'
WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: attr_id'
@@ -283,7 +297,33 @@ PROGRAM test_kind
WRITE(11,'(A)') f_ptr_line(j)
WRITE(11,'(A)') ' hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)'
- WRITE(11,'(A)') ' END SUBROUTINE h5awrite_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') ' END SUBROUTINE h5awrite_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+ DO i = 1, num_ikinds
+ k = ikind(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 :: h5awrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5awrite_ikind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(attr_id, memtype_id, buf, dims, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: attr_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: memtype_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T) , INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' INTEGER(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER , INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5awrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
ENDDO
ENDDO
!
@@ -365,10 +405,10 @@ PROGRAM test_kind
DO j = 1, 8
! DLL definitions for windows
WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
- WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dwrite_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dwrite_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
WRITE(11,'(A)') '!DEC$endif'
! Subroutine API
- WRITE(11,'(A)') ' SUBROUTINE h5dwrite_kind_'//TRIM(ADJUSTL(chr2))&
+ WRITE(11,'(A)') ' SUBROUTINE h5dwrite_rkind_'//TRIM(ADJUSTL(chr2))&
&//'_rank'//chr_rank(j)//'(dset_id, mem_type_id, buf, dims, hdferr, &'
WRITE(11,'(A)') ' mem_space_id, file_space_id, xfer_prp)'
WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
@@ -394,7 +434,46 @@ PROGRAM test_kind
WRITE(11,'(A)') f_ptr_line(j)
WRITE(11,'(A)') ' hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &'
WRITE(11,'(A)') ' file_space_id_default, xfer_prp_default, f_ptr)'
- WRITE(11,'(A)') ' END SUBROUTINE h5dwrite_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') ' END SUBROUTINE h5dwrite_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+ DO i = 1, num_ikinds
+ k = ikind(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 :: h5dwrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5dwrite_ikind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(dset_id, mem_type_id, buf, dims, hdferr, &'
+ WRITE(11,'(A)') ' mem_space_id, file_space_id, xfer_prp)'
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: dset_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: mem_type_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' INTEGER(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: xfer_prp_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: mem_space_id_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: file_space_id_default'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' xfer_prp_default = H5P_DEFAULT_F'
+ WRITE(11,'(A)') ' mem_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' file_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp'
+ WRITE(11,'(A)') ' IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id'
+ WRITE(11,'(A)') ' IF(PRESENT(file_space_id)) file_space_id_default = file_space_id'
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &'
+ WRITE(11,'(A)') ' file_space_id_default, xfer_prp_default, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5dwrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
ENDDO
ENDDO
diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in
index ab24438..7e35ebf 100644
--- a/fortran/src/hdf5_fortrandll.def.in
+++ b/fortran/src/hdf5_fortrandll.def.in
@@ -9,14 +9,6 @@ H5LIB_mp_H5DONT_ATEXIT_F
H5LIB_mp_H5KIND_TO_TYPE
H5LIB_mp_H5OFFSETOF
; H5A
-H5A_mp_H5AWRITE_INTEGER_SCALAR
-H5A_mp_H5AWRITE_INTEGER_1
-H5A_mp_H5AWRITE_INTEGER_2
-H5A_mp_H5AWRITE_INTEGER_3
-H5A_mp_H5AWRITE_INTEGER_4
-H5A_mp_H5AWRITE_INTEGER_5
-H5A_mp_H5AWRITE_INTEGER_6
-H5A_mp_H5AWRITE_INTEGER_7
H5A_mp_H5AWRITE_CHAR_SCALAR
H5A_mp_H5AWRITE_CHAR_1
H5A_mp_H5AWRITE_CHAR_2
@@ -72,14 +64,6 @@ H5D_mp_H5DOPEN_F
H5D_mp_H5DCLOSE_F
H5D_mp_H5DWRITE_REFERENCE_OBJ
H5D_mp_H5DWRITE_REFERENCE_DSETREG
-H5D_mp_H5DWRITE_INTEGER_SCALAR
-H5D_mp_H5DWRITE_INTEGER_1
-H5D_mp_H5DWRITE_INTEGER_2
-H5D_mp_H5DWRITE_INTEGER_3
-H5D_mp_H5DWRITE_INTEGER_4
-H5D_mp_H5DWRITE_INTEGER_5
-H5D_mp_H5DWRITE_INTEGER_6
-H5D_mp_H5DWRITE_INTEGER_7
H5D_mp_H5DWRITE_CHAR_SCALAR
H5D_mp_H5DWRITE_CHAR_1
H5D_mp_H5DWRITE_CHAR_2