mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-31 17:10:47 +08:00
[svn-r27385] H5Dwrite,H5Dread,H5Awrite,H5Dread for INTEGERs and Characters are now generated code
This commit is contained in:
parent
0e102fb1cd
commit
f76d1ca08b
@ -74,35 +74,13 @@ MODULE H5A
|
||||
|
||||
INTERFACE h5awrite_f
|
||||
MODULE PROCEDURE h5awrite_char_scalar
|
||||
MODULE PROCEDURE h5awrite_char_1
|
||||
MODULE PROCEDURE h5awrite_char_2
|
||||
MODULE PROCEDURE h5awrite_char_3
|
||||
MODULE PROCEDURE h5awrite_char_4
|
||||
MODULE PROCEDURE h5awrite_char_5
|
||||
MODULE PROCEDURE h5awrite_char_6
|
||||
MODULE PROCEDURE h5awrite_char_7
|
||||
! This is the preferred way to call h5awrite
|
||||
! by passing an address
|
||||
MODULE PROCEDURE h5awrite_ptr
|
||||
END INTERFACE
|
||||
|
||||
INTERFACE h5aread_f
|
||||
MODULE PROCEDURE h5aread_integer_scalar
|
||||
MODULE PROCEDURE h5aread_integer_1
|
||||
MODULE PROCEDURE h5aread_integer_2
|
||||
MODULE PROCEDURE h5aread_integer_3
|
||||
MODULE PROCEDURE h5aread_integer_4
|
||||
MODULE PROCEDURE h5aread_integer_5
|
||||
MODULE PROCEDURE h5aread_integer_6
|
||||
MODULE PROCEDURE h5aread_integer_7
|
||||
MODULE PROCEDURE h5aread_char_scalar
|
||||
MODULE PROCEDURE h5aread_char_1
|
||||
MODULE PROCEDURE h5aread_char_2
|
||||
MODULE PROCEDURE h5aread_char_3
|
||||
MODULE PROCEDURE h5aread_char_4
|
||||
MODULE PROCEDURE h5aread_char_5
|
||||
MODULE PROCEDURE h5aread_char_6
|
||||
MODULE PROCEDURE h5aread_char_7
|
||||
! This is the preferred way to call h5aread
|
||||
! by passing an address
|
||||
MODULE PROCEDURE h5aread_ptr
|
||||
@ -949,195 +927,6 @@ CONTAINS
|
||||
|
||||
END SUBROUTINE H5Arename_by_name_f
|
||||
|
||||
!****s* H5A (F03)/H5Awrite_f_F90
|
||||
!
|
||||
! NAME
|
||||
! H5Awrite_f_F90
|
||||
!
|
||||
! PURPOSE
|
||||
! Writes an attribute.
|
||||
!
|
||||
! Inputs:
|
||||
! attr_id - Attribute identifier
|
||||
! memtype_id - Attribute datatype identifier (in memory)
|
||||
! dims - Array to hold corresponding dimension sizes of data buffer buf;
|
||||
! dim(k) has value of the k-th dimension of buffer buf;
|
||||
! values are ignored if buf is a scalar
|
||||
! buf - Data buffer; may be a scalar or an array
|
||||
!
|
||||
! Outputs:
|
||||
! hdferr - Returns 0 if successful and -1 if fails
|
||||
!
|
||||
! AUTHOR
|
||||
! Elena Pourmal
|
||||
! August 12, 1999
|
||||
!
|
||||
! HISTORY
|
||||
! Explicit Fortran interfaces are added for
|
||||
! called C functions (it is needed for Windows
|
||||
! port). February 27, 2001
|
||||
!
|
||||
! dims parameter was added to make code portable;
|
||||
! Aprile 4, 2001
|
||||
!
|
||||
! Changed buf intent to INOUT to be consistant
|
||||
! with how the C functions handles it. The pg
|
||||
! compiler will return 0 if a buf value is not set.
|
||||
! February, 2008
|
||||
!
|
||||
! NOTES
|
||||
! This function is overloaded to write INTEGER,
|
||||
! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
|
||||
! up to 7 dimensions.
|
||||
!
|
||||
! Fortran90 Interface:
|
||||
!! SUBROUTINE H5Awrite_f(attr_id, memtype_id, buf, dims, hdferr)
|
||||
!! INTEGER(HID_T) , INTENT(IN) :: attr_id
|
||||
!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
|
||||
!! TYPE , INTENT(IN) :: buf
|
||||
!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
|
||||
!! INTEGER , INTENT(OUT) :: hdferr
|
||||
!*****
|
||||
|
||||
|
||||
SUBROUTINE H5Awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(IN), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf)
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_integer_scalar
|
||||
|
||||
SUBROUTINE H5Awrite_integer_1(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(IN) , &
|
||||
DIMENSION(dims(1)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Awrite_integer_1
|
||||
|
||||
|
||||
SUBROUTINE H5Awrite_integer_2(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(IN) , &
|
||||
DIMENSION(dims(1),dims(2)), TARGET :: buf
|
||||
! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_integer_2
|
||||
|
||||
SUBROUTINE H5Awrite_integer_3(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_integer_3
|
||||
|
||||
|
||||
SUBROUTINE H5Awrite_integer_4(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_integer_4
|
||||
|
||||
|
||||
SUBROUTINE H5Awrite_integer_5(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_integer_5
|
||||
|
||||
|
||||
SUBROUTINE H5Awrite_integer_6(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1,1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Awrite_integer_6
|
||||
|
||||
|
||||
SUBROUTINE H5Awrite_integer_7(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), &
|
||||
TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_integer_7
|
||||
|
||||
!
|
||||
!****s* H5A/H5Aopen_f
|
||||
!
|
||||
@ -2037,122 +1826,6 @@ CONTAINS
|
||||
|
||||
END SUBROUTINE H5Awrite_char_scalar_fix
|
||||
|
||||
SUBROUTINE H5Awrite_char_1(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(1)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1)(1:1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_char_1
|
||||
|
||||
SUBROUTINE H5Awrite_char_2(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1)(1:1))
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_char_2
|
||||
|
||||
SUBROUTINE H5Awrite_char_3(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1)(1:1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_char_3
|
||||
|
||||
SUBROUTINE H5Awrite_char_4(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1)(1:1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_char_4
|
||||
|
||||
SUBROUTINE H5Awrite_char_5(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1)(1:1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_char_5
|
||||
|
||||
|
||||
SUBROUTINE H5Awrite_char_6(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1))
|
||||
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_char_6
|
||||
|
||||
SUBROUTINE H5Awrite_char_7(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(IN), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))
|
||||
hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Awrite_char_7
|
||||
|
||||
!****s* H5A (F03)/H5Awrite_f_F03
|
||||
!
|
||||
@ -2203,185 +1876,6 @@ CONTAINS
|
||||
|
||||
END SUBROUTINE H5Awrite_ptr
|
||||
|
||||
!****s* H5A (F03)/H5Aread_f_F90
|
||||
!
|
||||
! NAME
|
||||
! H5Aread_f_F90
|
||||
!
|
||||
! PURPOSE
|
||||
! Reads an attribute.
|
||||
!
|
||||
! Inputs:
|
||||
! attr_id - Attribute identifier
|
||||
! memtype_id - Attribute datatype identifier (in memory)
|
||||
! dims - Array to hold corresponding dimension sizes of data buffer buf;
|
||||
! dim(k) has value of the k-th dimension of buffer buf;
|
||||
! values are ignored if buf is a scalar
|
||||
!
|
||||
! Outputs:
|
||||
! buf - Data buffer; may be a scalar or an array
|
||||
! hdferr - Returns 0 if successful and -1 if fails
|
||||
!
|
||||
! AUTHOR
|
||||
! Elena Pourmal
|
||||
! August 12, 1999
|
||||
!
|
||||
! HISTORY
|
||||
! Explicit Fortran interfaces are added for
|
||||
! called C functions (it is needed for Windows
|
||||
! port). February 27, 2001
|
||||
!
|
||||
! dims parameter was added to make code portable;
|
||||
! Aprile 4, 2001
|
||||
!
|
||||
! Changed buf intent to INOUT to be consistant
|
||||
! with how the C functions handles it. The pg
|
||||
! compiler will return 0 if a buf value is not set.
|
||||
! February, 2008
|
||||
!
|
||||
! NOTES
|
||||
! This function is overloaded to write INTEGER,
|
||||
! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
|
||||
! up to 7 dimensions.
|
||||
! Fortran90 Interface:
|
||||
!! SUBROUTINE H5Aread_f(attr_id, memtype_id, buf, dims, hdferr)
|
||||
!! INTEGER(HID_T) , INTENT(IN) :: attr_id
|
||||
!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
|
||||
!! TYPE , INTENT(INOUT) :: buf
|
||||
!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
|
||||
!! INTEGER , INTENT(OUT) :: hdferr
|
||||
!*****
|
||||
SUBROUTINE H5Aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(INOUT), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf)
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Aread_integer_scalar
|
||||
|
||||
SUBROUTINE H5Aread_integer_1(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(INOUT), DIMENSION(dims(1)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1))
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Aread_integer_1
|
||||
|
||||
|
||||
SUBROUTINE H5Aread_integer_2(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(INOUT),DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1))
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Aread_integer_2
|
||||
|
||||
|
||||
SUBROUTINE H5Aread_integer_3(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1))
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Aread_integer_3
|
||||
|
||||
|
||||
SUBROUTINE H5Aread_integer_4(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1))
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Aread_integer_4
|
||||
|
||||
|
||||
SUBROUTINE H5Aread_integer_5(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1))
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Aread_integer_5
|
||||
|
||||
|
||||
SUBROUTINE H5Aread_integer_6(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1,1))
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Aread_integer_6
|
||||
|
||||
|
||||
SUBROUTINE H5Aread_integer_7(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
INTEGER, INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
END SUBROUTINE H5Aread_integer_7
|
||||
|
||||
SUBROUTINE H5Aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
@ -2411,122 +1905,6 @@ CONTAINS
|
||||
|
||||
END SUBROUTINE H5Aread_char_scalar_fix
|
||||
|
||||
SUBROUTINE H5Aread_char_1(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(INOUT), &
|
||||
DIMENSION(dims(1)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1)(1:1))
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Aread_char_1
|
||||
|
||||
SUBROUTINE H5Aread_char_2(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1)(1:1))
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Aread_char_2
|
||||
|
||||
SUBROUTINE H5Aread_char_3(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1)(1:1))
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Aread_char_3
|
||||
|
||||
SUBROUTINE H5Aread_char_4(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1)(1:1))
|
||||
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Aread_char_4
|
||||
|
||||
SUBROUTINE H5Aread_char_5(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1)(1:1))
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Aread_char_5
|
||||
|
||||
|
||||
SUBROUTINE H5Aread_char_6(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1))
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Aread_char_6
|
||||
|
||||
|
||||
SUBROUTINE H5Aread_char_7(attr_id, memtype_id, buf, dims, hdferr)
|
||||
IMPLICIT NONE
|
||||
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
|
||||
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
|
||||
! identifier (in memory)
|
||||
INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
|
||||
CHARACTER(LEN=*), INTENT(INOUT), &
|
||||
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
|
||||
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))
|
||||
hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
|
||||
|
||||
END SUBROUTINE H5Aread_char_7
|
||||
|
||||
|
||||
!****s* H5A (F03)/H5Aread_f_F03
|
||||
!
|
||||
! NAME
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -90,7 +90,17 @@ PROGRAM test_kind
|
||||
' 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))' &
|
||||
' f_ptr = C_LOC(buf(1,1,1,1,1,1,1))' &
|
||||
/)
|
||||
CHARACTER(LEN=42), DIMENSION(1:8), PARAMETER :: fchr_ptr_line=(/ &
|
||||
' 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)) ', &
|
||||
' f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1)) ', &
|
||||
' f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))' &
|
||||
/)
|
||||
|
||||
! (a) Generate Fortran H5* interfaces having multiple KIND interfaces.
|
||||
@ -164,6 +174,9 @@ PROGRAM test_kind
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
|
||||
ENDDO
|
||||
END DO
|
||||
DO k = 2, 8
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_ckind_rank"//chr_rank(k)
|
||||
ENDDO
|
||||
WRITE(11,'(A)') " END INTERFACE"
|
||||
|
||||
! H5Aread_f
|
||||
@ -172,9 +185,19 @@ PROGRAM test_kind
|
||||
j = rkind(i)
|
||||
WRITE(chr2,'(I2)') j
|
||||
DO k = 1, 8
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5aread_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5aread_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 h5aread_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
|
||||
ENDDO
|
||||
END DO
|
||||
DO k = 2, 8
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5aread_ckind_rank"//chr_rank(k)
|
||||
ENDDO
|
||||
WRITE(11,'(A)') " END INTERFACE"
|
||||
!***************
|
||||
! H5D INTERFACES
|
||||
@ -195,6 +218,9 @@ PROGRAM test_kind
|
||||
DO k = 1, 8
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
|
||||
ENDDO
|
||||
END DO
|
||||
DO k = 2, 8
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_ckind_rank"//chr_rank(k)
|
||||
END DO
|
||||
WRITE(11,'(A)') " END INTERFACE"
|
||||
|
||||
@ -204,9 +230,19 @@ PROGRAM test_kind
|
||||
j = rkind(i)
|
||||
WRITE(chr2,'(I2)') j
|
||||
DO k = 1, 8
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5dread_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5dread_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 h5dread_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
|
||||
ENDDO
|
||||
END DO
|
||||
DO k = 2, 8
|
||||
WRITE(11,'(A)') " MODULE PROCEDURE h5dread_ckind_rank"//chr_rank(k)
|
||||
ENDDO
|
||||
WRITE(11,'(A)') " END INTERFACE"
|
||||
|
||||
!***************
|
||||
@ -274,6 +310,57 @@ PROGRAM test_kind
|
||||
!**********************
|
||||
!
|
||||
! H5Awrite_f
|
||||
|
||||
!****s* H5A (F03)/H5Awrite_f_F90
|
||||
!
|
||||
! NAME
|
||||
! H5Awrite_f_F90
|
||||
!
|
||||
! PURPOSE
|
||||
! Writes an attribute.
|
||||
!
|
||||
! Inputs:
|
||||
! attr_id - Attribute identifier
|
||||
! memtype_id - Attribute datatype identifier (in memory)
|
||||
! dims - Array to hold corresponding dimension sizes of data buffer buf;
|
||||
! dim(k) has value of the k-th dimension of buffer buf;
|
||||
! values are ignored if buf is a scalar
|
||||
! buf - Data buffer; may be a scalar or an array
|
||||
!
|
||||
! Outputs:
|
||||
! hdferr - Returns 0 if successful and -1 if fails
|
||||
!
|
||||
! AUTHOR
|
||||
! Elena Pourmal
|
||||
! August 12, 1999
|
||||
!
|
||||
! HISTORY
|
||||
! Explicit Fortran interfaces are added for
|
||||
! called C functions (it is needed for Windows
|
||||
! port). February 27, 2001
|
||||
!
|
||||
! dims parameter was added to make code portable;
|
||||
! Aprile 4, 2001
|
||||
!
|
||||
! Changed buf intent to INOUT to be consistant
|
||||
! with how the C functions handles it. The pg
|
||||
! compiler will return 0 if a buf value is not set.
|
||||
! February, 2008
|
||||
!
|
||||
! NOTES
|
||||
! This function is overloaded to write INTEGER,
|
||||
! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
|
||||
! up to 7 dimensions.
|
||||
!
|
||||
! Fortran90 Interface:
|
||||
!! SUBROUTINE H5Awrite_f(attr_id, memtype_id, buf, dims, hdferr)
|
||||
!! INTEGER(HID_T) , INTENT(IN) :: attr_id
|
||||
!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
|
||||
!! TYPE , INTENT(IN) :: buf
|
||||
!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
|
||||
!! INTEGER , INTENT(OUT) :: hdferr
|
||||
!*****
|
||||
|
||||
DO i = 1, num_rkinds
|
||||
k = rkind(i)
|
||||
WRITE(chr2,'(I2)') k
|
||||
@ -317,7 +404,7 @@ PROGRAM test_kind
|
||||
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(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(INOUT)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
|
||||
WRITE(11,'(A)') ' INTEGER , INTENT(OUT) :: hdferr'
|
||||
WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
|
||||
|
||||
@ -326,18 +413,89 @@ PROGRAM test_kind
|
||||
WRITE(11,'(A)') ' END SUBROUTINE h5awrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
ENDDO
|
||||
ENDDO
|
||||
DO j = 2, 8
|
||||
|
||||
! DLL definitions for windows
|
||||
WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
|
||||
WRITE(11,'(A)') '!DEC$attributes dllexport :: h5awrite_ckind_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$endif'
|
||||
|
||||
! Subroutine API
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5awrite_ckind_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)') ' CHARACTER(LEN=*) , 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)') fchr_ptr_line(j)
|
||||
WRITE(11,'(A)') ' hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)'
|
||||
WRITE(11,'(A)') ' END SUBROUTINE h5awrite_ckind_rank'//chr_rank(j)
|
||||
ENDDO
|
||||
|
||||
!
|
||||
! H5Aread_f
|
||||
|
||||
!****s* H5A (F03)/H5Aread_f_F90
|
||||
!
|
||||
! NAME
|
||||
! H5Aread_f_F90
|
||||
!
|
||||
! PURPOSE
|
||||
! Reads an attribute.
|
||||
!
|
||||
! Inputs:
|
||||
! attr_id - Attribute identifier
|
||||
! memtype_id - Attribute datatype identifier (in memory)
|
||||
! dims - Array to hold corresponding dimension sizes of data buffer buf;
|
||||
! dim(k) has value of the k-th dimension of buffer buf;
|
||||
! values are ignored if buf is a scalar
|
||||
!
|
||||
! Outputs:
|
||||
! buf - Data buffer; may be a scalar or an array
|
||||
! hdferr - Returns 0 if successful and -1 if fails
|
||||
!
|
||||
! AUTHOR
|
||||
! Elena Pourmal
|
||||
! August 12, 1999
|
||||
!
|
||||
! HISTORY
|
||||
! Explicit Fortran interfaces are added for
|
||||
! called C functions (it is needed for Windows
|
||||
! port). February 27, 2001
|
||||
!
|
||||
! dims parameter was added to make code portable;
|
||||
! Aprile 4, 2001
|
||||
!
|
||||
! Changed buf intent to INOUT to be consistant
|
||||
! with how the C functions handles it. The pg
|
||||
! compiler will return 0 if a buf value is not set.
|
||||
! February, 2008
|
||||
!
|
||||
! NOTES
|
||||
! This function is overloaded to write INTEGER,
|
||||
! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
|
||||
! up to 7 dimensions.
|
||||
! Fortran90 Interface:
|
||||
!! SUBROUTINE H5Aread_f(attr_id, memtype_id, buf, dims, hdferr)
|
||||
!! INTEGER(HID_T) , INTENT(IN) :: attr_id
|
||||
!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
|
||||
!! TYPE , INTENT(INOUT) :: buf
|
||||
!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
|
||||
!! INTEGER , INTENT(OUT) :: hdferr
|
||||
!*****
|
||||
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 :: h5aread_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$attributes dllexport :: h5aread_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$endif'
|
||||
! Subroutine API
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5aread_kind_'//TRIM(ADJUSTL(chr2))&
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5aread_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'
|
||||
@ -349,25 +507,114 @@ PROGRAM test_kind
|
||||
|
||||
WRITE(11,'(A)') f_ptr_line(j)
|
||||
WRITE(11,'(A)') ' hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)'
|
||||
WRITE(11,'(A)') ' END SUBROUTINE h5aread_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') ' END SUBROUTINE h5aread_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 :: h5aread_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$endif'
|
||||
! Subroutine API
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5aread_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(INOUT)'//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 = H5Aread_f_c(attr_id, memtype_id, f_ptr)'
|
||||
WRITE(11,'(A)') ' END SUBROUTINE h5aread_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
ENDDO
|
||||
ENDDO
|
||||
DO j = 2, 8
|
||||
! DLL definitions for windows
|
||||
WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
|
||||
WRITE(11,'(A)') '!DEC$attributes dllexport :: h5aread_ckind_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$endif'
|
||||
! Subroutine API
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5aread_ckind_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)') ' CHARACTER(LEN=*), 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)') fchr_ptr_line(j)
|
||||
WRITE(11,'(A)') ' hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)'
|
||||
WRITE(11,'(A)') ' END SUBROUTINE h5aread_ckind_rank'//chr_rank(j)
|
||||
ENDDO
|
||||
|
||||
!**********************
|
||||
! H5D APIs
|
||||
!**********************
|
||||
!
|
||||
! h5dread_f
|
||||
|
||||
!
|
||||
! NAME
|
||||
! h5dread_f
|
||||
!
|
||||
! PURPOSE
|
||||
! Reads raw data from the specified dataset into buf,
|
||||
! converting from file datatype and dataspace to memory
|
||||
! datatype and dataspace.
|
||||
!
|
||||
! Inputs:
|
||||
! dset_id - dataset identifier
|
||||
! mem_type_id - memory type identifier
|
||||
! dims - 1-dim array of size 7; dims(k) has the size
|
||||
! - of k-th dimension of the buf array
|
||||
! Outputs:
|
||||
! buf - buffer to read data in
|
||||
! hdferr: - error code
|
||||
! Success: 0
|
||||
! Failure: -1
|
||||
! Optional parameters:
|
||||
! mem_space_id - memory dataspace identifier
|
||||
! file_space_id - file dataspace identifier
|
||||
! xfer_prp - trasfer property list identifier
|
||||
!
|
||||
! AUTHOR
|
||||
! Elena Pourmal
|
||||
! August 12, 1999
|
||||
!
|
||||
! HISTORY
|
||||
! Explicit Fortran interfaces were added for
|
||||
! called C functions (it is needed for Windows
|
||||
! port). February 28, 2001
|
||||
!
|
||||
! dims parameter was added to make code portable;
|
||||
! n parameter was replaced with dims parameter in
|
||||
! the h5dwrite_reference_obj and h5dwrite_reference_dsetreg
|
||||
! functions. April 2, 2001
|
||||
!
|
||||
! NOTES
|
||||
! This function is overloaded to read INTEGER,
|
||||
! REAL, DOUBLE PRECISION and CHARACTER buffers
|
||||
! up to 7 dimensions, and one dimensional buffers
|
||||
! of the TYPE(hobj_ref_t_f) and TYPE(hdset_reg_ref_t_f)
|
||||
! types.
|
||||
!
|
||||
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 :: h5dread_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dread_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$endif'
|
||||
! Subroutine API
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5dread_kind_'//TRIM(ADJUSTL(chr2))&
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5dread_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'
|
||||
@ -393,12 +640,122 @@ PROGRAM test_kind
|
||||
WRITE(11,'(A)') f_ptr_line(j)
|
||||
WRITE(11,'(A)') ' hdferr = h5dread_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 h5dread_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') ' END SUBROUTINE h5dread_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 :: h5dread_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$endif'
|
||||
! Subroutine API
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5dread_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(INOUT)'//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 = h5dread_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 h5dread_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
|
||||
|
||||
ENDDO
|
||||
ENDDO
|
||||
DO j = 2, 8
|
||||
! DLL definitions for windows
|
||||
WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
|
||||
WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dread_ckind_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$endif'
|
||||
! Subroutine API
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5dread_ckind_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)') ' CHARACTER(LEN=*), INTENT(INOUT)'//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)') fchr_ptr_line(j)
|
||||
WRITE(11,'(A)') ' hdferr = h5dread_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 h5dread_ckind_rank'//chr_rank(j)
|
||||
ENDDO
|
||||
!
|
||||
! h5dwrite_f
|
||||
|
||||
!****s* H5D (F03)/h5dwrite_f_F03
|
||||
!
|
||||
! NAME
|
||||
! h5dwrite_f_F03
|
||||
!
|
||||
! PURPOSE
|
||||
! Writes raw data from a dataset into a buffer.
|
||||
!
|
||||
! Inputs:
|
||||
! dset_id - Identifier of the dataset to write to.
|
||||
! mem_type_id - Identifier of the memory datatype.
|
||||
! buf - Buffer with data to be written to the file.
|
||||
!
|
||||
! Outputs:
|
||||
! hdferr - Returns 0 if successful and -1 if fails
|
||||
!
|
||||
! Optional parameters:
|
||||
! mem_space_id - Identifier of the memory dataspace.
|
||||
! file_space_id - Identifier of the dataset's dataspace in the file.
|
||||
! xfer_prp - Identifier of a transfer property list for this I/O operation.
|
||||
!
|
||||
! AUTHOR
|
||||
! M. Scot Breitenfeld
|
||||
! September 17, 2011
|
||||
!
|
||||
! Fortran2003 Interface:
|
||||
!! SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, hdferr, &
|
||||
!! mem_space_id, file_space_id, xfer_prp)
|
||||
!! INTEGER(HID_T), INTENT(IN) :: dset_id
|
||||
!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
|
||||
!! TYPE(C_PTR) , INTENT(IN) :: buf
|
||||
!! INTEGER , INTENT(OUT) :: hdferr
|
||||
!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
|
||||
!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
|
||||
!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
|
||||
!*****
|
||||
DO i = 1, num_rkinds
|
||||
k = rkind(i)
|
||||
WRITE(chr2,'(I2)') k
|
||||
@ -475,6 +832,39 @@ PROGRAM test_kind
|
||||
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
|
||||
DO j = 2, 8
|
||||
! DLL definitions for windows
|
||||
WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
|
||||
WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dwrite_ckind_rank'//chr_rank(j)
|
||||
WRITE(11,'(A)') '!DEC$endif'
|
||||
! Subroutine API
|
||||
WRITE(11,'(A)') ' SUBROUTINE h5dwrite_ckind_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)') ' CHARACTER(LEN=*),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)') fchr_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_ckind_rank'//chr_rank(j)
|
||||
ENDDO
|
||||
|
||||
!**********************
|
||||
|
@ -10,29 +10,7 @@ H5LIB_mp_H5KIND_TO_TYPE
|
||||
H5LIB_mp_H5OFFSETOF
|
||||
; H5A
|
||||
H5A_mp_H5AWRITE_CHAR_SCALAR
|
||||
H5A_mp_H5AWRITE_CHAR_1
|
||||
H5A_mp_H5AWRITE_CHAR_2
|
||||
H5A_mp_H5AWRITE_CHAR_3
|
||||
H5A_mp_H5AWRITE_CHAR_4
|
||||
H5A_mp_H5AWRITE_CHAR_5
|
||||
H5A_mp_H5AWRITE_CHAR_6
|
||||
H5A_mp_H5AWRITE_CHAR_7
|
||||
H5A_mp_H5AREAD_INTEGER_SCALAR
|
||||
H5A_mp_H5AREAD_INTEGER_1
|
||||
H5A_mp_H5AREAD_INTEGER_2
|
||||
H5A_mp_H5AREAD_INTEGER_3
|
||||
H5A_mp_H5AREAD_INTEGER_4
|
||||
H5A_mp_H5AREAD_INTEGER_5
|
||||
H5A_mp_H5AREAD_INTEGER_6
|
||||
H5A_mp_H5AREAD_INTEGER_7
|
||||
H5A_mp_H5AREAD_CHAR_SCALAR
|
||||
H5A_mp_H5AREAD_CHAR_1
|
||||
H5A_mp_H5AREAD_CHAR_2
|
||||
H5A_mp_H5AREAD_CHAR_3
|
||||
H5A_mp_H5AREAD_CHAR_4
|
||||
H5A_mp_H5AREAD_CHAR_5
|
||||
H5A_mp_H5AREAD_CHAR_6
|
||||
H5A_mp_H5AREAD_CHAR_7
|
||||
H5A_mp_H5ACREATE_F
|
||||
H5A_mp_H5AOPEN_NAME_F
|
||||
H5A_mp_H5AOPEN_IDX_F
|
||||
@ -65,31 +43,9 @@ H5D_mp_H5DCLOSE_F
|
||||
H5D_mp_H5DWRITE_REFERENCE_OBJ
|
||||
H5D_mp_H5DWRITE_REFERENCE_DSETREG
|
||||
H5D_mp_H5DWRITE_CHAR_SCALAR
|
||||
H5D_mp_H5DWRITE_CHAR_1
|
||||
H5D_mp_H5DWRITE_CHAR_2
|
||||
H5D_mp_H5DWRITE_CHAR_3
|
||||
H5D_mp_H5DWRITE_CHAR_4
|
||||
H5D_mp_H5DWRITE_CHAR_5
|
||||
H5D_mp_H5DWRITE_CHAR_6
|
||||
H5D_mp_H5DWRITE_CHAR_7
|
||||
H5D_mp_H5DREAD_REFERENCE_OBJ
|
||||
H5D_mp_H5DREAD_REFERENCE_DSETREG
|
||||
H5D_mp_H5DREAD_INTEGER_SCALAR
|
||||
H5D_mp_H5DREAD_INTEGER_1
|
||||
H5D_mp_H5DREAD_INTEGER_2
|
||||
H5D_mp_H5DREAD_INTEGER_3
|
||||
H5D_mp_H5DREAD_INTEGER_4
|
||||
H5D_mp_H5DREAD_INTEGER_5
|
||||
H5D_mp_H5DREAD_INTEGER_6
|
||||
H5D_mp_H5DREAD_INTEGER_7
|
||||
H5D_mp_H5DREAD_CHAR_SCALAR
|
||||
H5D_mp_H5DREAD_CHAR_1
|
||||
H5D_mp_H5DREAD_CHAR_2
|
||||
H5D_mp_H5DREAD_CHAR_3
|
||||
H5D_mp_H5DREAD_CHAR_4
|
||||
H5D_mp_H5DREAD_CHAR_5
|
||||
H5D_mp_H5DREAD_CHAR_6
|
||||
H5D_mp_H5DREAD_CHAR_7
|
||||
H5D_mp_H5DGET_SPACE_F
|
||||
H5D_mp_H5DGET_TYPE_F
|
||||
H5D_mp_H5DSET_EXTENT_F
|
||||
|
Loading…
x
Reference in New Issue
Block a user