summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Aff.f90
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-12-29 14:26:20 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-12-29 14:26:20 (GMT)
commit427ff7da2848042f68ecfadf5a321b1d8077e9db (patch)
tree73024b1954031fbb724c2d96a485590348e5cc22 /fortran/src/H5Aff.f90
parent9b96fd2003ae74cca389cc4c2216b4371d6eb173 (diff)
downloadhdf5-427ff7da2848042f68ecfadf5a321b1d8077e9db.zip
hdf5-427ff7da2848042f68ecfadf5a321b1d8077e9db.tar.gz
hdf5-427ff7da2848042f68ecfadf5a321b1d8077e9db.tar.bz2
[svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
Diffstat (limited to 'fortran/src/H5Aff.f90')
-rw-r--r--fortran/src/H5Aff.f90526
1 files changed, 266 insertions, 260 deletions
diff --git a/fortran/src/H5Aff.f90 b/fortran/src/H5Aff.f90
index ee325f5..56d5782 100644
--- a/fortran/src/H5Aff.f90
+++ b/fortran/src/H5Aff.f90
@@ -18,7 +18,13 @@
MODULE H5A
USE H5GLOBAL
-
+!
+!On Windows there are no big (integer*8) integers, so overloading
+!for bug #670 does not work. I have to use DEC compilation directives to make
+!Windows DEC Visual Fortran and OSF compilers happy and do right things.
+! 05/01/02 EP
+
+!
INTERFACE h5awrite_f
MODULE PROCEDURE h5awrite_integer_scalar
@@ -294,6 +300,38 @@
END SUBROUTINE h5aopen_idx_f
+ SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_scalar
+!DEC$endif
+ 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) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5awrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ !DEC$ ENDIF
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: memtype_id
+ INTEGER, INTENT(IN)::buf
+ END FUNCTION h5awrite_c
+ END INTERFACE
+
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
+ END SUBROUTINE h5awrite_integer_scalar
+
SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, dims, hdferr)
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -546,6 +584,38 @@
END SUBROUTINE h5awrite_integer_7
+ SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_scalar
+!DEC$endif
+ 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
+ REAL, INTENT(IN) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5awrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ !DEC$ ENDIF
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: memtype_id
+ REAL, INTENT(IN)::buf
+ END FUNCTION h5awrite_c
+ END INTERFACE
+
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
+ END SUBROUTINE h5awrite_real_scalar
+
SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, dims, hdferr)
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -798,6 +868,38 @@
END SUBROUTINE h5awrite_real_7
+ SUBROUTINE h5awrite_double_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_scalar
+!DEC$endif
+ 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
+ DOUBLE PRECISION, INTENT(IN) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5awrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ !DEC$ ENDIF
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: memtype_id
+ DOUBLE PRECISION, INTENT(IN)::buf
+ END FUNCTION h5awrite_c
+ END INTERFACE
+
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
+ END SUBROUTINE h5awrite_double_scalar
+
SUBROUTINE h5awrite_double_1(attr_id, memtype_id, buf, dims, hdferr)
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -1048,6 +1150,39 @@
hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_7
+ SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_scalar
+!DEC$endif
+ 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) :: buf
+ ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+! INTEGER, EXTERNAL :: h5awritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+ !DEC$ ENDIF
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: memtype_id
+ CHARACTER(LEN=*), INTENT(IN)::buf
+ END FUNCTION h5awritec_c
+ END INTERFACE
+
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
+ END SUBROUTINE h5awrite_char_scalar
+
SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, dims, hdferr)
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -1299,135 +1434,6 @@
hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_7
- SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5awrite_integer_scalar
-!DEC$endif
- 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) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! INTEGER, EXTERNAL :: h5awrite_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
- !DEC$ ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN)::buf
- END FUNCTION h5awrite_c
- END INTERFACE
-
- hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_scalar
-
- SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5awrite_real_scalar
-!DEC$endif
- 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
- REAL, INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! INTEGER, EXTERNAL :: h5awrite_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
- !DEC$ ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN)::buf
- END FUNCTION h5awrite_c
- END INTERFACE
-
- hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_scalar
-
- SUBROUTINE h5awrite_double_scalar(attr_id, memtype_id, buf, dims, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5awrite_double_scalar
-!DEC$endif
- 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
- DOUBLE PRECISION, INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! INTEGER, EXTERNAL :: h5awrite_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
- !DEC$ ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN)::buf
- END FUNCTION h5awrite_c
- END INTERFACE
-
- hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_scalar
-
- SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5awrite_char_scalar
-!DEC$endif
- 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) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-! INTEGER, EXTERNAL :: h5awritec_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
- !DEC$ ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN)::buf
- END FUNCTION h5awritec_c
- END INTERFACE
-
- hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_scalar
-
!----------------------------------------------------------------------
! Name: h5aread_f
!
@@ -1461,6 +1467,38 @@
! up to 7 dimensions.
!----------------------------------------------------------------------
+ SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_scalar
+!DEC$endif
+ 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(OUT) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5aread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ !DEC$ ENDIF
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: memtype_id
+ INTEGER, INTENT(OUT)::buf
+ END FUNCTION h5aread_c
+ END INTERFACE
+
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
+ END SUBROUTINE h5aread_integer_scalar
+
SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, dims, hdferr)
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -1710,6 +1748,38 @@
END SUBROUTINE h5aread_integer_7
+ SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_scalar
+!DEC$endif
+ 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
+ REAL, INTENT(OUT) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5aread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ !DEC$ ENDIF
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: memtype_id
+ REAL, INTENT(OUT)::buf
+ END FUNCTION h5aread_c
+ END INTERFACE
+
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
+ END SUBROUTINE h5aread_real_scalar
+
SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, dims, hdferr)
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -1962,6 +2032,38 @@
END SUBROUTINE h5aread_real_7
+ SUBROUTINE h5aread_double_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_scalar
+!DEC$endif
+ 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
+ DOUBLE PRECISION, INTENT(OUT) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5aread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ !DEC$ ENDIF
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: memtype_id
+ DOUBLE PRECISION, INTENT(OUT)::buf
+ END FUNCTION h5aread_c
+ END INTERFACE
+
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
+ END SUBROUTINE h5aread_double_scalar
+
SUBROUTINE h5aread_double_1(attr_id, memtype_id, buf, dims, hdferr)
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -2214,6 +2316,40 @@
END SUBROUTINE h5aread_double_7
+ SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_scalar
+!DEC$endif
+ 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(OUT) :: buf
+ ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5areadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+ !DEC$ ENDIF
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: memtype_id
+ CHARACTER(LEN=*) :: buf
+ END FUNCTION h5areadc_c
+ END INTERFACE
+
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
+ END SUBROUTINE h5aread_char_scalar
+
SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, dims, hdferr)
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
@@ -2472,136 +2608,6 @@
hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_7
- SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5aread_integer_scalar
-!DEC$endif
- 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(OUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! INTEGER, EXTERNAL :: h5aread_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
- !DEC$ ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(OUT)::buf
- END FUNCTION h5aread_c
- END INTERFACE
-
- hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_scalar
-
- SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5aread_real_scalar
-!DEC$endif
- 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
- REAL, INTENT(OUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! INTEGER, EXTERNAL :: h5aread_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
- !DEC$ ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(OUT)::buf
- END FUNCTION h5aread_c
- END INTERFACE
-
- hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_scalar
-
- SUBROUTINE h5aread_double_scalar(attr_id, memtype_id, buf, dims, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5aread_double_scalar
-!DEC$endif
- 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
- DOUBLE PRECISION, INTENT(OUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! INTEGER, EXTERNAL :: h5aread_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
- !DEC$ ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(OUT)::buf
- END FUNCTION h5aread_c
- END INTERFACE
-
- hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_scalar
-
- SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5aread_char_scalar
-!DEC$endif
- 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(OUT) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! INTEGER, EXTERNAL :: h5areadc_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
- !DEC$ ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*) :: buf
- END FUNCTION h5areadc_c
- END INTERFACE
-
- hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_scalar
-
!----------------------------------------------------------------------
! Name: h5aget_space_f