[svn-r27489] reverted merge of branch
This commit is contained in:
@@ -7,7 +7,7 @@ PROJECT (HDF5_HL_FORTRAN_TESTS C CXX Fortran)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
|
||||
|
||||
#-- Adding test for hl_f90_tstds
|
||||
add_executable (hl_f90_tstds tstds.F90)
|
||||
add_executable (hl_f90_tstds tstds.f90)
|
||||
TARGET_NAMING (hl_f90_tstds STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstds STATIC " " " ")
|
||||
target_link_libraries (hl_f90_tstds ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
@@ -15,7 +15,7 @@ target_include_directories (hl_f90_tstds PRIVATE ${CMAKE_Fortran_MODULE_DIRECTOR
|
||||
set_target_properties (hl_f90_tstds PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_tstds PROPERTIES FOLDER test/hl/fortran)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (hl_f90_tstds-shared tstds.F90)
|
||||
add_executable (hl_f90_tstds-shared tstds.f90)
|
||||
TARGET_NAMING (hl_f90_tstds-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstds-shared SHARED " " " ")
|
||||
target_link_libraries (hl_f90_tstds-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
@@ -28,7 +28,7 @@ if (BUILD_SHARED_LIBS)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for hl_f90_tstlite
|
||||
add_executable (hl_f90_tstlite tstlite.F90)
|
||||
add_executable (hl_f90_tstlite tstlite.f90)
|
||||
TARGET_NAMING (hl_f90_tstlite STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite STATIC " " " ")
|
||||
target_link_libraries (hl_f90_tstlite ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
@@ -36,7 +36,7 @@ target_include_directories (hl_f90_tstlite PRIVATE ${CMAKE_Fortran_MODULE_DIRECT
|
||||
set_target_properties (hl_f90_tstlite PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_tstlite PROPERTIES FOLDER test/hl/fortran)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (hl_f90_tstlite-shared tstlite.F90)
|
||||
add_executable (hl_f90_tstlite-shared tstlite.f90)
|
||||
TARGET_NAMING (hl_f90_tstlite-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite-shared SHARED " " " ")
|
||||
target_link_libraries (hl_f90_tstlite-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
@@ -49,7 +49,7 @@ if (BUILD_SHARED_LIBS)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for hl_f90_tstimage
|
||||
add_executable (hl_f90_tstimage tstimage.F90)
|
||||
add_executable (hl_f90_tstimage tstimage.f90)
|
||||
TARGET_NAMING (hl_f90_tstimage STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage STATIC " " " ")
|
||||
target_link_libraries (hl_f90_tstimage ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
@@ -57,7 +57,7 @@ target_include_directories (hl_f90_tstimage PRIVATE ${CMAKE_Fortran_MODULE_DIREC
|
||||
set_target_properties (hl_f90_tstimage PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_tstimage PROPERTIES FOLDER test/hl/fortran)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (hl_f90_tstimage-shared tstimage.F90)
|
||||
add_executable (hl_f90_tstimage-shared tstimage.f90)
|
||||
TARGET_NAMING (hl_f90_tstimage-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage-shared SHARED " " " ")
|
||||
target_link_libraries (hl_f90_tstimage-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
@@ -70,7 +70,7 @@ if (BUILD_SHARED_LIBS)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
|
||||
#-- Adding test for hl_f90_tsttable
|
||||
add_executable (hl_f90_tsttable tsttable.F90)
|
||||
add_executable (hl_f90_tsttable tsttable.f90)
|
||||
TARGET_NAMING (hl_f90_tsttable STATIC)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable STATIC " " " ")
|
||||
target_link_libraries (hl_f90_tsttable ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
|
||||
@@ -78,7 +78,7 @@ target_include_directories (hl_f90_tsttable PRIVATE ${CMAKE_Fortran_MODULE_DIREC
|
||||
set_target_properties (hl_f90_tsttable PROPERTIES LINKER_LANGUAGE Fortran)
|
||||
set_target_properties (hl_f90_tsttable PROPERTIES FOLDER test/hl/fortran)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_executable (hl_f90_tsttable-shared tsttable.F90)
|
||||
add_executable (hl_f90_tsttable-shared tsttable.f90)
|
||||
TARGET_NAMING (hl_f90_tsttable-shared SHARED)
|
||||
TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable-shared SHARED " " " ")
|
||||
target_link_libraries (hl_f90_tsttable-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
|
||||
|
||||
@@ -39,10 +39,10 @@ check_PROGRAMS=$(TEST_PROG)
|
||||
LDADD= $(LIBH5F_HL) $(LIBH5F) $(LIBH5_HL) $(LIBHDF5)
|
||||
|
||||
# Source files for the programs
|
||||
tstds_SOURCES=tstds.F90
|
||||
tstlite_SOURCES=tstlite.F90
|
||||
tstimage_SOURCES=tstimage.F90
|
||||
tsttable_SOURCES=tsttable.F90
|
||||
tstds_SOURCES=tstds.f90
|
||||
tstlite_SOURCES=tstlite.f90
|
||||
tstimage_SOURCES=tstimage.f90
|
||||
tsttable_SOURCES=tsttable.f90
|
||||
|
||||
# Temporary files.
|
||||
CHECK_CLEANFILES+=dsetf[1-5].h5 f1img.h5 f1tab.h5 tstds.h5
|
||||
|
||||
@@ -112,8 +112,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/src/H5config.h \
|
||||
$(top_builddir)/fortran/src/H5config_f.inc
|
||||
CONFIG_HEADER = $(top_builddir)/src/H5config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__EXEEXT_1 = tstds$(EXEEXT) tstlite$(EXEEXT) tstimage$(EXEEXT) \
|
||||
@@ -150,17 +149,14 @@ AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
|
||||
PPFCCOMPILE = $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
|
||||
LTPPFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(FC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_FCFLAGS) $(FCFLAGS)
|
||||
AM_V_PPFC = $(am__v_PPFC_@AM_V@)
|
||||
am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@)
|
||||
am__v_PPFC_0 = @echo " PPFC " $@;
|
||||
am__v_PPFC_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
|
||||
FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAGS)
|
||||
LTFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(FC) $(AM_FCFLAGS) $(FCFLAGS)
|
||||
AM_V_FC = $(am__v_FC_@AM_V@)
|
||||
am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@)
|
||||
am__v_FC_0 = @echo " FC " $@;
|
||||
am__v_FC_1 =
|
||||
FCLD = $(FC)
|
||||
FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
|
||||
@@ -464,21 +460,14 @@ F9XMODEXT = @F9XMODEXT@
|
||||
F9XMODFLAG = @F9XMODFLAG@
|
||||
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
|
||||
FC = @FC@
|
||||
FC2003 = @FC2003@
|
||||
FCFLAGS = @FCFLAGS@
|
||||
FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
|
||||
H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
|
||||
H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
|
||||
H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
|
||||
H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
H5_CPPFLAGS = @H5_CPPFLAGS@
|
||||
H5_CXXFLAGS = @H5_CXXFLAGS@
|
||||
@@ -488,12 +477,13 @@ H5_LDFLAGS = @H5_LDFLAGS@
|
||||
H5_VERSION = @H5_VERSION@
|
||||
HADDR_T = @HADDR_T@
|
||||
HAVE_DMALLOC = @HAVE_DMALLOC@
|
||||
HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
|
||||
HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
|
||||
HAVE_PTHREAD = @HAVE_PTHREAD@
|
||||
HDF5_HL = @HDF5_HL@
|
||||
HDF5_INTERFACES = @HDF5_INTERFACES@
|
||||
HDF_CXX = @HDF_CXX@
|
||||
HDF_FORTRAN = @HDF_FORTRAN@
|
||||
HDF_FORTRAN2003 = @HDF_FORTRAN2003@
|
||||
HID_T = @HID_T@
|
||||
HL = @HL@
|
||||
HL_FOR = @HL_FOR@
|
||||
@@ -535,18 +525,6 @@ PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
|
||||
PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
|
||||
PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
|
||||
PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
|
||||
PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
|
||||
PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
|
||||
PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
|
||||
PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
|
||||
PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
|
||||
PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
|
||||
PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
|
||||
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
|
||||
PARALLEL = @PARALLEL@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
@@ -696,10 +674,10 @@ TEST_PROG = tstds tstlite tstimage tsttable
|
||||
LDADD = $(LIBH5F_HL) $(LIBH5F) $(LIBH5_HL) $(LIBHDF5)
|
||||
|
||||
# Source files for the programs
|
||||
tstds_SOURCES = tstds.F90
|
||||
tstlite_SOURCES = tstlite.F90
|
||||
tstimage_SOURCES = tstimage.F90
|
||||
tsttable_SOURCES = tsttable.F90
|
||||
tstds_SOURCES = tstds.f90
|
||||
tstlite_SOURCES = tstlite.f90
|
||||
tstimage_SOURCES = tstimage.f90
|
||||
tsttable_SOURCES = tsttable.f90
|
||||
|
||||
# Mark this directory as part of the Fortran API (this affects output
|
||||
# from tests in conclude.am)
|
||||
@@ -727,7 +705,7 @@ TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .F90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
|
||||
.SUFFIXES: .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
@@ -791,14 +769,14 @@ mostlyclean-compile:
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
.F90.o:
|
||||
$(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ $<
|
||||
.f90.o:
|
||||
$(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
|
||||
|
||||
.F90.obj:
|
||||
$(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
.f90.obj:
|
||||
$(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'`
|
||||
|
||||
.F90.lo:
|
||||
$(AM_V_PPFC)$(LTPPFCCOMPILE) -c -o $@ $<
|
||||
.f90.lo:
|
||||
$(AM_V_FC)$(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
!
|
||||
! This file contains the FORTRAN90 tests for H5LT
|
||||
!
|
||||
#include <H5config_f.inc>
|
||||
|
||||
PROGRAM lite_test
|
||||
|
||||
@@ -39,7 +38,6 @@ END PROGRAM lite_test
|
||||
|
||||
SUBROUTINE test_dataset1D()
|
||||
|
||||
USE, INTRINSIC :: ISO_C_BINDING
|
||||
USE H5LT ! module of H5LT
|
||||
USE HDF5 ! module of HDF5 library
|
||||
|
||||
@@ -57,12 +55,11 @@ INTEGER, DIMENSION(DIM1) :: buf1 ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1) :: bufr1 ! Data buffer
|
||||
REAL, DIMENSION(DIM1) :: buf2 ! Data buffer
|
||||
REAL, DIMENSION(DIM1) :: bufr2 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: buf3 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: bufr3 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1) :: buf3 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1) :: bufr3 ! Data buffer
|
||||
INTEGER :: errcode ! Error flag
|
||||
INTEGER :: i ! general purpose integer
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
integer(HID_T) :: mytype
|
||||
|
||||
|
||||
CALL test_begin(' Make/Read datasets (1D) ')
|
||||
|
||||
@@ -104,7 +101,7 @@ CALL h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr1, dims, err
|
||||
!
|
||||
DO i = 1, DIM1
|
||||
IF ( buf1(i) .NE. bufr1(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer (I)'
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufr1(i), ' and ', buf1(i)
|
||||
STOP
|
||||
ENDIF
|
||||
@@ -129,7 +126,7 @@ CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_REAL, bufr2, dims, errcod
|
||||
!
|
||||
DO i = 1, DIM1
|
||||
IF ( buf2(i) .NE. bufr2(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer (R)'
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufr2(i), ' and ', buf2(i)
|
||||
STOP
|
||||
ENDIF
|
||||
@@ -142,26 +139,19 @@ END DO
|
||||
!
|
||||
! write dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf3(1))
|
||||
mytype = h5kind_to_type(KIND(buf3(1)), H5_REAL_KIND)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, &
|
||||
mytype, f_ptr, errcode)
|
||||
!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_DOUBLE, buf3, errcode)
|
||||
! h5kind_to_type(KIND(buf3(1)), H5_REAL_KIND)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_DOUBLE, buf3, errcode)
|
||||
|
||||
!
|
||||
! read dataset.
|
||||
!
|
||||
f_ptr = C_LOC(bufr3(1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, &
|
||||
h5kind_to_type(KIND(bufr3(1)), H5_REAL_KIND), f_ptr, errcode)
|
||||
!CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_DOUBLE, bufr3, dims, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_DOUBLE, bufr3, dims, errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
!
|
||||
DO i = 1, DIM1
|
||||
IF ( buf3(i) .NE. bufr3(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer (D)'
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufr3(i), ' and ', buf3(i)
|
||||
STOP
|
||||
ENDIF
|
||||
@@ -189,7 +179,6 @@ END SUBROUTINE test_dataset1D
|
||||
|
||||
SUBROUTINE test_dataset2D()
|
||||
|
||||
USE, INTRINSIC :: ISO_C_BINDING
|
||||
USE H5LT ! module of H5LT
|
||||
USE HDF5 ! module of HDF5 library
|
||||
|
||||
@@ -210,13 +199,12 @@ INTEGER, DIMENSION(DIM1*DIM2) :: buf ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1*DIM2) :: bufr ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1,DIM2) :: buf2 ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1,DIM2) :: buf2r ! Data buffer
|
||||
REAL, DIMENSION(DIM1,DIM2), TARGET :: buf3 ! Data buffer
|
||||
REAL, DIMENSION(DIM1,DIM2), TARGET :: buf3r ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1,DIM2), TARGET :: buf4 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1,DIM2), TARGET :: buf4r ! Data buffer
|
||||
REAL, DIMENSION(DIM1,DIM2) :: buf3 ! Data buffer
|
||||
REAL, DIMENSION(DIM1,DIM2) :: buf3r ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1,DIM2) :: buf4 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1,DIM2) :: buf4r ! Data buffer
|
||||
INTEGER :: errcode ! Error flag
|
||||
INTEGER(HSIZE_T) :: i, j, n ! general purpose integers
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
CALL test_begin(' Make/Read datasets (2D) ')
|
||||
|
||||
@@ -308,16 +296,12 @@ END DO
|
||||
!
|
||||
! write dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf3(1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode)
|
||||
|
||||
!
|
||||
! read dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf3r(1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
!CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
@@ -339,16 +323,12 @@ END DO
|
||||
!
|
||||
! write dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf4(1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
!CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode)
|
||||
|
||||
!
|
||||
! read dataset.
|
||||
f_ptr = C_LOC(buf4r(1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
|
||||
!CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode)
|
||||
!
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
@@ -386,7 +366,7 @@ END SUBROUTINE test_dataset2D
|
||||
|
||||
|
||||
SUBROUTINE test_dataset3D()
|
||||
USE, INTRINSIC :: ISO_C_BINDING
|
||||
|
||||
USE H5LT ! module of H5LT
|
||||
USE HDF5 ! module of HDF5 library
|
||||
|
||||
@@ -407,16 +387,16 @@ INTEGER, DIMENSION(DIM1*DIM2*DIM3) :: buf ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1*DIM2*DIM3) :: bufr ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1,DIM2,DIM3) :: buf2 ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1,DIM2,DIM3) :: buf2r ! Data buffer
|
||||
REAL, DIMENSION(DIM1,DIM2,DIM3), TARGET :: buf3 ! Data buffer
|
||||
REAL, DIMENSION(DIM1,DIM2,DIM3), TARGET :: buf3r ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3), TARGET :: buf4 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3), TARGET :: buf4r ! Data buffer
|
||||
REAL, DIMENSION(DIM1,DIM2,DIM3) :: buf3 ! Data buffer
|
||||
REAL, DIMENSION(DIM1,DIM2,DIM3) :: buf3r ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3) :: buf4 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3) :: buf4r ! Data buffer
|
||||
INTEGER :: rank = 3 ! Dataset rank
|
||||
INTEGER :: errcode ! Error flag
|
||||
INTEGER(HSIZE_T) :: i, j, k, n ! general purpose integers
|
||||
INTEGER :: type_class
|
||||
INTEGER(SIZE_T) :: type_size
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
CALL test_begin(' Make/Read datasets (3D) ')
|
||||
|
||||
|
||||
@@ -512,16 +492,12 @@ END DO
|
||||
!
|
||||
! write dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf3(1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode)
|
||||
|
||||
!
|
||||
! read dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf3r(1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
!CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
@@ -545,14 +521,12 @@ END DO
|
||||
!
|
||||
! write dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf4(1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode)
|
||||
|
||||
!
|
||||
! read dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf4r(1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
@@ -604,7 +578,6 @@ END SUBROUTINE test_dataset3D
|
||||
|
||||
SUBROUTINE test_datasetND(rank)
|
||||
|
||||
USE, INTRINSIC :: ISO_C_BINDING
|
||||
USE H5LT ! module of H5LT
|
||||
USE HDF5 ! module of HDF5 library
|
||||
|
||||
@@ -625,37 +598,36 @@ SUBROUTINE test_datasetND(rank)
|
||||
CHARACTER(LEN=5), PARAMETER :: dsetname4 = "dset4" ! Dataset name
|
||||
INTEGER(HID_T) :: file_id ! File identifier
|
||||
INTEGER(HSIZE_T), DIMENSION(7) :: dims
|
||||
INTEGER(HSIZE_T), DIMENSION(7) :: dimsr ! Dataset dimensions
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibuf_4 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibufr_4 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: ibuf_5 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: ibufr_5 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibuf_6 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibufr_6 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibuf_7 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibufr_7 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: rbuf_4 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: rbufr_4 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: rbuf_5 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: rbufr_5 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:), TARGET :: rbuf_6 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:), TARGET :: rbufr_6 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:), TARGET :: rbuf_7 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:), TARGET :: rbufr_7 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: dbuf_4 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: dbufr_4 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: dbuf_5 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: dbufr_5 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:), TARGET :: dbuf_6 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:), TARGET :: dbufr_6 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:), TARGET :: dbuf_7 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:), TARGET :: dbufr_7 ! Data buffer
|
||||
INTEGER(HSIZE_T), DIMENSION(7) :: dimsr ! Dataset dimensions
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibuf_4 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibufr_4 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ibuf_5 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ibufr_5 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibuf_6 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibufr_6 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibuf_7 ! Data buffer
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibufr_7 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: rbuf_4 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: rbufr_4 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: rbuf_5 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: rbufr_5 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: rbuf_6 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: rbufr_6 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: rbuf_7 ! Data buffer
|
||||
REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: rbufr_7 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:) :: dbuf_4 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:) :: dbufr_4 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: dbuf_5 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: dbufr_5 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: dbuf_6 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: dbufr_6 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: dbuf_7 ! Data buffer
|
||||
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: dbufr_7 ! Data buffer
|
||||
INTEGER :: errcode ! Error flag
|
||||
INTEGER(HSIZE_T) :: i, j, k, l, m, n, o, nn ! general purpose integers
|
||||
INTEGER :: type_class
|
||||
INTEGER(SIZE_T) :: type_size
|
||||
CHARACTER(LEN=1) :: ichr1
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
WRITE(ichr1,'(I1.1)') rank
|
||||
CALL test_begin(' Make/Read datasets ('//ichr1//'D) ')
|
||||
@@ -796,8 +768,7 @@ SUBROUTINE test_datasetND(rank)
|
||||
IF(rank.EQ.4)THEN
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_4, errcode)
|
||||
ELSE IF(rank.EQ.5)THEN
|
||||
f_ptr = C_LOC(ibuf_5(1,1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_5, errcode)
|
||||
ELSE IF(rank.EQ.6)THEN
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_6, errcode)
|
||||
ELSE IF(rank.EQ.7)THEN
|
||||
@@ -811,8 +782,7 @@ SUBROUTINE test_datasetND(rank)
|
||||
IF(rank.EQ.4)THEN
|
||||
CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_4, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.5)THEN
|
||||
f_ptr = C_LOC(ibufr_5(1,1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_5, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.6)THEN
|
||||
CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_6, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.7)THEN
|
||||
@@ -872,20 +842,13 @@ SUBROUTINE test_datasetND(rank)
|
||||
! write dataset.
|
||||
!
|
||||
IF(rank.EQ.4)THEN
|
||||
f_ptr = C_LOC(rbuf_4(1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
! CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_4, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_4, errcode)
|
||||
ELSE IF(rank.EQ.5)THEN
|
||||
f_ptr = C_LOC(rbuf_5(1,1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_5, errcode)
|
||||
ELSE IF(rank.EQ.6)THEN
|
||||
f_ptr = C_LOC(rbuf_6(1,1,1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_6, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_6, errcode)
|
||||
ELSE IF(rank.EQ.7)THEN
|
||||
f_ptr = C_LOC(rbuf_7(1,1,1,1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_7, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_7, errcode)
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -893,17 +856,13 @@ SUBROUTINE test_datasetND(rank)
|
||||
! read dataset.
|
||||
!
|
||||
IF(rank.EQ.4)THEN
|
||||
f_ptr = C_LOC(rbufr_4(1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_4, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.5)THEN
|
||||
f_ptr = C_LOC(rbufr_5(1,1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_5, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.6)THEN
|
||||
f_ptr = C_LOC(rbufr_6(1,1,1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_6, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.7)THEN
|
||||
f_ptr = C_LOC(rbufr_7(1,1,1,1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_7, dims(1:rank), errcode)
|
||||
ENDIF
|
||||
|
||||
!
|
||||
@@ -960,17 +919,13 @@ SUBROUTINE test_datasetND(rank)
|
||||
! write dataset.
|
||||
!
|
||||
IF(rank.EQ.4)THEN
|
||||
f_ptr = C_LOC(dbuf_4(1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_4, errcode)
|
||||
ELSE IF(rank.EQ.5)THEN
|
||||
f_ptr = C_LOC(dbuf_5(1,1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_5, errcode)
|
||||
ELSE IF(rank.EQ.6)THEN
|
||||
f_ptr = C_LOC(dbuf_6(1,1,1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_6, errcode)
|
||||
ELSE IF(rank.EQ.7)THEN
|
||||
f_ptr = C_LOC(dbuf_7(1,1,1,1,1,1,1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_7, errcode)
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -978,17 +933,13 @@ SUBROUTINE test_datasetND(rank)
|
||||
! read dataset.
|
||||
!
|
||||
IF(rank.EQ.4)THEN
|
||||
f_ptr = C_LOC(dbufr_4(1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_4, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.5)THEN
|
||||
f_ptr = C_LOC(dbufr_5(1,1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_5, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.6)THEN
|
||||
f_ptr = C_LOC(dbufr_6(1,1,1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_6, dims(1:rank), errcode)
|
||||
ELSE IF(rank.EQ.7)THEN
|
||||
f_ptr = C_LOC(dbufr_7(1,1,1,1,1,1,1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_7, dims(1:rank), errcode)
|
||||
ENDIF
|
||||
|
||||
!
|
||||
@@ -1085,7 +1036,6 @@ END SUBROUTINE test_datasetND
|
||||
|
||||
SUBROUTINE test_datasets()
|
||||
|
||||
USE, INTRINSIC :: ISO_C_BINDING
|
||||
USE H5LT ! module of H5LT
|
||||
USE HDF5 ! module of HDF5 library
|
||||
|
||||
@@ -1108,10 +1058,10 @@ SUBROUTINE test_datasets()
|
||||
CHARACTER(LEN=8) :: buf1r ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1) :: buf2 ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1) :: bufr2 ! Data buffer
|
||||
REAL, DIMENSION(DIM1), TARGET :: buf3 ! Data buffer
|
||||
REAL, DIMENSION(DIM1) , TARGET :: bufr3 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: buf4 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: bufr4 ! Data buffer
|
||||
REAL, DIMENSION(DIM1) :: buf3 ! Data buffer
|
||||
REAL, DIMENSION(DIM1) :: bufr3 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1) :: buf4 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1) :: bufr4 ! Data buffer
|
||||
INTEGER :: i, n ! general purpose integer
|
||||
INTEGER :: has ! general purpose integer
|
||||
INTEGER :: type_class
|
||||
@@ -1119,7 +1069,6 @@ SUBROUTINE test_datasets()
|
||||
LOGICAL :: path_valid ! status of the path
|
||||
CHARACTER(LEN=6) :: chr_exact
|
||||
CHARACTER(LEN=8) :: chr_lg
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
!
|
||||
! Initialize FORTRAN predefined datatypes.
|
||||
@@ -1182,14 +1131,12 @@ SUBROUTINE test_datasets()
|
||||
!
|
||||
! write dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf3(1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_float_f(file_id, dsetname3, rank, dims, buf3, errcode)
|
||||
|
||||
!
|
||||
! read dataset.
|
||||
!
|
||||
f_ptr = C_LOC(bufr3(1))
|
||||
CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_float_f(file_id, dsetname3, bufr3, dims, errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
@@ -1214,18 +1161,13 @@ SUBROUTINE test_datasets()
|
||||
!
|
||||
! write dataset.
|
||||
!
|
||||
!f_ptr = C_LOC(buf4(1))
|
||||
!CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltmake_dataset_double_f(file_id, dsetname4, rank, dims, buf4, errcode)
|
||||
|
||||
!
|
||||
! read dataset.
|
||||
!
|
||||
!f_ptr = C_LOC(buf4(1))
|
||||
!CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
|
||||
CALL h5ltread_dataset_double_f(file_id, dsetname4, bufr4, dims, errcode)
|
||||
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
!
|
||||
@@ -1393,7 +1335,6 @@ END SUBROUTINE test_datasets
|
||||
|
||||
SUBROUTINE test_attributes()
|
||||
|
||||
USE, INTRINSIC :: ISO_C_BINDING
|
||||
USE H5LT ! module of H5LT
|
||||
USE HDF5 ! module of HDF5 library
|
||||
|
||||
@@ -1417,10 +1358,10 @@ SUBROUTINE test_attributes()
|
||||
! CHARACTER(LEN=18) :: bufr_c_lg ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1) :: buf2 ! Data buffer
|
||||
INTEGER, DIMENSION(DIM1) :: bufr2 ! Data buffer
|
||||
REAL, DIMENSION(DIM1), target :: buf3 ! Data buffer
|
||||
REAL, DIMENSION(DIM1), target :: bufr3 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: buf4 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: bufr4 ! Data buffer
|
||||
REAL, DIMENSION(DIM1) :: buf3 ! Data buffer
|
||||
REAL, DIMENSION(DIM1) :: bufr3 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1) :: buf4 ! Data buffer
|
||||
DOUBLE PRECISION, DIMENSION(DIM1) :: bufr4 ! Data buffer
|
||||
INTEGER :: errcode ! Error flag
|
||||
INTEGER :: i, n ! general purpose integer
|
||||
INTEGER(SIZE_T) size ! size of attribute array
|
||||
@@ -1432,8 +1373,7 @@ SUBROUTINE test_attributes()
|
||||
INTEGER :: rank = 1 ! Dataset rank
|
||||
CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name
|
||||
INTEGER, DIMENSION(DIM1) :: buf ! Data buffer
|
||||
INTEGER(SIZE_T) :: SizeOf_buf_type
|
||||
TYPE(C_PTR) :: f_ptr
|
||||
|
||||
|
||||
!
|
||||
! Initialize FORTRAN predefined datatypes.
|
||||
@@ -1501,26 +1441,11 @@ SUBROUTINE test_attributes()
|
||||
!
|
||||
! write attribute.
|
||||
!
|
||||
#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
|
||||
SizeOf_buf_type = STORAGE_SIZE(buf3(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
|
||||
#else
|
||||
SizeOf_buf_type = SIZEOF(buf3(1))
|
||||
#endif
|
||||
f_ptr = C_LOC(buf3(1))
|
||||
CALL h5ltset_attribute_f(file_id,dsetname1,attrname3,f_ptr,"REAL", SizeOf_buf_type, size,errcode)
|
||||
!CALL h5ltset_attribute_float_f(file_id,dsetname1,attrname3,buf3,size,errcode)
|
||||
CALL h5ltset_attribute_float_f(file_id,dsetname1,attrname3,buf3,size,errcode)
|
||||
!
|
||||
! read attribute.
|
||||
!
|
||||
#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
|
||||
SizeOf_buf_type = STORAGE_SIZE(bufr3(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
|
||||
#else
|
||||
SizeOf_buf_type = SIZEOF(bufr3(1))
|
||||
#endif
|
||||
|
||||
f_ptr = C_LOC(bufr3(1))
|
||||
CALL h5ltget_attribute_f(file_id,dsetname1,attrname3,f_ptr,"REAL",SizeOf_buf_type,errcode)
|
||||
!CALL h5ltget_attribute_float_f(file_id,dsetname1,attrname3,bufr3,errcode)
|
||||
CALL h5ltget_attribute_float_f(file_id,dsetname1,attrname3,bufr3,errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
@@ -1539,36 +1464,17 @@ SUBROUTINE test_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,buf4, size, errcode)
|
||||
CALL h5ltset_attribute_double_f(file_id,dsetname1,attrname4,buf4,size,errcode)
|
||||
|
||||
!
|
||||
! read attribute.
|
||||
!
|
||||
|
||||
#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
|
||||
SizeOf_buf_type = STORAGE_SIZE(bufr4(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
|
||||
#else
|
||||
SizeOf_buf_type = SIZEOF(bufr4(1))
|
||||
#endif
|
||||
|
||||
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.
|
||||
@@ -1583,8 +1489,6 @@ SUBROUTINE test_attributes()
|
||||
|
||||
CALL passed()
|
||||
|
||||
ENDIF
|
||||
|
||||
!-------------------------------------------------------------------------
|
||||
! string
|
||||
!-------------------------------------------------------------------------
|
||||
@@ -1700,6 +1604,11 @@ SUBROUTINE test_attributes()
|
||||
!
|
||||
END SUBROUTINE test_attributes
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
!-------------------------------------------------------------------------
|
||||
! test_begin
|
||||
!-------------------------------------------------------------------------
|
||||
@@ -16,12 +16,12 @@
|
||||
!
|
||||
! This file contains the FORTRAN90 tests for H5LT
|
||||
!
|
||||
#include <H5config_f.inc>
|
||||
|
||||
PROGRAM table_test
|
||||
|
||||
CALL test_table1()
|
||||
|
||||
|
||||
END PROGRAM table_test
|
||||
|
||||
|
||||
@@ -71,24 +71,7 @@ SUBROUTINE test_table1()
|
||||
INTEGER(SIZE_T), DIMENSION(1:nfields) :: field_sizesr ! field sizes
|
||||
INTEGER(SIZE_T) :: type_sizeout = 0 ! size of the datatype
|
||||
INTEGER :: maxlen = 0 ! max chararter length of a field name
|
||||
INTEGER :: Cs_sizeof_double = H5_SIZEOF_DOUBLE ! C's sizeof double
|
||||
INTEGER :: SIZEOF_X
|
||||
LOGICAL :: Exclude_double
|
||||
|
||||
! Find size of DOUBLE PRECISION
|
||||
#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
|
||||
SIZEOF_X = storage_size(bufd(1))/storage_size(c_char_'a')
|
||||
#else
|
||||
SIZEOF_X = SIZEOF(bufd(1))
|
||||
#endif
|
||||
|
||||
! If Fortran DOUBLE PRECISION and C DOUBLE sizeofs don't match then disable
|
||||
! creating a DOUBLE RECISION field, and instead create a REAL field. This
|
||||
! is needed to handle when DOUBLE PRECISION is promoted via a compiler flag.
|
||||
Exclude_double = .FALSE.
|
||||
IF(Cs_sizeof_double.NE.SIZEOF_X)THEN
|
||||
Exclude_double = .TRUE.
|
||||
ENDIF
|
||||
|
||||
!
|
||||
! Initialize the data arrays.
|
||||
@@ -128,11 +111,7 @@ SUBROUTINE test_table1()
|
||||
CALL h5tset_size_f(type_id_c, type_size, errcode)
|
||||
CALL h5tget_size_f(type_id_c, type_sizec, errcode)
|
||||
CALL h5tget_size_f(H5T_NATIVE_INTEGER, type_sizei, errcode)
|
||||
IF(exclude_double)THEN
|
||||
CALL h5tget_size_f(H5T_NATIVE_REAL, type_sized, errcode)
|
||||
ELSE
|
||||
CALL h5tget_size_f(H5T_NATIVE_DOUBLE, type_sized, errcode)
|
||||
ENDIF
|
||||
CALL h5tget_size_f(H5T_NATIVE_DOUBLE, type_sized, errcode)
|
||||
CALL h5tget_size_f(H5T_NATIVE_REAL, type_sizer, errcode)
|
||||
type_size = type_sizec + type_sizei + type_sized + type_sizer
|
||||
|
||||
@@ -141,11 +120,7 @@ SUBROUTINE test_table1()
|
||||
!
|
||||
field_types(1) = type_id_c
|
||||
field_types(2) = H5T_NATIVE_INTEGER
|
||||
IF(exclude_double)THEN
|
||||
field_types(3) = H5T_NATIVE_REAL
|
||||
ELSE
|
||||
field_types(3) = H5T_NATIVE_DOUBLE
|
||||
ENDIF
|
||||
field_types(3) = H5T_NATIVE_DOUBLE
|
||||
field_types(4) = H5T_NATIVE_REAL
|
||||
|
||||
!
|
||||
@@ -193,13 +168,9 @@ SUBROUTINE test_table1()
|
||||
|
||||
CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(2),start,nrecords,type_sizei,&
|
||||
bufi,errcode)
|
||||
IF(exclude_double)THEN
|
||||
CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
|
||||
bufr,errcode)
|
||||
ELSE
|
||||
CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
|
||||
bufd,errcode)
|
||||
ENDIF
|
||||
|
||||
CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
|
||||
bufd,errcode)
|
||||
|
||||
CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(4),start,nrecords,type_sizer,&
|
||||
bufr,errcode)
|
||||
@@ -243,6 +214,7 @@ SUBROUTINE test_table1()
|
||||
CALL h5tbread_field_name_f(file_id,dsetname1,field_names(2),start,nrecords,type_sizei,&
|
||||
bufir,errcode)
|
||||
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
!
|
||||
@@ -254,39 +226,19 @@ SUBROUTINE test_table1()
|
||||
ENDIF
|
||||
END DO
|
||||
|
||||
IF(exclude_double)THEN
|
||||
|
||||
CALL h5tbread_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
|
||||
bufrr,errcode)
|
||||
CALL h5tbread_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
|
||||
bufdr,errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
!
|
||||
DO i = 1, nrecords
|
||||
IF ( bufrr(i) .NE. bufr(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufrr(i), ' and ', bufr(i)
|
||||
STOP
|
||||
ENDIF
|
||||
END DO
|
||||
|
||||
ELSE
|
||||
CALL h5tbread_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
|
||||
bufdr,errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
!
|
||||
DO i = 1, nrecords
|
||||
IF ( bufdr(i) .NE. bufd(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufdr(i), ' and ', bufd(i)
|
||||
STOP
|
||||
ENDIF
|
||||
END DO
|
||||
ENDIF
|
||||
|
||||
|
||||
DO i = 1, nrecords
|
||||
IF ( bufdr(i) .NE. bufd(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufdr(i), ' and ', bufd(i)
|
||||
STOP
|
||||
ENDIF
|
||||
END DO
|
||||
|
||||
CALL h5tbread_field_name_f(file_id,dsetname1,field_names(4),start,nrecords,type_sizer,&
|
||||
bufrr,errcode)
|
||||
@@ -302,8 +254,8 @@ SUBROUTINE test_table1()
|
||||
ENDIF
|
||||
END DO
|
||||
|
||||
CALL passed()
|
||||
|
||||
CALL passed()
|
||||
|
||||
!-------------------------------------------------------------------------
|
||||
! write field
|
||||
@@ -317,13 +269,8 @@ SUBROUTINE test_table1()
|
||||
CALL h5tbwrite_field_index_f(file_id,dsetname1,2,start,nrecords,type_sizei,&
|
||||
bufi,errcode)
|
||||
|
||||
IF(exclude_double)THEN
|
||||
CALL h5tbwrite_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
|
||||
bufr,errcode)
|
||||
ELSE
|
||||
CALL h5tbwrite_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
|
||||
bufd,errcode)
|
||||
ENDIF
|
||||
CALL h5tbwrite_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
|
||||
bufd,errcode)
|
||||
|
||||
CALL h5tbwrite_field_index_f(file_id,dsetname1,4,start,nrecords,type_sizer,&
|
||||
bufr,errcode)
|
||||
@@ -361,35 +308,20 @@ SUBROUTINE test_table1()
|
||||
STOP
|
||||
ENDIF
|
||||
END DO
|
||||
IF(exclude_double)THEN
|
||||
CALL h5tbread_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
|
||||
bufrr,errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
!
|
||||
DO i = 1, nrecords
|
||||
IF ( bufrr(i) .NE. bufr(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufrr(i), ' and ', bufr(i)
|
||||
STOP
|
||||
ENDIF
|
||||
END DO
|
||||
ELSE
|
||||
CALL h5tbread_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
|
||||
bufdr,errcode)
|
||||
CALL h5tbread_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
|
||||
bufdr,errcode)
|
||||
|
||||
!
|
||||
! compare read and write buffers.
|
||||
!
|
||||
DO i = 1, nrecords
|
||||
IF ( bufdr(i) .NE. bufd(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufdr(i), ' and ', bufd(i)
|
||||
STOP
|
||||
ENDIF
|
||||
END DO
|
||||
ENDIF
|
||||
!
|
||||
! compare read and write buffers.
|
||||
!
|
||||
DO i = 1, nrecords
|
||||
IF ( bufdr(i) .NE. bufd(i) ) THEN
|
||||
PRINT *, 'read buffer differs from write buffer'
|
||||
PRINT *, bufdr(i), ' and ', bufd(i)
|
||||
STOP
|
||||
ENDIF
|
||||
END DO
|
||||
|
||||
CALL h5tbread_field_index_f(file_id,dsetname1,4,start,nrecords,type_sizer,&
|
||||
bufrr,errcode)
|
||||
Reference in New Issue
Block a user