summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeInstallation.cmake48
-rw-r--r--CMakeLists.txt9
-rw-r--r--MANIFEST15
-rw-r--r--README.txt2
-rw-r--r--c++/src/Makefile.in2
-rw-r--r--c++/test/CMakeTests.cmake25
-rw-r--r--c++/test/Makefile.am3
-rw-r--r--c++/test/Makefile.in5
-rw-r--r--c++/test/tcompound.cpp56
-rw-r--r--config/cmake/H5pubconf.h.in6
-rw-r--r--config/cmake/HDF518_Examples.cmake.in15
-rw-r--r--config/lt_vers.am2
-rwxr-xr-xconfigure26
-rw-r--r--configure.ac6
-rw-r--r--examples/CMakeTests.cmake3
-rw-r--r--fortran/examples/CMakeTests.cmake24
-rw-r--r--fortran/src/H5Df.c40
-rw-r--r--fortran/src/H5Sf.c4
-rw-r--r--fortran/src/Makefile.in2
-rw-r--r--hl/c++/examples/CMakeTests.cmake8
-rw-r--r--hl/c++/src/Makefile.in2
-rw-r--r--hl/examples/CMakeLists.txt2
-rw-r--r--hl/examples/CMakeTests.cmake36
-rw-r--r--hl/fortran/src/H5IMcc.c4
-rw-r--r--hl/fortran/src/H5IMfc.c32
-rw-r--r--hl/fortran/src/H5LTfc.c66
-rw-r--r--hl/fortran/src/Makefile.in2
-rw-r--r--hl/fortran/test/CMakeTests.cmake3
-rw-r--r--hl/fortran/test/Makefile.am2
-rw-r--r--hl/fortran/test/Makefile.in2
-rw-r--r--hl/src/H5DS.c94
-rw-r--r--hl/src/H5HLprivate2.h40
-rw-r--r--hl/src/H5IM.c12
-rw-r--r--hl/src/H5LT.c5
-rw-r--r--hl/src/H5PT.c34
-rw-r--r--hl/src/H5TB.c118
-rw-r--r--hl/src/Makefile.in2
-rw-r--r--hl/src/hdf5_hl.h2
-rw-r--r--hl/test/CMakeTests.cmake3
-rw-r--r--hl/test/gen_test_ds.c4
-rw-r--r--hl/test/test_dset_opt.c10
-rw-r--r--hl/test/test_file_image.c10
-rw-r--r--release_docs/RELEASE.txt21
-rw-r--r--release_docs/USING_CMake_Examples.txt93
-rw-r--r--src/H5F.c118
-rw-r--r--src/H5Faccum.c2
-rw-r--r--src/H5Fint.c189
-rw-r--r--src/H5Fio.c2
-rw-r--r--src/H5Fpkg.h1
-rw-r--r--src/H5Fprivate.h2
-rw-r--r--src/H5Fquery.c2
-rw-r--r--src/H5Ocache.c2
-rw-r--r--src/H5Osdspace.c2
-rw-r--r--src/H5detect.c51
-rw-r--r--src/H5public.h4
-rw-r--r--src/H5win32defs.h2
-rw-r--r--src/Makefile.in2
-rw-r--r--test/CMakeTests.cmake2
-rw-r--r--test/Makefile.am2
-rw-r--r--test/Makefile.in2
-rw-r--r--test/accum.c8
-rw-r--r--test/big.c320
-rw-r--r--test/cmpd_dset.c32
-rw-r--r--test/dsets.c46
-rw-r--r--test/dt_arith.c74
-rw-r--r--test/dtypes.c81
-rw-r--r--test/h5test.c2
-rw-r--r--test/links.c6
-rw-r--r--test/ntypes.c4
-rw-r--r--test/tarray.c28
-rw-r--r--test/tattr.c2
-rw-r--r--test/test_plugin.sh.in3
-rw-r--r--test/tfile.c34
-rw-r--r--test/tgenprop.c6
-rw-r--r--test/tid.c14
-rw-r--r--test/tmisc.c2
-rw-r--r--test/trefer.c40
-rw-r--r--test/tselect.c36
-rw-r--r--test/tsohm.c4
-rw-r--r--test/ttsafe_acreate.c4
-rw-r--r--test/ttsafe_cancel.c4
-rw-r--r--test/tunicode.c4
-rw-r--r--testpar/t_coll_chunk.c10
-rw-r--r--testpar/t_dset.c130
-rw-r--r--testpar/t_filter_read.c4
-rw-r--r--testpar/t_mpi.c2
-rw-r--r--testpar/t_posix_compliant.c32
-rw-r--r--tools/h5copy/h5copygentest.c12
-rw-r--r--tools/h5copy/testh5copy.sh.in17
-rw-r--r--tools/h5diff/h5diff_common.c2
-rw-r--r--tools/h5diff/h5diffgentest.c22
-rw-r--r--tools/h5diff/ph5diff_main.c244
-rw-r--r--tools/h5diff/testh5diff.sh.in17
-rw-r--r--tools/h5dump/CMakeTests.cmake103
-rw-r--r--tools/h5dump/h5dumpgentest.c1010
-rw-r--r--tools/h5dump/testh5dump.sh.in47
-rw-r--r--tools/h5dump/testh5dumppbits.sh.in17
-rw-r--r--tools/h5dump/testh5dumpxml.sh.in16
-rw-r--r--tools/h5import/CMakeTests.cmake23
-rw-r--r--tools/h5import/Makefile.am3
-rw-r--r--tools/h5import/Makefile.in4
-rw-r--r--tools/h5import/h5importtestutil.sh.in17
-rw-r--r--tools/h5jam/Makefile.am2
-rw-r--r--tools/h5jam/Makefile.in3
-rw-r--r--tools/h5jam/getub.c4
-rw-r--r--tools/h5jam/testh5jam.sh.in21
-rw-r--r--tools/h5ls/testh5ls.sh.in16
-rw-r--r--tools/h5repack/CMakeTests.cmake8
-rw-r--r--tools/h5repack/Makefile.am2
-rw-r--r--tools/h5repack/Makefile.in3
-rw-r--r--tools/h5repack/h5repack.sh.in17
-rw-r--r--tools/h5repack/h5repack_plugin.sh.in19
-rw-r--r--tools/h5repack/h5repacktst.c32
-rw-r--r--tools/h5repack/testfiles/h5repack_layout.UD.h5bin0 -> 43744 bytes
-rw-r--r--tools/h5repack/testfiles/h5repack_layout.UD.h5-plugin_none.ddl130
-rw-r--r--tools/h5repack/testfiles/plugin_none.h5repack_layout.UD.h5.tst14
-rw-r--r--tools/h5stat/h5stat.c8
-rw-r--r--tools/h5stat/testh5stat.sh.in17
-rw-r--r--tools/lib/h5diff.c41
-rw-r--r--tools/lib/ph5diff.h16
-rw-r--r--tools/misc/h5repart.c4
-rw-r--r--tools/misc/talign.c10
-rw-r--r--tools/misc/testh5mkgrp.sh.in16
-rw-r--r--tools/testfiles/tcmpdintarray.ddl64
-rw-r--r--tools/testfiles/tcmpdintarray.h5bin0 -> 9888 bytes
-rw-r--r--tools/testfiles/tcmpdints.ddl1444
-rw-r--r--tools/testfiles/tcmpdints.h5bin0 -> 9312 bytes
-rw-r--r--tools/testfiles/tcontiguos.ddl2
-rw-r--r--tools/testfiles/tfilters.h5bin46272 -> 46496 bytes
-rw-r--r--tools/testfiles/tintsattrs.ddl1115
-rw-r--r--tools/testfiles/tintsattrs.h5bin0 -> 28912 bytes
-rw-r--r--tools/testfiles/treadfilter.ddl54
-rw-r--r--tools/testfiles/treadintfilter.ddl132
-rw-r--r--tools/testfiles/tscalarintattrsize.ddl256
-rw-r--r--tools/testfiles/tscalarintattrsize.h5bin0 -> 28928 bytes
-rw-r--r--tools/testfiles/tscaleoffset.ddl4
-rw-r--r--vms/src/h5pubconf.h6
137 files changed, 6087 insertions, 1144 deletions
diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake
index 18464ac..5929380 100644
--- a/CMakeInstallation.cmake
+++ b/CMakeInstallation.cmake
@@ -200,11 +200,11 @@ ENDIF (NOT HDF5_EXTERNALLY_CONFIGURED)
IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
SET (CPACK_PACKAGE_VENDOR "HDF_Group")
SET (CPACK_PACKAGE_NAME "${HDF5_PACKAGE_NAME}")
- SET (CPACK_PACKAGE_INSTALL_DIRECTORY "${HDF5_PACKAGE_NAME}")
SET (CPACK_PACKAGE_VERSION "${HDF5_PACKAGE_VERSION}")
SET (CPACK_PACKAGE_VERSION_MAJOR "${HDF5_PACKAGE_VERSION_MAJOR}")
SET (CPACK_PACKAGE_VERSION_MINOR "${HDF5_PACKAGE_VERSION_MINOR}")
SET (CPACK_PACKAGE_VERSION_PATCH "")
+ SET (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${HDF5_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}")
IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs")
SET (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/RELEASE.txt")
SET (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/COPYING")
@@ -215,6 +215,7 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
SET (CPACK_GENERATOR "TGZ")
IF (WIN32)
LIST (APPEND CPACK_GENERATOR "NSIS")
+ SET (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\${HDF5_PACKAGE_NAME}\\\\${CPACK_PACKAGE_VERSION}")
SET (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${LIB_TYPE}")
SET (CPACK_MONOLITHIC_INSTALL ON)
SET (CPACK_NSIS_CONTACT "${HDF5_PACKAGE_BUGREPORT}")
@@ -229,23 +230,24 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
SET (CPACK_PACKAGE_ICON "${HDF5_RESOURCES_DIR}/hdf.gif")
SET (CPACK_SET_DESTDIR TRUE) # Required when packaging, and set CMAKE_INSTALL_PREFIX to "/".
-# LIST (APPEND CPACK_GENERATOR "Bundle")
- SET (CPACK_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
- SET (CPACK_BUNDLE_LOCATION "/") # make sure CMAKE_INSTALL_PREFIX ends in /
- SET (CMAKE_INSTALL_PREFIX "/${CPACK_BUNDLE_NAME}.framework/Versions/${CPACK_PACKAGE_VERSION}/${CPACK_PACKAGE_NAME}/")
- SET (CPACK_BUNDLE_ICON "${HDF5_RESOURCES_DIR}/hdf.gif")
- SET (CPACK_BUNDLE_PLIST "${HDF5_BINARY_DIR}/CMakeFiles/Info.plist")
-# SET (CPACK_BUNDLE_STARTUP_COMMAND "${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-startup.sh")
- SET (CPACK_APPLE_GUI_INFO_STRING "HDF5 (Hierarchical Data Format 5) Software Library and Utilities")
- SET (CPACK_APPLE_GUI_COPYRIGHT "Copyright © 2006-2013 by The HDF Group. All rights reserved.")
- SET (CPACK_SHORT_VERSION_STRING "${CPACK_PACKAGE_VERSION}")
- #-----------------------------------------------------------------------------
- # Configure the Info.plist file for the install bundle
- #-----------------------------------------------------------------------------
- CONFIGURE_FILE (
- ${HDF5_RESOURCES_DIR}/CPack.Info.plist.in
- ${HDF5_BINARY_DIR}/CMakeFiles/Info.plist @ONLY
- )
+ IF (HDF5_PACK_MACOSX_BUNDLE)
+ LIST (APPEND CPACK_GENERATOR "Bundle")
+ SET (CPACK_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
+ SET (CPACK_BUNDLE_LOCATION "/") # make sure CMAKE_INSTALL_PREFIX ends in /
+ SET (CMAKE_INSTALL_PREFIX "/${CPACK_BUNDLE_NAME}.framework/Versions/${CPACK_PACKAGE_VERSION}/${CPACK_PACKAGE_NAME}/")
+ SET (CPACK_BUNDLE_ICON "${HDF5_RESOURCES_DIR}/hdf.gif")
+ SET (CPACK_BUNDLE_PLIST "${HDF5_BINARY_DIR}/CMakeFiles/Info.plist")
+ SET (CPACK_APPLE_GUI_INFO_STRING "HDF5 (Hierarchical Data Format 5) Software Library and Utilities")
+ SET (CPACK_APPLE_GUI_COPYRIGHT "Copyright © 2006-2013 by The HDF Group. All rights reserved.")
+ SET (CPACK_SHORT_VERSION_STRING "${CPACK_PACKAGE_VERSION}")
+ #-----------------------------------------------------------------------------
+ # Configure the Info.plist file for the install bundle
+ #-----------------------------------------------------------------------------
+ CONFIGURE_FILE (
+ ${HDF5_RESOURCES_DIR}/CPack.Info.plist.in
+ ${HDF5_BINARY_DIR}/CMakeFiles/Info.plist @ONLY
+ )
+ ENDIF(HDF5_PACK_MACOSX_BUNDLE)
ELSE (WIN32)
LIST (APPEND CPACK_GENERATOR "STGZ")
SET (CPACK_PACKAGING_INSTALL_PREFIX "/usr")
@@ -253,7 +255,9 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
SET (CPACK_DEBIAN_PACKAGE_SECTION "Libraries")
SET (CPACK_DEBIAN_PACKAGE_MAINTAINER "${HDF5_PACKAGE_BUGREPORT}")
-
+
+# LIST (APPEND CPACK_GENERATOR "RPM")
+ SET (CPACK_RPM_PACKAGE_RELEASE "1")
SET (CPACK_RPM_COMPONENT_INSTALL ON)
SET (CPACK_RPM_PACKAGE_RELOCATABLE ON)
SET (CPACK_RPM_PACKAGE_LICENSE "BSD-style")
@@ -276,6 +280,12 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
The HDF5 data model, file format, API, library, and tools are open and distributed without charge.
"
)
+
+ #-----------------------------------------------------------------------------
+ # Configure the spec file for the install RPM
+ #-----------------------------------------------------------------------------
+# CONFIGURE_FILE ("${HDF5_RESOURCES_DIR}/hdf5.spec.in" "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_PACKAGE_NAME}.spec" @ONLY IMMEDIATE)
+# SET (CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_PACKAGE_NAME}.spec")
ENDIF (WIN32)
INCLUDE(InstallRequiredSystemLibraries)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index da003c5..bd84c71 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -283,6 +283,9 @@ ELSE (BUILD_SHARED_LIBS)
IF (NOT WIN32)
# should this be a user setting : Everyone uses it anyway ?
ADD_DEFINITIONS (-DPIC)
+ IF (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+ ADD_DEFINITIONS (-KPIC)
+ ENDIF (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
ENDIF (NOT WIN32)
ENDIF (BUILD_SHARED_LIBS)
@@ -461,7 +464,11 @@ ENDIF (HDF5_DISABLE_COMPILER_WARNINGS)
# break into groups (from the config/gnu-flags file)
#-----------------------------------------------------------------------------
IF (NOT MSVC)
- SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -W -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline")
+ IF (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+ SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline")
+ ELSE (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+ SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -erroff=%none -DBSD_COMP")
+ ENDIF (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
# Append warning flags
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
# SET (H5_CFLAGS "${H5_CFLAGS} -Wtraditional")
diff --git a/MANIFEST b/MANIFEST
index 8756a78..bfa1bb8 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -540,11 +540,11 @@
./perform/sio_timer.h
./perform/zip_perf.c
-./release_docs/INSTALL_CMake.txt
./release_docs/COPYING
./release_docs/HISTORY-1_0-1_8_0_rc3.txt
./release_docs/HISTORY-1_9.txt
./release_docs/INSTALL
+./release_docs/INSTALL_CMake.txt
./release_docs/INSTALL_Cygwin.txt
./release_docs/INSTALL_parallel
./release_docs/INSTALL_VMS.txt
@@ -1476,8 +1476,12 @@
./tools/testfiles/tcontents.ddl
./tools/testfiles/tcontiguos.ddl
./tools/testfiles/tcmpdattrintsize.ddl
+./tools/testfiles/tcmpdintarray.ddl
+./tools/testfiles/tcmpdints.ddl
./tools/testfiles/tcmpdintsize.ddl
./tools/testfiles/tcmpdattrintsize.h5
+./tools/testfiles/tcmpdintarray.h5
+./tools/testfiles/tcmpdints.h5
./tools/testfiles/tcmpdintsize.h5
./tools/testfiles/tcomp-1.ddl
./tools/testfiles/tcomp-2.ddl
@@ -1549,6 +1553,8 @@
./tools/testfiles/tindicessub3.ddl
./tools/testfiles/tindicessub4.ddl
./tools/testfiles/tindicessub1.ddl
+./tools/testfiles/tintsattrs.ddl
+./tools/testfiles/tintsattrs.h5
./tools/testfiles/tlarge_objname.ddl
./tools/testfiles/tlarge_objname.h5
./tools/testfiles/tldouble.h5
@@ -1594,11 +1600,15 @@
./tools/testfiles/trawdatafile.exp
./tools/testfiles/trawssetfile.ddl
./tools/testfiles/trawssetfile.exp
+./tools/testfiles/treadfilter.ddl
+./tools/testfiles/treadintfilter.ddl
./tools/testfiles/treference.ddl
./tools/testfiles/tsaf.ddl
./tools/testfiles/tsaf.h5
./tools/testfiles/tscalarattrintsize.ddl
./tools/testfiles/tscalarattrintsize.h5
+./tools/testfiles/tscalarintattrsize.ddl
+./tools/testfiles/tscalarintattrsize.h5
./tools/testfiles/tscalarintsize.ddl
./tools/testfiles/tscalarintsize.h5
./tools/testfiles/tscalarstring.ddl
@@ -2146,6 +2156,7 @@
./tools/h5repack/testfiles/h5repack_layouto.h5
./tools/h5repack/testfiles/h5repack_layout2.h5
./tools/h5repack/testfiles/h5repack_layout3.h5
+./tools/h5repack/testfiles/h5repack_layout.UD.h5
./tools/h5repack/testfiles/h5repack_named_dtypes.h5
./tools/h5repack/testfiles/h5repack_nbit.h5
./tools/h5repack/testfiles/h5repack_objs.h5
@@ -2155,10 +2166,12 @@
./tools/h5repack/testfiles/h5repack_szip.h5
./tools/h5repack/testfiles/ublock.bin
./tools/h5repack/testfiles/deflate_limit.h5repack_layout.h5.ddl
+./tools/h5repack/testfiles/plugin_none.h5repack_layout.UD.h5.tst
./tools/h5repack/testfiles/plugin_test.h5repack_layout.h5.tst
./tools/h5repack/testfiles/h5repack-help.txt
./tools/h5repack/testfiles/h5repack_filters.h5.tst
./tools/h5repack/testfiles/h5repack_layout.h5.ddl
+./tools/h5repack/testfiles/h5repack_layout.UD.h5-plugin_none.ddl
./tools/h5repack/testfiles/h5repack_layout.h5-plugin_test.ddl
# jam utility and tests
diff --git a/README.txt b/README.txt
index 423ff75..3b51ff5 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.9.167 currently under development
+HDF5 version 1.9.170 currently under development
Please refer to the release_docs/INSTALL file for installation instructions.
------------------------------------------------------------------------------
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index 78ea36f..ef8094d 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -469,7 +469,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 157
+LT_VERS_REVISION = 160
LT_VERS_AGE = 0
# Include src directory
diff --git a/c++/test/CMakeTests.cmake b/c++/test/CMakeTests.cmake
index f2a10e2..3e4f6d9 100644
--- a/c++/test/CMakeTests.cmake
+++ b/c++/test/CMakeTests.cmake
@@ -4,8 +4,21 @@
### T E S T I N G ###
##############################################################################
##############################################################################
+# Remove any output file left over from previous test run
+ADD_TEST (
+ NAME cpp_testhdf5-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ tattr_basic.h5
+ tattr_compound.h5
+ tattr_dtype.h5
+ tattr_multi.h5
+ tattr_scalar.h5
+ tfattrs.h5
+)
ADD_TEST (NAME cpp_testhdf5 COMMAND $<TARGET_FILE:cpp_testhdf5>)
+SET_TESTS_PROPERTIES (cpp_testhdf5 PROPERTIES DEPENDS cpp_testhdf5-clear-objects)
IF (HDF5_TEST_VFD)
@@ -25,6 +38,17 @@ IF (HDF5_TEST_VFD)
MACRO (ADD_VFD_TEST vfdname resultcode)
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
ADD_TEST (
+ NAME VFD-${vfdname}-cpp_testhdf5-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ tattr_basic.h5
+ tattr_compound.h5
+ tattr_dtype.h5
+ tattr_multi.h5
+ tattr_scalar.h5
+ tfattrs.h5
+ )
+ ADD_TEST (
NAME VFD-${vfdname}-cpp_testhdf5
COMMAND "${CMAKE_COMMAND}"
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
@@ -35,6 +59,7 @@ IF (HDF5_TEST_VFD)
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
)
+ SET_TESTS_PROPERTIES (VFD-${vfdname}-cpp_testhdf5 PROPERTIES DEPENDS VFD-${vfdname}-cpp_testhdf5-clear-objects)
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
ENDMACRO (ADD_VFD_TEST)
diff --git a/c++/test/Makefile.am b/c++/test/Makefile.am
index 687f0ca..3f62bda 100644
--- a/c++/test/Makefile.am
+++ b/c++/test/Makefile.am
@@ -51,5 +51,8 @@ mostlyclean-local:
@if test -d ii_files; then \
$(RM) -rf ii_files; \
fi
+# Temporary files
+CHECK_CLEANFILES+=tattr_multi.h5 tfattrs.h5 tattr_scalar.h5 tattr_compound.h5 \
+ tattr_dtype.h5 tattr_basic.h5
include $(top_srcdir)/config/conclude.am
diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in
index 3c4c645..0aad590 100644
--- a/c++/test/Makefile.in
+++ b/c++/test/Makefile.in
@@ -424,7 +424,10 @@ TRACE = perl $(top_srcdir)/bin/trace
# .chkexe files are used to mark tests that have run successfully.
# .chklog files are output from those tests.
# *.clog are from the MPE option.
-CHECK_CLEANFILES = *.chkexe *.chklog *.clog
+# Temporary files
+CHECK_CLEANFILES = *.chkexe *.chklog *.clog tattr_multi.h5 tfattrs.h5 \
+ tattr_scalar.h5 tattr_compound.h5 tattr_dtype.h5 \
+ tattr_basic.h5
# Include src, test, and c++/src directories
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
diff --git a/c++/test/tcompound.cpp b/c++/test/tcompound.cpp
index 28d8a1e..6ae3f82 100644
--- a/c++/test/tcompound.cpp
+++ b/c++/test/tcompound.cpp
@@ -122,9 +122,9 @@ static void test_compound_2()
SUBTEST("Compound Element Reordering");
try {
// Sizes should be the same, but be careful just in case
- buf = (unsigned char*)malloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
- bkg = (unsigned char*)malloc(nelmts * sizeof(dst_typ_t));
- orig = (unsigned char*)malloc(nelmts * sizeof(src_typ_t));
+ buf = (unsigned char*)HDmalloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
+ bkg = (unsigned char*)HDmalloc(nelmts * sizeof(dst_typ_t));
+ orig = (unsigned char*)HDmalloc(nelmts * sizeof(src_typ_t));
for (i=0; i<nelmts; i++) {
s_ptr = ((src_typ_t*)orig) + i;
s_ptr->a = i*8+0;
@@ -190,9 +190,9 @@ static void test_compound_2()
}
}
// Release resources
- free(buf);
- free(bkg);
- free(orig);
+ HDfree(buf);
+ HDfree(bkg);
+ HDfree(orig);
s_ptr = NULL;
d_ptr = NULL;
st.close();
@@ -247,9 +247,9 @@ static void test_compound_3()
SUBTEST("Compound Datatype Subset Conversions");
try {
/* Initialize */
- buf = (unsigned char*)malloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
- bkg = (unsigned char*)malloc(nelmts * sizeof(dst_typ_t));
- orig = (unsigned char*)malloc(nelmts * sizeof(src_typ_t));
+ buf = (unsigned char*)HDmalloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
+ bkg = (unsigned char*)HDmalloc(nelmts * sizeof(dst_typ_t));
+ orig = (unsigned char*)HDmalloc(nelmts * sizeof(src_typ_t));
for (i=0; i<nelmts; i++) {
s_ptr = ((src_typ_t*)orig) + i;
s_ptr->a = i*8+0;
@@ -312,9 +312,9 @@ static void test_compound_3()
} // for
/* Release resources */
- free(buf);
- free(bkg);
- free(orig);
+ HDfree(buf);
+ HDfree(bkg);
+ HDfree(orig);
s_ptr = NULL;
d_ptr = NULL;
st.close();
@@ -374,9 +374,9 @@ static void test_compound_4()
SUBTEST("Compound Element Shrinking & Reordering");
try {
/* Sizes should be the same, but be careful just in case */
- buf = (unsigned char*)malloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
- bkg = (unsigned char*)malloc(nelmts * sizeof(dst_typ_t));
- orig = (unsigned char*)malloc(nelmts * sizeof(src_typ_t));
+ buf = (unsigned char*)HDmalloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
+ bkg = (unsigned char*)HDmalloc(nelmts * sizeof(dst_typ_t));
+ orig = (unsigned char*)HDmalloc(nelmts * sizeof(src_typ_t));
for (i=0; i<nelmts; i++) {
s_ptr = ((src_typ_t*)orig) + i;
s_ptr->a = i*8+0;
@@ -444,9 +444,9 @@ static void test_compound_4()
} // for
/* Release resources */
- free(buf);
- free(bkg);
- free(orig);
+ HDfree(buf);
+ HDfree(bkg);
+ HDfree(orig);
s_ptr = NULL;
d_ptr = NULL;
st.close();
@@ -499,8 +499,8 @@ static void test_compound_5()
src_typ_t src[2] = {{"one", 102, {104, 105, 106, 107}},
{"two", 202, {204, 205, 206, 207}}};
dst_typ_t *dst;
- void *buf = calloc(2, sizeof(dst_typ_t));
- void *bkg = calloc(2, sizeof(dst_typ_t));
+ void *buf = HDcalloc(2, sizeof(dst_typ_t));
+ void *bkg = HDcalloc(2, sizeof(dst_typ_t));
ArrayType* array_dt = NULL;
// Output message about test being performed
@@ -552,8 +552,8 @@ static void test_compound_5()
{ H5_FAILED(); }
/* Free memory buffers */
- free(buf);
- free(bkg);
+ HDfree(buf);
+ HDfree(bkg);
dst = NULL;
PASSED();
} // end of try block
@@ -606,9 +606,9 @@ static void test_compound_6()
SUBTEST("Compound Element Growing");
try {
/* Sizes should be the same, but be careful just in case */
- buf = (unsigned char*)malloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
- bkg = (unsigned char*)malloc(nelmts * sizeof(dst_typ_t));
- orig = (unsigned char*)malloc(nelmts * sizeof(src_typ_t));
+ buf = (unsigned char*)HDmalloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
+ bkg = (unsigned char*)HDmalloc(nelmts * sizeof(dst_typ_t));
+ orig = (unsigned char*)HDmalloc(nelmts * sizeof(src_typ_t));
for (i=0; i<nelmts; i++) {
s_ptr = ((src_typ_t*)orig) + i;
s_ptr->b = (i*8+1) & 0x7fff;
@@ -645,9 +645,9 @@ static void test_compound_6()
} // for
/* Release resources */
- free(buf);
- free(bkg);
- free(orig);
+ HDfree(buf);
+ HDfree(bkg);
+ HDfree(orig);
s_ptr = NULL;
d_ptr = NULL;
st.close();
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index 1a08ecc..d762084 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -757,7 +757,7 @@
#cmakedefine H5_USING_MEMCHECKER @H5_USING_MEMCHECKER@
/* Version number of package */
-#define VERSION "@HDF5_PACKAGE_VERSION@"
+#define H5_VERSION "@HDF5_PACKAGE_VERSION@"
/* Define if vsnprintf() returns the correct value for formatted strings that
don't fit into size allowed */
@@ -784,10 +784,10 @@
#cmakedefine WORDS_BIGENDIAN @H5_WORDS_BIGENDIANR@
/* Number of bits in a file offset, on hosts where this is settable. */
-#cmakedefine _FILE_OFFSET_BITS
+#cmakedefine H5__FILE_OFFSET_BITS
/* Define for large files, on AIX-style hosts. */
-#cmakedefine _LARGE_FILES
+#cmakedefine H5__LARGE_FILES
/* Define to empty if `const' does not conform to ANSI C. */
#cmakedefine H5_const
diff --git a/config/cmake/HDF518_Examples.cmake.in b/config/cmake/HDF518_Examples.cmake.in
index 699e2d0..c6be9ff 100644
--- a/config/cmake/HDF518_Examples.cmake.in
+++ b/config/cmake/HDF518_Examples.cmake.in
@@ -11,13 +11,16 @@ set(STATICLIBRARIES "@H5_ENABLE_STATIC_LIB@")
set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG})
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
set(CTEST_BUILD_CONFIGURATION "Release")
+#set(NO_MAC_FORTRAN "true")
+#set(BUILD_OPTIONS ""${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF")
+#set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON)
###############################################################################################################
# Adjust the following SET Commands as needed
###############################################################################################################
if(WIN32)
if(STATICLIBRARIES)
- set(BUILD_OPTIONS "-DUSE_SHARED_LIBS:BOOL=OFF")
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DUSE_SHARED_LIBS:BOOL=OFF")
endif(STATICLIBRARIES)
set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake/hdf5")
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build)
@@ -25,7 +28,7 @@ if(WIN32)
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
else(WIN32)
if(STATICLIBRARIES)
- set(BUILD_OPTIONS "-DUSE_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DUSE_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
endif(STATICLIBRARIES)
set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake/hdf5")
set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib")
@@ -48,8 +51,12 @@ if(APPLE)
execute_process(COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
set(ENV{CC} "${XCODE_CC}")
set(ENV{CXX} "${XCODE_CXX}")
- # Shared fortran is not supported, build static
- set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
+ if(NOT NO_MAC_FORTRAN)
+ # Shared fortran is not supported, build static
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
+ else(NOT NO_MAC_FORTRAN)
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
+ endif(NOT NO_MAC_FORTRAN)
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
endif(APPLE)
diff --git a/config/lt_vers.am b/config/lt_vers.am
index 1037868..7dd12cc 100644
--- a/config/lt_vers.am
+++ b/config/lt_vers.am
@@ -17,7 +17,7 @@
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 157
+LT_VERS_REVISION = 160
LT_VERS_AGE = 0
## If the API changes *at all*, increment LT_VERS_INTERFACE and
diff --git a/configure b/configure
index 75413ca..ad93a88 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for HDF5 1.9.167.
+# Generated by GNU Autoconf 2.69 for HDF5 1.9.170.
#
# Report bugs to <help@hdfgroup.org>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='HDF5'
PACKAGE_TARNAME='hdf5'
-PACKAGE_VERSION='1.9.167'
-PACKAGE_STRING='HDF5 1.9.167'
+PACKAGE_VERSION='1.9.170'
+PACKAGE_STRING='HDF5 1.9.170'
PACKAGE_BUGREPORT='help@hdfgroup.org'
PACKAGE_URL=''
@@ -1492,7 +1492,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures HDF5 1.9.167 to adapt to many kinds of systems.
+\`configure' configures HDF5 1.9.170 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1562,7 +1562,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of HDF5 1.9.167:";;
+ short | recursive ) echo "Configuration of HDF5 1.9.170:";;
esac
cat <<\_ACEOF
@@ -1761,7 +1761,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-HDF5 configure 1.9.167
+HDF5 configure 1.9.170
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2855,7 +2855,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by HDF5 $as_me 1.9.167, which was
+It was created by HDF5 $as_me 1.9.170, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3687,7 +3687,7 @@ fi
# Define the identity of the package.
PACKAGE='hdf5'
- VERSION='1.9.167'
+ VERSION='1.9.170'
cat >>confdefs.h <<_ACEOF
@@ -30805,7 +30805,7 @@ if test -n "$cc_version_info"; then
fi
-## Strip anything that looks like a flag off of $CC
+## Strip anything that looks like a flag off of $FC
FC_NOFLAGS=`echo $FC | sed 's/ -.*//'`
if `echo $FC_NOFLAGS | grep ^/ >/dev/null 2>&1`; then
@@ -30824,7 +30824,7 @@ if test -n "$fc_version_info"; then
fi
-## Strip anything that looks like a flag off of $CC
+## Strip anything that looks like a flag off of $CXX
CXX_NOFLAGS=`echo $CXX | sed 's/ -.*//'`
if `echo $CXX_NOFLAGS | grep ^/ >/dev/null 2>&1`; then
@@ -31676,7 +31676,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-HDF5 config.lt 1.9.167
+HDF5 config.lt 1.9.170
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -33814,7 +33814,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by HDF5 $as_me 1.9.167, which was
+This file was extended by HDF5 $as_me 1.9.170, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -33880,7 +33880,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-HDF5 config.status 1.9.167
+HDF5 config.status 1.9.170
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 93e51d9..bcd75c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ AC_PREREQ([2.69])
## NOTE: Do not forget to change the version number here when we do a
## release!!!
##
-AC_INIT([HDF5], [1.9.167], [help@hdfgroup.org])
+AC_INIT([HDF5], [1.9.170], [help@hdfgroup.org])
AC_CONFIG_SRCDIR([src/H5.c])
AC_CONFIG_HEADER([src/H5config.h])
@@ -4097,7 +4097,7 @@ if test -n "$cc_version_info"; then
fi
AC_SUBST([FC_VERSION])
-## Strip anything that looks like a flag off of $CC
+## Strip anything that looks like a flag off of $FC
FC_NOFLAGS=`echo $FC | sed 's/ -.*//'`
if `echo $FC_NOFLAGS | grep ^/ >/dev/null 2>&1`; then
@@ -4116,7 +4116,7 @@ if test -n "$fc_version_info"; then
fi
AC_SUBST([CXX_VERSION])
-## Strip anything that looks like a flag off of $CC
+## Strip anything that looks like a flag off of $CXX
CXX_NOFLAGS=`echo $CXX | sed 's/ -.*//'`
if `echo $CXX_NOFLAGS | grep ^/ >/dev/null 2>&1`; then
diff --git a/examples/CMakeTests.cmake b/examples/CMakeTests.cmake
index 1f896df..58a2858 100644
--- a/examples/CMakeTests.cmake
+++ b/examples/CMakeTests.cmake
@@ -39,6 +39,9 @@
soft_link.h5
subset.h5
unix2win.h5
+ blue/prefix_target.h5
+ red/prefix_target.h5
+ u2w/u2w_target.h5
)
IF (NOT "${last_test}" STREQUAL "")
SET_TESTS_PROPERTIES (EXAMPLES-clear-objects PROPERTIES DEPENDS ${last_test})
diff --git a/fortran/examples/CMakeTests.cmake b/fortran/examples/CMakeTests.cmake
index d5b201c..aebd39b 100644
--- a/fortran/examples/CMakeTests.cmake
+++ b/fortran/examples/CMakeTests.cmake
@@ -5,6 +5,30 @@
##############################################################################
##############################################################################
+ # Remove any output file left over from previous test run
+ ADD_TEST (
+ NAME f90_ex-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ compound.h5
+ copy1.h5
+ copy2.h5
+ dsetf.h5
+ extend.h5
+ FORTRAN.h5
+ groupf.h5
+ groupsf.h5
+ h5_cmprss.h5
+ mount1.h5
+ mount2.h5
+ sdsf.h5
+ subset.h5
+ )
+ IF (NOT "${last_test}" STREQUAL "")
+ SET_TESTS_PROPERTIES (f90_ex-clear-objects PROPERTIES DEPENDS ${last_test})
+ ENDIF (NOT "${last_test}" STREQUAL "")
+ SET (last_test "f90_ex-clear-objects")
+
FOREACH (example ${examples})
ADD_TEST (NAME f90_ex_${example} COMMAND $<TARGET_FILE:f90_ex_${example}>)
IF (NOT "${last_test}" STREQUAL "")
diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c
index ab7adf7..deab4f3 100644
--- a/fortran/src/H5Df.c
+++ b/fortran/src/H5Df.c
@@ -1582,7 +1582,7 @@ nh5dvlen_get_max_len_c ( hid_t_f *dset_id , hid_t_f *type_id, hid_t_f *space_id
num_elem = H5Sget_select_npoints(c_space_id);
if( num_elem < 0) return ret_value;
- c_buf = (hvl_t *)malloc(sizeof(hvl_t)*(size_t)num_elem);
+ c_buf = (hvl_t *)HDmalloc(sizeof(hvl_t)*(size_t)num_elem);
if (c_buf == NULL) return ret_value;
status = H5Dread(c_dset_id, c_type_id, H5S_ALL, c_space_id, H5P_DEFAULT, c_buf);
if(status < 0) goto DONE;
@@ -1595,7 +1595,7 @@ nh5dvlen_get_max_len_c ( hid_t_f *dset_id , hid_t_f *type_id, hid_t_f *space_id
DONE:
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
/****if* H5Df/nh5dwrite_vl_integer_c
@@ -1651,7 +1651,7 @@ nh5dwrite_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_
c_file_space_id = (hid_t)*file_space_id;
c_xfer_prp = (hid_t)*xfer_prp;
- c_buf = (hvl_t *)malloc((size_t)num_elem * sizeof(hvl_t));
+ c_buf = (hvl_t *)HDmalloc((size_t)num_elem * sizeof(hvl_t));
if (c_buf == NULL) return ret_value;
tmp = (int_f *)buf;
for (i=0; i < num_elem; i++) {
@@ -1667,7 +1667,7 @@ nh5dwrite_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_
if( status < 0) goto DONE;
ret_value = 0;
DONE:
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
@@ -1725,7 +1725,7 @@ nh5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_s
num_elem = H5Sget_select_npoints(c_mem_space_id);
if(num_elem != dims[1]) return ret_value;
- c_buf = (hvl_t *)malloc((size_t)num_elem * sizeof(hvl_t));
+ c_buf = (hvl_t *)HDmalloc((size_t)num_elem * sizeof(hvl_t));
if (c_buf == NULL) return ret_value;
/*
* Call H5Dread function.
@@ -1739,7 +1739,7 @@ nh5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_s
H5Dvlen_reclaim(c_mem_type_id, c_mem_space_id, H5P_DEFAULT, c_buf);
ret_value = 0;
DONE:
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
@@ -1798,12 +1798,12 @@ nh5dwrite_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_sp
/*
* Allocate arra of character pointers
*/
- c_buf = (char **)malloc((size_t)num_elem * sizeof(char *));
+ c_buf = (char **)HDmalloc((size_t)num_elem * sizeof(char *));
if (c_buf == NULL) return ret_value;
/* Copy data to long C string */
tmp = (char *)HD5f2cstring(buf, (size_t)(max_len*num_elem));
- if (tmp == NULL) { free(c_buf);
+ if (tmp == NULL) { HDfree(c_buf);
return ret_value;
}
/*
@@ -1811,7 +1811,7 @@ nh5dwrite_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_sp
*/
tmp_p = tmp;
for (i=0; i < num_elem; i++) {
- c_buf[i] = (char *) malloc((size_t)len[i]+1);
+ c_buf[i] = (char *) HDmalloc((size_t)len[i]+1);
memcpy(c_buf[i], tmp_p, (size_t)len[i]);
c_buf[i][len[i]] = '\0';
tmp_p = tmp_p + max_len;
@@ -1826,8 +1826,8 @@ nh5dwrite_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_sp
ret_value = 0;
DONE:
H5Dvlen_reclaim(c_mem_type_id, c_mem_space_id, H5P_DEFAULT, c_buf);
- free(c_buf);
- free(tmp);
+ HDfree(c_buf);
+ HDfree(tmp);
return ret_value;
}
/****if* H5Df/nh5dread_vl_string_c
@@ -1885,18 +1885,18 @@ nh5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa
/*
* Allocate array of character pointers
*/
- c_buf = (char **)malloc((size_t)num_elem * sizeof(char *));
+ c_buf = (char **)HDmalloc((size_t)num_elem * sizeof(char *));
if (c_buf == NULL) return ret_value;
/*
* Call H5Dread function.
*/
status = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, c_buf);
- if (status < 0) { free(c_buf);
+ if (status < 0) { HDfree(c_buf);
return ret_value;
}
/* Copy data to long C string */
- tmp = (char *)malloc((size_t)(max_len*num_elem) +1);
+ tmp = (char *)HDmalloc((size_t)(max_len*num_elem) +1);
tmp_p = tmp;
for (i=0; i<max_len*num_elem; i++) tmp[i] = ' ';
tmp[max_len*num_elem] = '\0';
@@ -1908,8 +1908,8 @@ nh5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa
HD5packFstring(tmp, _fcdtocp(buf), (size_t)(max_len*num_elem));
ret_value = 0;
H5Dvlen_reclaim(c_mem_type_id, c_mem_space_id, H5P_DEFAULT, c_buf);
- free(c_buf);
- free(tmp);
+ HDfree(c_buf);
+ HDfree(tmp);
return ret_value;
}
@@ -1966,7 +1966,7 @@ nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa
c_file_space_id = (hid_t)*file_space_id;
c_xfer_prp = (hid_t)*xfer_prp;
- c_buf = (hvl_t *)malloc((size_t)num_elem * sizeof(hvl_t));
+ c_buf = (hvl_t *)HDmalloc((size_t)num_elem * sizeof(hvl_t));
if (c_buf == NULL) return ret_value;
tmp = (real_f *)buf;
for (i=0; i < num_elem; i++) {
@@ -1982,7 +1982,7 @@ nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa
if( status < 0) goto DONE;
ret_value = 0;
DONE:
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
@@ -2040,7 +2040,7 @@ nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spac
num_elem = H5Sget_select_npoints(c_mem_space_id);
if(num_elem != dims[1]) return ret_value;
- c_buf = (hvl_t *)malloc((size_t)num_elem * sizeof(hvl_t));
+ c_buf = (hvl_t *)HDmalloc((size_t)num_elem * sizeof(hvl_t));
if (c_buf == NULL) return ret_value;
/*
* Call H5Dread function.
@@ -2055,7 +2055,7 @@ nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spac
H5Dvlen_reclaim(c_mem_type_id, c_mem_space_id, H5P_DEFAULT, c_buf);
ret_value = 0;
DONE:
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
diff --git a/fortran/src/H5Sf.c b/fortran/src/H5Sf.c
index 2cfb1eb..a944e20 100644
--- a/fortran/src/H5Sf.c
+++ b/fortran/src/H5Sf.c
@@ -298,7 +298,7 @@ nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock,
if (rank < 0 ) return ret_value;
c_startblock = (hsize_t)*startblock;
- c_buf = (hsize_t*)malloc(sizeof(hsize_t)*(size_t)(c_num_blocks*2*rank));
+ c_buf = (hsize_t*)HDmalloc(sizeof(hsize_t)*(size_t)(c_num_blocks*2*rank));
if (!c_buf) return ret_value;
ret_value = H5Sget_select_hyper_blocklist(c_space_id, c_startblock,
@@ -425,7 +425,7 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,
if (rank < 0 ) return ret_value;
c_startpoint = (hsize_t)*startpoint;
- c_buf = (hsize_t*)malloc(sizeof(hsize_t)*(size_t)(c_num_points*rank));
+ c_buf = (hsize_t*)HDmalloc(sizeof(hsize_t)*(size_t)(c_num_points*rank));
if (!c_buf) return ret_value;
ret_value = H5Sget_select_elem_pointlist(c_space_id, c_startpoint,
c_num_points, c_buf);
diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in
index bb25a03..61f729d 100644
--- a/fortran/src/Makefile.in
+++ b/fortran/src/Makefile.in
@@ -520,7 +520,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 157
+LT_VERS_REVISION = 160
LT_VERS_AGE = 0
# Include src directory in both Fortran and C flags (C compiler is used
diff --git a/hl/c++/examples/CMakeTests.cmake b/hl/c++/examples/CMakeTests.cmake
index 95cc8b4..c73ceeb 100644
--- a/hl/c++/examples/CMakeTests.cmake
+++ b/hl/c++/examples/CMakeTests.cmake
@@ -4,5 +4,13 @@
### T E S T I N G ###
##############################################################################
##############################################################################
+# Remove any output file left over from previous test run
+ADD_TEST (
+ NAME cpp_hl_ex_ptExampleFL-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ PTcppexampleFL.h5
+)
ADD_TEST (NAME cpp_hl_ex_ptExampleFL COMMAND $<TARGET_FILE:ptExampleFL>)
+SET_TESTS_PROPERTIES (cpp_hl_ex_ptExampleFL PROPERTIES DEPENDS cpp_hl_ex_ptExampleFL-clear-objects)
diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in
index 850339c..3d28ac9 100644
--- a/hl/c++/src/Makefile.in
+++ b/hl/c++/src/Makefile.in
@@ -460,7 +460,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 157
+LT_VERS_REVISION = 160
LT_VERS_AGE = 0
# Include src directory
diff --git a/hl/examples/CMakeLists.txt b/hl/examples/CMakeLists.txt
index 36c799d..a9c5258 100644
--- a/hl/examples/CMakeLists.txt
+++ b/hl/examples/CMakeLists.txt
@@ -6,7 +6,7 @@ PROJECT (HDF5_HL_EXAMPLES )
#-----------------------------------------------------------------------------
SET (examples
ex_lite1
- ex_lite2
+ ex_lite2 #ex_lite2 PROPERTIES DEPENDS ex_lite1)
ex_lite3
ptExampleFL
ex_image1
diff --git a/hl/examples/CMakeTests.cmake b/hl/examples/CMakeTests.cmake
index e1ccba0..0f9ca11 100644
--- a/hl/examples/CMakeTests.cmake
+++ b/hl/examples/CMakeTests.cmake
@@ -21,8 +21,40 @@ FOREACH (h5_file ${HDF5_TEST_FILES})
)
ENDFOREACH (h5_file ${HDF5_TEST_FILES})
+ # Remove any output file left over from previous test run
+ ADD_TEST (
+ NAME hl_ex-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ ex_lite1.h5
+ ex_lite2.h5
+ ex_lite3.h5
+ packet_table_FLexample.h5
+ ex_image1.h5
+ ex_image2.h5
+ ex_table_01.h5
+ ex_table_02.h5
+ ex_table_03.h5
+ ex_table_04.h5
+ ex_table_05.h5
+ ex_table_06.h5
+ ex_table_07.h5
+ ex_table_08.h5
+ ex_table_09.h5
+ ex_table_10.h5
+ ex_table_11.h5
+ ex_table_12.h5
+ ex_ds1.h5
+ )
+ IF (NOT "${last_test}" STREQUAL "")
+ SET_TESTS_PROPERTIES (hl_ex-clear-objects PROPERTIES DEPENDS ${last_test})
+ ENDIF (NOT "${last_test}" STREQUAL "")
+ SET (last_test "hl_ex-clear-objects")
+
FOREACH (example ${examples})
ADD_TEST (NAME hl_ex_${example} COMMAND $<TARGET_FILE:hl_ex_${example}>)
+ IF (NOT "${last_test}" STREQUAL "")
+ SET_TESTS_PROPERTIES (hl_ex_${example} PROPERTIES DEPENDS ${last_test})
+ ENDIF (NOT "${last_test}" STREQUAL "")
+ SET (last_test "hl_ex_${example}")
ENDFOREACH (example ${examples})
-
-SET_TESTS_PROPERTIES (hl_ex_ex_lite2 PROPERTIES DEPENDS hl_ex_ex_lite1)
diff --git a/hl/fortran/src/H5IMcc.c b/hl/fortran/src/H5IMcc.c
index 22a7a3e..b4ea067 100644
--- a/hl/fortran/src/H5IMcc.c
+++ b/hl/fortran/src/H5IMcc.c
@@ -505,7 +505,7 @@ herr_t H5IM_get_palette(hid_t loc_id,
dim_ref = n_refs;
- refbuf = malloc(sizeof(hobj_ref_t) * (int)dim_ref);
+ refbuf = HDmalloc(sizeof(hobj_ref_t) * (int)dim_ref);
if(H5Aread(attr_id, attr_type, refbuf) < 0)
goto out;
@@ -525,7 +525,7 @@ herr_t H5IM_get_palette(hid_t loc_id,
if(H5Dclose(pal_id) < 0)
goto out;
- free(refbuf);
+ HDfree(refbuf);
} /* H5T_REFERENCE */
diff --git a/hl/fortran/src/H5IMfc.c b/hl/fortran/src/H5IMfc.c
index 818096e..39cb990 100644
--- a/hl/fortran/src/H5IMfc.c
+++ b/hl/fortran/src/H5IMfc.c
@@ -75,7 +75,7 @@ nh5immake_image_8bit_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
@@ -135,7 +135,7 @@ nh5imread_image_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
}
@@ -206,9 +206,9 @@ nh5immake_image_24bit_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_il!=NULL)
- free(c_il);
+ HDfree(c_il);
return ret_value;
}
@@ -265,7 +265,7 @@ nh5imget_image_info_c(hid_t_f *loc_id,
/*
* allocate buffer to hold name of an attribute
*/
- if ((c_buf = malloc((size_t)*ilen +1)) == NULL)
+ if ((c_buf = HDmalloc((size_t)*ilen +1)) == NULL)
goto done;
/*
@@ -292,9 +292,9 @@ nh5imget_image_info_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_buf!=NULL)
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
@@ -344,7 +344,7 @@ nh5imis_image_c(hid_t_f *loc_id,
ret = H5IMis_image(c_loc_id, c_name);
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret;
@@ -467,9 +467,9 @@ nh5imlink_palette_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_namepal!=NULL)
- free(c_namepal);
+ HDfree(c_namepal);
return ret_value;
}
@@ -537,9 +537,9 @@ nh5imunlink_palette_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_namepal!=NULL)
- free(c_namepal);
+ HDfree(c_namepal);
return ret_value;
}
@@ -602,7 +602,7 @@ nh5imget_npalettes_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
}
@@ -672,7 +672,7 @@ nh5imget_palette_info_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
}
@@ -733,7 +733,7 @@ nh5imget_palette_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
}
@@ -783,7 +783,7 @@ nh5imis_palette_c(hid_t_f *loc_id,
ret = H5IMis_palette(c_loc_id, c_name);
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret;
diff --git a/hl/fortran/src/H5LTfc.c b/hl/fortran/src/H5LTfc.c
index 674636d..4f8f7b6 100644
--- a/hl/fortran/src/H5LTfc.c
+++ b/hl/fortran/src/H5LTfc.c
@@ -64,7 +64,7 @@ nh5ltmake_dataset_c (hid_t_f *loc_id,
if (c_name == NULL)
goto done;
- c_dims = malloc(sizeof(hsize_t) * (*rank ));
+ c_dims = HDmalloc(sizeof(hsize_t) * (*rank ));
if (c_dims == NULL)
goto done;
@@ -91,9 +91,9 @@ nh5ltmake_dataset_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_dims!=NULL)
- free(c_dims);
+ HDfree(c_dims);
return ret_value;
}
@@ -616,7 +616,7 @@ nh5ltread_dataset_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
}
@@ -1102,9 +1102,9 @@ nh5ltmake_dataset_string_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_buf!=NULL)
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
@@ -1163,7 +1163,7 @@ nh5ltread_dataset_string_c (hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
}
@@ -1242,9 +1242,9 @@ nh5ltset_attribute_int_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
return ret_value;
}
@@ -1314,9 +1314,9 @@ nh5ltset_attribute_float_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
return ret_value;
}
@@ -1388,9 +1388,9 @@ nh5ltset_attribute_double_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
return ret_value;
}
@@ -1467,11 +1467,11 @@ nh5ltset_attribute_string_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
if(c_buf!=NULL)
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
@@ -1545,9 +1545,9 @@ nh5ltget_attribute_int_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
return ret_value;
@@ -1616,9 +1616,9 @@ nh5ltget_attribute_float_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
return ret_value;
}
@@ -1686,9 +1686,9 @@ nh5ltget_attribute_double_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
return ret_value;
}
@@ -1762,11 +1762,11 @@ nh5ltget_attribute_string_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
if(c_buf!=NULL)
- free(c_buf);
+ HDfree(c_buf);
return ret_value;
}
@@ -1828,7 +1828,7 @@ nh5ltget_dataset_ndims_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
}
@@ -1878,7 +1878,7 @@ nh5ltfind_dataset_c(hid_t_f *loc_id,
ret = H5LTfind_dataset(c_loc_id, c_name);
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret;
@@ -1960,7 +1960,7 @@ nh5ltget_dataset_info_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
return ret_value;
}
@@ -2030,9 +2030,9 @@ nh5ltget_attribute_ndims_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
return ret_value;
}
@@ -2123,9 +2123,9 @@ nh5ltget_attribute_info_c(hid_t_f *loc_id,
done:
if(c_name!=NULL)
- free(c_name);
+ HDfree(c_name);
if(c_attrname!=NULL)
- free(c_attrname);
+ HDfree(c_attrname);
return ret_value;
@@ -2177,7 +2177,7 @@ nh5ltpath_valid_c(hid_t_f *loc_id,
done:
if(c_path != NULL)
- free(c_path);
+ HDfree(c_path);
return (int_f)ret;
}
diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in
index 89ed0ff..e1a3206 100644
--- a/hl/fortran/src/Makefile.in
+++ b/hl/fortran/src/Makefile.in
@@ -476,7 +476,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 157
+LT_VERS_REVISION = 160
LT_VERS_AGE = 0
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_builddir)/hl/src \
-I$(top_srcdir)/fortran/src -I$(top_builddir)/fortran/src
diff --git a/hl/fortran/test/CMakeTests.cmake b/hl/fortran/test/CMakeTests.cmake
index 96209aa..81253bd 100644
--- a/hl/fortran/test/CMakeTests.cmake
+++ b/hl/fortran/test/CMakeTests.cmake
@@ -15,8 +15,9 @@ ADD_TEST (
dsetf3.h5
dsetf4.h5
dsetf5.h5
- f1image.h5
+ f1img.h5
f1tab.h5
+ tstds.h5
)
ADD_TEST (NAME hl_f90_tstds COMMAND $<TARGET_FILE:hl_f90_tstds>)
diff --git a/hl/fortran/test/Makefile.am b/hl/fortran/test/Makefile.am
index cd281b7..fa3a803 100644
--- a/hl/fortran/test/Makefile.am
+++ b/hl/fortran/test/Makefile.am
@@ -45,7 +45,7 @@ tstimage_SOURCES=tstimage.f90
tsttable_SOURCES=tsttable.f90
# Temporary files.
-CHECK_CLEANFILES+=dsetf[1-4].h5 f1img.h5 f1tab.h5 tstds.h5
+CHECK_CLEANFILES+=dsetf[1-5].h5 f1img.h5 f1tab.h5 tstds.h5
# Mark this directory as part of the Fortran API (this affects output
# from tests in conclude.am)
diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in
index 5d576d0..024cb0f 100644
--- a/hl/fortran/test/Makefile.in
+++ b/hl/fortran/test/Makefile.in
@@ -436,7 +436,7 @@ TRACE = perl $(top_srcdir)/bin/trace
# *.clog are from the MPE option.
# Temporary files.
-CHECK_CLEANFILES = *.chkexe *.chklog *.clog dsetf[1-4].h5 f1img.h5 \
+CHECK_CLEANFILES = *.chkexe *.chklog *.clog dsetf[1-5].h5 f1img.h5 \
f1tab.h5 tstds.h5
# Our main target, the test programs
diff --git a/hl/src/H5DS.c b/hl/src/H5DS.c
index 5f8cd50..06ce078 100644
--- a/hl/src/H5DS.c
+++ b/hl/src/H5DS.c
@@ -254,7 +254,7 @@ herr_t H5DSattach_scale(hid_t did,
goto out;
/* allocate and initialize the VL */
- buf = (hvl_t *)malloc((size_t)rank * sizeof(hvl_t));
+ buf = (hvl_t *)HDmalloc((size_t)rank * sizeof(hvl_t));
if(buf == NULL)
goto out;
@@ -265,7 +265,7 @@ herr_t H5DSattach_scale(hid_t did,
/* store the REF information in the index of the dataset that has the DS */
buf[idx].len = 1;
- buf[idx].p = malloc( 1 * sizeof(hobj_ref_t));
+ buf[idx].p = HDmalloc( 1 * sizeof(hobj_ref_t));
((hobj_ref_t *)buf[idx].p)[0] = ref_to_ds;
/* write the attribute with the reference */
@@ -282,7 +282,7 @@ herr_t H5DSattach_scale(hid_t did,
if(H5Aclose(aid) < 0)
goto out;
- free(buf);
+ HDfree(buf);
buf = NULL;
}
@@ -303,7 +303,7 @@ herr_t H5DSattach_scale(hid_t did,
goto out;
/* allocate and initialize the VL */
- buf = (hvl_t *)malloc((size_t)rank * sizeof(hvl_t));
+ buf = (hvl_t *)HDmalloc((size_t)rank * sizeof(hvl_t));
if(buf == NULL)
goto out;
@@ -343,13 +343,13 @@ herr_t H5DSattach_scale(hid_t did,
if(buf[idx].len > 0) {
buf[idx].len++;
len = buf[idx].len;
- buf[idx].p = realloc(buf[idx].p, len * sizeof(hobj_ref_t));
+ buf[idx].p = HDrealloc(buf[idx].p, len * sizeof(hobj_ref_t));
((hobj_ref_t *)buf[idx].p)[len - 1] = ref_to_ds;
} /* end if */
else {
/* store the REF information in the index of the dataset that has the DS */
buf[idx].len = 1;
- buf[idx].p = malloc(sizeof(hobj_ref_t));
+ buf[idx].p = HDmalloc(sizeof(hobj_ref_t));
((hobj_ref_t *)buf[idx].p)[0] = ref_to_ds;
} /* end else */
} /* end if */
@@ -367,7 +367,7 @@ herr_t H5DSattach_scale(hid_t did,
goto out;
if(H5Aclose(aid) < 0)
goto out;
- free(buf);
+ HDfree(buf);
buf = NULL;
} /* has_dimlist */
@@ -447,7 +447,7 @@ herr_t H5DSattach_scale(hid_t did,
nelmts++;
- dsbuf = (ds_list_t*) malloc((size_t)nelmts * sizeof(ds_list_t));
+ dsbuf = (ds_list_t*) HDmalloc((size_t)nelmts * sizeof(ds_list_t));
if(dsbuf == NULL)
goto out;
@@ -497,7 +497,7 @@ herr_t H5DSattach_scale(hid_t did,
if (H5Tclose(ntid) < 0)
goto out;
- free(dsbuf);
+ HDfree(dsbuf);
dsbuf = NULL;
} /* has_reflist */
@@ -519,9 +519,9 @@ herr_t H5DSattach_scale(hid_t did,
/* error zone */
out:
if(buf)
- free(buf);
+ HDfree(buf);
if(dsbuf)
- free(dsbuf);
+ HDfree(dsbuf);
H5E_BEGIN_TRY {
H5Sclose(sid);
@@ -673,7 +673,7 @@ herr_t H5DSdetach_scale(hid_t did,
goto out;
/* allocate and initialize the VL */
- buf = (hvl_t *)malloc((size_t)rank * sizeof(hvl_t));
+ buf = (hvl_t *)HDmalloc((size_t)rank * sizeof(hvl_t));
if(buf == NULL)
goto out;
@@ -718,7 +718,7 @@ herr_t H5DSdetach_scale(hid_t did,
((hobj_ref_t *)buf[idx].p)[j] = ((hobj_ref_t *)buf[idx].p)[len-1];
len = --buf[idx].len;
if(len == 0) {
- free(buf[idx].p);
+ HDfree(buf[idx].p);
buf[idx].p = NULL;
}
/* Since a reference to a dim. scale can be inserted only once,
@@ -760,7 +760,7 @@ herr_t H5DSdetach_scale(hid_t did,
if(H5Aclose(aid) < 0)
goto out;
- free(buf);
+ HDfree(buf);
buf = NULL;
@@ -786,7 +786,7 @@ herr_t H5DSdetach_scale(hid_t did,
if((nelmts = H5Sget_simple_extent_npoints(sid)) < 0)
goto out;
- dsbuf = (ds_list_t*) malloc((size_t)nelmts * sizeof(ds_list_t));
+ dsbuf = (ds_list_t*) HDmalloc((size_t)nelmts * sizeof(ds_list_t));
if(dsbuf == NULL)
goto out;
@@ -876,7 +876,7 @@ herr_t H5DSdetach_scale(hid_t did,
if (H5Tclose(ntid) < 0)
goto out;
- free(dsbuf);
+ HDfree(dsbuf);
dsbuf = NULL;
return SUCCEED;
@@ -890,7 +890,7 @@ out:
H5Tclose(tid);
if(dsbuf) {
- free(dsbuf);
+ HDfree(dsbuf);
dsbuf = NULL;
}
if(buf) {
@@ -898,9 +898,9 @@ out:
free the pointers allocated when we read data in */
for(i = 0; i < rank; i++) {
if(buf[i].p)
- free(buf[i].p);
+ HDfree(buf[i].p);
}
- free(buf);
+ HDfree(buf);
buf = NULL;
}
} H5E_END_TRY;
@@ -1033,7 +1033,7 @@ htri_t H5DSis_attached(hid_t did,
goto out;
/* allocate and initialize the VL */
- buf = (hvl_t*)malloc((size_t)rank * sizeof(hvl_t));
+ buf = (hvl_t*)HDmalloc((size_t)rank * sizeof(hvl_t));
if(buf == NULL)
goto out;
@@ -1079,7 +1079,7 @@ htri_t H5DSis_attached(hid_t did,
goto out;
if (H5Aclose(aid) < 0)
goto out;
- free(buf);
+ HDfree(buf);
buf = NULL;
} /* has_dimlist */
@@ -1116,7 +1116,7 @@ htri_t H5DSis_attached(hid_t did,
if((nelmts = H5Sget_simple_extent_npoints(sid)) < 0)
goto out;
- dsbuf = (ds_list_t*) malloc((size_t)nelmts * sizeof(ds_list_t));
+ dsbuf = (ds_list_t*) HDmalloc((size_t)nelmts * sizeof(ds_list_t));
if (dsbuf == NULL)
goto out;
@@ -1170,7 +1170,7 @@ htri_t H5DSis_attached(hid_t did,
if (H5Aclose(aid) < 0)
goto out;
- free(dsbuf);
+ HDfree(dsbuf);
dsbuf = NULL;
} /* has_reflist */
@@ -1189,11 +1189,11 @@ out:
} H5E_END_TRY;
if (buf) {
- free(buf);
+ HDfree(buf);
buf = NULL;
}
if(dsbuf) {
- free(dsbuf);
+ HDfree(dsbuf);
dsbuf = NULL;
}
return FAIL;
@@ -1317,7 +1317,7 @@ herr_t H5DSiterate_scales(hid_t did,
goto out;
/* allocate and initialize the VL */
- buf = (hvl_t*)malloc((size_t)rank * sizeof(hvl_t));
+ buf = (hvl_t*)HDmalloc((size_t)rank * sizeof(hvl_t));
if(buf == NULL)
goto out;
@@ -1380,7 +1380,7 @@ herr_t H5DSiterate_scales(hid_t did,
if (H5Aclose(aid) < 0)
goto out;
- free(buf);
+ HDfree(buf);
buf = NULL;
} /* if has_dimlist */
@@ -1390,7 +1390,7 @@ out:
H5E_BEGIN_TRY {
if(buf) {
H5Dvlen_reclaim(tid,sid,H5P_DEFAULT,buf);
- free(buf);
+ HDfree(buf);
}
H5Sclose(sid);
H5Aclose(aid);
@@ -1489,7 +1489,7 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
goto out;
/* allocate and initialize */
- buf = (const char **) malloc((size_t) rank * sizeof(char *));
+ buf = (const char **) HDmalloc((size_t) rank * sizeof(char *));
if (buf == NULL)
goto out;
@@ -1513,7 +1513,7 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
goto out;
if (buf)
{
- free(buf);
+ HDfree(buf);
buf = NULL;
}
}
@@ -1532,7 +1532,7 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
goto out;
/* allocate and initialize */
- buf = (const char **) malloc((size_t) rank * sizeof(char *));
+ buf = (const char **) HDmalloc((size_t) rank * sizeof(char *));
if (buf == NULL)
goto out;
@@ -1543,7 +1543,7 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
/* free the ptr that will be replaced by label */
if (buf[idx])
- free((void *)buf[idx]);
+ HDfree((void *)buf[idx]);
/* store the label information in the required index */
buf[idx] = label;
@@ -1559,7 +1559,7 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
for (i = 0; i < (unsigned int) rank; i++)
{
if (buf[i])
- free((void *)buf[i]);
+ HDfree((void *)buf[i]);
}
/* close */
@@ -1569,7 +1569,7 @@ herr_t H5DSset_label(hid_t did, unsigned int idx, const char *label)
goto out;
if (buf)
{
- free(buf);
+ HDfree(buf);
buf = NULL;
}
}
@@ -1586,9 +1586,9 @@ out:
for (i = 0; i < (unsigned int) rank; i++)
{
if (buf[i])
- free((void *)buf[i]);
+ HDfree((void *)buf[i]);
}
- free(buf);
+ HDfree(buf);
}
H5E_BEGIN_TRY
{
@@ -1692,7 +1692,7 @@ ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size)
goto out;
/* allocate and initialize */
- buf = (char **) malloc((size_t) rank * sizeof(char *));
+ buf = (char **) HDmalloc((size_t) rank * sizeof(char *));
if (buf == NULL)
goto out;
@@ -1724,7 +1724,7 @@ ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size)
for (i = 0; i < rank; i++)
{
if (buf[i])
- free(buf[i]);
+ HDfree(buf[i]);
}
/* close */
@@ -1734,7 +1734,7 @@ ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size)
goto out;
if (buf)
{
- free(buf);
+ HDfree(buf);
buf = NULL;
}
@@ -1748,9 +1748,9 @@ out:
for (i = 0; i < rank; i++)
{
if (buf[i])
- free(buf[i]);
+ HDfree(buf[i]);
}
- free(buf);
+ HDfree(buf);
}
H5E_BEGIN_TRY
{
@@ -1845,7 +1845,7 @@ ssize_t H5DSget_scale_name(hid_t did,
goto out;
/* allocate a temporary buffer */
- buf = (char*)malloc(nbytes * sizeof(char));
+ buf = (char*)HDmalloc(nbytes * sizeof(char));
if (buf == NULL)
goto out;
@@ -1872,7 +1872,7 @@ ssize_t H5DSget_scale_name(hid_t did,
if (H5Sclose(sid) < 0)
goto out;
if (buf)
- free(buf);
+ HDfree(buf);
return (ssize_t)(nbytes - 1);
@@ -1884,7 +1884,7 @@ out:
H5Sclose(sid);
} H5E_END_TRY;
if (buf)
- free(buf);
+ HDfree(buf);
return FAIL;
}
@@ -2052,7 +2052,7 @@ int H5DSget_num_scales(hid_t did,
goto out;
/* allocate and initialize the VL */
- buf = (hvl_t *)malloc((size_t)rank * sizeof(hvl_t));
+ buf = (hvl_t *)HDmalloc((size_t)rank * sizeof(hvl_t));
if(buf == NULL)
goto out;
@@ -2071,7 +2071,7 @@ int H5DSget_num_scales(hid_t did,
goto out;
if(H5Aclose(aid) < 0)
goto out;
- free(buf);
+ HDfree(buf);
buf = NULL;
} /* has_dimlist */
@@ -2086,7 +2086,7 @@ out:
} H5E_END_TRY;
if(buf)
- free(buf);
+ HDfree(buf);
return FAIL;
}
diff --git a/hl/src/H5HLprivate2.h b/hl/src/H5HLprivate2.h
index e2597db..1b67c70 100644
--- a/hl/src/H5HLprivate2.h
+++ b/hl/src/H5HLprivate2.h
@@ -22,44 +22,8 @@
/* Public High-Level header */
#include "hdf5_hl.h"
-/* The following is copied from src/H5private.h */
-
-/*
- * Status return values for the `herr_t' type.
- * Since some unix/c routines use 0 and -1 (or more precisely, non-negative
- * vs. negative) as their return code, and some assumption had been made in
- * the code about that, it is important to keep these constants the same
- * values. When checking the success or failure of an integer-valued
- * function, remember to compare against zero and not one of these two
- * values.
- */
-#define SUCCEED 0
-#define FAIL (-1)
-#define UFAIL (unsigned)(-1)
-
-/* minimum of two, three, or four values */
-#undef MIN
-#define MIN(a,b) (((a)<(b)) ? (a) : (b))
-#define MIN2(a,b) MIN(a,b)
-#define MIN3(a,b,c) MIN(a,MIN(b,c))
-#define MIN4(a,b,c,d) MIN(MIN(a,b),MIN(c,d))
-
-/* maximum of two, three, or four values */
-#undef MAX
-#define MAX(a,b) (((a)>(b)) ? (a) : (b))
-#define MAX2(a,b) MAX(a,b)
-#define MAX3(a,b,c) MAX(a,MAX(b,c))
-#define MAX4(a,b,c,d) MAX(MAX(a,b),MAX(c,d))
-
-/*
- * HDF Boolean type.
- */
-#ifndef FALSE
-# define FALSE 0
-#endif
-#ifndef TRUE
-# define TRUE 1
-#endif
+/* HDF5 private functions */
+#include "H5private.h"
#endif /* _H5HLprivate2_H */
diff --git a/hl/src/H5IM.c b/hl/src/H5IM.c
index e55aaf8..9c7c7e8 100644
--- a/hl/src/H5IM.c
+++ b/hl/src/H5IM.c
@@ -594,7 +594,7 @@ herr_t H5IMlink_palette( hid_t loc_id,
dim_ref = n_refs + 1;
- refbuf = (hobj_ref_t*)malloc( sizeof(hobj_ref_t) * (int)dim_ref );
+ refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (int)dim_ref );
if ( H5Aread( aid, atid, refbuf ) < 0)
goto out;
@@ -635,7 +635,7 @@ herr_t H5IMlink_palette( hid_t loc_id,
if(H5Aclose(aid) < 0)
goto out;
- free( refbuf );
+ HDfree( refbuf );
} /* ok_pal == 1 */
@@ -901,7 +901,7 @@ herr_t H5IMget_palette_info( hid_t loc_id,
dim_ref = n_refs;
- refbuf = (hobj_ref_t*)malloc( sizeof(hobj_ref_t) * (int)dim_ref );
+ refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (int)dim_ref );
if ( H5Aread( aid, atid, refbuf ) < 0)
goto out;
@@ -930,7 +930,7 @@ herr_t H5IMget_palette_info( hid_t loc_id,
goto out;
if ( H5Aclose( aid ) < 0)
goto out;
- free( refbuf );
+ HDfree( refbuf );
}
@@ -1012,7 +1012,7 @@ herr_t H5IMget_palette( hid_t loc_id,
dim_ref = n_refs;
- refbuf = (hobj_ref_t*)malloc( sizeof(hobj_ref_t) * (int)dim_ref );
+ refbuf = (hobj_ref_t*)HDmalloc( sizeof(hobj_ref_t) * (int)dim_ref );
if ( H5Aread( aid, atid, refbuf ) < 0)
goto out;
@@ -1034,7 +1034,7 @@ herr_t H5IMget_palette( hid_t loc_id,
goto out;
if ( H5Aclose( aid ) < 0)
goto out;
- free( refbuf );
+ HDfree( refbuf );
}
/* Close the image dataset. */
diff --git a/hl/src/H5LT.c b/hl/src/H5LT.c
index 98f2ff2..d175099 100644
--- a/hl/src/H5LT.c
+++ b/hl/src/H5LT.c
@@ -13,13 +13,12 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#include <string.h>
-#include <stdlib.h>
#include <assert.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include "H5LTprivate.h"
-#include "H5private.h"
/* For Lex and Yacc */
#define COL 3
diff --git a/hl/src/H5PT.c b/hl/src/H5PT.c
index 92b041a..d3a03cd 100644
--- a/hl/src/H5PT.c
+++ b/hl/src/H5PT.c
@@ -13,9 +13,10 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+#include <stdlib.h>
+
#include "H5PTprivate.h"
#include "H5TBprivate.h"
-#include <stdlib.h>
/* Packet Table private data */
@@ -33,6 +34,7 @@ static H5I_type_t H5PT_ptable_id_type = H5I_UNINIT;
#define H5PT_HASH_TABLE_SIZE 64
/* Packet Table private functions */
+static herr_t H5PT_free_id(void *id);
static herr_t H5PT_close( htbl_t* table );
static herr_t H5PT_create_index(htbl_t *table_id);
static herr_t H5PT_set_index(htbl_t *table_id, hsize_t pt_index);
@@ -84,11 +86,11 @@ hid_t H5PTcreate_fl ( hid_t loc_id,
/* Register the packet table ID type if this is the first table created */
if(H5PT_ptable_id_type < 0)
- if((H5PT_ptable_id_type = H5Iregister_type((size_t)H5PT_HASH_TABLE_SIZE, 0, (H5I_free_t)free)) < 0)
+ if((H5PT_ptable_id_type = H5Iregister_type((size_t)H5PT_HASH_TABLE_SIZE, 0, (H5I_free_t)H5PT_free_id)) < 0)
goto out;
/* Get memory for the table identifier */
- table = (htbl_t *)malloc(sizeof(htbl_t));
+ table = (htbl_t *)HDmalloc(sizeof(htbl_t));
/* Create a simple data space with unlimited size */
dims[0] = 0;
@@ -142,7 +144,7 @@ hid_t H5PTcreate_fl ( hid_t loc_id,
H5Pclose(plist_id);
H5Dclose(dset_id);
if(table)
- free(table);
+ HDfree(table);
H5E_END_TRY
return H5I_INVALID_HID;
}
@@ -232,10 +234,10 @@ hid_t H5PTopen( hid_t loc_id,
/* Register the packet table ID type if this is the first table created */
if( H5PT_ptable_id_type < 0)
- if((H5PT_ptable_id_type = H5Iregister_type((size_t)H5PT_HASH_TABLE_SIZE, 0, (H5I_free_t)free)) < 0)
+ if((H5PT_ptable_id_type = H5Iregister_type((size_t)H5PT_HASH_TABLE_SIZE, 0, (H5I_free_t)H5PT_free_id)) < 0)
goto out;
- table = (htbl_t *)malloc(sizeof(htbl_t));
+ table = (htbl_t *)HDmalloc(sizeof(htbl_t));
if ( table == NULL ) {
goto out;
@@ -291,12 +293,26 @@ out:
{
H5Dclose(table->dset_id);
H5Tclose(table->type_id);
- free(table);
+ HDfree(table);
}
H5E_END_TRY
return H5I_INVALID_HID;
}
+/*-------------------------------------------------------------------------
+ * Function: H5PT_free_id
+ *
+ * Purpose: Free an id. Callback for H5Iregister_type.
+ *
+ * Return: Success: 0, Failure: N/A
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5PT_free_id(void *id)
+{
+ HDfree(id);
+ return 0;
+}
/*-------------------------------------------------------------------------
* Function: H5PT_close
@@ -331,7 +347,7 @@ H5PT_close( htbl_t* table)
if(H5Tclose(table->type_id) < 0)
goto out;
- free(table);
+ HDfree(table);
return 0;
@@ -342,7 +358,7 @@ out:
H5Dclose(table->dset_id);
H5Tclose(table->type_id);
H5E_END_TRY
- free(table);
+ HDfree(table);
}
return -1;
}
diff --git a/hl/src/H5TB.c b/hl/src/H5TB.c
index 0b6305b..1547e00 100644
--- a/hl/src/H5TB.c
+++ b/hl/src/H5TB.c
@@ -15,7 +15,7 @@
#include <stdlib.h>
#include <string.h>
-#include "H5private.h"
+
#include "H5LTprivate.h"
#include "H5TBprivate.h"
@@ -196,7 +196,7 @@ herr_t H5TBmake_table( const char *table_title,
if (H5LTset_attribute_string( loc_id, dset_name, attr_name, member_name ) < 0)
goto out;
- free( member_name );
+ HDfree( member_name );
}
@@ -234,7 +234,7 @@ herr_t H5TBmake_table( const char *table_title,
if (H5Aclose(attr_id) < 0)
goto out;
- free(member_name);
+ HDfree(member_name);
}
/* terminate access to the data space. */
@@ -570,7 +570,7 @@ herr_t H5TBwrite_fields_name( hid_t loc_id,
goto out;
}
- free( member_name );
+ HDfree( member_name );
}
@@ -734,7 +734,7 @@ herr_t H5TBwrite_fields_index( hid_t loc_id,
if(H5Tclose( nmtype_id ) < 0)
goto out;
- free( member_name );
+ HDfree( member_name );
}
@@ -1059,7 +1059,7 @@ herr_t H5TBread_fields_name( hid_t loc_id,
goto out;
j++;
}
- free( member_name );
+ HDfree( member_name );
}
/* get the dataspace handle */
@@ -1221,7 +1221,7 @@ herr_t H5TBread_fields_index( hid_t loc_id,
if (H5Tclose( nmtype_id ) < 0)
goto out;
- free( member_name );
+ HDfree( member_name );
}
/* get the dataspace handle */
@@ -1328,9 +1328,9 @@ herr_t H5TBdelete_record( hid_t loc_id,
if (H5TBget_table_info ( loc_id, dset_name, &nfields, &ntotal_records ) < 0)
goto out;
- if(NULL == (src_offset = (size_t *)malloc((size_t)nfields * sizeof(size_t))))
+ if(NULL == (src_offset = (size_t *)HDmalloc((size_t)nfields * sizeof(size_t))))
goto out;
- if(NULL == (src_sizes = (size_t *)malloc((size_t)nfields * sizeof(size_t))))
+ if(NULL == (src_sizes = (size_t *)HDmalloc((size_t)nfields * sizeof(size_t))))
goto out;
/* get field info */
@@ -1351,7 +1351,7 @@ herr_t H5TBdelete_record( hid_t loc_id,
if ( read_nrecords )
{
- if(NULL == (tmp_buf = (unsigned char *)calloc((size_t) read_nrecords, src_size )))
+ if(NULL == (tmp_buf = (unsigned char *)HDcalloc((size_t) read_nrecords, src_size )))
goto out;
/* read the records after the deleted one(s) */
@@ -1415,22 +1415,22 @@ herr_t H5TBdelete_record( hid_t loc_id,
goto out;
if(tmp_buf)
- free(tmp_buf);
+ HDfree(tmp_buf);
if(src_offset)
- free(src_offset);
+ HDfree(src_offset);
if(src_sizes)
- free(src_sizes);
+ HDfree(src_sizes);
return 0;
/* error zone */
out:
if(tmp_buf)
- free(tmp_buf);
+ HDfree(tmp_buf);
if(src_offset)
- free(src_offset);
+ HDfree(src_offset);
if(src_sizes)
- free(src_sizes);
+ HDfree(src_sizes);
H5E_BEGIN_TRY
{
H5Tclose(mem_type_id);
@@ -1509,7 +1509,7 @@ herr_t H5TBinsert_record( hid_t loc_id,
goto out;
read_nrecords = ntotal_records - start;
- tmp_buf = (unsigned char *)calloc((size_t) read_nrecords, type_size);
+ tmp_buf = (unsigned char *)HDcalloc((size_t) read_nrecords, type_size);
/* read the records after the inserted one(s) */
if (H5TBread_records( loc_id, dset_name, start, read_nrecords, type_size, field_offset, field_sizes, tmp_buf ) < 0)
@@ -1585,7 +1585,7 @@ herr_t H5TBinsert_record( hid_t loc_id,
if (H5Dclose( did ) < 0)
return -1;
- free( tmp_buf );
+ HDfree( tmp_buf );
return 0;
@@ -1652,9 +1652,9 @@ herr_t H5TBadd_records_from( hid_t loc_id,
if (H5TBget_table_info ( loc_id, dset_name1, &nfields, &ntotal_records ) < 0)
goto out;
- if(NULL == (src_offset = (size_t *)malloc((size_t)nfields * sizeof(size_t))))
+ if(NULL == (src_offset = (size_t *)HDmalloc((size_t)nfields * sizeof(size_t))))
goto out;
- if(NULL == (src_sizes = (size_t *)malloc((size_t)nfields * sizeof(size_t))))
+ if(NULL == (src_sizes = (size_t *)HDmalloc((size_t)nfields * sizeof(size_t))))
goto out;
/* get field info */
@@ -1682,7 +1682,7 @@ herr_t H5TBadd_records_from( hid_t loc_id,
if (( type_size1 = H5Tget_size( tid_1 )) == 0 )
goto out;
- if(NULL == (tmp_buf = (unsigned char *)calloc((size_t)nrecords, type_size1 )))
+ if(NULL == (tmp_buf = (unsigned char *)HDcalloc((size_t)nrecords, type_size1 )))
goto out;
/* define a hyperslab in the dataset of the size of the records */
@@ -1721,22 +1721,22 @@ herr_t H5TBadd_records_from( hid_t loc_id,
goto out;
if(tmp_buf)
- free(tmp_buf);
+ HDfree(tmp_buf);
if(src_offset)
- free(src_offset);
+ HDfree(src_offset);
if(src_sizes)
- free(src_sizes);
+ HDfree(src_sizes);
return 0;
/* error zone */
out:
if(tmp_buf)
- free(tmp_buf);
+ HDfree(tmp_buf);
if(src_offset)
- free(src_offset);
+ HDfree(src_offset);
if(src_sizes)
- free(src_sizes);
+ HDfree(src_sizes);
H5E_BEGIN_TRY
{
H5Dclose(did_1);
@@ -1998,7 +1998,7 @@ herr_t H5TBcombine_tables(hid_t loc_id1,
did_1 = H5I_BADID;
/* Release resources. */
- free(tmp_buf);
+ HDfree(tmp_buf);
tmp_buf = NULL;
/*-------------------------------------------------------------------------
@@ -2100,13 +2100,13 @@ herr_t H5TBcombine_tables(hid_t loc_id1,
out:
if(tmp_buf)
- free(tmp_buf);
+ HDfree(tmp_buf);
if(tmp_fill_buf)
- free(tmp_fill_buf);
+ HDfree(tmp_fill_buf);
if(src_offset)
- free(src_offset);
+ HDfree(src_offset);
if(src_sizes)
- free(src_sizes);
+ HDfree(src_sizes);
H5E_BEGIN_TRY {
if(member_type_id > 0)
@@ -2254,7 +2254,7 @@ herr_t H5TBinsert_field( hid_t loc_id,
goto out;
/* alloc fill value attribute buffer */
- tmp_fill_buf = (unsigned char *)malloc(total_size );
+ tmp_fill_buf = (unsigned char *)HDmalloc(total_size );
/* get the fill value attributes */
if ((H5TBAget_fill( loc_id, dset_name, did_1, tmp_fill_buf )) < 0)
@@ -2314,7 +2314,7 @@ herr_t H5TBinsert_field( hid_t loc_id,
curr_offset += member_size;
- free( member_name );
+ HDfree( member_name );
/* close the member type */
if(H5Tclose( member_type_id ) < 0)
@@ -2349,7 +2349,7 @@ herr_t H5TBinsert_field( hid_t loc_id,
*-------------------------------------------------------------------------
*/
- tmp_buf = (unsigned char *)calloc((size_t)nrecords, (size_t)total_size);
+ tmp_buf = (unsigned char *)HDcalloc((size_t)nrecords, (size_t)total_size);
/* define a hyperslab in the dataset of the size of the records */
offset[0] = 0;
@@ -2557,8 +2557,8 @@ herr_t H5TBinsert_field( hid_t loc_id,
goto out;
/* release resources. */
- free ( tmp_buf );
- free ( tmp_fill_buf );
+ HDfree ( tmp_buf );
+ HDfree ( tmp_fill_buf );
return 0;
@@ -2694,13 +2694,13 @@ herr_t H5TBdelete_field( hid_t loc_id,
if (H5Tclose( member_type_id ) < 0)
goto out;
- free( member_name );
+ HDfree( member_name );
break;
}
- free( member_name );
+ HDfree( member_name );
} /* i */
@@ -2722,7 +2722,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
curr_offset = 0;
/* alloc fill value attribute buffer */
- tmp_fill_buf = (unsigned char *)malloc((size_t) type_size2 );
+ tmp_fill_buf = (unsigned char *)HDmalloc((size_t) type_size2 );
/*-------------------------------------------------------------------------
* get attributes from previous table in the process
@@ -2742,7 +2742,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
/* we want to skip the field to delete */
if (H5TB_find_field( member_name, field_name ) > 0 )
{
- free( member_name );
+ HDfree( member_name );
continue;
}
@@ -2780,7 +2780,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
curr_offset += member_size;
- free(member_name);
+ HDfree(member_name);
/* close the member type */
if (H5Tclose(member_type_id) < 0)
@@ -2821,7 +2821,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
/* skip the field to delete */
if (H5TB_find_field(member_name, field_name) > 0)
{
- free(member_name);
+ HDfree(member_name);
continue;
}
@@ -2840,7 +2840,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
if (H5Tinsert( read_type_id, member_name, (size_t)0, member_type_id ) < 0)
goto out;
- tmp_buf = (unsigned char *)calloc((size_t) nrecords, member_size );
+ tmp_buf = (unsigned char *)HDcalloc((size_t) nrecords, member_size );
/* read */
if (H5Dread( did_1, read_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, tmp_buf ) < 0)
@@ -2881,8 +2881,8 @@ herr_t H5TBdelete_field( hid_t loc_id,
goto out;
/* release resources. */
- free( member_name );
- free ( tmp_buf );
+ HDfree( member_name );
+ HDfree ( tmp_buf );
} /* i */
@@ -3007,7 +3007,7 @@ herr_t H5TBdelete_field( hid_t loc_id,
goto out;
/* Release resources. */
- free ( tmp_fill_buf );
+ HDfree ( tmp_fill_buf );
return 0;
@@ -3101,7 +3101,7 @@ htri_t H5TBAget_fill(hid_t loc_id,
if (H5TBget_table_info ( loc_id, dset_name, &nfields, &nrecords ) < 0)
return -1;
- src_offset = (size_t *)malloc((size_t)nfields * sizeof(size_t));
+ src_offset = (size_t *)HDmalloc((size_t)nfields * sizeof(size_t));
if (src_offset == NULL )
return -1;
@@ -3130,12 +3130,12 @@ htri_t H5TBAget_fill(hid_t loc_id,
}
- free( src_offset );
+ HDfree( src_offset );
return has_fill;
out:
- free( src_offset );
+ HDfree( src_offset );
return -1;
}
@@ -3306,7 +3306,7 @@ herr_t H5TBget_field_info( hid_t loc_id,
member_name = H5Tget_member_name(tid, (unsigned)i);
strcpy(field_names[i], member_name);
- free(member_name);
+ HDfree(member_name);
} /* end if */
/* get the member type */
@@ -3459,7 +3459,7 @@ herr_t H5TB_attach_attributes( const char *table_title,
if (H5LTset_attribute_string( loc_id, dset_name, attr_name, member_name ) < 0)
goto out;
- free( member_name );
+ HDfree( member_name );
}
@@ -3508,14 +3508,14 @@ hid_t H5TB_create_type(hid_t loc_id,
if (H5TBget_table_info(loc_id,dset_name,&nfields,NULL) < 0)
return -1;
- if ((fnames = (char**) malloc(sizeof(char*)*(size_t)nfields))==NULL)
+ if ((fnames = (char**) HDmalloc(sizeof(char*)*(size_t)nfields))==NULL)
return -1;
for ( i = 0; i < nfields; i++)
{
- if ((fnames[i] = (char*) malloc(sizeof(char)*HLTB_MAX_FIELD_LEN))==NULL)
+ if ((fnames[i] = (char*) HDmalloc(sizeof(char)*HLTB_MAX_FIELD_LEN))==NULL)
{
- free(fnames);
+ HDfree(fnames);
return -1;
}
}
@@ -3551,9 +3551,9 @@ hid_t H5TB_create_type(hid_t loc_id,
for ( i=0; i<nfields; i++)
{
- free (fnames[i]);
+ HDfree (fnames[i]);
}
- free (fnames);
+ HDfree (fnames);
return mem_type_id;
@@ -3567,10 +3567,10 @@ out:
for ( i=0; i<nfields; i++)
{
if (fnames[i])
- free (fnames[i]);
+ HDfree (fnames[i]);
}
if (fnames)
- free (fnames);
+ HDfree (fnames);
return -1;
}
diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in
index 1f15188..409f01c 100644
--- a/hl/src/Makefile.in
+++ b/hl/src/Makefile.in
@@ -459,7 +459,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 157
+LT_VERS_REVISION = 160
LT_VERS_AGE = 0
# This library is our main target.
diff --git a/hl/src/hdf5_hl.h b/hl/src/hdf5_hl.h
index 4643932..e9e3bf1 100644
--- a/hl/src/hdf5_hl.h
+++ b/hl/src/hdf5_hl.h
@@ -27,7 +27,7 @@
#include "H5LTpublic.h" /* lite */
#include "H5IMpublic.h" /* image */
#include "H5TBpublic.h" /* table */
-#include "H5PTpublic.h" /* table */
+#include "H5PTpublic.h" /* packet table */
#endif /*H5_INCLUDE_HL*/
diff --git a/hl/test/CMakeTests.cmake b/hl/test/CMakeTests.cmake
index aa9c1c3..5d42b57 100644
--- a/hl/test/CMakeTests.cmake
+++ b/hl/test/CMakeTests.cmake
@@ -47,12 +47,15 @@ ADD_TEST (
test_ds7.h5
test_ds8.h5
test_ds9.h5
+ test_ds10.h5
test_dectris.h5
test_image1.h5
test_image2.h5
test_image3.h5
test_lite1.h5
test_lite2.h5
+ test_lite3.h5
+ test_lite4.h5
test_packet_compress.h5
test_packet_table.h5
test_table.h5
diff --git a/hl/test/gen_test_ds.c b/hl/test/gen_test_ds.c
index a60a560..2fc8140 100644
--- a/hl/test/gen_test_ds.c
+++ b/hl/test/gen_test_ds.c
@@ -255,13 +255,13 @@ herr_t test_cmp_scalename(hid_t fid, hid_t did, const char *name, const char *sc
if((dsid = H5Dopen2(fid, name, H5P_DEFAULT)) >= 0) {
if(H5DSis_attached(did, dsid, idx) == 1) {
if((name_len=H5DSget_scale_name(dsid,NULL,(size_t)0)) > 0) {
- name_out = (char*)malloc((size_t)name_len * sizeof (char));
+ name_out = (char*)HDmalloc((size_t)name_len * sizeof (char));
if(name_out != NULL) {
if(H5DSget_scale_name(dsid, name_out, (size_t)name_len) >= 0) {
if(strcmp(scalename,name_out)==0) {
ret_value = SUCCEED;
}
- free(name_out);
+ HDfree(name_out);
name_out=NULL;
}
}
diff --git a/hl/test/test_dset_opt.c b/hl/test/test_dset_opt.c
index 9a0ffb0..08d1c46 100644
--- a/hl/test/test_dset_opt.c
+++ b/hl/test/test_dset_opt.c
@@ -176,7 +176,7 @@ test_direct_chunk_write (hid_t file)
direct_buf[i][j] = n++;
/* Allocate output (compressed) buffer */
- outbuf = malloc(z_dst_nbytes);
+ outbuf = HDmalloc(z_dst_nbytes);
z_dst = (Bytef *)outbuf;
/* Perform compression from the source to the destination buffer */
@@ -206,7 +206,7 @@ test_direct_chunk_write (hid_t file)
}
if(outbuf)
- free(outbuf);
+ HDfree(outbuf);
if(H5Fflush(dataset, H5F_SCOPE_LOCAL) < 0)
goto error;
@@ -249,7 +249,7 @@ test_direct_chunk_write (hid_t file)
direct_buf[i][j] = i + j;
/* Allocate output (compressed) buffer */
- outbuf = malloc(z_dst_nbytes);
+ outbuf = HDmalloc(z_dst_nbytes);
z_dst = (Bytef *)outbuf;
/* Perform compression from the source to the destination buffer */
@@ -280,7 +280,7 @@ test_direct_chunk_write (hid_t file)
}
if(outbuf)
- free(outbuf);
+ HDfree(outbuf);
if(H5Fflush(dataset, H5F_SCOPE_LOCAL) < 0)
goto error;
@@ -329,7 +329,7 @@ error:
} H5E_END_TRY;
if(outbuf)
- free(outbuf);
+ HDfree(outbuf);
return 1;
}
diff --git a/hl/test/test_file_image.c b/hl/test/test_file_image.c
index 9729421..831fa23 100644
--- a/hl/test/test_file_image.c
+++ b/hl/test/test_file_image.c
@@ -77,23 +77,23 @@ test_file_image(size_t open_images, size_t nflags, unsigned *flags)
FAIL_PUTS_ERROR("malloc() failed");
/* allocate array of pointers for each of the open images */
- if (NULL == (buf_ptr = (void **)malloc(sizeof(void *) * open_images)))
+ if (NULL == (buf_ptr = (void **)HDmalloc(sizeof(void *) * open_images)))
FAIL_PUTS_ERROR("malloc() failed");
/* allocate array to store the name of each of the open images */
- if (NULL == (filename = (char **)malloc(sizeof(char *) * open_images)))
+ if (NULL == (filename = (char **)HDmalloc(sizeof(char *) * open_images)))
FAIL_PUTS_ERROR("malloc() failed");
/* allocate array to store the size of each of the open images */
- if (NULL == (buf_size = (ssize_t *)malloc(sizeof(ssize_t) * open_images)))
+ if (NULL == (buf_size = (ssize_t *)HDmalloc(sizeof(ssize_t) * open_images)))
FAIL_PUTS_ERROR("malloc() failed");
/* allocate array for each of the file identifiers */
- if (NULL == (file_id = (hid_t *)malloc(sizeof(hid_t) * open_images)))
+ if (NULL == (file_id = (hid_t *)HDmalloc(sizeof(hid_t) * open_images)))
FAIL_PUTS_ERROR("malloc() failed");
/* allocate array for each of the dataset identifiers */
- if (NULL == (dset_id = (hid_t *)malloc(sizeof(hid_t) * open_images)))
+ if (NULL == (dset_id = (hid_t *)HDmalloc(sizeof(hid_t) * open_images)))
FAIL_PUTS_ERROR("malloc() failed");
TESTING("get file images");
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 7140585..93dedaf 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.9.167 currently under development
+HDF5 version 1.9.170 currently under development
================================================================================
@@ -1312,14 +1312,14 @@ The following platforms are not supported but have been tested for this release.
GNU Fortran (SUSE Linux) 4.7.2
(cmake and autotools)
- Ubuntu 13.04 3.8.0-30-generic #44-Ubuntu SMP i686 GNU/Linux
- gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
- GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu1) 4.7.3
+ Ubuntu 13.10 3.11.0-13-generic #20-Ubuntu SMP i686 GNU/Linux
+ gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
+ GNU Fortran (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
(cmake and autotools)
- Ubuntu 13.04 3.8.0-30-generic #44-Ubuntu SMP x86_64 GNU/Linux
- gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
- GNU Fortran (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
+ Ubuntu 13.10 3.11.0-13-generic #20-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
+ GNU Fortran (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
(cmake and autotools)
Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46
@@ -1330,6 +1330,13 @@ The following platforms are not supported but have been tested for this release.
Known Problems
==============
+* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ catches some undefined behavior in the alignment algorithm of the macro DETECT_I
+ in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment
+ of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for
+ H5detect.c. In the future, we can separate flags for H5detect.c from the rest of
+ the library. (SLU - 2013/10/16)
+
* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It
complains with this message:
"/home/hdf5/src/H5Vprivate.h", line 130: Error: __func__ is not defined.
diff --git a/release_docs/USING_CMake_Examples.txt b/release_docs/USING_CMake_Examples.txt
index 33c43a3..4dae021 100644
--- a/release_docs/USING_CMake_Examples.txt
+++ b/release_docs/USING_CMake_Examples.txt
@@ -1,12 +1,81 @@
-The compressed examples file, located in the HDF5 install folder,
-can be built and tested with CMake and the supplied
-HDF518_Examples.cmake file. It is recommended that you copy those
-two files to your development location before continuing.
-
-The command line to be used is shown at the top of the file. Also,
-the location of the HDF5 installation should be verified and
-changed if necessary.
-
-When executed, the ctest script will save the results to the log file
-indicated by the ctest command. If you wish the to see more build
-and test information, add "-VV" to the ctest command.
+************************************************************************
+* Build and Test HDF5 Examples with CMake *
+************************************************************************
+
+Notes: This short instruction is written for users who want to quickly
+ test the installation of HDF5 by using the CMake tools to build
+ and test the HDF5 Examples. The following instructions will show
+ the default usage and then present common changes for non-default
+ installations.
+ For more information, see the USING_HDF5_CMake.txt file.
+
+ More information about using CMake can be found at the KitWare
+ site, www.cmake.org.
+
+ CMake uses the command line and these instructions use the script
+ method of the ctest command.
+
+
+========================================================================
+I. Preconditions
+========================================================================
+
+ 1. We suggest you obtain the latest CMake for windows from the Kitware
+ web site. The HDF5 1.8.x product requires a minimum CMake version
+ of 2.8.10.
+
+ 2. You have installed the HDF5 library built with CMake, by executing
+ the HDF Install Utility (the *.exe file in the binary package for
+ Windows or the *.sh on Linux). If you are using a Windows platform,
+ you can obtain a pre-built Windows binary from The HDF Group's website
+ at www.hdfgroup.org. See Section "III. Common changes to the
+ HDF518_Examples.cmake file", for the line to change the location.
+
+ 3. On Windows, you have installed the 7Zip package. See Section "III.
+ Common changes to the HDF518_Examples.cmake file", for the line to
+ change the command.
+
+
+
+========================================================================
+II. Building HDF5 Examples with CMake
+========================================================================
+
+Files in the HDF5 install directory:
+ HDF5Examples-0.1.1-Source.zip (or HDF5Examples-0.1.1-Source.tar.gz)
+ HDF518_Examples.cmake
+
+Default installation process:
+ Create a directory to run the examples, i.e. \test_hdf5.
+ Copy HDF5Examples-0.1.1-Source.zip(.tar.gz) to this directory, do NOT unzip.
+ Copy HDF518_Examples.cmake to this directory.
+ Edit line 8 of the HDF518_Examples.cmake file and change the INSTALLDIR
+ to the HDF5 install location.
+
+ Execute from this directory:
+ ctest -S HDF518_Examples.cmake,HDF5Examples-0.1.1-Source -C Release -O test.log
+
+The script will uncompress the examples file HDF5Examples-0.1.1-Source.zip(.tar.gz),
+ and create a build directory inside the HDF5Examples-0.1.1-Source directory.
+ It will then configure, build, and execute the examples. All the log files
+ will be found under the build\Testing\Temporary directory, check these for
+ errors.
+
+The amount of script information can be increased by adding -V to the ctest
+ command. Even more information can be shown by adding -VV instead of -V.
+
+
+========================================================================
+III. Common changes to the HDF518_Examples.cmake file
+========================================================================
+
+Line 8: change the INSTALLDIR to a different HDF5 install location.
+
+Line 14: uncomment to allow Mac machines to build shared examples.
+
+Line 15: uncomment to not build and test Fortran examples.
+
+Line 16: uncomment to build and test Fortran examples with F2003 option.
+
+Line 68: change the CTEST_7Z_COMMAND to a different unzip program.
+
diff --git a/src/H5F.c b/src/H5F.c
index 81d154e..e961681 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -268,6 +268,32 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5F_get_all_count_cb
+ *
+ * Purpose: Get counter of all object types currently open.
+ *
+ * Return: Non-negative on success; negative on failure.
+ *
+ * Programmer: Mohamad Chaarawi
+ * May 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+H5F_get_all_count_cb(void UNUSED *obj_ptr, hid_t UNUSED obj_id, void *key)
+{
+ H5F_trav_obj_cnt_t *udata = (H5F_trav_obj_cnt_t *)key;
+ int ret_value = H5_ITER_CONT; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ *(udata->obj_count) = *(udata->obj_count)+1;
+
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* H5F_get_all_count_cb */
+
+
+/*-------------------------------------------------------------------------
* Function: H5Fget_obj_count
*
* Purpose: Public function returning the number of opened object IDs
@@ -288,21 +314,19 @@ H5Fget_obj_count(hid_t file_id, unsigned types)
FUNC_ENTER_API(FAIL)
H5TRACE2("Zs", "iIu", file_id, types);
- if(0 == (types & H5F_OBJ_ALL))
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not an object type")
-
if(file_id != (hid_t)H5F_OBJ_ALL) {
H5VL_t *vol_plugin;
void *obj;
/* get the file object */
- if(NULL == (obj = (void *)H5I_object(file_id)))
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier")
+ if(NULL == (obj = (void *)H5I_object_verify(file_id, H5I_FILE)))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file id")
/* get the plugin pointer */
if (NULL == (vol_plugin = (H5VL_t *)H5I_get_aux(file_id)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information")
- if(H5VL_file_get(obj, vol_plugin, H5VL_FILE_GET_OBJ_COUNT, H5AC_dxpl_id, H5_EVENT_STACK_NULL, types, &ret_value) < 0)
+ if(H5VL_file_get(obj, vol_plugin, H5VL_FILE_GET_OBJ_COUNT, H5AC_dxpl_id,
+ H5_EVENT_STACK_NULL, types, &ret_value) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get object count in file(s)")
}
/* iterate over all open files and get the obj count for each */
@@ -312,8 +336,26 @@ H5Fget_obj_count(hid_t file_id, unsigned types)
udata.obj_count = &ret_value;
udata.types = types | H5F_OBJ_LOCAL;
- if(H5I_iterate(H5I_FILE, H5F_get_obj_count_cb, &udata, TRUE) < 0)
- HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)")
+ if(types & H5F_OBJ_FILE) {
+ if(H5I_iterate(H5I_FILE, H5F_get_all_count_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
+ if(types & H5F_OBJ_DATASET) {
+ if(H5I_iterate(H5I_DATASET, H5F_get_all_count_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
+ if(types & H5F_OBJ_GROUP) {
+ if(H5I_iterate(H5I_GROUP, H5F_get_all_count_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
+ if(types & H5F_OBJ_DATATYPE) {
+ if(H5I_iterate(H5I_DATATYPE, H5F_get_all_count_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
+ if(types & H5F_OBJ_ATTR) {
+ if(H5I_iterate(H5I_ATTR, H5F_get_all_count_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
}
done:
@@ -322,6 +364,37 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5F_get_all_ids_cb
+ *
+ * Purpose: Get ids of all object types currently open.
+ *
+ * Return: Non-negative on success; negative on failure.
+ *
+ * Programmer: Mohamad Chaarawi
+ * May 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+H5F_get_all_ids_cb(void UNUSED *obj_ptr, hid_t obj_id, void *key)
+{
+ H5F_trav_obj_ids_t *udata = (H5F_trav_obj_ids_t *)key;
+ int ret_value = H5_ITER_CONT; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT
+
+ if(*udata->obj_count >= udata->max_objs)
+ HGOTO_DONE(H5_ITER_STOP);
+
+ udata->oid_list[*udata->obj_count] = obj_id;
+ *(udata->obj_count) = *(udata->obj_count)+1;
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* H5F_get_all_ids_cb */
+
+
+/*-------------------------------------------------------------------------
* Function: H5Fget_object_ids
*
* Purpose: Public function to return a list of opened object IDs.
@@ -349,7 +422,8 @@ H5Fget_obj_ids(hid_t file_id, unsigned types, size_t max_objs, hid_t *oid_list)
if(0 == (types & H5F_OBJ_ALL))
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not an object type")
- HDassert(oid_list);
+ if(!oid_list)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "object ID list is NULL")
/* Check arguments */
if(file_id != (hid_t)H5F_OBJ_ALL) {
@@ -367,16 +441,34 @@ H5Fget_obj_ids(hid_t file_id, unsigned types, size_t max_objs, hid_t *oid_list)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get object count in file(s)")
}
/* iterate over all open files and get the obj count for each */
- else {
+ else if (oid_list && max_objs){
H5F_trav_obj_ids_t udata;
- udata.types = types | H5F_OBJ_LOCAL;
+ //udata.types = types | H5F_OBJ_LOCAL;
udata.max_objs = max_objs;
udata.oid_list = oid_list;
udata.obj_count = &ret_value;
- if(H5I_iterate(H5I_FILE, H5F_get_obj_ids_cb, &udata, TRUE) < 0)
- HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)")
+ if(types & H5F_OBJ_FILE) {
+ if(H5I_iterate(H5I_FILE, H5F_get_all_ids_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
+ if(types & H5F_OBJ_DATASET) {
+ if(H5I_iterate(H5I_DATASET, H5F_get_all_ids_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
+ if(types & H5F_OBJ_GROUP) {
+ if(H5I_iterate(H5I_GROUP, H5F_get_all_ids_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
+ if(types & H5F_OBJ_DATATYPE) {
+ if(H5I_iterate(H5I_DATATYPE, H5F_get_all_ids_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
+ if(types & H5F_OBJ_ATTR) {
+ if(H5I_iterate(H5I_ATTR, H5F_get_all_ids_cb, &udata, TRUE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
+ }
}
done:
diff --git a/src/H5Faccum.c b/src/H5Faccum.c
index 0e549fa..e0ce292 100644
--- a/src/H5Faccum.c
+++ b/src/H5Faccum.c
@@ -426,7 +426,7 @@ H5F_accum_write(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr,
HDassert(f);
HDassert(f->shared);
- HDassert(f->intent & H5F_ACC_RDWR);
+ HDassert(H5F_INTENT(f) & H5F_ACC_RDWR);
HDassert(buf);
/* Treat global heap as raw data */
diff --git a/src/H5Fint.c b/src/H5Fint.c
index 096b93b..c8cb425 100644
--- a/src/H5Fint.c
+++ b/src/H5Fint.c
@@ -50,13 +50,14 @@ typedef struct H5F_olist_t {
} ptr;
} file_info;
size_t list_index; /* Current index in open ID array */
- size_t max_index; /* Maximum # of IDs to put into array */
+ size_t max_nobjs; /* Maximum # of IDs to put into array */
} H5F_olist_t;
/* private prototypes */
-static H5F_t *H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id, H5FD_t *lf);
-static herr_t H5F_build_actual_name(const H5F_t *f, const struct H5P_genplist_t *fapl,
- const char *name, char ** /*out*/ actual_name);
+static H5F_t *H5F_new(H5F_file_t *shared, unsigned flags, hid_t fcpl_id,
+ hid_t fapl_id, H5FD_t *lf);
+static herr_t H5F_build_actual_name(const H5F_t *f, const H5P_genplist_t *fapl,
+ const char *name, char ** /*out*/ actual_name);
static herr_t H5F_dest(H5F_t *f, hid_t dxpl_id, hbool_t flush);
/* Declare a free list to manage the H5F_t struct */
@@ -200,8 +201,7 @@ done:
* Purpose: H5F_get_obj_count_cb callback function. It calls in the
* VOL and gets the object count for the file ID passed
*
- * Return: TRUE if the value has been added.
- * FALSE otherwise.
+ * Return: Non-negative on success; negative on failure.
*
* Programmer: Mohamad Chaarawi
* May 2012
@@ -224,8 +224,8 @@ H5F_get_obj_count_cb(void UNUSED *obj_ptr, hid_t obj_id, void *key)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information")
/* get the file object */
- if(NULL == (obj = (void *)H5I_object(obj_id)))
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier")
+ if(NULL == (obj = (void *)H5I_object_verify(obj_id, H5I_FILE)))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file id")
if(H5VL_file_get(obj, vol_plugin, H5VL_FILE_GET_OBJ_COUNT, H5AC_dxpl_id, H5_EVENT_STACK_NULL,
udata->types, &obj_count) < 0)
@@ -276,8 +276,7 @@ done:
* Purpose: H5F_get_obj_ids_cb callback function. It calls in the
* VOL and gets the object ids for the file ID passed
*
- * Return: TRUE if the value has been added.
- * FALSE otherwise.
+ * Return: Non-negative on success; negative on failure.
*
* Programmer: Mohamad Chaarawi
* May 2012
@@ -300,11 +299,11 @@ H5F_get_obj_ids_cb(void UNUSED *obj_ptr, hid_t obj_id, void *key)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information")
/* get the file object */
- if(NULL == (obj = (void *)H5I_object(obj_id)))
+ if(NULL == (obj = (void *)H5I_object_verify(obj_id, H5I_FILE)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier")
- if(H5VL_file_get(obj, vol_plugin, H5VL_FILE_GET_OBJ_IDS, H5AC_dxpl_id, H5_EVENT_STACK_NULL, udata->types,
- udata->max_objs, udata->oid_list, &obj_count) < 0)
+ if(H5VL_file_get(obj, vol_plugin, H5VL_FILE_GET_OBJ_IDS, H5AC_dxpl_id, H5_EVENT_STACK_NULL,
+ udata->types, udata->max_objs, udata->oid_list, &obj_count) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, H5_ITER_ERROR, "unable to get object count in file(s)")
*(udata->obj_count) += obj_count;
@@ -364,7 +363,8 @@ done:
*---------------------------------------------------------------------------
*/
herr_t
-H5F_get_objects(const H5F_t *f, unsigned types, size_t max_index, hid_t *obj_id_list, hbool_t app_ref, size_t *obj_id_count_ptr)
+H5F_get_objects(const H5F_t *f, unsigned types, size_t max_nobjs, hid_t *obj_id_list,
+ hbool_t app_ref, size_t *obj_id_count_ptr)
{
size_t obj_id_count=0; /* Number of open IDs */
H5F_olist_t olist; /* Structure to hold search results */
@@ -376,10 +376,10 @@ H5F_get_objects(const H5F_t *f, unsigned types, size_t max_index, hid_t *obj_id_
HDassert(obj_id_count_ptr);
/* Set up search information */
- olist.obj_id_list = (max_index==0 ? NULL : obj_id_list);
+ olist.obj_id_list = (max_nobjs==0 ? NULL : obj_id_list);
olist.obj_id_count = &obj_id_count;
olist.list_index = 0;
- olist.max_index = max_index;
+ olist.max_nobjs = max_nobjs;
/* Determine if we are searching for local or global objects */
if(types & H5F_OBJ_LOCAL) {
@@ -399,38 +399,54 @@ H5F_get_objects(const H5F_t *f, unsigned types, size_t max_index, hid_t *obj_id_
HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)")
} /* end if */
- /* Search through dataset IDs to count number of datasets, and put their
+ /* If the caller just wants to count the number of objects (OLIST.MAX_NOBJS is zero),
+ * or the caller wants to get the list of IDs and the list isn't full,
+ * search through dataset IDs to count number of datasets, and put their
* IDs on the object list */
- if(types & H5F_OBJ_DATASET) {
- olist.obj_type = H5I_DATASET;
- if(H5I_iterate(H5I_DATASET, H5F_get_objects_cb, &olist, app_ref) < 0)
- HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(2)")
- } /* end if */
+ if(!olist.max_nobjs || (olist.max_nobjs && olist.list_index<olist.max_nobjs)) {
+ if (types & H5F_OBJ_DATASET) {
+ olist.obj_type = H5I_DATASET;
+ if(H5I_iterate(H5I_DATASET, H5F_get_objects_cb, &olist, app_ref) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(2)")
+ } /* end if */
+ }
- /* Search through group IDs to count number of groups, and put their
+ /* If the caller just wants to count the number of objects (OLIST.MAX_NOBJS is zero),
+ * or the caller wants to get the list of IDs and the list isn't full,
+ * search through group IDs to count number of groups, and put their
* IDs on the object list */
- if(types & H5F_OBJ_GROUP) {
- olist.obj_type = H5I_GROUP;
- if(H5I_iterate(H5I_GROUP, H5F_get_objects_cb, &olist, app_ref) < 0)
- HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(3)")
- } /* end if */
+ if(!olist.max_nobjs || (olist.max_nobjs && olist.list_index<olist.max_nobjs)) {
+ if(types & H5F_OBJ_GROUP) {
+ olist.obj_type = H5I_GROUP;
+ if(H5I_iterate(H5I_GROUP, H5F_get_objects_cb, &olist, app_ref) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(3)")
+ } /* end if */
+ }
- /* Search through datatype IDs to count number of named datatypes, and put their
+ /* If the caller just wants to count the number of objects (OLIST.MAX_NOBJS is zero),
+ * or the caller wants to get the list of IDs and the list isn't full,
+ * search through datatype IDs to count number of named datatypes, and put their
* IDs on the object list */
- if(types & H5F_OBJ_DATATYPE) {
- olist.obj_type = H5I_DATATYPE;
- if(H5I_iterate(H5I_DATATYPE, H5F_get_objects_cb, &olist, app_ref) < 0)
- HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(4)")
- } /* end if */
+ if(!olist.max_nobjs || (olist.max_nobjs && olist.list_index<olist.max_nobjs)) {
+ if(types & H5F_OBJ_DATATYPE) {
+ olist.obj_type = H5I_DATATYPE;
+ if(H5I_iterate(H5I_DATATYPE, H5F_get_objects_cb, &olist, app_ref) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(4)")
+ } /* end if */
+ }
- /* Search through attribute IDs to count number of attributes, and put their
+ /* If the caller just wants to count the number of objects (OLIST.MAX_NOBJS is zero),
+ * or the caller wants to get the list of IDs and the list isn't full,
+ * search through attribute IDs to count number of attributes, and put their
* IDs on the object list */
- if(types & H5F_OBJ_ATTR) {
- olist.obj_type = H5I_ATTR;
- if(H5I_iterate(H5I_ATTR, H5F_get_objects_cb, &olist, app_ref) < 0)
- HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(5)")
- } /* end if */
-
+ if(!olist.max_nobjs || (olist.max_nobjs && olist.list_index<olist.max_nobjs)) {
+ if(types & H5F_OBJ_ATTR) {
+ olist.obj_type = H5I_ATTR;
+ if(H5I_iterate(H5I_ATTR, H5F_get_objects_cb, &olist, app_ref) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(5)")
+ } /* end if */
+ }
+
/* Set the number of objects currently open */
*obj_id_count_ptr = obj_id_count;
@@ -458,35 +474,21 @@ int
H5F_get_objects_cb(void *obj_ptr, hid_t obj_id, void *key)
{
H5F_olist_t *olist = (H5F_olist_t *)key; /* Alias for search info */
- int ret_value = FALSE; /* Return value */
+ int ret_value = H5_ITER_CONT; /* Return value */
+ hbool_t add_obj = FALSE;
FUNC_ENTER_NOAPI_NOINIT
HDassert(obj_ptr);
HDassert(olist);
- /* Check if we've filled up the array. Return TRUE only if
- * we have filled up the array. Otherwise return FALSE(RET_VALUE is
- * preset to FALSE) because H5I_iterate needs the return value of
- * FALSE to continue the iteration. */
- if(olist->max_index>0 && olist->list_index>=olist->max_index)
- HGOTO_DONE(TRUE) /* Indicate that the iterator should stop */
-
/* Count file IDs */
if(olist->obj_type == H5I_FILE) {
if((olist->file_info.local &&
(!olist->file_info.ptr.file || (olist->file_info.ptr.file && (H5F_t*)obj_ptr == olist->file_info.ptr.file) ))
|| (!olist->file_info.local &&
( !olist->file_info.ptr.shared || (olist->file_info.ptr.shared && ((H5F_t*)obj_ptr)->shared == olist->file_info.ptr.shared) ))) {
- /* Add the object's ID to the ID list, if appropriate */
- if(olist->obj_id_list) {
- olist->obj_id_list[olist->list_index] = obj_id;
- olist->list_index++;
- }
-
- /* Increment the number of open objects */
- if(olist->obj_id_count)
- (*olist->obj_id_count)++;
+ add_obj = TRUE;
}
} /* end if */
else { /* either count opened object IDs or put the IDs on the list */
@@ -523,6 +525,7 @@ H5F_get_objects_cb(void *obj_ptr, hid_t obj_id, void *key)
case H5I_DATASPACE:
case H5I_REFERENCE:
case H5I_VFL:
+ case H5I_VOL:
case H5I_GENPROP_CLS:
case H5I_GENPROP_LST:
case H5I_ERROR_CLASS:
@@ -530,7 +533,7 @@ H5F_get_objects_cb(void *obj_ptr, hid_t obj_id, void *key)
case H5I_ERROR_STACK:
case H5I_NTYPES:
default:
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "unknown data object")
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5_ITER_ERROR, "unknown data object")
} /* end switch */
if((olist->file_info.local &&
@@ -541,18 +544,29 @@ H5F_get_objects_cb(void *obj_ptr, hid_t obj_id, void *key)
((!olist->file_info.ptr.shared && olist->obj_type == H5I_DATATYPE && H5T_is_immutable((H5T_t *)obj_ptr) == FALSE)
|| (!olist->file_info.ptr.shared && olist->obj_type != H5I_DATATYPE)
|| (oloc && oloc->file && oloc->file->shared == olist->file_info.ptr.shared)))) {
- /* Add the object's ID to the ID list, if appropriate */
- if(olist->obj_id_list) {
- olist->obj_id_list[olist->list_index] = obj_id;
- olist->list_index++;
- } /* end if */
-
- /* Increment the number of open objects */
- if(olist->obj_id_count)
- (*olist->obj_id_count)++;
+ add_obj = TRUE;
} /* end if */
} /* end else */
+ if(TRUE==add_obj) {
+ /* Add the object's ID to the ID list, if appropriate */
+ if(olist->obj_id_list) {
+ olist->obj_id_list[olist->list_index] = obj_id;
+ olist->list_index++;
+ } /* end if */
+
+ /* Increment the number of open objects */
+ if(olist->obj_id_count)
+ (*olist->obj_id_count)++;
+
+ /* Check if we've filled up the array. Return H5_ITER_STOP only if
+ * we have filled up the array. Otherwise return H5_ITER_CONT(RET_VALUE is
+ * preset to H5_ITER_CONT) because H5I_iterate needs the return value of
+ * H5_ITER_CONT to continue the iteration. */
+ if(olist->max_nobjs>0 && olist->list_index>=olist->max_nobjs)
+ HGOTO_DONE(H5_ITER_STOP) /* Indicate that the iterator should stop */
+ }
+
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5F_get_objects_cb() */
@@ -605,6 +619,7 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5F_is_hdf5() */
+
/*-------------------------------------------------------------------------
* Function: H5F_new
*
@@ -628,7 +643,7 @@ done:
*-------------------------------------------------------------------------
*/
static H5F_t *
-H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id, H5FD_t *lf)
+H5F_new(H5F_file_t *shared, unsigned flags, hid_t fcpl_id, hid_t fapl_id, H5FD_t *lf)
{
H5F_t *f = NULL, *ret_value;
@@ -651,6 +666,7 @@ H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id, H5FD_t *lf)
if(NULL == (f->shared = H5FL_CALLOC(H5F_file_t)))
HGOTO_ERROR(H5E_FILE, H5E_NOSPACE, NULL, "can't allocate shared file structure")
+ f->shared->flags = flags;
f->shared->sohm_addr = HADDR_UNDEF;
f->shared->sohm_vers = HDF5_SHAREDHEADER_VERSION;
for(u = 0; u < NELMTS(f->shared->fs_addr); u++)
@@ -763,8 +779,17 @@ H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id, H5FD_t *lf)
done:
if(!ret_value && f) {
- if(!shared)
+ if(!shared) {
+ /* Attempt to clean up some of the shared file structures */
+ if(f->shared->efc)
+ if(H5F_efc_destroy(f->shared->efc) < 0)
+ HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, NULL, "can't destroy external file cache")
+ if(f->shared->fcpl_id > 0)
+ if(H5I_dec_ref(f->shared->fcpl_id) < 0)
+ HDONE_ERROR(H5E_FILE, H5E_CANTDEC, NULL, "can't close property list")
+
f->shared = H5FL_FREE(H5F_file_t, f->shared);
+ } /* end if */
f = H5FL_FREE(H5F_t, f);
} /* end if */
@@ -1062,7 +1087,7 @@ H5F_open(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id,
HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "file is already open for read-only")
/* Allocate new "high-level" file struct */
- if((file = H5F_new(shared, fcpl_id, fapl_id, NULL)) == NULL)
+ if((file = H5F_new(shared, flags, fcpl_id, fapl_id, NULL)) == NULL)
HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to create new file object")
} /* end if */
else {
@@ -1083,25 +1108,18 @@ H5F_open(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id,
} /* end if */
} /* end if */
- if(NULL == (file = H5F_new(NULL, fcpl_id, fapl_id, lf)))
+ if(NULL == (file = H5F_new(NULL, flags, fcpl_id, fapl_id, lf)))
HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to create new file object")
- file->shared->flags = flags;
} /* end else */
+ /* Retain the name the file was opened with */
+ file->open_name = H5MM_xstrdup(name);
+
/* Short cuts */
shared = file->shared;
lf = shared->lf;
/*
- * The intent at the top level file struct are not necessarily the same as
- * the flags at the bottom. The top level describes how the file can be
- * accessed through the HDF5 library. The bottom level describes how the
- * file can be accessed through the C library.
- */
- file->intent = flags;
- file->open_name = H5MM_xstrdup(name);
-
- /*
* Read or write the file superblock, depending on whether the file is
* empty or not.
*/
@@ -1491,12 +1509,11 @@ H5F_reopen(H5F_t *f)
FUNC_ENTER_NOAPI_NOINIT
/* Get a new "top level" file struct, sharing the same "low level" file struct */
- if(NULL == (ret_value = H5F_new(f->shared, H5P_FILE_CREATE_DEFAULT,
- H5P_FILE_ACCESS_DEFAULT, NULL)))
+ /* Get a new "top level" file struct, sharing the same "low level" file struct */
+ if(NULL == (ret_value = H5F_new(f->shared, 0, H5P_FILE_CREATE_DEFAULT,
+ H5P_FILE_ACCESS_DEFAULT, NULL)))
HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to reopen file")
- /* Keep old file's read/write intent in new file */
- ret_value->intent = f->intent;
/* Duplicate old file's names */
ret_value->open_name = H5MM_xstrdup(f->open_name);
ret_value->actual_name = H5MM_xstrdup(f->actual_name);
diff --git a/src/H5Fio.c b/src/H5Fio.c
index 83c86ea..d494488 100644
--- a/src/H5Fio.c
+++ b/src/H5Fio.c
@@ -145,7 +145,7 @@ HDfprintf(stderr, "%s: write to addr = %a, size = %Zu\n", FUNC, addr, size);
HDassert(f);
HDassert(f->shared);
- HDassert(f->intent & H5F_ACC_RDWR);
+ HDassert(H5F_INTENT(f) & H5F_ACC_RDWR);
HDassert(buf);
HDassert(H5F_addr_defined(addr));
diff --git a/src/H5Fpkg.h b/src/H5Fpkg.h
index dff9e88..7b62d01 100644
--- a/src/H5Fpkg.h
+++ b/src/H5Fpkg.h
@@ -264,7 +264,6 @@ struct H5F_file_t {
* to shared H5F_file_t structs.
*/
struct H5F_t {
- unsigned intent; /* The flags passed to H5F_open()*/
char *open_name; /* Name used to open file */
char *actual_name; /* Actual name of the file, after resolving symlinks, etc. */
char *extpath; /* Path for searching target external link file */
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index 1bf3d0d..68e1c4d 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -292,7 +292,7 @@ typedef struct {
/* If the module using this macro is allowed access to the private variables, access them directly */
#ifdef H5F_PACKAGE
-#define H5F_INTENT(F) ((F)->intent)
+#define H5F_INTENT(F) ((F)->shared->flags)
#define H5F_OPEN_NAME(F) ((F)->open_name)
#define H5F_ACTUAL_NAME(F) ((F)->actual_name)
#define H5F_EXTPATH(F) ((F)->extpath)
diff --git a/src/H5Fquery.c b/src/H5Fquery.c
index 326b8f8..2e15191 100644
--- a/src/H5Fquery.c
+++ b/src/H5Fquery.c
@@ -98,7 +98,7 @@ H5F_get_intent(const H5F_t *f)
HDassert(f);
- FUNC_LEAVE_NOAPI(f->intent)
+ FUNC_LEAVE_NOAPI(f->shared->flags)
} /* end H5F_get_intent() */
diff --git a/src/H5Ocache.c b/src/H5Ocache.c
index f09f693..847bf71 100644
--- a/src/H5Ocache.c
+++ b/src/H5Ocache.c
@@ -1442,7 +1442,7 @@ H5O_chunk_proxy_dest(H5O_chunk_proxy_t *chk_proxy)
HDassert(chk_proxy);
/* Decrement reference count of object header */
- if(H5O_dec_rc(chk_proxy->oh) < 0)
+ if(chk_proxy->oh && H5O_dec_rc(chk_proxy->oh) < 0)
HGOTO_ERROR(H5E_OHDR, H5E_CANTDEC, FAIL, "can't decrement reference count on object header")
/* Release the chunk proxy object */
diff --git a/src/H5Osdspace.c b/src/H5Osdspace.c
index 905c4e9..9ca8436 100644
--- a/src/H5Osdspace.c
+++ b/src/H5Osdspace.c
@@ -526,7 +526,7 @@ H5O_sdspace_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *mesg,
HDfprintf (stream, "{");
for(u = 0; u < sdim->rank; u++) {
if(H5S_UNLIMITED==sdim->max[u])
- HDfprintf (stream, "%sINF", u?", ":"");
+ HDfprintf (stream, "%sUNLIM", u?", ":"");
else
HDfprintf (stream, "%s%Hu", u?", ":"", sdim->max[u]);
} /* end for */
diff --git a/src/H5detect.c b/src/H5detect.c
index be661ea..0f8d051 100644
--- a/src/H5detect.c
+++ b/src/H5detect.c
@@ -60,9 +60,9 @@ static const char *FileHeader = "\n\
#define MAXDETECT 64
-/* The ALIGNMENT test code may generate the SIGBUS or SIGSEGV signals. We use
- * setjmp/longjmp in the signal handlers for recovery. But setjmp/longjmp do
- * not necessary restore the signal blocking status while sigsetjmp/siglongjmp
+/* The ALIGNMENT test code may generate the SIGBUS, SIGSEGV, or SIGILL signals.
+ * We use setjmp/longjmp in the signal handlers for recovery. But setjmp/longjmp
+ * do not necessary restore the signal blocking status while sigsetjmp/siglongjmp
* do. If sigsetjmp/siglongjmp are not supported, need to use sigprocmask to
* unblock the signal before doing longjmp.
*/
@@ -124,7 +124,7 @@ static int bit_cmp(int, int *, volatile void *, volatile void *,
static void fix_order(int, int, int *, const char **);
static int imp_bit(int, int *, volatile void *, volatile void *,
const unsigned char *);
-static unsigned long find_bias(int, int, int *, void *);
+static unsigned long find_bias(int, int, int *, volatile void *);
static void precision (detected_t*);
static void print_header(void);
static void detect_C89_integers(void);
@@ -139,7 +139,8 @@ static void detect_alignments(void);
static size_t align_g[] = {1, 2, 4, 8, 16};
static int align_status_g = 0; /* ALIGNMENT Signal Status */
static int sigbus_handler_called_g = 0; /* how many times called */
-static int sigsegv_handler_called_g = 0; /* how many times called */
+static int sigsegv_handler_called_g = 0;/* how many times called */
+static int sigill_handler_called_g = 0; /* how many times called */
static int signal_handler_tested_g = 0; /* how many times tested */
#if defined(H5SETJMP) && defined(H5_HAVE_SIGNAL)
static int verify_signal_handlers(int signum, void (*handler)(int));
@@ -425,6 +426,7 @@ precision (detected_t *d)
volatile size_t _ano = 0; \
void (*_handler)(int) = HDsignal(SIGBUS, sigbus_handler); \
void (*_handler2)(int) = HDsignal(SIGSEGV, sigsegv_handler);\
+ void (*_handler3)(int) = HDsignal(SIGILL, sigill_handler); \
\
_buf = (char*)HDmalloc(sizeof(TYPE) + align_g[NELMTS(align_g) - 1]); \
if(H5SETJMP(jbuf_g)) _ano++; \
@@ -454,6 +456,7 @@ precision (detected_t *d)
HDfree(_buf); \
HDsignal(SIGBUS, _handler); /*restore original handler*/ \
HDsignal(SIGSEGV, _handler2); /*restore original handler*/ \
+ HDsignal(SIGILL, _handler3); /*restore original handler*/ \
}
#else
#define ALIGNMENT(TYPE,INFO) { \
@@ -539,6 +542,42 @@ sigbus_handler(int UNUSED signo)
#endif
+#if defined(H5LONGJMP) && defined(H5_HAVE_SIGNAL)
+/*-------------------------------------------------------------------------
+ * Function: sigill_handler
+ *
+ * Purpose: Handler for SIGILL. We use signal() instead of sigaction()
+ * because it's more portable to non-Posix systems. Although
+ * it's not nearly as nice to work with, it does the job for
+ * this simple stuff.
+ *
+ * Return: Returns via H5LONGJMP to jbuf_g.
+ *
+ * Programmer: Raymond Lu
+ * 28 October 2013
+ *
+ *-------------------------------------------------------------------------
+ */
+static void
+sigill_handler(int UNUSED signo)
+{
+#if !defined(H5HAVE_SIGJMP) && defined(H5_HAVE_SIGPROCMASK)
+ /* Use sigprocmask to unblock the signal if sigsetjmp/siglongjmp are not */
+ /* supported. */
+ sigset_t set;
+
+ HDsigemptyset(&set);
+ HDsigaddset(&set, SIGILL);
+ HDsigprocmask(SIG_UNBLOCK, &set, NULL);
+#endif
+
+ sigill_handler_called_g++;
+ HDsignal(SIGILL, sigill_handler);
+ H5LONGJMP(jbuf_g, SIGILL);
+}
+#endif
+
+
/*-------------------------------------------------------------------------
* Function: print_results
*
@@ -1135,7 +1174,7 @@ imp_bit(int n, int *perm, volatile void *_a, volatile void *_b,
*-------------------------------------------------------------------------
*/
static unsigned long
-find_bias(int epos, int esize, int *perm, void *_a)
+find_bias(int epos, int esize, int *perm, volatile void *_a)
{
unsigned char *a = (unsigned char *) _a;
unsigned char mask;
diff --git a/src/H5public.h b/src/H5public.h
index 8e7a3cc..0138d01 100644
--- a/src/H5public.h
+++ b/src/H5public.h
@@ -75,10 +75,10 @@ extern "C" {
/* Version numbers */
#define H5_VERS_MAJOR 1 /* For major interface/format changes */
#define H5_VERS_MINOR 9 /* For minor interface/format changes */
-#define H5_VERS_RELEASE 167 /* For tweaks, bug-fixes, or development */
+#define H5_VERS_RELEASE 170 /* For tweaks, bug-fixes, or development */
#define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */
/* Empty string for real releases. */
-#define H5_VERS_INFO "HDF5 library version: 1.9.167" /* Full version string */
+#define H5_VERS_INFO "HDF5 library version: 1.9.170" /* Full version string */
#define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \
H5_VERS_RELEASE)
diff --git a/src/H5win32defs.h b/src/H5win32defs.h
index d452925..185e9b4 100644
--- a/src/H5win32defs.h
+++ b/src/H5win32defs.h
@@ -74,7 +74,7 @@ struct timezone {
extern "C" {
#endif /* __cplusplus */
H5_DLL int Wgettimeofday(struct timeval *tv, struct timezone *tz);
- H5_DLL char* Wgetlogin();
+ H5_DLL char* Wgetlogin(void);
H5_DLL int c99_snprintf(char* str, size_t size, const char* format, ...);
H5_DLL int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap);
#ifdef __cplusplus
diff --git a/src/Makefile.in b/src/Makefile.in
index b7fcc19..cb96d97 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -520,7 +520,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 157
+LT_VERS_REVISION = 160
LT_VERS_AGE = 0
# Our main target, the HDF5 library
diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake
index b64eeca..58ef1e6 100644
--- a/test/CMakeTests.cmake
+++ b/test/CMakeTests.cmake
@@ -142,6 +142,7 @@ ADD_TEST (
COMMAND ${CMAKE_COMMAND}
-E remove
coord.h5
+ dtypes10.h5
sys_file1
tattr.h5
tfile1.h5
@@ -150,6 +151,7 @@ ADD_TEST (
tfile4.h5
tfile5.h5
tfile6.h5
+ tfile7.h5
th5o_file
th5s1.h5
tselect.h5
diff --git a/test/Makefile.am b/test/Makefile.am
index b7fd1a9..3dff50c 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -131,7 +131,7 @@ CHECK_CLEANFILES+=accum.h5 cmpd_dset.h5 compact_dataset.h5 dataset.h5 dset_offse
max_compact_dataset.h5 simple.h5 set_local.h5 random_chunks.h5 \
huge_chunks.h5 chunk_cache.h5 big_chunk.h5 chunk_expand.h5 \
copy_dcpl_newfile.h5 extend.h5 istore.h5 extlinks*.h5 frspace.h5 links*.h5 \
- sys_file1 tfile[1-6].h5 th5s[1-4].h5 lheap.h5 fheap.h5 ohdr.h5 \
+ sys_file1 tfile[1-7].h5 th5s[1-4].h5 lheap.h5 fheap.h5 ohdr.h5 \
stab.h5 extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 \
dt_arith[1-2] links.h5 links[0-6]*.h5 extlinks[0-15].h5 tmp \
big.data big[0-9][0-9][0-9][0-9][0-9].h5 \
diff --git a/test/Makefile.in b/test/Makefile.in
index f9309bb..3b63fd6 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -865,7 +865,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog accum.h5 cmpd_dset.h5 \
max_compact_dataset.h5 simple.h5 set_local.h5 random_chunks.h5 \
huge_chunks.h5 chunk_cache.h5 big_chunk.h5 chunk_expand.h5 \
copy_dcpl_newfile.h5 extend.h5 istore.h5 extlinks*.h5 \
- frspace.h5 links*.h5 sys_file1 tfile[1-6].h5 th5s[1-4].h5 \
+ frspace.h5 links*.h5 sys_file1 tfile[1-7].h5 th5s[1-4].h5 \
lheap.h5 fheap.h5 ohdr.h5 stab.h5 extern_[1-3].h5 \
extern_[1-4][ab].raw gheap[0-4].h5 dt_arith[1-2] links.h5 \
links[0-6]*.h5 extlinks[0-15].h5 tmp big.data \
diff --git a/test/accum.c b/test/accum.c
index c170388..351ed88 100644
--- a/test/accum.c
+++ b/test/accum.c
@@ -1661,9 +1661,9 @@ test_random_write(void)
unsigned u; /* Local index variable */
/* Allocate space for the write & read buffers */
- wbuf = (uint8_t *)malloc(RANDOM_BUF_SIZE);
+ wbuf = (uint8_t *)HDmalloc(RANDOM_BUF_SIZE);
HDassert(wbuf);
- rbuf = (uint8_t *)calloc(RANDOM_BUF_SIZE, 1);
+ rbuf = (uint8_t *)HDcalloc(RANDOM_BUF_SIZE, 1);
HDassert(rbuf);
/* Initialize write buffer */
@@ -1681,9 +1681,9 @@ HDfprintf(stderr, "Random # seed was: %u\n", seed);
HDsrandom(seed);
/* Allocate space for the segment length buffer */
- off = (size_t *)malloc(MAX_RANDOM_SEGMENTS * sizeof(size_t));
+ off = (size_t *)HDmalloc(MAX_RANDOM_SEGMENTS * sizeof(size_t));
HDassert(off);
- len = (size_t *)malloc(MAX_RANDOM_SEGMENTS * sizeof(size_t));
+ len = (size_t *)HDmalloc(MAX_RANDOM_SEGMENTS * sizeof(size_t));
HDassert(len);
/* Randomly choose lengths of segments */
diff --git a/test/big.c b/test/big.c
index 7465e47..db03c99 100644
--- a/test/big.c
+++ b/test/big.c
@@ -76,8 +76,6 @@
* NOFILE stands for "no file" to be tested.
*/
typedef enum fsizes_t { SFILE, LFILE, XLFILE, HUGEFILE, NOFILE} fsizes_t;
-/* Lists of vfd to test */
-typedef enum vfd_t { SEC2_VFD, STDIO_VFD, FAMILY_VFD } vfd_t;
fsizes_t file_size= NOFILE;
const char *FILENAME[] = {
@@ -91,9 +89,11 @@ int sparse_support=0; /* sparse file supported, default false */
int have_space=0; /* enough space for huge file test, default false */
hsize_t family_size_def=FAMILY_SIZE; /* default family file size */
-/* Protocols */
+/* Prototypes */
static void usage(void);
-int testvfd(vfd_t vfd);
+static int test_sec2(hid_t fapl);
+static int test_stdio(hid_t fapl);
+static int test_family(hid_t fapl);
/* Array used to record all addresses at which data has been written */
/* so far. Used to prevent overlapping writes. */
@@ -207,66 +207,55 @@ is_sparse(void)
*-------------------------------------------------------------------------
*/
static fsizes_t
-supports_big(vfd_t vfd)
+supports_big(void)
{
int fd = -1;
fsizes_t fsize = NOFILE;
- switch (vfd){
- case FAMILY_VFD:
- case SEC2_VFD:
- case STDIO_VFD:
- if ((fd=HDopen("y.h5", O_RDWR|O_TRUNC|O_CREAT, 0666)) < 0)
- goto error;
-
- /* Write a few byte at the beginning */
- if (5!=HDwrite(fd, "hello", (size_t)5))
- goto quit;
- fsize = SFILE;
-
- /* Write a few bytes at 2GB */
- if (HDlseek(fd, 2*GB, SEEK_SET)!=2*GB)
- goto quit;
- if (5!=HDwrite(fd, "hello", (size_t)5))
- goto quit;
- fsize = LFILE;
-
- /* Write a few bytes at 4GB */
- if (HDlseek(fd, 4*GB, SEEK_SET) != 4*GB)
- goto quit;
- if (5!=HDwrite(fd, "hello", (size_t)5))
- goto quit;
- fsize = XLFILE;
-
- /* If this supports sparse_file, write a few bytes at 32GB */
- if (!sparse_support)
- goto quit;
- if (HDlseek(fd, 32*GB, SEEK_SET) != 32*GB)
- goto quit;
- if (5!=HDwrite(fd, "hello", (size_t)5))
- goto quit;
- fsize = HUGEFILE;
-
- break;
- default:
- /* unknown or unsupported VFD */
+ if((fd=HDopen("y.h5", O_RDWR|O_TRUNC|O_CREAT, 0666)) < 0)
goto error;
- break;
- }
+
+ /* Write a few byte at the beginning */
+ if(5!=HDwrite(fd, "hello", (size_t)5))
+ goto quit;
+ fsize = SFILE;
+
+ /* Write a few bytes at 2GB */
+ if(HDlseek(fd, 2*GB, SEEK_SET)!=2*GB)
+ goto quit;
+ if(5!=HDwrite(fd, "hello", (size_t)5))
+ goto quit;
+ fsize = LFILE;
+
+ /* Write a few bytes at 4GB */
+ if(HDlseek(fd, 4*GB, SEEK_SET) != 4*GB)
+ goto quit;
+ if(5!=HDwrite(fd, "hello", (size_t)5))
+ goto quit;
+ fsize = XLFILE;
+
+ /* If this supports sparse_file, write a few bytes at 32GB */
+ if(!sparse_support)
+ goto quit;
+ if(HDlseek(fd, 32*GB, SEEK_SET) != 32*GB)
+ goto quit;
+ if(5!=HDwrite(fd, "hello", (size_t)5))
+ goto quit;
+ fsize = HUGEFILE;
quit:
- if (HDclose(fd) < 0)
+ if(HDclose(fd) < 0)
goto error;
- if (HDremove("y.h5") < 0)
+ if(HDremove("y.h5") < 0)
goto error;
- return(fsize);
+ return fsize;
error:
- if (fd >= 0){
+ if(fd >= 0){
HDclose(fd);
HDremove("y.h5");
}
- return (fsize);
+ return fsize;
}
@@ -301,11 +290,11 @@ enough_room(hid_t fapl)
/* Get file name template */
HDassert(H5FD_FAMILY==H5Pget_driver(fapl));
- h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
+ h5_fixname(FILENAME[0], fapl, filename, sizeof(filename));
/* Create files */
for (i=0; i<NELMTS(fd); i++) {
- HDsnprintf(name, sizeof name, filename, i);
+ HDsnprintf(name, sizeof(name), filename, i);
if ((fd[i]=HDopen(name, O_RDWR|O_CREAT|O_TRUNC, 0666)) < 0) {
goto done;
}
@@ -320,7 +309,7 @@ enough_room(hid_t fapl)
done:
for (i=0; i<NELMTS(fd) && fd[i]>=0; i++) {
- HDsnprintf(name, sizeof name, filename, i);
+ HDsnprintf(name, sizeof(name), filename, i);
if(HDclose(fd[i]) < 0)
ret_value=0;
HDremove(name);
@@ -603,123 +592,138 @@ usage(void)
, (hsize_t)FAMILY_SIZE);
}
-
-
-/* Flush stdout at the end of this test routine to ensure later output to */
-/* stderr will not come out before it.*/
-int testvfd(vfd_t vfd)
+static int
+test_sec2(hid_t fapl)
{
- hid_t fapl=-1;
char filename[1024];
fsizes_t testsize;
+ testsize = supports_big();
+ if(testsize == NOFILE) {
+ HDfprintf(stdout, "Test for sec2 is skipped because file system does not support big files.\n");
+ goto quit;
+ }
+ /* Test big file with the SEC2 driver */
+ HDputs("Testing big file with the SEC2 Driver ");
- switch(vfd){
- case FAMILY_VFD:
- /* Test huge file with the family driver */
- HDputs("Testing big file with the Family Driver ");
- if ((fapl=H5Pcreate(H5P_FILE_ACCESS)) < 0)
- goto error;
+ h5_fixname(FILENAME[1], fapl, filename, sizeof filename);
- if (H5Pset_fapl_family(fapl, family_size_def, H5P_DEFAULT) < 0)
- goto error;
+ if(writer(filename, fapl, testsize, WRT_N))
+ goto error;
+ if(reader(filename, fapl))
+ goto error;
- if (cflag){
- /*
- * We shouldn't run this test if the file system doesn't support holes
- * because we would generate multi-gigabyte files.
- */
- HDputs("Checking if file system is adequate for this test...");
- if (sizeof(long long)<8 || 0==GB8LL) {
- HDputs("Test skipped because sizeof(long long) is too small. This");
- HDputs("hardware apparently doesn't support 64-bit integer types.");
- usage();
- goto quit;
- }
- if (!sparse_support) {
- HDputs("Test skipped because file system does not support holes.");
- usage();
- goto quit;
- }
- if (!enough_room(fapl)) {
- HDputs("Test skipped because of quota (file size or num open files).");
- usage();
- goto quit;
- }
- }
+ HDputs("Test passed with the SEC2 Driver.");
- /* Do the test with the Family Driver */
- h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
+quit:
+ /* End with normal return code */
+ /* Clean up the test file */
+ if(h5_cleanup(FILENAME, fapl))
+ HDremove(DNAME);
+ return 0;
- if (writer(filename, fapl, HUGEFILE, WRT_N)) goto error;
- if (reader(filename, fapl)) goto error;
+error:
+ HDputs("*** TEST FAILED ***");
+ return 1;
+} /* end test_sec2() */
- HDputs("Test passed with the Family Driver.");
- break;
+static int
+test_stdio(hid_t fapl)
+{
+ char filename[1024];
+ fsizes_t testsize;
- case SEC2_VFD:
- testsize = supports_big(SEC2_VFD);
- if (testsize == NOFILE) {
- HDfprintf(stdout, "Test for sec2 is skipped because file system does not support big files.\n");
- goto quit;
- }
- /* Test big file with the SEC2 driver */
- HDputs("Testing big file with the SEC2 Driver ");
+ testsize = supports_big();
+ if(testsize == NOFILE) {
+ HDfprintf(stdout, "Test for stdio is skipped because file system does not support big files.\n");
+ goto quit;
+ }
+ HDputs("\nTesting big file with the STDIO Driver ");
- if ((fapl=H5Pcreate(H5P_FILE_ACCESS)) < 0)
- goto error;
- if(H5Pset_fapl_sec2(fapl) < 0)
- goto error;
+ h5_fixname(FILENAME[2], fapl, filename, sizeof filename);
- h5_fixname(FILENAME[1], fapl, filename, sizeof filename);
+ if(writer(filename, fapl, testsize, WRT_N))
+ goto error;
+ if(reader(filename, fapl))
+ goto error;
+ HDputs("Test passed with the STDIO Driver.");
- if (writer(filename, fapl, testsize, WRT_N)) goto error;
- if (reader(filename, fapl)) goto error;
+ /* Flush stdout at the end of this test routine to ensure later
+ * output to stderr will not come out before it.
+ */
- HDputs("Test passed with the SEC2 Driver.");
- break;
+quit:
+ /* End with normal return code */
+ /* Clean up the test file */
+ if(h5_cleanup(FILENAME, fapl))
+ HDremove(DNAME);
+ HDfflush(stdout);
+ return 0;
+
+error:
+ HDputs("*** TEST FAILED ***");
+ HDfflush(stdout);
+ return 1;
+} /* end test_stdio() */
- case STDIO_VFD:
- testsize = supports_big(STDIO_VFD);
- if (testsize == NOFILE) {
- HDfprintf(stdout, "Test for stdio is skipped because file system does not support big files.\n");
+static int
+test_family(hid_t fapl)
+{
+ char filename[1024];
+
+ /* Test huge file with the family driver */
+ HDputs("Testing big file with the Family Driver ");
+ if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0)
+ goto error;
+
+ if(H5Pset_fapl_family(fapl, family_size_def, H5P_DEFAULT) < 0)
+ goto error;
+
+ if(cflag){
+ /*
+ * We shouldn't run this test if the file system doesn't support holes
+ * because we would generate multi-gigabyte files.
+ */
+ HDputs("Checking if file system is adequate for this test...");
+ if(sizeof(long long) < 8 || 0 == GB8LL) {
+ HDputs("Test skipped because sizeof(long long) is too small. This");
+ HDputs("hardware apparently doesn't support 64-bit integer types.");
+ usage();
goto quit;
}
- HDputs("\nTesting big file with the STDIO Driver ");
-
- if ((fapl=H5Pcreate(H5P_FILE_ACCESS)) < 0)
- goto error;
- if(H5Pset_fapl_stdio(fapl) < 0)
- goto error;
+ if(!sparse_support) {
+ HDputs("Test skipped because file system does not support holes.");
+ usage();
+ goto quit;
+ }
+ if(!enough_room(fapl)) {
+ HDputs("Test skipped because of quota (file size or num open files).");
+ usage();
+ goto quit;
+ }
+ }
- h5_fixname(FILENAME[2], fapl, filename, sizeof filename);
+ /* Do the test with the Family Driver */
+ h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
- if (writer(filename, fapl, testsize, WRT_N)) goto error;
- if (reader(filename, fapl)) goto error;
- HDputs("Test passed with the STDIO Driver.");
- break;
+ if(writer(filename, fapl, HUGEFILE, WRT_N))
+ goto error;
+ if(reader(filename, fapl))
+ goto error;
- default:
- HDputs("Unsupprted VFD");
- usage();
- goto error;;
- } /* end of switch (vfd) */
+ HDputs("Test passed with the Family Driver.");
quit:
/* End with normal return code */
/* Clean up the test file */
- if (h5_cleanup(FILENAME, fapl)) HDremove(DNAME);
- HDfflush(stdout);
+ if(h5_cleanup(FILENAME, fapl))
+ HDremove(DNAME);
return 0;
-
error:
- if (fapl>=0) H5Pclose(fapl);
HDputs("*** TEST FAILED ***");
- HDfflush(stdout);
return 1;
-}
-
+} /* end test_family() */
/*-------------------------------------------------------------------------
@@ -749,6 +753,8 @@ int
main (int ac, char **av)
{
unsigned long seed = 0; /* Random # seed */
+ hid_t fapl = -1;
+ hid_t driver = -1;
/* parameters setup */
@@ -779,11 +785,16 @@ main (int ac, char **av)
}
}
+ /* check VFD to see if this is one we test */
+ if((fapl = h5_fileaccess()) < 0)
+ goto error;
+ if((driver = H5Pget_driver(fapl)) < 0)
+ goto error;
+
/* check sparse file support unless cflag is not set. */
- if (cflag)
+ if(cflag)
sparse_support = is_sparse();
-
/* Choose random # seed */
seed = (unsigned long)HDtime(NULL);
#ifdef QAK
@@ -792,19 +803,30 @@ main (int ac, char **av)
#endif /* QAK */
HDsrandom(seed);
- /*=================================================*/
- if (testvfd(FAMILY_VFD) != 0)
- goto error;
- if (testvfd(SEC2_VFD) != 0)
- goto error;
- if (testvfd(STDIO_VFD) != 0)
- goto error;
+ /* run VFD-specific test */
+ if(H5FD_SEC2 == driver) {
+ if(test_sec2(fapl) != 0)
+ goto error;
+ }
+ else if(H5FD_STDIO == driver) {
+ if(test_stdio(fapl) != 0)
+ goto error;
+ }
+ else if(H5FD_FAMILY == driver) {
+ if(test_family(fapl) != 0)
+ goto error;
+ }
+ else
+ HDputs("This VFD is not supported");
/* End with normal exit code */
+ /* fapls are cleaned up in the vfd test code */
return 0;
error:
HDputs("*** TEST FAILED ***");
+ if(fapl > 0)
+ H5Pclose(fapl);
return 1;
}
diff --git a/test/cmpd_dset.c b/test/cmpd_dset.c
index 433c488..b3d17dc 100644
--- a/test/cmpd_dset.c
+++ b/test/cmpd_dset.c
@@ -614,7 +614,7 @@ test_compound (char *filename, hid_t fapl)
if ((s8_m_sid = H5Screate_simple (2, h_size, NULL)) < 0) goto error;
/* Read the dataset */
- s8 = (s1_t *) calloc ((size_t)(h_size[0]*h_size[1]), sizeof(s1_t));
+ s8 = (s1_t *) HDcalloc ((size_t)(h_size[0]*h_size[1]), sizeof(s1_t));
assert (s8);
if (H5Dread (dataset, s1_tid, s8_m_sid, s8_f_sid, H5P_DEFAULT, s8) < 0) {
goto error;
@@ -641,7 +641,7 @@ test_compound (char *filename, hid_t fapl)
}
}
- free (s8);
+ HDfree (s8);
s8 = NULL;
PASSED();
@@ -781,7 +781,7 @@ test_compound (char *filename, hid_t fapl)
f_offset[1] = NY/3;
h_size[0] = 2*NX/3 - f_offset[0];
h_size[1] = 2*NY/3 - f_offset[1];
- s11 = (s4_t *) malloc ((size_t)h_size[0]*(size_t)h_size[1]*sizeof(s4_t));
+ s11 = (s4_t *) HDmalloc ((size_t)h_size[0]*(size_t)h_size[1]*sizeof(s4_t));
assert (s11);
/* Initialize */
@@ -793,7 +793,7 @@ test_compound (char *filename, hid_t fapl)
if (H5Dwrite (dataset, s4_tid, s8_m_sid, s8_f_sid, PRESERVE, s11) < 0) {
goto error;
}
- free (s11);
+ HDfree (s11);
s11=NULL;
/* Read the whole thing */
@@ -1380,12 +1380,12 @@ test_hdf5_src_subset(char *filename, hid_t fapl)
goto error;
/* Allocate space and initialize data */
- orig = (unsigned char*)malloc(NX * NY * sizeof(stype1));
+ orig = (unsigned char*)HDmalloc(NX * NY * sizeof(stype1));
initialize_stype1(orig, (size_t)NX*NY);
- rbuf = (unsigned char*)malloc(NX * NY * sizeof(stype2));
+ rbuf = (unsigned char*)HDmalloc(NX * NY * sizeof(stype2));
- rew_buf = (unsigned char*)malloc(NX * NY * sizeof(stype3));
+ rew_buf = (unsigned char*)HDmalloc(NX * NY * sizeof(stype3));
initialize_stype3(rew_buf, (size_t)NX*NY);
@@ -1515,9 +1515,9 @@ test_hdf5_src_subset(char *filename, hid_t fapl)
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
- free(orig);
- free(rbuf);
- free(rew_buf);
+ HDfree(orig);
+ HDfree(rbuf);
+ HDfree(rew_buf);
PASSED();
return 0;
@@ -1585,12 +1585,12 @@ test_hdf5_dst_subset(char *filename, hid_t fapl)
goto error;
/* Allocate space and initialize data */
- orig = (unsigned char*)malloc(NX * NY * sizeof(stype2));
+ orig = (unsigned char*)HDmalloc(NX * NY * sizeof(stype2));
initialize_stype2(orig, (size_t)NX*NY);
- rbuf = (unsigned char*)malloc(NX * NY * sizeof(stype1));
+ rbuf = (unsigned char*)HDmalloc(NX * NY * sizeof(stype1));
- rew_buf = (unsigned char*)malloc(NX * NY * sizeof(stype4));
+ rew_buf = (unsigned char*)HDmalloc(NX * NY * sizeof(stype4));
initialize_stype4(rew_buf, (size_t)NX*NY);
/* Create dataset creation property list */
@@ -1719,9 +1719,9 @@ test_hdf5_dst_subset(char *filename, hid_t fapl)
if(H5Fclose(file) < 0)
goto error;
- free(orig);
- free(rbuf);
- free(rew_buf);
+ HDfree(orig);
+ HDfree(rbuf);
+ HDfree(rew_buf);
PASSED();
return 0;
diff --git a/test/dsets.c b/test/dsets.c
index cec8f9a..5f44ce2 100644
--- a/test/dsets.c
+++ b/test/dsets.c
@@ -477,7 +477,7 @@ test_simple_io(const char *env_h5_drvr, hid_t fapl)
HDclose(f);
- free (tconv_buf);
+ HDfree (tconv_buf);
PASSED();
} /* end if */
else {
@@ -1848,13 +1848,13 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl, int if_fletcher32,
if(H5Dclose (dataset) < 0) goto error;
if(H5Sclose (sid) < 0) goto error;
if(H5Pclose (dxpl) < 0) goto error;
- free (tconv_buf);
+ HDfree (tconv_buf);
return(0);
error:
if(tconv_buf)
- free (tconv_buf);
+ HDfree (tconv_buf);
return -1;
}
@@ -4021,7 +4021,7 @@ test_nbit_int_size(hid_t file)
*/
for (i=0; i < DSET_DIM1; i++)
for (j=0; j < DSET_DIM2; j++)
- orig_data[i][j] = rand() % (int)pow(2, precision-1) <<offset;
+ orig_data[i][j] = rand() % (int)pow((double)2, (double)(precision-1)) << offset;
/* Describe the dataspace. */
@@ -6533,7 +6533,7 @@ auxread_fdata(hid_t fid, const char *name)
if(H5Dclose(dset_id) < 0)
goto error;
if(buf)
- free(buf);
+ HDfree(buf);
return 0;
@@ -6545,7 +6545,7 @@ error:
H5Tclose(ftype_id);
H5Tclose(mtype_id);
if(buf)
- free(buf);
+ HDfree(buf);
} H5E_END_TRY;
return -1;
}
@@ -7811,13 +7811,15 @@ test_chunk_expand(hid_t fapl)
H5D_alloc_time_t alloc_time; /* Storage allocation time */
unsigned write_elem, read_elem; /* Element written/read */
unsigned u; /* Local index variable */
+ size_t size; /* Size of type */
herr_t status; /* Generic return value */
TESTING("filter expanding chunks too much");
h5_fixname(FILENAME[10], fapl, filename, sizeof filename);
- if(sizeof(size_t) <= 4) {
+ size = sizeof(size_t);
+ if(size <= 4) {
SKIPPED();
puts(" Current machine can't test for error");
} /* end if */
@@ -8287,7 +8289,7 @@ test_scatter(void)
scatter_info.size = 8;
/* Scatter data */
- if(H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
+ if(H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
TEST_ERROR
/* Verify data */
@@ -8327,7 +8329,7 @@ test_scatter(void)
scatter_info.size = 12;
/* Scatter data */
- if(H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
+ if(H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
TEST_ERROR
/* Verify data */
@@ -8385,7 +8387,7 @@ test_scatter(void)
scatter_info.size = 36;
/* Scatter data */
- if(H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
+ if(H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
TEST_ERROR
/* Verify data */
@@ -8441,7 +8443,7 @@ test_scatter(void)
scatter_info.size = 16;
/* Scatter data */
- if(H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
+ if(H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
TEST_ERROR
/* Verify data */
@@ -8475,7 +8477,7 @@ test_scatter(void)
scatter_info.size = 4;
/* Scatter data */
- if(H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
+ if(H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
TEST_ERROR
/* Verify data */
@@ -8952,7 +8954,7 @@ test_scatter_error(void)
scatter_info.src_buf = src_buf;
scatter_info.block = sizeof(src_buf)/sizeof(src_buf[0]);
scatter_info.size = 6;
- if(H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
+ if(H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf) < 0)
TEST_ERROR
@@ -8969,21 +8971,21 @@ test_scatter_error(void)
scatter_info.src_buf = src_buf;
scatter_info.size = 6;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_cb, &scatter_info, sid, sid, dst_buf);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, sid, sid, dst_buf);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
scatter_info.src_buf = src_buf;
scatter_info.size = 6;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, H5T_NATIVE_INT, dst_buf);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, H5T_NATIVE_INT, dst_buf);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
scatter_info.src_buf = src_buf;
scatter_info.size = 6;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, NULL);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, NULL);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
@@ -8994,7 +8996,7 @@ test_scatter_error(void)
scatter_info.src_buf = src_buf;
scatter_info.size = 7;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_cb, &scatter_info, H5T_NATIVE_INT, sid, dst_buf);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
@@ -9005,7 +9007,7 @@ test_scatter_error(void)
scatter_info.src_buf = src_buf;
scatter_info.size = 6;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_error_cb_fail, &scatter_info, H5T_NATIVE_INT, sid, dst_buf);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_fail, &scatter_info, H5T_NATIVE_INT, sid, dst_buf);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
@@ -9016,7 +9018,7 @@ test_scatter_error(void)
scatter_info.src_buf = src_buf;
scatter_info.size = 6;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_error_cb_null, &scatter_info, H5T_NATIVE_INT, sid, dst_buf);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_null, &scatter_info, H5T_NATIVE_INT, sid, dst_buf);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
@@ -9026,7 +9028,7 @@ test_scatter_error(void)
*/
cb_unalign_nbytes = 0;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
@@ -9037,13 +9039,13 @@ test_scatter_error(void)
*/
cb_unalign_nbytes = sizeof(src_buf[0]) - 1;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
cb_unalign_nbytes = sizeof(src_buf[0]) + 1;
H5E_BEGIN_TRY {
- ret = H5Dscatter(scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf);
+ ret = H5Dscatter((H5D_scatter_func_t)scatter_error_cb_unalign, &cb_unalign_nbytes, H5T_NATIVE_INT, sid, dst_buf);
} H5E_END_TRY
if(ret >= 0) TEST_ERROR
diff --git a/test/dt_arith.c b/test/dt_arith.c
index 9f003a6..c3692d0 100644
--- a/test/dt_arith.c
+++ b/test/dt_arith.c
@@ -296,8 +296,8 @@ static int without_hardware_g = 0;
HDmemset(BUF, 0, NELMTS*MAX(SRC_SIZE, DST_SIZE)); \
HDmemset(SAVED, 0, NELMTS*MAX(SRC_SIZE, DST_SIZE)); \
\
- tmp1 = (unsigned char*)calloc((size_t)1, (size_t)SRC_SIZE); \
- tmp2 = (unsigned char*)calloc((size_t)1, (size_t)SRC_SIZE); \
+ tmp1 = (unsigned char*)HDcalloc((size_t)1, (size_t)SRC_SIZE); \
+ tmp2 = (unsigned char*)HDcalloc((size_t)1, (size_t)SRC_SIZE); \
\
buf_p = BUF; \
saved_p = SAVED; \
@@ -325,8 +325,8 @@ static int without_hardware_g = 0;
buf_p += SRC_SIZE; \
saved_p += SRC_SIZE; \
} \
- free(tmp1); \
- free(tmp2); \
+ HDfree(tmp1); \
+ HDfree(tmp2); \
}
/* Allocate buffer and initialize it with floating-point special values, +/-0, +/-infinity,
@@ -348,7 +348,7 @@ static int without_hardware_g = 0;
SAVED = (unsigned char*)aligned_malloc( NELMTS*MAX(SRC_SIZE, DST_SIZE)); \
HDmemset(BUF, 0, NELMTS*MAX(SRC_SIZE, DST_SIZE)); \
HDmemset(SAVED, 0, NELMTS*MAX(SRC_SIZE, DST_SIZE)); \
- value = (unsigned char*)calloc(SRC_SIZE, sizeof(unsigned char)); \
+ value = (unsigned char*)HDcalloc(SRC_SIZE, sizeof(unsigned char)); \
\
buf_p = BUF; \
\
@@ -391,7 +391,7 @@ static int without_hardware_g = 0;
} \
\
HDmemcpy(SAVED, BUF, NELMTS*MAX(SRC_SIZE, DST_SIZE)); \
- free(value); \
+ HDfree(value); \
}
void some_dummy_func(float x);
@@ -751,8 +751,8 @@ static int test_particular_fp_integer(void)
endian = H5Tget_order(H5T_NATIVE_DOUBLE);
src_size1 = H5Tget_size(H5T_NATIVE_DOUBLE);
dst_size1 = H5Tget_size(H5T_NATIVE_SCHAR);
- buf1 = (unsigned char*)calloc((size_t)1, (size_t)MAX(src_size1, dst_size1));
- saved_buf1 = (unsigned char*)calloc((size_t)1, (size_t)MAX(src_size1, dst_size1));
+ buf1 = (unsigned char*)HDcalloc((size_t)1, (size_t)MAX(src_size1, dst_size1));
+ saved_buf1 = (unsigned char*)HDcalloc((size_t)1, (size_t)MAX(src_size1, dst_size1));
memcpy(buf1, &src_d, src_size1);
memcpy(saved_buf1, &src_d, src_size1);
@@ -801,8 +801,8 @@ static int test_particular_fp_integer(void)
/* Test conversion from float (the value is INT_MAX) to int. */
src_size2 = H5Tget_size(H5T_NATIVE_FLOAT);
dst_size2 = H5Tget_size(H5T_NATIVE_INT);
- buf2 = (unsigned char*)calloc((size_t)1, (size_t)MAX(src_size2, dst_size2));
- saved_buf2 = (unsigned char*)calloc((size_t)1, (size_t)MAX(src_size2, dst_size2));
+ buf2 = (unsigned char*)HDcalloc((size_t)1, (size_t)MAX(src_size2, dst_size2));
+ saved_buf2 = (unsigned char*)HDcalloc((size_t)1, (size_t)MAX(src_size2, dst_size2));
HDmemcpy(buf2, &src_f, src_size2);
HDmemcpy(saved_buf2, &src_f, src_size2);
@@ -852,13 +852,13 @@ static int test_particular_fp_integer(void)
}
if(buf1)
- free(buf1);
+ HDfree(buf1);
if(buf2)
- free(buf2);
+ HDfree(buf2);
if(saved_buf1)
- free(saved_buf1);
+ HDfree(saved_buf1);
if(saved_buf2)
- free(saved_buf2);
+ HDfree(saved_buf2);
PASSED();
return 0;
@@ -869,13 +869,13 @@ error:
H5Pclose(dxpl_id);
} H5E_END_TRY;
if(buf1)
- free(buf1);
+ HDfree(buf1);
if(buf2)
- free(buf2);
+ HDfree(buf2);
if(saved_buf1)
- free(saved_buf1);
+ HDfree(saved_buf1);
if(saved_buf2)
- free(saved_buf2);
+ HDfree(saved_buf2);
reset_hdf5(); /*print statistics*/
return MAX((int)fails_this_test, 1);
@@ -1044,11 +1044,11 @@ test_derived_flt(void)
*/
src_size = H5Tget_size(H5T_NATIVE_INT);
endian = H5Tget_order(H5T_NATIVE_INT);
- buf = (unsigned char*)malloc(nelmts * (MAX(src_size, size)));
- saved_buf = (unsigned char*)malloc(nelmts * src_size);
+ buf = (unsigned char*)HDmalloc(nelmts * (MAX(src_size, size)));
+ saved_buf = (unsigned char*)HDmalloc(nelmts * src_size);
HDmemset(buf, 0, nelmts * MAX(src_size, size));
HDmemset(saved_buf, 0, nelmts * src_size);
- aligned = (int*)calloc((size_t)1, src_size);
+ aligned = (int*)HDcalloc((size_t)1, src_size);
for(i = 0; i < nelmts * src_size; i++)
buf[i] = saved_buf[i] = HDrand();
@@ -1105,9 +1105,9 @@ test_derived_flt(void)
}
fails_this_test = 0;
- free(buf);
- free(saved_buf);
- free(aligned);
+ HDfree(buf);
+ HDfree(saved_buf);
+ HDfree(aligned);
buf = NULL;
saved_buf = NULL;
aligned = NULL;
@@ -1204,8 +1204,8 @@ test_derived_flt(void)
src_size = H5Tget_size(tid2);
dst_size = H5Tget_size(tid1);
endian = H5Tget_order(tid2);
- buf = (unsigned char*)malloc(nelmts*(MAX(src_size, dst_size)));
- saved_buf = (unsigned char*)malloc(nelmts*src_size);
+ buf = (unsigned char*)HDmalloc(nelmts*(MAX(src_size, dst_size)));
+ saved_buf = (unsigned char*)HDmalloc(nelmts*src_size);
HDmemset(buf, 0, nelmts*MAX(src_size, dst_size));
HDmemset(saved_buf, 0, nelmts*src_size);
@@ -1268,8 +1268,8 @@ test_derived_flt(void)
}
}
- if (buf) free(buf);
- if (saved_buf) free(saved_buf);
+ if (buf) HDfree(buf);
+ if (saved_buf) HDfree(saved_buf);
if(H5Tclose(tid1) < 0) {
H5_FAILED();
@@ -1301,9 +1301,9 @@ test_derived_flt(void)
return 0;
error:
- if (buf) free(buf);
- if (saved_buf) free(saved_buf);
- if (aligned) free(aligned);
+ if (buf) HDfree(buf);
+ if (saved_buf) HDfree(saved_buf);
+ if (aligned) HDfree(aligned);
HDfflush(stdout);
H5E_BEGIN_TRY {
H5Tclose (tid1);
@@ -1594,8 +1594,8 @@ test_derived_integer(void)
goto error;
} /* end if */
- free(buf);
- free(saved_buf);
+ HDfree(buf);
+ HDfree(saved_buf);
PASSED();
reset_hdf5(); /*print statistics*/
@@ -1603,8 +1603,8 @@ test_derived_integer(void)
return 0;
error:
- if (buf) free(buf);
- if (saved_buf) free(saved_buf);
+ if (buf) HDfree(buf);
+ if (saved_buf) HDfree(saved_buf);
HDfflush(stdout);
H5E_BEGIN_TRY {
H5Tclose (tid1);
@@ -2781,7 +2781,7 @@ my_isinf(int endian, unsigned char *val, size_t size,
int retval = 0;
size_t i;
- bits = (unsigned char*)calloc((size_t)1, size);
+ bits = (unsigned char*)HDcalloc((size_t)1, size);
#ifdef H5_VMS
if(H5T_ORDER_VAX==endian) {
@@ -2805,7 +2805,7 @@ my_isinf(int endian, unsigned char *val, size_t size,
H5T__bit_find(bits, epos, esize, H5T_BIT_LSB, 0) < 0)
retval = 1;
- free(bits);
+ HDfree(bits);
return retval;
}
diff --git a/test/dtypes.c b/test/dtypes.c
index de64713..5826097 100644
--- a/test/dtypes.c
+++ b/test/dtypes.c
@@ -697,9 +697,9 @@ test_compound_2(void)
FAIL_STACK_ERROR
/* Sizes should be the same, but be careful just in case */
- buf = (unsigned char*)malloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
- bkg = (unsigned char*)malloc(nelmts * sizeof(struct dt));
- orig = (unsigned char*)malloc(nelmts * sizeof(struct st));
+ buf = (unsigned char*)HDmalloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
+ bkg = (unsigned char*)HDmalloc(nelmts * sizeof(struct dt));
+ orig = (unsigned char*)HDmalloc(nelmts * sizeof(struct st));
for (i=0; i<(int)nelmts; i++) {
s_ptr = ((struct st*)orig) + i;
s_ptr->a = i*8+0;
@@ -762,9 +762,9 @@ test_compound_2(void)
}
/* Release resources */
- free(buf);
- free(bkg);
- free(orig);
+ HDfree(buf);
+ HDfree(bkg);
+ HDfree(orig);
CHECK_NMEMBS(nmembs , st, dt)
PASSED();
@@ -818,9 +818,9 @@ test_compound_3(void)
FAIL_STACK_ERROR
/* Initialize */
- buf = (unsigned char*)malloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
- bkg = (unsigned char*)malloc(nelmts * sizeof(struct dt));
- orig = (unsigned char*)malloc(nelmts * sizeof(struct st));
+ buf = (unsigned char*)HDmalloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
+ bkg = (unsigned char*)HDmalloc(nelmts * sizeof(struct dt));
+ orig = (unsigned char*)HDmalloc(nelmts * sizeof(struct st));
for (i=0; i<(int)nelmts; i++) {
s_ptr = ((struct st*)orig) + i;
s_ptr->a = i*8+0;
@@ -880,9 +880,9 @@ test_compound_3(void)
}
/* Release resources */
- free(buf);
- free(bkg);
- free(orig);
+ HDfree(buf);
+ HDfree(bkg);
+ HDfree(orig);
CHECK_NMEMBS(nmembs, st, dt)
PASSED();
@@ -940,9 +940,9 @@ test_compound_4(void)
FAIL_STACK_ERROR
/* Sizes should be the same, but be careful just in case */
- buf = (unsigned char*)malloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
- bkg = (unsigned char*)malloc(nelmts * sizeof(struct dt));
- orig = (unsigned char*)malloc(nelmts * sizeof(struct st));
+ buf = (unsigned char*)HDmalloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
+ bkg = (unsigned char*)HDmalloc(nelmts * sizeof(struct dt));
+ orig = (unsigned char*)HDmalloc(nelmts * sizeof(struct st));
for (i=0; i<(int)nelmts; i++) {
s_ptr = ((struct st*)orig) + i;
s_ptr->a = i*8+0;
@@ -1006,9 +1006,9 @@ test_compound_4(void)
}
/* Release resources */
- free(buf);
- free(bkg);
- free(orig);
+ HDfree(buf);
+ HDfree(bkg);
+ HDfree(orig);
CHECK_NMEMBS(nmembs, st, dt)
PASSED();
@@ -1175,9 +1175,9 @@ test_compound_6(void)
FAIL_STACK_ERROR
/* Sizes should be the same, but be careful just in case */
- buf = (unsigned char*)malloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
- bkg = (unsigned char*)malloc(nelmts * sizeof(struct dt));
- orig = (unsigned char*)malloc(nelmts * sizeof(struct st));
+ buf = (unsigned char*)HDmalloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
+ bkg = (unsigned char*)HDmalloc(nelmts * sizeof(struct dt));
+ orig = (unsigned char*)HDmalloc(nelmts * sizeof(struct st));
for (i=0; i<(int)nelmts; i++) {
s_ptr = ((struct st*)orig) + i;
s_ptr->b = (i*8+1) & 0x7fff;
@@ -1223,9 +1223,9 @@ test_compound_6(void)
}
/* Release resources */
- free(buf);
- free(bkg);
- free(orig);
+ HDfree(buf);
+ HDfree(bkg);
+ HDfree(orig);
CHECK_NMEMBS(nmembs, st, dt)
PASSED();
@@ -1790,7 +1790,7 @@ test_compound_9(void)
} /* end if */
rdata.i1 = rdata.i2 = 0;
- if(rdata.str) free(rdata.str);
+ if(rdata.str) HDfree(rdata.str);
if(H5Dread(dset_id, dup_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, &rdata) < 0) {
H5_FAILED(); AT();
@@ -1804,7 +1804,7 @@ test_compound_9(void)
goto error;
} /* end if */
- if(rdata.str) free(rdata.str);
+ if(rdata.str) HDfree(rdata.str);
if(H5Dclose(dset_id) < 0)
goto error;
@@ -1983,10 +1983,10 @@ test_compound_10(void)
goto error;
}
- free(t1);
- free(t2);
- free(wdata[i].str);
- free(rdata[i].str);
+ HDfree(t1);
+ HDfree(t2);
+ HDfree(wdata[i].str);
+ HDfree(rdata[i].str);
} /* end for */
if(H5Dclose(dset_id) < 0)
@@ -4547,7 +4547,7 @@ test_conv_enum_2(void)
H5Tenum_insert(dsttype, mname[i], &i);
/* Source data */
- data = (int*)malloc(NTESTELEM*sizeof(int));
+ data = (int*)HDmalloc(NTESTELEM*sizeof(int));
for (i=0; i<NTESTELEM; i++) {
((char*)data)[i*3+2] = (char)(i % 8);
((char*)data)[i*3+0] = 0;
@@ -4569,7 +4569,7 @@ test_conv_enum_2(void)
}
/* Cleanup */
- free(data);
+ HDfree(data);
H5Tclose(srctype);
H5Tclose(dsttype);
H5Tclose(oddsize);
@@ -5387,7 +5387,7 @@ test_encode(void)
printf("Can't close datatype\n");
goto error;
} /* end if */
- free(cmpd_buf);
+ HDfree(cmpd_buf);
cmpd_buf_size = 0;
/* Commit enumeration datatype and close it */
@@ -5406,7 +5406,7 @@ test_encode(void)
printf("Can't close datatype\n");
goto error;
} /* end if */
- free(enum_buf);
+ HDfree(enum_buf);
enum_buf_size = 0;
/* Commit enumeration datatype and close it */
@@ -5425,7 +5425,7 @@ test_encode(void)
printf("Can't close datatype\n");
goto error;
} /* end if */
- free(vlstr_buf);
+ HDfree(vlstr_buf);
vlstr_buf_size = 0;
/* Open the dataytpe for query */
@@ -5543,7 +5543,7 @@ test_encode(void)
printf("Can't decode VL string type\n");
goto error;
} /* end if */
- free(vlstr_buf);
+ HDfree(vlstr_buf);
/* Verify that the datatype was copied exactly */
if(H5Tequal(decoded_tid3, tid3)<=0) {
@@ -5656,8 +5656,8 @@ test_encode(void)
goto error;
} /* end if */
- free(cmpd_buf);
- free(enum_buf);
+ HDfree(cmpd_buf);
+ HDfree(enum_buf);
PASSED();
return 0;
@@ -7062,7 +7062,7 @@ test_utf_ascii_conv(void)
char *ascii_r = NULL;
const char *ascii_w = "bar!";
char *utf8_r = NULL;
-
+ char filename[1024];
char ascii2[4], utf8_2[4];
herr_t status;
@@ -7095,7 +7095,8 @@ test_utf_ascii_conv(void)
FAIL_STACK_ERROR
/* Create a file */
- if((fid = H5Fcreate(FILENAME[10], H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
+ h5_fixname(FILENAME[10], H5P_DEFAULT, filename, sizeof filename);
+ if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
/* Create a scalar dataspace for the dataset */
if((sid = H5Screate(H5S_SCALAR)) < 0) FAIL_STACK_ERROR
diff --git a/test/h5test.c b/test/h5test.c
index 32d78bd..30a3adf 100644
--- a/test/h5test.c
+++ b/test/h5test.c
@@ -751,7 +751,7 @@ h5_set_info_object(void)
/* copy key/value pair into temporary buffer */
len = strcspn(valp, ";");
next = &valp[len];
- key_val = (char *)calloc(1, len + 1);
+ key_val = (char *)HDcalloc(1, len + 1);
/* increment the next pointer past the terminating semicolon */
if (*next == ';')
diff --git a/test/links.c b/test/links.c
index 6aad164..f3414b4 100644
--- a/test/links.c
+++ b/test/links.c
@@ -4001,6 +4001,9 @@ external_set_elink_acc_flags(hid_t fapl, hbool_t new_format)
/* Create a group through the external link using gapl (should succeed) */
if((group = H5Gcreate2(file1, "/ext_link/group", H5P_DEFAULT, H5P_DEFAULT, gapl)) < 0) TEST_ERROR
+ /* Close group */
+ if(H5Gclose(group) < 0) TEST_ERROR
+
/* Unset elink access flags on gapl */
if(H5Pset_elink_acc_flags(gapl, H5F_ACC_DEFAULT) < 0) TEST_ERROR
@@ -4028,8 +4031,7 @@ external_set_elink_acc_flags(hid_t fapl, hbool_t new_format)
} H5E_END_TRY;
if(ret != FAIL) TEST_ERROR
- /* Close file1 and group */
- if(H5Gclose(group) < 0) TEST_ERROR
+ /* Close file1 */
if(H5Fclose(file1) < 0) TEST_ERROR
/* Verify that H5Fcreate and H5Fopen reject H5F_ACC_DEFAULT */
diff --git a/test/ntypes.c b/test/ntypes.c
index 0af3a3f..c52c08f 100644
--- a/test/ntypes.c
+++ b/test/ntypes.c
@@ -2605,7 +2605,7 @@ test_bitfield_dtype(hid_t file)
if((ntype_size = H5Tget_size(native_type)) == 0) TEST_ERROR;
- rbuf = malloc((size_t)nelmts*ntype_size);
+ rbuf = HDmalloc((size_t)nelmts*ntype_size);
/* Read the data and compare them */
if(H5Dread(dataset1, native_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, rbuf) < 0) TEST_ERROR;
@@ -2624,7 +2624,7 @@ test_bitfield_dtype(hid_t file)
if(H5Tclose(dtype) < 0) TEST_ERROR;
if(H5Tclose(native_type) < 0) TEST_ERROR;
if(H5Dclose(dataset1) < 0) TEST_ERROR;
- if(rbuf) free(rbuf);
+ if(rbuf) HDfree(rbuf);
/* Open dataset2 again to check H5Tget_native_type */
if((dataset2 = H5Dopen2(file, DSET2_BITFIELD_NAME, H5P_DEFAULT)) < 0) TEST_ERROR;
diff --git a/test/tarray.c b/test/tarray.c
index 299c74e..e3999bb 100644
--- a/test/tarray.c
+++ b/test/tarray.c
@@ -637,7 +637,7 @@ test_array_compound_atomic(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(HDstrcmp(mname, "i") != 0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname);
- free(mname);
+ HDfree(mname);
/* Check the 1st field's offset */
off = H5Tget_member_offset(tid2, 0);
@@ -656,7 +656,7 @@ test_array_compound_atomic(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(HDstrcmp(mname, "f") != 0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname);
- free(mname);
+ HDfree(mname);
/* Check the 2nd field's offset */
off = H5Tget_member_offset(tid2, 1);
@@ -849,7 +849,7 @@ test_array_compound_array(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(HDstrcmp(mname,"i")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- free(mname);
+ HDfree(mname);
/* Check the 1st field's offset */
off=H5Tget_member_offset(tid2,0);
@@ -868,7 +868,7 @@ test_array_compound_array(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(HDstrcmp(mname,"f")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- free(mname);
+ HDfree(mname);
/* Check the 2nd field's offset */
off=H5Tget_member_offset(tid2,1);
@@ -1041,7 +1041,7 @@ test_array_vlen_atomic(void)
/* Initialize array data to write */
for(i=0; i<SPACE1_DIM1; i++)
for(j=0; j<ARRAY1_DIM1; j++) {
- wdata[i][j].p=malloc((i+j+1)*sizeof(unsigned int));
+ wdata[i][j].p=HDmalloc((i+j+1)*sizeof(unsigned int));
wdata[i][j].len=i+j+1;
for(k=0; k<(i+j+1); k++)
((unsigned int *)wdata[i][j].p)[k]=i*100+j*10+k;
@@ -1252,7 +1252,7 @@ test_array_vlen_array(void)
/* Initialize array data to write */
for(i=0; i<SPACE1_DIM1; i++)
for(j=0; j<ARRAY1_DIM1; j++) {
- wdata[i][j].p=malloc((i+j+1)*(sizeof(unsigned int)*ARRAY1_DIM1));
+ wdata[i][j].p=HDmalloc((i+j+1)*(sizeof(unsigned int)*ARRAY1_DIM1));
wdata[i][j].len=i+j+1;
for(k=0; k<(i+j+1); k++)
for(l=0; l<ARRAY1_DIM1; l++)
@@ -1633,7 +1633,7 @@ test_array_bkg(void)
/* Release memory resources */
/* ------------------------ */
for (i = 0; i < dtsinfo.nsubfields; i++)
- free(dtsinfo.name[i]);
+ HDfree(dtsinfo.name[i]);
/* Release IDs */
@@ -1848,7 +1848,7 @@ test_compat(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(HDstrcmp(mname,"i")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- free(mname);
+ HDfree(mname);
/* Check the 1st field's offset */
off=H5Tget_member_offset(tid1,0);
@@ -1867,7 +1867,7 @@ test_compat(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(HDstrcmp(mname,"f")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- free(mname);
+ HDfree(mname);
/* Check the 2nd field's offset */
off=H5Tget_member_offset(tid1,1);
@@ -1886,7 +1886,7 @@ test_compat(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(HDstrcmp(mname,"l")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- free(mname);
+ HDfree(mname);
/* Check the 3rd field's offset */
off=H5Tget_member_offset(tid1,2);
@@ -1930,7 +1930,7 @@ test_compat(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(mname && HDstrcmp(mname,"i")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- if(mname) free(mname);
+ if(mname) HDfree(mname);
/* Check the 1st field's offset */
off=H5Tget_member_offset(tid1,0);
@@ -1949,7 +1949,7 @@ test_compat(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(mname && HDstrcmp(mname,"f")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- if(mname) free(mname);
+ if(mname) HDfree(mname);
/* Check the 2nd field's offset */
off=H5Tget_member_offset(tid1,1);
@@ -1994,7 +1994,7 @@ test_compat(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(mname && HDstrcmp(mname,"l")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- if(mname) free(mname);
+ if(mname) HDfree(mname);
/* Check the 3rd field's offset */
off=H5Tget_member_offset(tid1,2);
@@ -2039,7 +2039,7 @@ test_compat(void)
CHECK(mname, NULL, "H5Tget_member_name");
if(mname && HDstrcmp(mname,"d")!=0)
TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname);
- if(mname) free(mname);
+ if(mname) HDfree(mname);
/* Check the 4th field's offset */
off=H5Tget_member_offset(tid1,3);
diff --git a/test/tattr.c b/test/tattr.c
index 6556e09..8774e18 100644
--- a/test/tattr.c
+++ b/test/tattr.c
@@ -829,7 +829,7 @@ test_attr_compound_read(hid_t fapl)
HDstrcmp(fieldname, ATTR4_FIELDNAME2) ||
HDstrcmp(fieldname, ATTR4_FIELDNAME3)))
TestErrPrintf("invalid field name for field #%d: %s\n", i, fieldname);
- free(fieldname);
+ HDfree(fieldname);
} /* end for */
offset = H5Tget_member_offset(type, 0);
VERIFY(offset, attr4_field1_off, "H5Tget_member_offset");
diff --git a/test/test_plugin.sh.in b/test/test_plugin.sh.in
index 569e938..b268661 100644
--- a/test/test_plugin.sh.in
+++ b/test/test_plugin.sh.in
@@ -89,5 +89,6 @@ else
fi
# Clean up temporary files/directories and leave
-$RM $PLUGIN_LIBDIR2
+$RM $PLUGIN_LIBDIR1 $PLUGIN_LIBDIR2
+
exit $exit_code
diff --git a/test/tfile.c b/test/tfile.c
index 48d5767..0bb20dd 100644
--- a/test/tfile.c
+++ b/test/tfile.c
@@ -1042,6 +1042,40 @@ test_get_obj_ids(void)
H5Fclose(fid);
HDfree(oid_list);
+
+ /* Reopen the file to check whether H5Fget_obj_count and H5Fget_obj_ids still works
+ * when the file is closed first */
+ fid = H5Fopen(FILE7, H5F_ACC_RDONLY, H5P_DEFAULT);
+ CHECK(fid, FAIL, "H5Fopen");
+
+ /* Open NDSETS datasets under the root group */
+ for(n = 0; n < NDSETS; n++) {
+ sprintf(dname, "dataset%d", n);
+ dset[n] = H5Dopen2(fid, dname, H5P_DEFAULT);
+ CHECK(dset[n], FAIL, "H5Dcreate2");
+ }
+
+ /* Close the file first */
+ H5Fclose(fid);
+
+ /* Get the number of all opened objects */
+ oid_count = H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL);
+ CHECK(oid_count, FAIL, "H5Fget_obj_count");
+ VERIFY(oid_count, NDSETS, "H5Fget_obj_count");
+
+ oid_list = (hid_t *)HDcalloc((size_t)oid_count, sizeof(hid_t));
+ CHECK(oid_list, NULL, "HDcalloc");
+
+ /* Get the list of all opened objects */
+ ret_count = H5Fget_obj_ids(H5F_OBJ_ALL, H5F_OBJ_ALL, (size_t)oid_count, oid_list);
+ CHECK(ret_count, FAIL, "H5Fget_obj_ids");
+ VERIFY(ret_count, NDSETS, "H5Fget_obj_count");
+
+ /* Close all open objects with H5Oclose */
+ for(n = 0; n < oid_count; n++)
+ H5Oclose(oid_list[n]);
+
+ HDfree(oid_list);
}
/****************************************************************
diff --git a/test/tgenprop.c b/test/tgenprop.c
index f304f11..5f8d8f5 100644
--- a/test/tgenprop.c
+++ b/test/tgenprop.c
@@ -88,7 +88,7 @@ test_genprop_basic_class(void)
CHECK_PTR(name, "H5Pget_class_name");
if(HDstrcmp(name,CLASS1_NAME)!=0)
TestErrPrintf("Class names don't match!, name=%s, CLASS1_NAME=%s\n",name,CLASS1_NAME);
- free(name);
+ HDfree(name);
/* Check class parent */
cid2 = H5Pget_class_parent(cid1);
@@ -119,7 +119,7 @@ test_genprop_basic_class(void)
CHECK_PTR(name, "H5Pget_class_name");
if(HDstrcmp(name,CLASS2_NAME)!=0)
TestErrPrintf("Class names don't match!, name=%s, CLASS2_NAME=%s\n",name,CLASS2_NAME);
- free(name);
+ HDfree(name);
/* Check class parent */
cid2 = H5Pget_class_parent(cid1);
@@ -1818,7 +1818,7 @@ test_genprop_path(void)
VERIFY(ret, 1, "H5Pequal");
/* Release the path string */
- free(path);
+ HDfree(path);
/* Close class */
ret = H5Pclose_class(cid3);
diff --git a/test/tid.c b/test/tid.c
index 87f3d37..4ea45db 100644
--- a/test/tid.c
+++ b/test/tid.c
@@ -81,13 +81,13 @@ static int basic_id_test(void)
/* Register an ID and retrieve the object it points to.
* Once the ID has been registered, testObj will be freed when
* its ID type is destroyed. */
- testObj = malloc(7 * sizeof(int));
+ testObj = HDmalloc(7 * sizeof(int));
arrayID = H5Iregister(myType, testObj);
CHECK(arrayID, H5I_INVALID_HID, "H5Iregister");
if(arrayID == H5I_INVALID_HID)
{
- free(testObj);
+ HDfree(testObj);
goto out;
}
@@ -175,13 +175,13 @@ static int basic_id_test(void)
* freed when the previous type was destroyed. Allocate new
* memory for it.
*/
- testObj = malloc(7 * sizeof(int));
+ testObj = HDmalloc(7 * sizeof(int));
arrayID = H5Iregister(myType, testObj);
CHECK(arrayID, H5I_INVALID_HID, "H5Iregister");
if(arrayID == H5I_INVALID_HID)
{
- free(testObj);
+ HDfree(testObj);
goto out;
}
@@ -250,7 +250,7 @@ static int id_predefined_test(void )
void * testPtr;
herr_t testErr;
- testObj = malloc(sizeof(int));
+ testObj = HDmalloc(sizeof(int));
/* Try to perform illegal functions on various predefined types */
H5E_BEGIN_TRY
@@ -319,14 +319,14 @@ static int id_predefined_test(void )
/* testObj was never registered as an atom, so it will not be
* automatically freed. */
- free(testObj);
+ HDfree(testObj);
return 0;
out:
if(typeID != H5I_INVALID_HID)
H5Tclose(typeID);
if(testObj != NULL)
- free(testObj);
+ HDfree(testObj);
return -1;
}
diff --git a/test/tmisc.c b/test/tmisc.c
index 3ade713..486bdba 100644
--- a/test/tmisc.c
+++ b/test/tmisc.c
@@ -1677,7 +1677,7 @@ test_misc8(void)
/* Free the read & write buffers */
HDfree(wdata);
#ifdef VERIFY_DATA
- free(rdata);
+ HDfree(rdata);
#endif /* VERIFY_DATA */
} /* end test_misc8() */
diff --git a/test/trefer.c b/test/trefer.c
index 9031fdb..698e95a 100644
--- a/test/trefer.c
+++ b/test/trefer.c
@@ -90,9 +90,9 @@ test_reference_params(void)
MESSAGE(5, ("Testing Reference Parameters\n"));
/* Allocate write & read buffers */
- wbuf = (hobj_ref_t *)malloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
- rbuf = (hobj_ref_t *)malloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
- tbuf = (hobj_ref_t *)malloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
+ wbuf = (hobj_ref_t *)HDmalloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
+ rbuf = (hobj_ref_t *)HDmalloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
+ tbuf = (hobj_ref_t *)HDmalloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
/* Create file */
fid1 = H5Fcreate(FILE1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
@@ -234,9 +234,9 @@ test_reference_params(void)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
- free(tbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
+ HDfree(tbuf);
} /* test_reference_obj() */
/****************************************************************
@@ -271,9 +271,9 @@ test_reference_obj(void)
MESSAGE(5, ("Testing Object Reference Functions\n"));
/* Allocate write & read buffers */
- wbuf = (hobj_ref_t *)malloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
- rbuf = (hobj_ref_t *)malloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
- tbuf = (hobj_ref_t *)malloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
+ wbuf = (hobj_ref_t *)HDmalloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
+ rbuf = (hobj_ref_t *)HDmalloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
+ tbuf = (hobj_ref_t *)HDmalloc(MAX(sizeof(unsigned), sizeof(hobj_ref_t)) * SPACE1_DIM1);
/* Create file */
fid1 = H5Fcreate(FILE1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
@@ -482,9 +482,9 @@ test_reference_obj(void)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
- free(tbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
+ HDfree(tbuf);
} /* test_reference_obj() */
/****************************************************************
@@ -763,10 +763,10 @@ test_reference_region(void)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
- free(dwbuf);
- free(drbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
+ HDfree(dwbuf);
+ HDfree(drbuf);
} /* test_reference_region() */
/****************************************************************
@@ -1048,10 +1048,10 @@ test_reference_region_1D(void)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
- free(dwbuf);
- free(drbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
+ HDfree(dwbuf);
+ HDfree(drbuf);
} /* test_reference_region_1D() */
/****************************************************************
diff --git a/test/tselect.c b/test/tselect.c
index 1041ab3..8ca3c24 100644
--- a/test/tselect.c
+++ b/test/tselect.c
@@ -354,8 +354,8 @@ test_select_hyper(hid_t xfer_plist)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
} /* test_select_hyper() */
struct pnt_iter {
@@ -637,8 +637,8 @@ test_select_point(hid_t xfer_plist)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
} /* test_select_point() */
/****************************************************************
@@ -750,8 +750,8 @@ test_select_all(hid_t xfer_plist)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
} /* test_select_all() */
/****************************************************************
@@ -890,8 +890,8 @@ test_select_all_hyper(hid_t xfer_plist)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
} /* test_select_all_hyper() */
/****************************************************************
@@ -5406,8 +5406,8 @@ test_select_hyper_and_2d(void)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
} /* test_select_hyper_and_2d() */
/****************************************************************
@@ -5537,8 +5537,8 @@ test_select_hyper_xor_2d(void)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
} /* test_select_hyper_xor_2d() */
/****************************************************************
@@ -5667,8 +5667,8 @@ test_select_hyper_notb_2d(void)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
} /* test_select_hyper_notb_2d() */
/****************************************************************
@@ -6440,8 +6440,8 @@ test_select_point_chunk(void)
ret = H5Fclose(file);
CHECK(ret, FAIL, "H5Fclose");
- free(data);
- free (data_out);
+ HDfree(data);
+ HDfree (data_out);
} /* test_select_point_chunk() */
/****************************************************************
@@ -7620,8 +7620,8 @@ test_select_none(void)
CHECK(ret, FAIL, "H5Fclose");
/* Free memory buffers */
- free(wbuf);
- free(rbuf);
+ HDfree(wbuf);
+ HDfree(rbuf);
} /* test_select_none() */
/****************************************************************
diff --git a/test/tsohm.c b/test/tsohm.c
index eb5f7c5..8ebfd52 100644
--- a/test/tsohm.c
+++ b/test/tsohm.c
@@ -3884,7 +3884,7 @@ test_sohm_external_dtype(void)
CHECK_I(dset1_tid, "H5Dget_type");
/* Allocate space and initialize data */
- orig = (s1_t*)malloc(NX * NY * sizeof(s1_t));
+ orig = (s1_t*)HDmalloc(NX * NY * sizeof(s1_t));
for(i=0; i<NX*NY; i++) {
s_ptr = (s1_t*)orig + i;
s_ptr->a = i*3 + 1;
@@ -3963,7 +3963,7 @@ test_sohm_external_dtype(void)
ret = H5Fclose(file2);
CHECK_I(ret, "H5Fclose");
- free(orig);
+ HDfree(orig);
}
diff --git a/test/ttsafe_acreate.c b/test/ttsafe_acreate.c
index 0efd02c..dec2eee 100644
--- a/test/ttsafe_acreate.c
+++ b/test/ttsafe_acreate.c
@@ -113,7 +113,7 @@ void tts_acreate(void)
* with the dataset
*/
for(i = 0; i < NUM_THREADS; i++) {
- attrib_data = malloc(sizeof(ttsafe_name_data_t));
+ attrib_data = HDmalloc(sizeof(ttsafe_name_data_t));
attrib_data->dataset = dataset;
attrib_data->datatype = datatype;
attrib_data->dataspace = dataspace;
@@ -170,7 +170,7 @@ void *tts_acreate_thread(void *client_data)
H5P_DEFAULT, H5P_DEFAULT);
/* Write data to the attribute */
- attribute_data = malloc(sizeof(int));
+ attribute_data = HDmalloc(sizeof(int));
*attribute_data = attrib_data->current_index;
H5Awrite(attribute, H5T_NATIVE_INT, attribute_data);
H5Aclose(attribute);
diff --git a/test/ttsafe_cancel.c b/test/ttsafe_cancel.c
index 8264403..56f431e 100644
--- a/test/ttsafe_cancel.c
+++ b/test/ttsafe_cancel.c
@@ -145,7 +145,7 @@ void *tts_cancel_thread(void UNUSED *arg)
assert(dataset >= 0);
/* If thread is cancelled, make cleanup call */
- cleanup_structure = (cancel_cleanup_t*)malloc(sizeof(cancel_cleanup_t));
+ cleanup_structure = (cancel_cleanup_t*)HDmalloc(sizeof(cancel_cleanup_t));
cleanup_structure->dataset = dataset;
cleanup_structure->datatype = datatype;
cleanup_structure->dataspace = dataspace;
@@ -156,7 +156,7 @@ void *tts_cancel_thread(void UNUSED *arg)
ret=H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &datavalue);
assert(ret>=0);
- buffer = malloc(sizeof(int));
+ buffer = HDmalloc(sizeof(int));
ret=H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buffer);
assert(ret>=0);
ret=H5Diterate(buffer, H5T_NATIVE_INT, dataspace, tts_cancel_callback, &dataset);
diff --git a/test/tunicode.c b/test/tunicode.c
index 0386352..7dfda16 100644
--- a/test/tunicode.c
+++ b/test/tunicode.c
@@ -605,7 +605,7 @@ void test_compound(hid_t fid, const char * string)
readbuf = H5Tget_member_name(s1_tid, 0);
ret = HDstrcmp(readbuf, string);
VERIFY(ret, 0, "strcmp");
- free(readbuf);
+ HDfree(readbuf);
/* Add the other fields to the datatype */
ret = H5Tinsert(s1_tid, "c_name", HOFFSET(s1_t, c), H5T_NATIVE_DOUBLE);
@@ -718,7 +718,7 @@ void test_opaque(hid_t UNUSED fid, const char * string)
read_buf = H5Tget_tag(type_id);
ret = strcmp(read_buf, string);
VERIFY(ret, 0, "H5Tget_tag");
- free(read_buf);
+ HDfree(read_buf);
ret = H5Tclose(type_id);
CHECK(ret, FAIL, "H5Tclose");
diff --git a/testpar/t_coll_chunk.c b/testpar/t_coll_chunk.c
index 73e7f09..5dac36f 100644
--- a/testpar/t_coll_chunk.c
+++ b/testpar/t_coll_chunk.c
@@ -553,7 +553,7 @@ coll_chunktest(const char* filename,
/* allocate memory for data buffer */
- data_array1 = (int *)malloc(dims[0] * dims[1] * sizeof(int));
+ data_array1 = (int *)HDmalloc(dims[0] * dims[1] * sizeof(int));
VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
/* set up dimensions of the slab this process accesses */
@@ -748,11 +748,11 @@ coll_chunktest(const char* filename,
/* Use collective read to verify the correctness of collective write. */
/* allocate memory for data buffer */
- data_array1 = (int *)malloc(dims[0]*dims[1]*sizeof(int));
+ data_array1 = (int *)HDmalloc(dims[0]*dims[1]*sizeof(int));
VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
/* allocate memory for data buffer */
- data_origin1 = (int *)malloc(dims[0]*dims[1]*sizeof(int));
+ data_origin1 = (int *)HDmalloc(dims[0]*dims[1]*sizeof(int));
VRFY((data_origin1 != NULL), "data_origin1 malloc succeeded");
acc_plist = create_faccess_plist(comm, info, facc_type, use_gpfs);
@@ -813,8 +813,8 @@ coll_chunktest(const char* filename,
H5Fclose(file);
/* release data buffers */
- if (data_array1) free(data_array1);
- if (data_origin1) free(data_origin1);
+ if (data_array1) HDfree(data_array1);
+ if (data_origin1) HDfree(data_origin1);
}
diff --git a/testpar/t_dset.c b/testpar/t_dset.c
index 743de3a..34ccab7 100644
--- a/testpar/t_dset.c
+++ b/testpar/t_dset.c
@@ -255,8 +255,8 @@ dataset_writeInd(void)
MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
/* allocate memory for data buffer */
- data_array1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
+ data_array1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array1 != NULL), "data_array1 HDmalloc succeeded");
/* ----------------------------------------
* CREATE AN HDF5 FILE WITH PARALLEL ACCESS
@@ -365,7 +365,7 @@ MPI_Barrier(MPI_COMM_WORLD);
H5Fclose(fid);
/* release data buffers */
- if(data_array1) free(data_array1);
+ if(data_array1) HDfree(data_array1);
}
/* Example of using the parallel HDF5 library to read a dataset */
@@ -401,10 +401,10 @@ dataset_readInd(void)
MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
/* allocate memory for data buffer */
- data_array1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
- data_origin1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_origin1 != NULL), "data_origin1 malloc succeeded");
+ data_array1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array1 != NULL), "data_array1 HDmalloc succeeded");
+ data_origin1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_origin1 != NULL), "data_origin1 HDmalloc succeeded");
/* setup file access template */
acc_tpl = create_faccess_plist(comm, info, facc_type, use_gpfs);
@@ -474,8 +474,8 @@ dataset_readInd(void)
H5Fclose(fid);
/* release data buffers */
- if(data_array1) free(data_array1);
- if(data_origin1) free(data_origin1);
+ if(data_array1) HDfree(data_array1);
+ if(data_origin1) HDfree(data_origin1);
}
@@ -527,8 +527,8 @@ dataset_writeAll(void)
MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
/* allocate memory for data buffer */
- data_array1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
+ data_array1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array1 != NULL), "data_array1 HDmalloc succeeded");
/* -------------------
* START AN HDF5 FILE
@@ -862,7 +862,7 @@ dataset_writeAll(void)
H5Fclose(fid);
/* release data buffers */
- if(data_array1) free(data_array1);
+ if(data_array1) HDfree(data_array1);
}
/*
@@ -907,10 +907,10 @@ dataset_readAll(void)
MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
/* allocate memory for data buffer */
- data_array1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
- data_origin1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_origin1 != NULL), "data_origin1 malloc succeeded");
+ data_array1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array1 != NULL), "data_array1 HDmalloc succeeded");
+ data_origin1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_origin1 != NULL), "data_origin1 HDmalloc succeeded");
/* -------------------
* OPEN AN HDF5 FILE
@@ -1090,8 +1090,8 @@ dataset_readAll(void)
H5Fclose(fid);
/* release data buffers */
- if(data_array1) free(data_array1);
- if(data_origin1) free(data_origin1);
+ if(data_array1) HDfree(data_array1);
+ if(data_origin1) HDfree(data_origin1);
}
@@ -1149,8 +1149,8 @@ extend_writeInd(void)
chunk_dims[1] = chunkdim1;
/* allocate memory for data buffer */
- data_array1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
+ data_array1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array1 != NULL), "data_array1 HDmalloc succeeded");
/* -------------------
* START AN HDF5 FILE
@@ -1329,7 +1329,7 @@ extend_writeInd(void)
H5Fclose(fid);
/* release data buffers */
- if(data_array1) free(data_array1);
+ if(data_array1) HDfree(data_array1);
}
/*
@@ -1535,12 +1535,12 @@ extend_readInd(void)
MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
/* allocate memory for data buffer */
- data_array1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
- data_array2 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array2 != NULL), "data_array2 malloc succeeded");
- data_origin1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_origin1 != NULL), "data_origin1 malloc succeeded");
+ data_array1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array1 != NULL), "data_array1 HDmalloc succeeded");
+ data_array2 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array2 != NULL), "data_array2 HDmalloc succeeded");
+ data_origin1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_origin1 != NULL), "data_origin1 HDmalloc succeeded");
/* -------------------
* OPEN AN HDF5 FILE
@@ -1663,9 +1663,9 @@ extend_readInd(void)
H5Fclose(fid);
/* release data buffers */
- if(data_array1) free(data_array1);
- if(data_array2) free(data_array2);
- if(data_origin1) free(data_origin1);
+ if(data_array1) HDfree(data_array1);
+ if(data_array2) HDfree(data_array2);
+ if(data_origin1) HDfree(data_origin1);
}
/*
@@ -1723,8 +1723,8 @@ extend_writeAll(void)
chunk_dims[1] = chunkdim1;
/* allocate memory for data buffer */
- data_array1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
+ data_array1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array1 != NULL), "data_array1 HDmalloc succeeded");
/* -------------------
* START AN HDF5 FILE
@@ -1928,7 +1928,7 @@ extend_writeAll(void)
H5Fclose(fid);
/* release data buffers */
- if(data_array1) free(data_array1);
+ if(data_array1) HDfree(data_array1);
}
/* Example of using the parallel HDF5 library to read an extendible dataset */
@@ -1967,12 +1967,12 @@ extend_readAll(void)
MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
/* allocate memory for data buffer */
- data_array1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array1 != NULL), "data_array1 malloc succeeded");
- data_array2 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_array2 != NULL), "data_array2 malloc succeeded");
- data_origin1 = (DATATYPE *)malloc(dim0*dim1*sizeof(DATATYPE));
- VRFY((data_origin1 != NULL), "data_origin1 malloc succeeded");
+ data_array1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array1 != NULL), "data_array1 HDmalloc succeeded");
+ data_array2 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_array2 != NULL), "data_array2 HDmalloc succeeded");
+ data_origin1 = (DATATYPE *)HDmalloc(dim0*dim1*sizeof(DATATYPE));
+ VRFY((data_origin1 != NULL), "data_origin1 HDmalloc succeeded");
/* -------------------
* OPEN AN HDF5 FILE
@@ -2119,9 +2119,9 @@ extend_readAll(void)
H5Fclose(fid);
/* release data buffers */
- if(data_array1) free(data_array1);
- if(data_array2) free(data_array2);
- if(data_origin1) free(data_origin1);
+ if(data_array1) HDfree(data_array1);
+ if(data_array2) HDfree(data_array2);
+ if(data_origin1) HDfree(data_origin1);
}
/*
@@ -2161,9 +2161,9 @@ compress_readAll(void)
/* Allocate data buffer */
data_orig = (DATATYPE *)HDmalloc((size_t)dim*sizeof(DATATYPE));
- VRFY((data_orig != NULL), "data_origin1 malloc succeeded");
+ VRFY((data_orig != NULL), "data_origin1 HDmalloc succeeded");
data_read = (DATATYPE *)HDmalloc((size_t)dim*sizeof(DATATYPE));
- VRFY((data_read != NULL), "data_array1 malloc succeeded");
+ VRFY((data_read != NULL), "data_array1 HDmalloc succeeded");
/* Initialize data buffers */
for(u=0; u<dim;u++)
@@ -2394,11 +2394,11 @@ none_selection_chunk(void)
/* allocate memory for data buffer. Only allocate enough buffer for
* each processor's data. */
if(mpi_rank) {
- data_origin = (DATATYPE *)malloc(block[0]*block[1]*sizeof(DATATYPE));
- VRFY((data_origin != NULL), "data_origin malloc succeeded");
+ data_origin = (DATATYPE *)HDmalloc(block[0]*block[1]*sizeof(DATATYPE));
+ VRFY((data_origin != NULL), "data_origin HDmalloc succeeded");
- data_array = (DATATYPE *)malloc(block[0]*block[1]*sizeof(DATATYPE));
- VRFY((data_array != NULL), "data_array malloc succeeded");
+ data_array = (DATATYPE *)HDmalloc(block[0]*block[1]*sizeof(DATATYPE));
+ VRFY((data_array != NULL), "data_array HDmalloc succeeded");
/* put some trivial data in the data_array */
mstart[0] = mstart[1] = 0;
@@ -2495,8 +2495,8 @@ none_selection_chunk(void)
H5Fclose(fid);
/* release data buffers */
- if(data_origin) free(data_origin);
- if(data_array) free(data_array);
+ if(data_origin) HDfree(data_origin);
+ if(data_array) HDfree(data_array);
}
@@ -2849,7 +2849,7 @@ test_actual_io_mode(int selection_mode) {
/* Allocate and initialize the buffer */
buffer = (int *)HDmalloc(sizeof(int) * length);
- VRFY((buffer != NULL), "malloc of buffer succeeded");
+ VRFY((buffer != NULL), "HDmalloc of buffer succeeded");
for(i = 0; i < length; i++)
buffer[i] = i;
@@ -3323,7 +3323,7 @@ test_no_collective_cause_mode(int selection_mode)
/* Allocate and initialize the buffer */
buffer = (int *)HDmalloc(sizeof(int) * length);
- VRFY((buffer != NULL), "malloc of buffer succeeded");
+ VRFY((buffer != NULL), "HDmalloc of buffer succeeded");
for(i = 0; i < length; i++)
buffer[i] = i;
@@ -3571,7 +3571,7 @@ test_no_collective_cause_mode_filter(int selection_mode)
/* Allocate and initialize the buffer */
buffer = (int *)HDmalloc(sizeof(int) * length);
- VRFY((buffer != NULL), "malloc of buffer succeeded");
+ VRFY((buffer != NULL), "HDmalloc of buffer succeeded");
for(i = 0; i < length; i++)
buffer[i] = i;
@@ -3763,11 +3763,11 @@ dataset_atomicity(void)
buf_size = dim0 * dim1;
/* allocate memory for data buffer */
- write_buf = (int *)calloc(buf_size, sizeof(int));
- VRFY((write_buf != NULL), "write_buf malloc succeeded");
+ write_buf = (int *)HDcalloc(buf_size, sizeof(int));
+ VRFY((write_buf != NULL), "write_buf HDcalloc succeeded");
/* allocate memory for data buffer */
- read_buf = (int *)calloc(buf_size, sizeof(int));
- VRFY((read_buf != NULL), "read_buf malloc succeeded");
+ read_buf = (int *)HDcalloc(buf_size, sizeof(int));
+ VRFY((read_buf != NULL), "read_buf HDcalloc succeeded");
/* setup file access template */
acc_tpl = create_faccess_plist(comm, info, facc_type, use_gpfs);
@@ -3909,19 +3909,19 @@ dataset_atomicity(void)
VRFY((ret >= 0), "H5D close succeeded");
/* release data buffers */
- if(write_buf) free(write_buf);
- if(read_buf) free(read_buf);
+ if(write_buf) HDfree(write_buf);
+ if(read_buf) HDfree(read_buf);
/* open dataset2 (non-contiguous case) */
dataset2 = H5Dopen2(fid, DATASETNAME6, H5P_DEFAULT);
VRFY((dataset2 >= 0), "H5Dopen2 succeeded");
/* allocate memory for data buffer */
- write_buf = (int *)calloc(buf_size, sizeof(int));
- VRFY((write_buf != NULL), "write_buf malloc succeeded");
+ write_buf = (int *)HDcalloc(buf_size, sizeof(int));
+ VRFY((write_buf != NULL), "write_buf HDcalloc succeeded");
/* allocate memory for data buffer */
- read_buf = (int *)calloc(buf_size, sizeof(int));
- VRFY((read_buf != NULL), "read_buf malloc succeeded");
+ read_buf = (int *)HDcalloc(buf_size, sizeof(int));
+ VRFY((read_buf != NULL), "read_buf HDcalloc succeeded");
for (i=0 ; i<buf_size ; i++) {
write_buf[i] = 5;
@@ -4031,8 +4031,8 @@ dataset_atomicity(void)
VRFY((ret >= 0), "H5Sclose succeeded");
/* release data buffers */
- if(write_buf) free(write_buf);
- if(read_buf) free(read_buf);
+ if(write_buf) HDfree(write_buf);
+ if(read_buf) HDfree(read_buf);
ret = H5Fclose(fid);
VRFY((ret >= 0), "H5Fclose succeeded");
diff --git a/testpar/t_filter_read.c b/testpar/t_filter_read.c
index f38b30e..7e782ce 100644
--- a/testpar/t_filter_read.c
+++ b/testpar/t_filter_read.c
@@ -186,8 +186,8 @@ filter_read_internal(const char *filename, hid_t dcpl,
hrc = H5Fclose (file);
VRFY(hrc>=0, "H5Fclose");
- free(points);
- free(check);
+ HDfree(points);
+ HDfree(check);
MPI_Barrier(MPI_COMM_WORLD);
}
diff --git a/testpar/t_mpi.c b/testpar/t_mpi.c
index fa9cf9d..a74aa22 100644
--- a/testpar/t_mpi.c
+++ b/testpar/t_mpi.c
@@ -282,7 +282,7 @@ test_mpio_gb_file(char *filename)
printf("Skipped GB file range test "
"because MPI_Offset cannot support it\n");
}else{
- buf = malloc(MB);
+ buf = HDmalloc(MB);
VRFY((buf!=NULL), "malloc succeed");
/* open a new file. Remove it first in case it exists. */
diff --git a/testpar/t_posix_compliant.c b/testpar/t_posix_compliant.c
index 1bc0053..207f07e 100644
--- a/testpar/t_posix_compliant.c
+++ b/testpar/t_posix_compliant.c
@@ -105,8 +105,8 @@ static int allwrite_allread_blocks(int numprocs, int rank, int write_size)
int amode, i;
MPI_Offset offset = rank*write_size*sizeof(int);
MPI_Status Status;
- int* writebuf = (int*)malloc(write_size*sizeof(int));
- int* readbuf = (int*)malloc (write_size*sizeof(int));
+ int* writebuf = (int*)HDmalloc(write_size*sizeof(int));
+ int* readbuf = (int*)HDmalloc (write_size*sizeof(int));
for(i=0; i<write_size; i++)
writebuf[i] = i;
@@ -143,8 +143,8 @@ static int posix_allwrite_allread_blocks(int numprocs, int rank, int write_size)
int ret;
int i;
int offset = rank*write_size*sizeof(int);
- int* writebuf = (int*)malloc(write_size*sizeof(int));
- int* readbuf = (int*)malloc (write_size*sizeof(int));
+ int* writebuf = (int*)HDmalloc(write_size*sizeof(int));
+ int* readbuf = (int*)HDmalloc (write_size*sizeof(int));
FILE* file = NULL;
for(i=0; i<write_size; i++)
@@ -216,8 +216,8 @@ static int posix_onewrite_allread_blocks(int numprocs, int rank, int write_size)
int ret;
int i;
int offset = rank*write_size*sizeof(int);
- int* writebuf = (int*)malloc(write_size*sizeof(int));
- int* readbuf = (int*)malloc (write_size*sizeof(int));
+ int* writebuf = (int*)HDmalloc(write_size*sizeof(int));
+ int* readbuf = (int*)HDmalloc (write_size*sizeof(int));
FILE* file = NULL;
for(i=0; i<write_size; i++)
@@ -295,8 +295,8 @@ static int posix_onewrite_allread_interlaced(int numprocs, int rank, int write_s
int ret;
int i, fill, index;
int offset = rank*write_size*sizeof(int);
- int* writebuf = (int*)malloc(write_size*sizeof(int));
- int* readbuf = (int*)malloc (write_size*sizeof(int));
+ int* writebuf = (int*)HDmalloc(write_size*sizeof(int));
+ int* readbuf = (int*)HDmalloc (write_size*sizeof(int));
FILE* file = NULL;
if(rank==0)
@@ -389,8 +389,8 @@ static int allwrite_allread_interlaced(int numprocs, int rank, int write_size)
int amode, i, counter = 0;
MPI_Datatype filetype;
MPI_Status Status;
- int* writebuf = (int*)malloc(write_size*sizeof(int));
- int* readbuf = (int*) malloc(numprocs*sizeof(int));
+ int* writebuf = (int*)HDmalloc(write_size*sizeof(int));
+ int* readbuf = (int*) HDmalloc(numprocs*sizeof(int));
int offset=0;
for(i=0; i<write_size; i++)
@@ -488,8 +488,8 @@ static int allwrite_allread_overlap(int numprocs, int rank, int write_size)
int amode, i, counter = 0;
MPI_Datatype filetype;
MPI_Status Status;
- int* writebuf = (int*) malloc(write_size*(numprocs-1)*sizeof(int)); /* An upper bound...not all the elements will be written */
- int* readbuf = (int*) malloc(write_size*(numprocs-1)*sizeof(int));
+ int* writebuf = (int*) HDmalloc(write_size*(numprocs-1)*sizeof(int)); /* An upper bound...not all the elements will be written */
+ int* readbuf = (int*) HDmalloc(write_size*(numprocs-1)*sizeof(int));
if(numprocs < 2)
{
@@ -581,8 +581,8 @@ static int onewrite_allread_blocks(int numprocs, int rank, int write_size)
int mpio_result;
int amode, i;
MPI_Status Status;
- int* writebuf = (int*)malloc(write_size*sizeof(int));
- int* readbuf = (int*)malloc (write_size*sizeof(int));
+ int* writebuf = (int*)HDmalloc(write_size*sizeof(int));
+ int* readbuf = (int*)HDmalloc (write_size*sizeof(int));
for(i=0; i<write_size; i++)
writebuf[i] = i;
@@ -632,8 +632,8 @@ static int onewrite_allread_interlaced(int numprocs, int rank, int write_size)
int amode, i;
MPI_Datatype filetype;
MPI_Status Status;
- int* writebuf = (int*) malloc(numprocs*write_size*sizeof(int)); /* Upper bound, not all used */
- int* readbuf = (int*)malloc (write_size*sizeof(int));
+ int* writebuf = (int*) HDmalloc(numprocs*write_size*sizeof(int)); /* Upper bound, not all used */
+ int* readbuf = (int*)HDmalloc (write_size*sizeof(int));
amode = MPI_MODE_CREATE | MPI_MODE_RDWR;
diff --git a/tools/h5copy/h5copygentest.c b/tools/h5copy/h5copygentest.c
index e45d24a..f51acd4 100644
--- a/tools/h5copy/h5copygentest.c
+++ b/tools/h5copy/h5copygentest.c
@@ -237,10 +237,10 @@ static void gent_named_vl(hid_t loc_id)
/* allocate and initialize VL dataset to write */
buf[0].len = 1;
- buf[0].p = malloc( 1 * sizeof(int));
+ buf[0].p = HDmalloc( 1 * sizeof(int));
((int *)buf[0].p)[0]=1;
buf[1].len = 2;
- buf[1].p = malloc( 2 * sizeof(int));
+ buf[1].p = HDmalloc( 2 * sizeof(int));
((int *)buf[1].p)[0]=2;
((int *)buf[1].p)[1]=3;
@@ -283,16 +283,16 @@ static void gent_nested_vl(hid_t loc_id)
/* allocate and initialize VL dataset to write */
buf[0].len = 1;
- buf[0].p = malloc( 1 * sizeof(hvl_t));
+ buf[0].p = HDmalloc( 1 * sizeof(hvl_t));
tvl = (hvl_t *)buf[0].p;
- tvl->p = malloc( 1 * sizeof(int) );
+ tvl->p = HDmalloc( 1 * sizeof(int) );
tvl->len = 1;
((int *)tvl->p)[0]=1;
buf[1].len = 1;
- buf[1].p = malloc( 1 * sizeof(hvl_t));
+ buf[1].p = HDmalloc( 1 * sizeof(hvl_t));
tvl = (hvl_t *)buf[1].p;
- tvl->p = malloc( 2 * sizeof(int) );
+ tvl->p = HDmalloc( 2 * sizeof(int) );
tvl->len = 2;
((int *)tvl->p)[0]=2;
((int *)tvl->p)[1]=3;
diff --git a/tools/h5copy/testh5copy.sh.in b/tools/h5copy/testh5copy.sh.in
index bec3bfc..77c64c4 100644
--- a/tools/h5copy/testh5copy.sh.in
+++ b/tools/h5copy/testh5copy.sh.in
@@ -67,6 +67,8 @@ H5DIFF_BIN=`pwd`/../h5diff/$H5DIFF # The path of the h5diff tool binary
H5LS=h5ls # The h5ls tool name
H5LS_ARGS=-Svr # Arguments to the h5ls tool
H5LS_BIN=`pwd`/../h5ls/$H5LS # The path of the h5ls tool binary
+
+RM='rm -rf'
CMP='cmp -s'
DIFF='diff -c'
CP='cp'
@@ -121,6 +123,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a "SKIP" message
SKIP() {
@@ -578,6 +593,8 @@ COPY_REFERENCES
COPY_EXT_LINKS
TEST_MISC
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index cf46e74..59cab0d 100644
--- a/tools/h5diff/h5diff_common.c
+++ b/tools/h5diff/h5diff_common.c
@@ -174,7 +174,7 @@ void parse_command_line(int argc,
options->exclude_path = 1;
/* create linked list of excluding objects */
- if( (exclude_node = (struct exclude_path_list*) malloc(sizeof(struct exclude_path_list))) == NULL)
+ if( (exclude_node = (struct exclude_path_list*) HDmalloc(sizeof(struct exclude_path_list))) == NULL)
{
printf("Error: lack of memory!\n");
h5diff_exit(EXIT_FAILURE);
diff --git a/tools/h5diff/h5diffgentest.c b/tools/h5diff/h5diffgentest.c
index d7389d3..d554abd 100644
--- a/tools/h5diff/h5diffgentest.c
+++ b/tools/h5diff/h5diffgentest.c
@@ -4475,7 +4475,7 @@ static void test_comps_vlen (const char * fname, const char *dset, const char *a
for(i=0; i<SDIM_DSET; i++)
{
wdata[i].i1 = i;
- wdata[i].vl.p = malloc((i+1)*sizeof(cmpd2_t));
+ wdata[i].vl.p = HDmalloc((i+1)*sizeof(cmpd2_t));
wdata[i].vl.len = i+1;
for(j=0; j<(i+1); j++)
{
@@ -4600,7 +4600,7 @@ static void test_comps_array_vlen (const char * fname, const char *dset,const ch
for(j=0; j < SDIM_CMPD_ARRAY; j++)
{
wdata[i].cmpd2[j].i2 = j*10;
- wdata[i].cmpd2[j].vl.p = malloc((j+1)*sizeof(cmpd3_t));
+ wdata[i].cmpd2[j].vl.p = HDmalloc((j+1)*sizeof(cmpd3_t));
wdata[i].cmpd2[j].vl.len = j+1;
for(k=0; k<(j+1); k++)
{
@@ -4744,7 +4744,7 @@ static void test_comps_vlen_arry (const char * fname, const char *dset, const ch
{
/* compound 1 data */
wdata[i].i1 = i;
- wdata[i].vl.p = malloc((i+1)*sizeof(cmpd2_t));
+ wdata[i].vl.p = HDmalloc((i+1)*sizeof(cmpd2_t));
wdata[i].vl.len = i+1;
for(j=0; j<(i+1); j++)
{
@@ -5456,10 +5456,10 @@ void write_attr_in(hid_t loc_id,
/* Allocate and initialize VL dataset to write */
buf5[0].len = 1;
- buf5[0].p = malloc( 1 * sizeof(int));
+ buf5[0].p = HDmalloc( 1 * sizeof(int));
((int *)buf5[0].p)[0]=1;
buf5[1].len = 2;
- buf5[1].p = malloc( 2 * sizeof(int));
+ buf5[1].p = HDmalloc( 2 * sizeof(int));
((int *)buf5[1].p)[0]=2;
((int *)buf5[1].p)[1]=3;
@@ -5743,7 +5743,7 @@ void write_attr_in(hid_t loc_id,
n=0;
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
- buf52[i][j].p = malloc((i + 1) * sizeof(int));
+ buf52[i][j].p = HDmalloc((i + 1) * sizeof(int));
buf52[i][j].len = i + 1;
for (l = 0; l < i + 1; l++)
if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
@@ -6159,7 +6159,7 @@ void write_attr_in(hid_t loc_id,
for (i = 0; i < 4; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 2; k++) {
- buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
+ buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int));
buf53[i][j][k].len = i + 1;
for (l = 0; l < i + 1; l++)
if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
@@ -6490,10 +6490,10 @@ void write_dset_in(hid_t loc_id,
/* Allocate and initialize VL dataset to write */
buf5[0].len = 1;
- buf5[0].p = malloc( 1 * sizeof(int));
+ buf5[0].p = HDmalloc( 1 * sizeof(int));
((int *)buf5[0].p)[0]=1;
buf5[1].len = 2;
- buf5[1].p = malloc( 2 * sizeof(int));
+ buf5[1].p = HDmalloc( 2 * sizeof(int));
((int *)buf5[1].p)[0]=2;
((int *)buf5[1].p)[1]=3;
@@ -6703,7 +6703,7 @@ void write_dset_in(hid_t loc_id,
{
for(j = 0; j < 2; j++)
{
- buf52[i][j].p = malloc((i + 1) * sizeof(int));
+ buf52[i][j].p = HDmalloc((i + 1) * sizeof(int));
buf52[i][j].len = i + 1;
for(l = 0; l < i + 1; l++)
{
@@ -6916,7 +6916,7 @@ void write_dset_in(hid_t loc_id,
{
for(k = 0; k < 2; k++)
{
- buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
+ buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int));
buf53[i][j][k].len = i + 1;
for(l = 0; l < i + 1; l++)
{
diff --git a/tools/h5diff/ph5diff_main.c b/tools/h5diff/ph5diff_main.c
index b9bd404..a26b6e9 100644
--- a/tools/h5diff/ph5diff_main.c
+++ b/tools/h5diff/ph5diff_main.c
@@ -13,11 +13,12 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#include "h5diff.h"
-#include "ph5diff.h"
#include <stdlib.h>
#include <string.h>
#include <assert.h>
+#include "H5private.h"
+#include "h5diff.h"
+#include "ph5diff.h"
#include "h5diff_common.h"
#include "h5tools.h"
#include "h5tools_utils.h"
@@ -30,9 +31,9 @@ static void ph5diff_worker(int );
/*-------------------------------------------------------------------------
* Function: main
*
- * Purpose: h5diff/ph5diff main program
+ * Purpose: ph5diff main program
*
- * Return: An exit status of 0 means no differences were found, 1 means some
+ * Return: An exit status of 0 means no differences were found, 1 means some
* differences were found.
*
* Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
@@ -41,16 +42,6 @@ static void ph5diff_worker(int );
*
* Comments:
*
- * Modifications: July 2004
- * Introduced the four modes:
- * Normal mode: print the number of differences found and where they occured
- * Report mode: print the above plus the differences
- * Verbose mode: print the above plus a list of objects and warnings
- * Quiet mode: do not print output
- *
- * November 2004: Leon Arber (larber@uiuc.edu)
- * Additions that allow h5diff to be run in parallel
- *
* This function drives the diff process and will do a serial or parallel diff depending
* on the value of the global variable g_Parallel (default is 0), set to 1 when the program
* is run as "ph5diff"
@@ -140,112 +131,165 @@ int main(int argc, const char *argv[])
static void
ph5diff_worker(int nID)
{
- struct diff_mpi_args args;
- hid_t file1_id, file2_id;
- char filenames[2][MAX_FILENAME];
- char out_data[PRINT_DATA_MAX_SIZE] = {0};
- struct diffs_found diffs;
- int i;
- MPI_Status Status;
-
- outBuffOffset = 0;
+ hid_t file1_id = -1, file2_id = -1;
- MPI_Recv(filenames, MAX_FILENAME*2, MPI_CHAR, 0, MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
- if(Status.MPI_TAG == MPI_TAG_PARALLEL)
+ while(1)
{
- /* disable error reporting */
- H5E_BEGIN_TRY
+ MPI_Status Status;
+
+ MPI_Probe(0, MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
+
+ /* Check for filenames */
+ if(Status.MPI_TAG == MPI_TAG_PARALLEL)
{
- /* Open the files */
- if ((file1_id = H5Fopen (filenames[0], H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
+ char filenames[2][MAX_FILENAME];
+
+ /* Retrieve filenames */
+ MPI_Recv(filenames, MAX_FILENAME*2, MPI_CHAR, 0, MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
+
+ /* disable error reporting */
+ H5E_BEGIN_TRY
{
- printf ("h5diff Task [%d]: <%s>: unable to open file\n", nID, filenames[0]);
- MPI_Abort(MPI_COMM_WORLD, 0);
+ /* Open the files */
+ if ((file1_id = H5Fopen (filenames[0], H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
+ {
+ printf ("h5diff Task [%d]: <%s>: unable to open file\n", nID, filenames[0]);
+ MPI_Abort(MPI_COMM_WORLD, 0);
+ }
+ if ((file2_id = H5Fopen (filenames[1], H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
+ {
+ printf ("h5diff Task [%d]: <%s>: unable to open file\n", nID, filenames[1]);
+ MPI_Abort(MPI_COMM_WORLD, 0);
+ }
+ /* enable error reporting */
}
- if ((file2_id = H5Fopen (filenames[1], H5F_ACC_RDONLY, H5P_DEFAULT)) < 0)
+ H5E_END_TRY;
+ }
+ /* Check for work */
+ else if(Status.MPI_TAG == MPI_TAG_ARGS)
+ {
+ struct diff_mpi_args args;
+ struct diffs_found diffs;
+ int i;
+
+ /* Make certain we've received the filenames and opened the files already */
+ if(file1_id < 0 || file2_id < 0)
{
- printf ("h5diff Task [%d]: <%s>: unable to open file\n", nID, filenames[1]);
- MPI_Abort(MPI_COMM_WORLD, 0);
+ printf("ph5diff_worker: ERROR: work received before/without filenames\n");
+ break;
}
- /* enable error reporting */
- }
- H5E_END_TRY;
+ /* Recv parameters for diff from manager task */
+ MPI_Recv(&args, sizeof(args), MPI_BYTE, 0, MPI_TAG_ARGS, MPI_COMM_WORLD, &Status);
- while(1)
- {
- MPI_Probe(0, MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
+ /* Do the diff */
+ diffs.nfound = diff(file1_id, args.name1, file2_id, args.name2, &(args.options), &(args.argdata));
+ diffs.not_cmp = args.options.not_cmp;
- if(Status.MPI_TAG == MPI_TAG_ARGS)
+ /* If print buffer has something in it, request print token.*/
+ if(outBuffOffset>0)
{
- /*Recv parameters for diff from manager task */
- MPI_Recv(&args, sizeof(args), MPI_BYTE, 0, MPI_TAG_ARGS, MPI_COMM_WORLD, &Status);
- /*Do the diff */
- diffs.nfound = diff(file1_id, args.name1, file2_id, args.name2, &(args.options), &(args.argdata));
- diffs.not_cmp = args.options.not_cmp;
-
- /*If print buffer has something in it, request print token.*/
- if(outBuffOffset>0)
- {
- MPI_Send(NULL, 0, MPI_BYTE, 0, MPI_TAG_TOK_REQUEST, MPI_COMM_WORLD);
- /*Wait for print token. */
- MPI_Recv(NULL, 0, MPI_BYTE, 0, MPI_TAG_PRINT_TOK, MPI_COMM_WORLD, &Status);
+ MPI_Send(NULL, 0, MPI_BYTE, 0, MPI_TAG_TOK_REQUEST, MPI_COMM_WORLD);
- /*When get token, send all of our output to the manager task and then return the token */
- for(i=0; i<outBuffOffset; i+=PRINT_DATA_MAX_SIZE)
- MPI_Send(outBuff+i, PRINT_DATA_MAX_SIZE, MPI_BYTE, 0, MPI_TAG_PRINT_DATA, MPI_COMM_WORLD);
+ /* Wait for print token. */
+ MPI_Recv(NULL, 0, MPI_BYTE, 0, MPI_TAG_PRINT_TOK, MPI_COMM_WORLD, &Status);
+ /* When get token, send all of our output to the manager task and then return the token */
+ for(i=0; i<outBuffOffset; i+=PRINT_DATA_MAX_SIZE)
+ MPI_Send(outBuff+i, PRINT_DATA_MAX_SIZE, MPI_BYTE, 0, MPI_TAG_PRINT_DATA, MPI_COMM_WORLD);
- /* An overflow file exists, so we send it's output to the manager too and then delete it */
- if(overflow_file)
- {
- int tmp;
+ /* An overflow file exists, so we send it's output to the manager too and then delete it */
+ if(overflow_file)
+ {
+ char out_data[PRINT_DATA_MAX_SIZE];
+ int tmp;
- memset(out_data, 0, PRINT_DATA_MAX_SIZE);
- i=0;
+ memset(out_data, 0, PRINT_DATA_MAX_SIZE);
+ i=0;
- rewind(overflow_file);
- while((tmp = getc(overflow_file)) >= 0)
+ rewind(overflow_file);
+ while((tmp = getc(overflow_file)) >= 0)
+ {
+ *(out_data + i++) = (char)tmp;
+ if(i==PRINT_DATA_MAX_SIZE)
{
- *(out_data + i++) = (char)tmp;
- if(i==PRINT_DATA_MAX_SIZE)
- {
- MPI_Send(out_data, PRINT_DATA_MAX_SIZE, MPI_BYTE, 0, MPI_TAG_PRINT_DATA, MPI_COMM_WORLD);
- i=0;
- memset(out_data, 0, PRINT_DATA_MAX_SIZE);
- }
- }
-
- if(i>0)
MPI_Send(out_data, PRINT_DATA_MAX_SIZE, MPI_BYTE, 0, MPI_TAG_PRINT_DATA, MPI_COMM_WORLD);
-
- fclose(overflow_file);
- overflow_file = NULL;
+ i=0;
+ memset(out_data, 0, PRINT_DATA_MAX_SIZE);
+ }
}
- fflush(stdout);
- memset(outBuff, 0, OUTBUFF_SIZE);
- outBuffOffset = 0;
+ if(i>0)
+ MPI_Send(out_data, PRINT_DATA_MAX_SIZE, MPI_BYTE, 0, MPI_TAG_PRINT_DATA, MPI_COMM_WORLD);
- MPI_Send(&diffs, sizeof(diffs), MPI_BYTE, 0, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD);
+ fclose(overflow_file);
+ overflow_file = NULL;
}
- else
- MPI_Send(&diffs, sizeof(diffs), MPI_BYTE, 0, MPI_TAG_DONE, MPI_COMM_WORLD);
- }
- else if(Status.MPI_TAG == MPI_TAG_END)
- {
- MPI_Recv(NULL, 0, MPI_BYTE, 0, MPI_TAG_END, MPI_COMM_WORLD, &Status);
- /* printf("exiting..., task: %d\n", nID);
- fflush(stdout);*/
- break;
+
+ fflush(stdout);
+ memset(outBuff, 0, OUTBUFF_SIZE);
+ outBuffOffset = 0;
+
+ MPI_Send(&diffs, sizeof(diffs), MPI_BYTE, 0, MPI_TAG_TOK_RETURN, MPI_COMM_WORLD);
}
else
- {
- printf("ph5diff_worker: ERROR: invalid tag (%d) received\n", Status.MPI_TAG);
- MPI_Abort(MPI_COMM_WORLD, 0);
- }
+ MPI_Send(&diffs, sizeof(diffs), MPI_BYTE, 0, MPI_TAG_DONE, MPI_COMM_WORLD);
+ }
+ /* Check for leaving */
+ else if(Status.MPI_TAG == MPI_TAG_END)
+ {
+ MPI_Recv(NULL, 0, MPI_BYTE, 0, MPI_TAG_END, MPI_COMM_WORLD, &Status);
+ break;
+ }
+ else
+ {
+ printf("ph5diff_worker: ERROR: invalid tag (%d) received\n", Status.MPI_TAG);
+ break;
+ }
+ }
+
+ return;
+}
+
+/*-------------------------------------------------------------------------
+ * Function: print_manager_output
+ *
+ * Purpose: special function that prints any output accumulated by the
+ * manager task.
+ *
+ * Return: none
+ *
+ * Programmer: Leon Arber
+ *
+ * Date: Feb 7, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+void print_manager_output(void)
+{
+ /* If there was something we buffered, let's print it now */
+ if( (outBuffOffset>0) && g_Parallel)
+ {
+ printf("%s", outBuff);
+
+ if(overflow_file)
+ {
+ int tmp;
+ rewind(overflow_file);
+ while((tmp = getc(overflow_file)) >= 0)
+ putchar(tmp);
+ fclose(overflow_file);
+ overflow_file = NULL;
}
+
+ HDfflush(stdout);
+ HDmemset(outBuff, 0, OUTBUFF_SIZE);
+ outBuffOffset = 0;
+ }
+ else if( (outBuffOffset>0) && !g_Parallel)
+ {
+ HDfprintf(stderr, "h5diff error: outBuffOffset>0, but we're not in parallel!\n");
}
}
@@ -268,12 +312,14 @@ ph5diff_worker(int nID)
void h5diff_exit(int status)
{
/* if in parallel mode, dismiss workers, close down MPI, then exit */
- if((g_nTasks > 1) && g_Parallel) {
- phdiff_dismiss_workers();
- MPI_Barrier(MPI_COMM_WORLD);
- }
- if(g_Parallel)
+ if(g_Parallel) {
+ if(g_nTasks > 1) {
+ phdiff_dismiss_workers();
+ MPI_Barrier(MPI_COMM_WORLD);
+ }
MPI_Finalize();
+ status = EXIT_SUCCESS; /* Reset exit status, since some mpiexec commands generate output on failure status */
+ }
/* Always exit(0), since MPI implementations do weird stuff when they
* receive a non-zero exit value. - QAK
diff --git a/tools/h5diff/testh5diff.sh.in b/tools/h5diff/testh5diff.sh.in
index 3455287..549da49 100644
--- a/tools/h5diff/testh5diff.sh.in
+++ b/tools/h5diff/testh5diff.sh.in
@@ -38,6 +38,7 @@ EXIT_FAILURE=1
H5DIFF=h5diff # The tool name
H5DIFF_BIN=`pwd`/$H5DIFF # The path of the tool binary
+RM='rm -rf'
CMP='cmp -s'
DIFF='diff -c'
CP='cp'
@@ -336,6 +337,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Parse option
# -p run ph5diff tests
# -h print help page
@@ -1096,6 +1110,9 @@ TOOLTEST h5diff_646.txt -v --use-system-epsilon -p 0.05 h5diff_basic1.h5 h5diff_
# # END
# ##############################################################################
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
+
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
exit $EXIT_SUCCESS
diff --git a/tools/h5dump/CMakeTests.cmake b/tools/h5dump/CMakeTests.cmake
index c88495d..13c3d41 100644
--- a/tools/h5dump/CMakeTests.cmake
+++ b/tools/h5dump/CMakeTests.cmake
@@ -57,6 +57,8 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tchar1.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tchunked.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdattrintsize.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintarray.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdints.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintsize.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-1.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-2.ddl
@@ -99,6 +101,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tindicessub3.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tindicessub4.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tindicesyes.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tintsattrs.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tlarge_objname.ddl
#${HDF5_TOOLS_SRC_DIR}/testfiles/tldouble.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tlonglinks.ddl
@@ -118,9 +121,6 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tnoddlfile.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tno-subset.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tnullspace.ddl
- ${HDF5_TOOLS_SRC_DIR}/testfiles/trawdatafile.ddl
- ${HDF5_TOOLS_SRC_DIR}/testfiles/trawssetfile.ddl
- ${HDF5_TOOLS_SRC_DIR}/testfiles/zerodim.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr1.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr2.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr3.ddl
@@ -135,10 +135,15 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/torderlinks1.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/torderlinks2.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tperror.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/trawdatafile.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/trawssetfile.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/treadfilter.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/treadintfilter.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/treference.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.ddl
- ${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarintsize.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarattrintsize.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarintattrsize.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarintsize.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarstring.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tscaleoffset.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tshuffle.ddl
@@ -166,6 +171,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/twithddlfile.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/h5dump-help.txt
${HDF5_TOOLS_SRC_DIR}/testfiles/out3.h5import
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/zerodim.ddl
)
SET (HDF5_REFERENCE_EXP_FILES
tall-6.exp
@@ -202,6 +208,8 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tbinary.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tchar.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdattrintsize.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintarray.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdints.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintsize.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_complex.h5
@@ -233,6 +241,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tgrp_comments.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/thlink.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/thyperslab.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tintsattrs.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tlarge_objname.h5
#${HDF5_TOOLS_SRC_DIR}/testfiles/tldouble.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tlonglinks.h5
@@ -248,12 +257,12 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcmpddt.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tno-subset.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tnullspace.h5
- ${HDF5_TOOLS_SRC_DIR}/testfiles/zerodim.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.h5
- ${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarintsize.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarattrintsize.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarintattrsize.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarintsize.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tscalarstring.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tslink.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tsplit_file-m.h5
@@ -269,6 +278,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes5.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tvlstr.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tvms.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/zerodim.h5
)
SET (HDF5_ERROR_REFERENCE_TEST_FILES
${PROJECT_SOURCE_DIR}/errfiles/filter_fail.err
@@ -809,6 +819,10 @@
tchunked.out.err
tcmpdattrintsize.out
tcmpdattrintsize.out.err
+ tcmpdintarray.out
+ tcmpdintarray.out.err
+ tcmpdints.out
+ tcmpdints.out.err
tcmpdintsize.out
tcmpdintsize.out.err
tcomp-1.out
@@ -893,6 +907,8 @@
texceedsubblock.out.err
tindicesyes.out
tindicesyes.out.err
+ tintsattrs.out
+ tintsattrs.out.err
tlarge_objname.out
tlarge_objname.out.err
tldouble.out
@@ -911,12 +927,12 @@
# tstarfile.out.err
tnamed_dtype_attr.out
tnamed_dtype_attr.out.err
+ tnbit.out
+ tnbit.out.err
tnestcomp-1.out
tnestcomp-1.out.err
tnestedcmpddt.out
tnestedcmpddt.out.err
- tnbit.out
- tnbit.out.err
tnoattrdata.out
tnoattrdata.out.err
tnoattrddl.out
@@ -927,18 +943,10 @@
tnoddl.out.err
tnoddlfile.out
tnoddlfile.out.err
- trawdatafile.out
- trawdatafile.out.err
- trawdatafile.txt
- trawssetfile.out
- trawssetfile.out.err
- trawssetfile.txt
tno-subset.out
tno-subset.out.err
tnullspace.out
tnullspace.out.err
- zerodim.out
- zerodim.out.err
tordergr1.out
tordergr1.out.err
tordergr2.out
@@ -967,14 +975,26 @@
torderlinks2.out.err
tperror.out
tperror.out.err
+ trawdatafile.out
+ trawdatafile.out.err
+ trawdatafile.txt
+ trawssetfile.out
+ trawssetfile.out.err
+ trawssetfile.txt
+ treadfilter.out
+ treadfilter.out.err
+ treadintfilter.out
+ treadintfilter.out.err
treference.out
treference.out.err
tsaf.out
tsaf.out.err
- tscalarintsize.out
- tscalarintsize.out.err
tscalarattrintsize.out
tscalarattrintsize.out.err
+ tscalarintattrsize.out
+ tscalarintattrsize.out.err
+ tscalarintsize.out
+ tscalarintsize.out.err
tscalarstring.out
tscalarstring.out.err
tscaleoffset.out
@@ -1029,6 +1049,8 @@
twithddlfile.out
twithddlfile.out.err
twithddlfile.txt
+ zerodim.out
+ zerodim.out.err
)
SET_TESTS_PROPERTIES (H5DUMP-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std")
IF (NOT "${last_test}" STREQUAL "")
@@ -1058,6 +1080,8 @@
# test for signed/unsigned datasets
ADD_H5_TEST (packedbits 0 --enable-error-stack packedbits.h5)
# test for compound signed/unsigned datasets
+ ADD_H5_TEST (tcmpdintarray 0 --enable-error-stack tcmpdintarray.h5)
+ ADD_H5_TEST (tcmpdints 0 --enable-error-stack tcmpdints.h5)
ADD_H5_TEST (tcmpdintsize 0 --enable-error-stack tcmpdintsize.h5)
# test for signed/unsigned scalar datasets
ADD_H5_TEST (tscalarintsize 0 --enable-error-stack tscalarintsize.h5)
@@ -1069,6 +1093,10 @@
ADD_H5_TEST (tscalarattrintsize 0 --enable-error-stack tscalarattrintsize.h5)
# test for string scalar dataset and attribute
ADD_H5_TEST (tscalarstring 0 --enable-error-stack tscalarstring.h5)
+ # test for signed/unsigned scalar datasets with attributes
+ ADD_H5_TEST (tscalarintattrsize 0 --enable-error-stack tscalarintattrsize.h5)
+ # test for signed/unsigned datasets attributes
+ ADD_H5_TEST (tintsattrs 0 --enable-error-stack tintsattrs.h5)
# test for displaying groups
ADD_H5_TEST (tgroup-1 0 --enable-error-stack tgroup.h5)
# test for displaying the selected groups
@@ -1292,6 +1320,45 @@
# user defined
ADD_H5_TEST (tuserfilter 0 --enable-error-stack -H -p -d myfilter tfilters.h5)
+
+# See which filters are usable (and skip tests for filters we
+# don't have). Do this by searching H5pubconf.h to see which
+# filters are defined.
+
+# detect whether the encoder is present.
+ IF (H5_HAVE_FILTER_DEFLATE)
+ SET (USE_FILTER_DEFLATE "true")
+ ENDIF (H5_HAVE_FILTER_DEFLATE)
+
+ IF (H5_HAVE_FILTER_SZIP)
+ SET (USE_FILTER_SZIP "true")
+ ENDIF (H5_HAVE_FILTER_SZIP)
+
+ IF (H5_HAVE_FILTER_SHUFFLE)
+ SET (USE_FILTER_SHUFFLE "true")
+ ENDIF (H5_HAVE_FILTER_SHUFFLE)
+
+ IF (H5_HAVE_FILTER_FLETCHER32)
+ SET (USE_FILTER_FLETCHER32 "true")
+ ENDIF (H5_HAVE_FILTER_FLETCHER32)
+
+ IF (H5_HAVE_FILTER_NBIT)
+ SET (USE_FILTER_NBIT "true")
+ ENDIF (H5_HAVE_FILTER_NBIT)
+
+ IF (H5_HAVE_FILTER_SCALEOFFSET)
+ SET (USE_FILTER_SCALEOFFSET "true")
+ ENDIF (H5_HAVE_FILTER_SCALEOFFSET)
+
+ IF (USE_FILTER_DEFLATE AND USE_FILTER_SHUFFLE AND USE_FILTER_FLETCHER32 AND USE_FILTER_NBIT AND USE_FILTER_SCALEOFFSET)
+ # data read internal filters
+ ADD_H5_TEST (treadintfilter 0 --enable-error-stack -d deflate -d shuffle -d fletcher32 -d nbit -d scaleoffset tfilters.h5)
+ IF (HDF5_ENABLE_SZIP_SUPPORT)
+ # data read all filters
+ ADD_H5_TEST (treadfilter 0 --enable-error-stack -d all -d szip tfilters.h5)
+ ENDIF (HDF5_ENABLE_SZIP_SUPPORT)
+ ENDIF (USE_FILTER_DEFLATE AND USE_FILTER_SHUFFLE AND USE_FILTER_FLETCHER32 AND USE_FILTER_NBIT AND USE_FILTER_SCALEOFFSET)
+
# test for displaying objects with very long names
ADD_H5_TEST (tlonglinks 0 --enable-error-stack tlonglinks.h5)
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index 88035a2..82e36db 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -105,6 +105,10 @@
#define FILE73 "tscalarintsize.h5"
#define FILE74 "tscalarattrintsize.h5"
#define FILE75 "tscalarstring.h5"
+#define FILE76 "tcmpdintarray.h5"
+#define FILE77 "tcmpdints.h5"
+#define FILE78 "tscalarintattrsize.h5"
+#define FILE79 "tintsattrs.h5"
/*-------------------------------------------------------------------------
* prototypes
@@ -304,7 +308,7 @@ typedef struct s1_t {
/* Name of dataset to create in datafile */
#define F71_DATASETNAME "CompoundAttrIntSize"
-/* "FILE73" macros and for FILE69 */
+/* "FILE73" macros and for FILE69 and FILE78 */
#define F73_ARRAY_RANK 2
#define F73_XDIM 8
#define F73_DATASETU08 "DU08BITS"
@@ -321,6 +325,30 @@ typedef struct s1_t {
#define F73_YDIM64 64
#define F73_DUMMYDBL "DummyDBL"
+/* "FILE76 and FILE77 */
+/* Name of dataset to create in datafile */
+#define F76_DATASETNAME "CompoundIntArray"
+#define F76_LENGTH 4
+#define F76_RANK 1
+#define F76_ARRAY_RANK 1
+#define F76_DATASETU08 "DU08BITS"
+#define F76_DATASETS08 "DS08BITS"
+#define F76_DIM8 8
+#define F76_DATASETU16 "DU16BITS"
+#define F76_DATASETS16 "DS16BITS"
+#define F76_DIM16 16
+#define F76_DATASETU32 "DU32BITS"
+#define F76_DATASETS32 "DS32BITS"
+#define F76_DIM32 32
+#define F76_DATASETU64 "DU64BITS"
+#define F76_DATASETS64 "DS64BITS"
+#define F76_DIM64 64
+#define F76_DUMMYDBL "DummyDBL"
+/* Name of dataset to create in datafile */
+#define F77_DATASETNAME1 "CompoundInts"
+#define F77_DATASETNAME2 "CompoundRInts"
+#define F77_LENGTH 64
+
static void
gent_group(void)
{
@@ -8573,6 +8601,982 @@ gent_string_scalars(void)
H5Fclose(fid);
}
+static void gent_compound_int_array(void) {
+ hid_t fid, dataset, space;
+ hsize_t dims[1];
+ uint8_t valu8bits;
+ uint16_t valu16bits;
+ uint32_t valu32bits;
+ uint64_t valu64bits;
+ int8_t val8bits;
+ int16_t val16bits;
+ int32_t val32bits;
+ int64_t val64bits;
+ hsize_t array_dim8[]={F76_DIM8}; /* Array dimensions */
+ hsize_t array_dim16[]={F76_DIM16}; /* Array dimensions */
+ hsize_t array_dim32[]={F76_DIM32}; /* Array dimensions */
+ hsize_t array_dim64[]={F76_DIM64}; /* Array dimensions */
+ hid_t arrayu8_tid; /* Array datatype handle */
+ hid_t arrayu16_tid; /* Array datatype handle */
+ hid_t arrayu32_tid; /* Array datatype handle */
+ hid_t arrayu64_tid; /* Array datatype handle */
+ hid_t array8_tid; /* Array datatype handle */
+ hid_t array16_tid; /* Array datatype handle */
+ hid_t array32_tid; /* Array datatype handle */
+ hid_t array64_tid; /* Array datatype handle */
+ hid_t arraydbl_tid; /* Array datatype handle */
+ /* Structure and array for compound types */
+ typedef struct Cmpd1Struct {
+ uint8_t dsetu8[F76_DIM8];
+ uint16_t dsetu16[F76_DIM16];
+ uint32_t dsetu32[F76_DIM32];
+ uint64_t dsetu64[F76_DIM64];
+ int8_t dset8[F76_DIM8];
+ int16_t dset16[F76_DIM16];
+ int32_t dset32[F76_DIM32];
+ int64_t dset64[F76_DIM64];
+ double dsetdbl[F76_DIM8];
+ } Cmpd1Struct;
+ Cmpd1Struct Cmpd1[F76_LENGTH];
+
+ hid_t Cmpd1Structid; /* File datatype identifier */
+ herr_t status; /* Error checking variable */
+ hsize_t dim[] = { F76_LENGTH }; /* Dataspace dimensions */
+
+ int m, n, o; /* Array init loop vars */
+
+ /* Initialize the data in the arrays/datastructure */
+ for (m = 0; m < F76_LENGTH; m++) {
+
+ /* Array of 8 bits unsigned int */
+ dims[0] = F76_DIM8;
+
+ valu8bits = (uint8_t) ~0u; /* all 1s */
+ for(n = 0; n < dims[0]; n++){
+ Cmpd1[m].dsetu8[n] = valu8bits;
+ valu8bits <<= 1;
+ }
+
+ /* Array of 16 bits unsigned int */
+ dims[0] = F76_DIM16;
+
+ valu16bits = (uint16_t) ~0u; /* all 1s */
+ for(n = 0; n < dims[0]; n++){
+ Cmpd1[m].dsetu16[n] = valu16bits;
+ valu16bits <<= 1;
+ }
+
+ /* Array of 32 bits unsigned int */
+ dims[0] = F76_DIM32;
+
+ valu32bits = (uint32_t) ~0u; /* all 1s */
+ for(n = 0; n < dims[0]; n++){
+ Cmpd1[m].dsetu32[n] = valu32bits;
+ valu32bits <<= 1;
+ }
+
+ /* Array of 64 bits unsigned int */
+ dims[0] = F76_DIM64;
+
+ valu64bits = (uint64_t) ~0Lu; /* all 1s */
+ for(n = 0; n < dims[0]; n++){
+ Cmpd1[m].dsetu64[n] = valu64bits;
+ valu64bits <<= 1;
+ }
+
+ /* Array of 8 bits signed int */
+ dims[0] = F76_DIM8;
+
+ val8bits = (int8_t) ~0; /* all 1s */
+ for(n = 0; n < dims[0]; n++){
+ Cmpd1[m].dset8[n] = val8bits;
+ val8bits <<= 1;
+ }
+
+ /* Array of 16 bits signed int */
+ dims[0] = F76_DIM16;
+
+ val16bits = (int16_t) ~0; /* all 1s */
+ for(n = 0; n < dims[0]; n++){
+ Cmpd1[m].dset16[n] = val16bits;
+ val16bits <<= 1;
+ }
+
+ /* Array of 32 bits signed int */
+ dims[0] = F76_DIM32;
+
+ val32bits = (int32_t) ~0; /* all 1s */
+ for(n = 0; n < dims[0]; n++){
+ Cmpd1[m].dset32[n] = val32bits;
+ val32bits <<= 1;
+ }
+
+ /* Array of 64 bits signed int */
+ dims[0] = F76_DIM64;
+
+ val64bits = (int64_t) ~0L; /* all 1s */
+ for(n = 0; n < dims[0]; n++){
+ Cmpd1[m].dset64[n] = val64bits;
+ val64bits <<= 1;
+ }
+
+ /* Double Dummy set for failure tests */
+ dims[0] = F76_DIM8;
+
+ for(n = 0; n < dims[0]; n++)
+ Cmpd1[m].dsetdbl[n] = 0.0001 + n;
+ }
+
+ /* Create the array data type for the 8 bits signed int array */
+ array8_tid = H5Tarray_create2(H5T_NATIVE_SCHAR, F76_ARRAY_RANK, array_dim8);
+ HDassert(array8_tid >= 0);
+
+ /* Create the array data type for the 16 bits signed int array */
+ array16_tid = H5Tarray_create2(H5T_NATIVE_SHORT, F76_ARRAY_RANK, array_dim16);
+ HDassert(array16_tid >= 0);
+
+ /* Create the array data type for the 32 bits signed int array */
+ array32_tid = H5Tarray_create2(H5T_NATIVE_INT, F76_ARRAY_RANK, array_dim32);
+ HDassert(array32_tid >= 0);
+
+ /* Create the array data type for the 64 bits signed int array */
+ array64_tid = H5Tarray_create2(H5T_NATIVE_LONG, F76_ARRAY_RANK, array_dim64);
+ HDassert(array64_tid >= 0);
+
+ /* Create the array data type for the 8 bits signed int array */
+ arrayu8_tid = H5Tarray_create2(H5T_NATIVE_UCHAR, F76_ARRAY_RANK, array_dim8);
+ HDassert(arrayu8_tid >= 0);
+
+ /* Create the array data type for the 16 bits signed int array */
+ arrayu16_tid = H5Tarray_create2(H5T_NATIVE_USHORT, F76_ARRAY_RANK, array_dim16);
+ HDassert(arrayu16_tid >= 0);
+
+ /* Create the array data type for the 32 bits signed int array */
+ arrayu32_tid = H5Tarray_create2(H5T_NATIVE_UINT, F76_ARRAY_RANK, array_dim32);
+ HDassert(arrayu32_tid >= 0);
+
+ /* Create the array data type for the 64 bits signed int array */
+ arrayu64_tid = H5Tarray_create2(H5T_NATIVE_ULONG, F76_ARRAY_RANK, array_dim64);
+ HDassert(arrayu64_tid >= 0);
+
+ /* Create the array data type for the 32 bits double array */
+ arraydbl_tid = H5Tarray_create2(H5T_NATIVE_DOUBLE, F76_ARRAY_RANK, array_dim8);
+ HDassert(arraydbl_tid >= 0);
+
+ /* Create the dataspace */
+ space = H5Screate_simple(F76_RANK, dim, NULL);
+ HDassert(space >= 0);
+
+ /* Create the file */
+ fid = H5Fcreate(FILE76, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ HDassert(fid >= 0);
+
+ /* Create the memory data type */
+ Cmpd1Structid = H5Tcreate(H5T_COMPOUND, sizeof(Cmpd1Struct));
+ HDassert(Cmpd1Structid >= 0);
+
+ /* Insert the arrays and variables into the structure */
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETU08, HOFFSET(Cmpd1Struct, dsetu8), arrayu8_tid);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETU16, HOFFSET(Cmpd1Struct, dsetu16), arrayu16_tid);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETU32, HOFFSET(Cmpd1Struct, dsetu32), arrayu32_tid);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETU64, HOFFSET(Cmpd1Struct, dsetu64), arrayu64_tid);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETS08, HOFFSET(Cmpd1Struct, dset8), array8_tid);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETS16, HOFFSET(Cmpd1Struct, dset16), array16_tid);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETS32, HOFFSET(Cmpd1Struct, dset32), array32_tid);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETS64, HOFFSET(Cmpd1Struct, dset64), array64_tid);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DUMMYDBL, HOFFSET(Cmpd1Struct, dsetdbl), arraydbl_tid);
+ HDassert(status >= 0);
+
+ /* Create the dataset */
+ dataset = H5Dcreate2(fid, F76_DATASETNAME, Cmpd1Structid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ /* Write data to the dataset */
+ status = H5Dwrite(dataset, Cmpd1Structid, H5S_ALL, H5S_ALL, H5P_DEFAULT, Cmpd1);
+ HDassert(status >= 0);
+
+ /* Release resources */
+ status = H5Tclose(Cmpd1Structid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(arrayu8_tid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(arrayu16_tid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(arrayu32_tid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(arrayu64_tid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(array8_tid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(array16_tid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(array32_tid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(array64_tid);
+ HDassert(status >= 0);
+
+ status = H5Tclose(arraydbl_tid);
+ HDassert(status >= 0);
+
+ status = H5Sclose(space);
+ HDassert(status >= 0);
+
+ status = H5Dclose(dataset);
+ HDassert(status >= 0);
+
+ status = H5Fclose(fid);
+ HDassert(status >= 0);
+}
+
+static void gent_compound_ints(void) {
+ hid_t fid, dataset, space;
+ hsize_t dims[1];
+ uint8_t valu8bits = (uint8_t) ~0u; /* all 1s */
+ uint16_t valu16bits = (uint16_t) ~0u; /* all 1s */
+ uint32_t valu32bits = (uint32_t) ~0u; /* all 1s */
+ uint64_t valu64bits = (uint64_t) ~0Lu; /* all 1s */
+ int8_t val8bits = (int8_t) ~0; /* all 1s */
+ int16_t val16bits = (int16_t) ~0; /* all 1s */
+ int32_t val32bits = (int32_t) ~0; /* all 1s */
+ int64_t val64bits = (int64_t) ~0L; /* all 1s */
+ /* Structure and array for compound types */
+ typedef struct Cmpd1Struct {
+ uint8_t dsetu8;
+ uint16_t dsetu16;
+ uint32_t dsetu32;
+ uint64_t dsetu64;
+ int8_t dset8;
+ int16_t dset16;
+ int32_t dset32;
+ int64_t dset64;
+ double dsetdbl;
+ } Cmpd1Struct;
+ Cmpd1Struct Cmpd1[F77_LENGTH];
+
+ typedef struct Cmpd2Struct {
+ uint64_t dsetu64;
+ uint32_t dsetu32;
+ uint16_t dsetu16;
+ uint8_t dsetu8;
+ int64_t dset64;
+ int32_t dset32;
+ int16_t dset16;
+ int8_t dset8;
+ double dsetdbl;
+ } Cmpd2Struct;
+ Cmpd2Struct Cmpd2[F77_LENGTH];
+
+ hid_t Cmpd1Structid; /* File datatype identifier */
+ hid_t Cmpd2Structid; /* File datatype identifier */
+ herr_t status; /* Error checking variable */
+ hsize_t dim[] = { F77_LENGTH }; /* Dataspace dimensions */
+
+ int m; /* Array init loop vars */
+
+ /* Initialize the data in the arrays/datastructure */
+ for (m = 0; m < F77_LENGTH; m++) {
+
+ /* Array of 8 bits unsigned int */
+ if((m % F76_DIM8) == 0)
+ valu8bits = (uint8_t) ~0u; /* all 1s */
+ Cmpd1[m].dsetu8 = valu8bits;
+ Cmpd2[m].dsetu8 = valu8bits;
+ valu8bits <<= 1;
+
+ /* Array of 16 bits unsigned int */
+ if((m % F76_DIM16) == 0)
+ valu16bits = (uint16_t) ~0u; /* all 1s */
+ Cmpd1[m].dsetu16 = valu16bits;
+ Cmpd2[m].dsetu16 = valu16bits;
+ valu16bits <<= 1;
+
+ /* Array of 32 bits unsigned int */
+ if((m % F76_DIM32) == 0)
+ valu32bits = (uint32_t) ~0u; /* all 1s */
+ Cmpd1[m].dsetu32 = valu32bits;
+ Cmpd2[m].dsetu32 = valu32bits;
+ valu32bits <<= 1;
+
+ /* Array of 64 bits unsigned int */
+ if((m % F76_DIM64) == 0)
+ valu64bits = (uint64_t) ~0Lu; /* all 1s */
+ Cmpd1[m].dsetu64 = valu64bits;
+ Cmpd2[m].dsetu64 = valu64bits;
+ valu64bits <<= 1;
+
+ /* Array of 8 bits signed int */
+ if((m % F76_DIM8) == 0)
+ val8bits = (int8_t) ~0; /* all 1s */
+ Cmpd1[m].dset8 = val8bits;
+ Cmpd2[m].dset8 = val8bits;
+ val8bits <<= 1;
+
+ /* Array of 16 bits signed int */
+ if((m % F76_DIM16) == 0)
+ val16bits = (int16_t) ~0; /* all 1s */
+ Cmpd1[m].dset16 = val16bits;
+ Cmpd2[m].dset16 = val16bits;
+ val16bits <<= 1;
+
+ /* Array of 32 bits signed int */
+ if((m % F76_DIM32) == 0)
+ val32bits = (int32_t) ~0; /* all 1s */
+ Cmpd1[m].dset32 = val32bits;
+ Cmpd2[m].dset32 = val32bits;
+ val32bits <<= 1;
+
+ /* Array of 64 bits signed int */
+ if((m % F76_DIM64) == 0)
+ val64bits = (int64_t) ~0L; /* all 1s */
+ Cmpd1[m].dset64 = val64bits;
+ Cmpd2[m].dset64 = val64bits;
+ val64bits <<= 1;
+
+ /* Double Dummy set for failure tests */
+ Cmpd1[m].dsetdbl = 0.0001 + m;
+ Cmpd2[m].dsetdbl = 0.0001 + m;
+ }
+
+ /* Create the dataspace */
+ space = H5Screate_simple(F76_RANK, dim, NULL);
+ HDassert(space >= 0);
+
+ /* Create the file */
+ fid = H5Fcreate(FILE77, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ HDassert(fid >= 0);
+
+ /* Create the memory data type */
+ Cmpd1Structid = H5Tcreate(H5T_COMPOUND, sizeof(Cmpd1Struct));
+ HDassert(Cmpd1Structid >= 0);
+
+ /* Insert the arrays and variables into the structure */
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETU08, HOFFSET(Cmpd1Struct, dsetu8), H5T_NATIVE_UCHAR);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETU16, HOFFSET(Cmpd1Struct, dsetu16), H5T_NATIVE_USHORT);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETU32, HOFFSET(Cmpd1Struct, dsetu32), H5T_NATIVE_UINT);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETU64, HOFFSET(Cmpd1Struct, dsetu64), H5T_NATIVE_ULONG);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETS08, HOFFSET(Cmpd1Struct, dset8), H5T_NATIVE_SCHAR);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETS16, HOFFSET(Cmpd1Struct, dset16), H5T_NATIVE_SHORT);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETS32, HOFFSET(Cmpd1Struct, dset32), H5T_NATIVE_INT);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DATASETS64, HOFFSET(Cmpd1Struct, dset64), H5T_NATIVE_LONG);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd1Structid, F76_DUMMYDBL, HOFFSET(Cmpd1Struct, dsetdbl), H5T_NATIVE_DOUBLE);
+ HDassert(status >= 0);
+
+ /* Create the dataset */
+ dataset = H5Dcreate2(fid, F77_DATASETNAME1, Cmpd1Structid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ /* Write data to the dataset */
+ status = H5Dwrite(dataset, Cmpd1Structid, H5S_ALL, H5S_ALL, H5P_DEFAULT, Cmpd1);
+ HDassert(status >= 0);
+
+ /* Release resources */
+ status = H5Tclose(Cmpd1Structid);
+ HDassert(status >= 0);
+
+ status = H5Sclose(space);
+ HDassert(status >= 0);
+
+ status = H5Dclose(dataset);
+ HDassert(status >= 0);
+
+ /* Create the dataspace */
+ space = H5Screate_simple(F76_RANK, dim, NULL);
+ HDassert(space >= 0);
+
+ /* Create the memory data type */
+ Cmpd2Structid = H5Tcreate(H5T_COMPOUND, sizeof(Cmpd2Struct));
+ HDassert(Cmpd2Structid >= 0);
+
+ /* Insert the arrays and variables into the structure */
+ status = H5Tinsert(Cmpd2Structid, F76_DATASETU64, HOFFSET(Cmpd2Struct, dsetu64), H5T_NATIVE_ULONG);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd2Structid, F76_DATASETU32, HOFFSET(Cmpd2Struct, dsetu32), H5T_NATIVE_UINT);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd2Structid, F76_DATASETU16, HOFFSET(Cmpd2Struct, dsetu16), H5T_NATIVE_USHORT);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd2Structid, F76_DATASETU08, HOFFSET(Cmpd2Struct, dsetu8), H5T_NATIVE_UCHAR);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd2Structid, F76_DATASETS64, HOFFSET(Cmpd2Struct, dset64), H5T_NATIVE_LONG);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd2Structid, F76_DATASETS32, HOFFSET(Cmpd2Struct, dset32), H5T_NATIVE_INT);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd2Structid, F76_DATASETS16, HOFFSET(Cmpd2Struct, dset16), H5T_NATIVE_SHORT);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd2Structid, F76_DATASETS08, HOFFSET(Cmpd2Struct, dset8), H5T_NATIVE_SCHAR);
+ HDassert(status >= 0);
+
+ status = H5Tinsert(Cmpd2Structid, F76_DUMMYDBL, HOFFSET(Cmpd2Struct, dsetdbl), H5T_NATIVE_DOUBLE);
+ HDassert(status >= 0);
+
+ /* Create the dataset */
+ dataset = H5Dcreate2(fid, F77_DATASETNAME2, Cmpd2Structid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ /* Write data to the dataset */
+ status = H5Dwrite(dataset, Cmpd2Structid, H5S_ALL, H5S_ALL, H5P_DEFAULT, Cmpd2);
+ HDassert(status >= 0);
+
+ /* Release resources */
+ status = H5Tclose(Cmpd2Structid);
+ HDassert(status >= 0);
+
+ status = H5Sclose(space);
+ HDassert(status >= 0);
+
+ status = H5Dclose(dataset);
+ HDassert(status >= 0);
+
+ status = H5Fclose(fid);
+ HDassert(status >= 0);
+}
+
+/*-------------------------------------------------------------------------
+ * Function: gent_intscalars
+ *
+ * Purpose: Generate a file to be used in the h5dump scalar with attribute tests.
+ * Four datasets of 1, 2, 4 and 8 bytes of unsigned int types are created.
+ * Four more datasets of 1, 2, 4 and 8 bytes of signed int types are created.
+ * Fill them with raw data such that no bit will be all zero in a dataset.
+ * A dummy dataset of double type is created for failure test.
+ *-------------------------------------------------------------------------
+ */
+static void
+gent_intattrscalars(void)
+{
+ hid_t fid, attr, dataset, space, tid;
+ hsize_t dims[2];
+ uint8_t dsetu8[F73_XDIM][F73_YDIM8], valu8bits;
+ uint16_t dsetu16[F73_XDIM][F73_YDIM16], valu16bits;
+ uint32_t dsetu32[F73_XDIM][F73_YDIM32], valu32bits;
+ uint64_t dsetu64[F73_XDIM][F73_YDIM64], valu64bits;
+ int8_t dset8[F73_XDIM][F73_YDIM8], val8bits;
+ int16_t dset16[F73_XDIM][F73_YDIM16], val16bits;
+ int32_t dset32[F73_XDIM][F73_YDIM32], val32bits;
+ int64_t dset64[F73_XDIM][F73_YDIM64], val64bits;
+ double dsetdbl[F73_XDIM][F73_YDIM8];
+ unsigned int i, j;
+
+ fid = H5Fcreate(FILE78, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+ /* Dataset of 8 bits unsigned int */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM8;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_STD_U8LE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DATASETU08, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ valu8bits = (uint8_t) ~0u; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dsetu8[i][0] = valu8bits;
+ for(j = 1; j < dims[1]; j++) {
+ dsetu8[i][j] = dsetu8[i][j-1] << 1;
+ }
+ valu8bits <<= 1;
+ }
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8);
+ /* Attribute of 8 bits unsigned int */
+ attr = H5Acreate2(dataset, F73_DATASETU08, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dsetu8);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 16 bits unsigned int */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM16;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_STD_U16LE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DATASETU16, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ valu16bits = (uint16_t) ~0u; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dsetu16[i][0] = valu16bits;
+ for(j = 1; j < dims[1]; j++) {
+ dsetu16[i][j] = dsetu16[i][j-1] << 1;
+ }
+ valu16bits <<= 1;
+ }
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16);
+ /* Attribute of 16 bits unsigned int */
+ attr = H5Acreate2(dataset, F73_DATASETU16, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dsetu16);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 32 bits unsigned int */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM32;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_STD_U32LE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DATASETU32, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ valu32bits = (uint32_t) ~0u; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dsetu32[i][0] = valu32bits;
+ for(j = 1; j < dims[1]; j++) {
+ dsetu32[i][j] = dsetu32[i][j-1] << 1;
+ }
+ valu32bits <<= 1;
+ }
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32);
+ /* Attribute of 32 bits unsigned int */
+ attr = H5Acreate2(dataset, F73_DATASETU32, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dsetu32);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 64 bits unsigned int */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM64;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_STD_U64LE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DATASETU64, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ valu64bits = (uint64_t) ~0Lu; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dsetu64[i][0] = valu64bits;
+ for(j = 1; j < dims[1]; j++) {
+ dsetu64[i][j] = dsetu64[i][j-1] << 1;
+ }
+ valu64bits <<= 1;
+ }
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64);
+ /* Attribute of 64 bits unsigned int */
+ attr = H5Acreate2(dataset, F73_DATASETU64, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dsetu64);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 8 bits signed int */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM8;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_STD_I8LE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DATASETS08, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ val8bits = (int8_t) ~0; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dset8[i][0] = val8bits;
+ for(j = 1; j < dims[1]; j++) {
+ dset8[i][j] = dset8[i][j-1] << 1;
+ }
+ val8bits <<= 1;
+ }
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8);
+ /* Attribute of 8 bits signed int */
+ attr = H5Acreate2(dataset, F73_DATASETS08, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dset8);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 16 bits signed int */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM16;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_STD_I16LE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DATASETS16, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ val16bits = (int16_t) ~0; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dset16[i][0] = val16bits;
+ for(j = 1; j < dims[1]; j++) {
+ dset16[i][j] = dset16[i][j-1] << 1;
+ }
+ val16bits <<= 1;
+ }
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16);
+ /* Attribute of 16 bits signed int */
+ attr = H5Acreate2(dataset, F73_DATASETS16, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dset16);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 32 bits signed int */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM32;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_STD_I32LE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DATASETS32, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ val32bits = (int32_t) ~0; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dset32[i][0] = val32bits;
+ for(j = 1; j < dims[1]; j++) {
+ dset32[i][j] = dset32[i][j-1] << 1;
+ }
+ val32bits <<= 1;
+ }
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32);
+ /* Attribute of 32 bits signed int */
+ attr = H5Acreate2(dataset, F73_DATASETS32, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dset32);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 64 bits signed int */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM64;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_STD_I64LE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DATASETS64, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ val64bits = (int64_t) ~0L; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dset64[i][0] = val64bits;
+ for(j = 1; j < dims[1]; j++) {
+ dset64[i][j] = dset64[i][j-1] << 1;
+ }
+ val64bits <<= 1;
+ }
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64);
+ /* Attribute of 64 bits signed int */
+ attr = H5Acreate2(dataset, F73_DATASETS64, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dset64);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Double Dummy set for failure tests */
+ dims[0] = F73_XDIM; dims[1] = F73_YDIM8;
+ space = H5Screate(H5S_SCALAR);
+ tid = H5Tarray_create2(H5T_NATIVE_DOUBLE, F73_ARRAY_RANK, dims);
+ dataset = H5Dcreate2(fid, F73_DUMMYDBL, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ for(i = 0; i < dims[0]; i++)
+ for(j = 0; j < dims[1]; j++)
+ dsetdbl[i][j] = 0.0001 * j + i;
+
+ H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl);
+ /* Attribute of double */
+ attr = H5Acreate2(dataset, F73_DUMMYDBL, tid, space, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, tid, dsetdbl);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Dclose(dataset);
+ H5Fclose(fid);
+}
+
+/*-------------------------------------------------------------------------
+ * Function: gent_packedbits
+ *
+ * Purpose: Generate a file to be used in the h5dump packed bits tests.
+ * Four datasets of 1, 2, 4 and 8 bytes of unsigned int types are created.
+ * Four more datasets of 1, 2, 4 and 8 bytes of signed int types are created.
+ * Fill them with raw data such that no bit will be all zero in a dataset.
+ * A dummy dataset of double type is created for failure test.
+ * Created: Albert Cheng, 2010/5/10.
+ * Modified: Allen Byrne, 2011/1/5 Use file to test Signed/Unsigned datatypes
+ *-------------------------------------------------------------------------
+ */
+static void
+gent_intsattrs(void)
+{
+ hid_t fid, attr, dataset, space, aspace;
+ hsize_t dims[2], adims[1];
+ uint8_t dsetu8[F66_XDIM][F66_YDIM8], asetu8[F66_XDIM*F66_YDIM8], valu8bits;
+ uint16_t dsetu16[F66_XDIM][F66_YDIM16], asetu16[F66_XDIM*F66_YDIM16], valu16bits;
+ uint32_t dsetu32[F66_XDIM][F66_YDIM32], asetu32[F66_XDIM*F66_YDIM32], valu32bits;
+ uint64_t dsetu64[F66_XDIM][F66_YDIM64], asetu64[F66_XDIM*F66_YDIM64], valu64bits;
+ int8_t dset8[F66_XDIM][F66_YDIM8], aset8[F66_XDIM*F66_YDIM8], val8bits;
+ int16_t dset16[F66_XDIM][F66_YDIM16], aset16[F66_XDIM*F66_YDIM16], val16bits;
+ int32_t dset32[F66_XDIM][F66_YDIM32], aset32[F66_XDIM*F66_YDIM32], val32bits;
+ int64_t dset64[F66_XDIM][F66_YDIM64], aset64[F66_XDIM*F66_YDIM64], val64bits;
+ double dsetdbl[F66_XDIM][F66_YDIM8], asetdbl[F66_XDIM*F66_YDIM8];
+ unsigned int i, j;
+
+ fid = H5Fcreate(FILE79, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+ /* Dataset of 8 bits unsigned int */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM8;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DATASETU08, H5T_STD_U8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ valu8bits = (uint8_t) ~0u; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dsetu8[i][0] = valu8bits;
+ asetu8[i*dims[1]] = dsetu8[i][0];
+ for(j = 1; j < dims[1]; j++) {
+ dsetu8[i][j] = dsetu8[i][j-1] << 1;
+ asetu8[i*dims[1]+j] = dsetu8[i][j];
+ }
+ valu8bits <<= 1;
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_UINT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8);
+ /* Attribute of 8 bits unsigned int */
+ adims[0] = F66_XDIM * F66_YDIM8;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DATASETU08, H5T_STD_U8LE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_UINT8, asetu8);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 16 bits unsigned int */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM16;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DATASETU16, H5T_STD_U16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ valu16bits = (uint16_t) ~0u; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dsetu16[i][0] = valu16bits;
+ asetu16[i*dims[1]] = dsetu16[i][0];
+ for(j = 1; j < dims[1]; j++) {
+ dsetu16[i][j] = dsetu16[i][j-1] << 1;
+ asetu16[i*dims[1]+j] = dsetu16[i][j];
+ }
+ valu16bits <<= 1;
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16);
+ /* Attribute of 16 bits unsigned int */
+ adims[0] = F66_XDIM * F66_YDIM16;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DATASETU16, H5T_STD_U16LE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_UINT16, asetu16);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 32 bits unsigned int */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM32;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DATASETU32, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ valu32bits = (uint32_t) ~0u; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dsetu32[i][0] = valu32bits;
+ asetu32[i*dims[1]] = dsetu32[i][0];
+ for(j = 1; j < dims[1]; j++) {
+ dsetu32[i][j] = dsetu32[i][j-1] << 1;
+ asetu32[i*dims[1]+j] = dsetu32[i][j];
+ }
+ valu32bits <<= 1;
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_UINT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32);
+ /* Attribute of 32 bits unsigned int */
+ adims[0] = F66_XDIM * F66_YDIM32;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DATASETU32, H5T_STD_U32LE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_UINT32, asetu32);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 64 bits unsigned int */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM64;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DATASETU64, H5T_STD_U64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ valu64bits = (uint64_t) ~0Lu; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dsetu64[i][0] = valu64bits;
+ asetu64[i*dims[1]] = dsetu64[i][0];
+ for(j = 1; j < dims[1]; j++) {
+ dsetu64[i][j] = dsetu64[i][j-1] << 1;
+ asetu64[i*dims[1]+j] = dsetu64[i][j];
+ }
+ valu64bits <<= 1;
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_UINT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64);
+ /* Attribute of 64 bits unsigned int */
+ adims[0] = F66_XDIM * F66_YDIM64;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DATASETU64, H5T_STD_U64LE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_UINT64, asetu64);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 8 bits signed int */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM8;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DATASETS08, H5T_STD_I8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ val8bits = (int8_t) ~0; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dset8[i][0] = val8bits;
+ aset8[i*dims[1]] = dset8[i][0];
+ for(j = 1; j < dims[1]; j++) {
+ dset8[i][j] = dset8[i][j-1] << 1;
+ aset8[i*dims[1]+j] = dset8[i][j];
+ }
+ val8bits <<= 1;
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_INT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8);
+ /* Attribute of 8 bits signed int */
+ adims[0] = F66_XDIM * F66_YDIM8;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DATASETS08, H5T_STD_I8LE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_INT8, aset8);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 16 bits signed int */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM16;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DATASETS16, H5T_STD_I16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ val16bits = (int16_t) ~0; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dset16[i][0] = val16bits;
+ aset16[i*dims[1]] = dset16[i][0];
+ for(j = 1; j < dims[1]; j++) {
+ dset16[i][j] = dset16[i][j-1] << 1;
+ aset16[i*dims[1]+j] = dset16[i][j];
+ }
+ val16bits <<= 1;
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_INT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16);
+ /* Attribute of 16 bits signed int */
+ adims[0] = F66_XDIM * F66_YDIM16;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DATASETS16, H5T_STD_I16LE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_INT16, aset16);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 32 bits signed int */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM32;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DATASETS32, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ val32bits = (int32_t) ~0; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dset32[i][0] = val32bits;
+ aset32[i*dims[1]] = dset32[i][0];
+ for(j = 1; j < dims[1]; j++) {
+ dset32[i][j] = dset32[i][j-1] << 1;
+ aset32[i*dims[1]+j] = dset32[i][j];
+ }
+ val32bits <<= 1;
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32);
+ /* Attribute of 32 bits signed int */
+ adims[0] = F66_XDIM * F66_YDIM32;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DATASETS32, H5T_STD_I32LE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_INT32, aset32);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Dataset of 64 bits signed int */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM64;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DATASETS64, H5T_STD_I64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ val64bits = (int64_t) ~0L; /* all 1s */
+ for(i = 0; i < dims[0]; i++){
+ dset64[i][0] = val64bits;
+ aset64[i*dims[1]] = dset64[i][0];
+ for(j = 1; j < dims[1]; j++) {
+ dset64[i][j] = dset64[i][j-1] << 1;
+ aset64[i*dims[1]+j] = dset64[i][j];
+ }
+ val64bits <<= 1;
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_INT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64);
+ /* Attribute of 64 bits signed int */
+ adims[0] = F66_XDIM * F66_YDIM64;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DATASETS64, H5T_STD_I64LE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_INT64, aset64);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ /* Double Dummy set for failure tests */
+ dims[0] = F66_XDIM; dims[1] = F66_YDIM8;
+ space = H5Screate_simple(2, dims, NULL);
+ dataset = H5Dcreate2(fid, F66_DUMMYDBL, H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ for(i = 0; i < dims[0]; i++)
+ for(j = 0; j < dims[1]; j++) {
+ dsetdbl[i][j] = 0.0001 * j + i;
+ asetdbl[i*dims[1]+j] = dsetdbl[i][j];
+ }
+
+ H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl);
+ /* Attribute of double */
+ adims[0] = F66_XDIM * F66_YDIM8;
+ aspace = H5Screate_simple(1, adims, NULL);
+ attr = H5Acreate2(dataset, F66_DUMMYDBL, H5T_IEEE_F64BE, aspace, H5P_DEFAULT, H5P_DEFAULT);
+ H5Awrite(attr, H5T_NATIVE_DOUBLE, asetdbl);
+ H5Aclose(attr);
+ H5Sclose(aspace);
+ H5Sclose(space);
+ H5Dclose(dataset);
+ H5Fclose(fid);
+}
+
+
/*-------------------------------------------------------------------------
* Function: main
*
@@ -8658,6 +9662,10 @@ int main(void)
gent_intscalars();
gent_attr_intscalars();
gent_string_scalars();
+ gent_compound_int_array();
+ gent_compound_ints();
+ gent_intattrscalars();
+ gent_intsattrs();
return 0;
}
diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in
index 1a0f189..0c72a8d 100644
--- a/tools/h5dump/testh5dump.sh.in
+++ b/tools/h5dump/testh5dump.sh.in
@@ -17,6 +17,13 @@
srcdir=@srcdir@
+USE_FILTER_SZIP="@USE_FILTER_SZIP@"
+USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@"
+USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@"
+USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@"
+USE_FILTER_NBIT="@USE_FILTER_NBIT@"
+USE_FILTER_SCALEOFFSET="@USE_FILTER_SCALEOFFSET@"
+
TESTNAME=h5dump
EXIT_SUCCESS=0
EXIT_FAILURE=1
@@ -30,7 +37,7 @@ H5DIFF_BIN=`pwd`/$H5DIFF # The path of the h5diff tool binary
H5IMPORT=../h5import/h5import # The h5import tool name
H5IMPORT_BIN=`pwd`/$H5IMPORT # The path of the h5import tool binary
-
+RM='rm -rf'
CMP='cmp'
DIFF='diff -c'
CP='cp'
@@ -129,6 +136,7 @@ $SRC_H5DUMP_TESTFILES/tgroup.h5
$SRC_H5DUMP_TESTFILES/tgrp_comments.h5
$SRC_H5DUMP_TESTFILES/thlink.h5
$SRC_H5DUMP_TESTFILES/thyperslab.h5
+$SRC_H5DUMP_TESTFILES/tintsattrs.h5
$SRC_H5DUMP_TESTFILES/tlarge_objname.h5
#$SRC_H5DUMP_TESTFILES/tldouble.h5
$SRC_H5DUMP_TESTFILES/tlonglinks.h5
@@ -148,8 +156,9 @@ $SRC_H5DUMP_TESTFILES/zerodim.h5
$SRC_H5DUMP_TESTFILES/torderattr.h5
$SRC_H5DUMP_TESTFILES/tordergr.h5
$SRC_H5DUMP_TESTFILES/tsaf.h5
-$SRC_H5DUMP_TESTFILES/tscalarintsize.h5
$SRC_H5DUMP_TESTFILES/tscalarattrintsize.h5
+$SRC_H5DUMP_TESTFILES/tscalarintattrsize.h5
+$SRC_H5DUMP_TESTFILES/tscalarintsize.h5
$SRC_H5DUMP_TESTFILES/tscalarstring.h5
$SRC_H5DUMP_TESTFILES/tslink.h5
$SRC_H5DUMP_TESTFILES/tsplit_file-m.h5
@@ -259,6 +268,7 @@ $SRC_H5DUMP_TESTFILES/tindicessub2.ddl
$SRC_H5DUMP_TESTFILES/tindicessub3.ddl
$SRC_H5DUMP_TESTFILES/tindicessub4.ddl
$SRC_H5DUMP_TESTFILES/tindicesyes.ddl
+$SRC_H5DUMP_TESTFILES/tintsattrs.ddl
$SRC_H5DUMP_TESTFILES/tlarge_objname.ddl
#$SRC_H5DUMP_TESTFILES/tldouble.ddl
$SRC_H5DUMP_TESTFILES/tlonglinks.ddl
@@ -298,10 +308,13 @@ $SRC_H5DUMP_TESTFILES/tordercontents2.ddl
$SRC_H5DUMP_TESTFILES/torderlinks1.ddl
$SRC_H5DUMP_TESTFILES/torderlinks2.ddl
$SRC_H5DUMP_TESTFILES/tperror.ddl
+$SRC_H5DUMP_TESTFILES/treadfilter.ddl
+$SRC_H5DUMP_TESTFILES/treadintfilter.ddl
$SRC_H5DUMP_TESTFILES/treference.ddl
$SRC_H5DUMP_TESTFILES/tsaf.ddl
-$SRC_H5DUMP_TESTFILES/tscalarintsize.ddl
$SRC_H5DUMP_TESTFILES/tscalarattrintsize.ddl
+$SRC_H5DUMP_TESTFILES/tscalarintattrsize.ddl
+$SRC_H5DUMP_TESTFILES/tscalarintsize.ddl
$SRC_H5DUMP_TESTFILES/tscalarstring.ddl
$SRC_H5DUMP_TESTFILES/tscaleoffset.ddl
$SRC_H5DUMP_TESTFILES/tshuffle.ddl
@@ -396,6 +409,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
#
@@ -934,6 +960,10 @@ TOOLTEST tattrintsize.ddl --enable-error-stack tattrintsize.h5
TOOLTEST tcmpdattrintsize.ddl --enable-error-stack tcmpdattrintsize.h5
# test for signed/unsigned scalar attributes
TOOLTEST tscalarattrintsize.ddl --enable-error-stack tscalarattrintsize.h5
+# test for signed/unsigned scalar datasets with attributes
+TOOLTEST tscalarintattrsize.ddl --enable-error-stack tscalarintattrsize.h5
+# test for signed/unsigned datasets attributes
+TOOLTEST tintsattrs.ddl --enable-error-stack tintsattrs.h5
# test for string scalar dataset attribute
TOOLTEST tscalarstring.ddl --enable-error-stack tscalarstring.h5
# test for displaying groups
@@ -1154,6 +1184,15 @@ TOOLTEST tallfilters.ddl --enable-error-stack -H -p -d all tfilters.h5
# user defined
TOOLTEST tuserfilter.ddl --enable-error-stack -H -p -d myfilter tfilters.h5
+if test $USE_FILTER_DEFLATE = "yes" -a $USE_FILTER_SHUFFLE = "yes" -a $USE_FILTER_FLETCHER32 = "yes" -a $USE_FILTER_NBIT = "yes" -a $USE_FILTER_SCALEOFFSET = "yes" ; then
+ # data read internal filters
+ TOOLTEST treadintfilter.ddl --enable-error-stack -d deflate -d shuffle -d fletcher32 -d nbit -d scaleoffset tfilters.h5
+ if test $USE_FILTER_SZIP = "yes"; then
+ # data read
+ TOOLTEST treadfilter.ddl --enable-error-stack -d all -d szip tfilters.h5
+ fi
+fi
+
# test for displaying objects with very long names
TOOLTEST tlonglinks.ddl --enable-error-stack tlonglinks.h5
@@ -1258,6 +1297,8 @@ TOOLTEST5 filter_fail.ddl --enable-error-stack filter_fail.h5
# test for -o -y for dataset with attributes
TOOLTEST2 tall-6.exp --enable-error-stack -y -o tall-6.txt -d /g1/g1.1/dset1.1.1 tall.h5
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
# Report test results and exit
if test $nerrors -eq 0 ; then
diff --git a/tools/h5dump/testh5dumppbits.sh.in b/tools/h5dump/testh5dumppbits.sh.in
index def687b..0f6503d 100644
--- a/tools/h5dump/testh5dumppbits.sh.in
+++ b/tools/h5dump/testh5dumppbits.sh.in
@@ -38,7 +38,7 @@ H5DIFF_BIN=`pwd`/$H5DIFF # The path of the h5diff tool binary
H5IMPORT=../h5import/h5import # The h5import tool name
H5IMPORT_BIN=`pwd`/$H5IMPORT # The path of the h5import tool binary
-
+RM='rm -rf'
CMP='cmp -s'
DIFF='diff -c'
CP='cp'
@@ -189,6 +189,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
#
@@ -576,6 +589,8 @@ TOOLTEST tpbitsLongLengthExceeded.ddl --enable-error-stack -d /DS32BITS -M 26,7
# Incomplete pair of packed bits request.
TOOLTEST tpbitsIncomplete.ddl --enable-error-stack -d /DS08BITS -M 0,2,2,1,0,2,2, packedbits.h5
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
# Report test results and exit
if test $nerrors -eq 0 ; then
diff --git a/tools/h5dump/testh5dumpxml.sh.in b/tools/h5dump/testh5dumpxml.sh.in
index 6e4efd1..4dad9cd 100644
--- a/tools/h5dump/testh5dumpxml.sh.in
+++ b/tools/h5dump/testh5dumpxml.sh.in
@@ -26,6 +26,7 @@ H5_LONE_COLON="@H5_LONE_COLON@"
DUMPER=h5dump # The tool name
DUMPER_BIN=`pwd`/$DUMPER # The path of the tool binary
+RM='rm -rf'
CMP='cmp -s'
DIFF='diff -c'
CP='cp'
@@ -217,6 +218,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
#
@@ -372,6 +386,8 @@ TOOLTEST torderattr4.h5.xml --xml -H --sort_by=creation_order --sort_order=desce
# tests for floating point user defined printf format
TOOLTEST tfpformat.h5.xml -u -m %.7f tfpformat.h5
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
diff --git a/tools/h5import/CMakeTests.cmake b/tools/h5import/CMakeTests.cmake
index cb76204..96cca87 100644
--- a/tools/h5import/CMakeTests.cmake
+++ b/tools/h5import/CMakeTests.cmake
@@ -105,7 +105,7 @@
IF (HDF5_ENABLE_USING_MEMCHECKER)
ADD_TEST (NAME H5IMPORT-${testname} COMMAND $<TARGET_FILE:h5import> ${importfile} -c ${conffile} -o ${testfile})
IF (NOT "${last_test}" STREQUAL "")
- SET_TESTS_PROPERTIES (H5IMPORT-${testname} PROPERTIES DEPENDS ${last_test})
+ SET_TESTS_PROPERTIES (H5IMPORT-${testname} PROPERTIES DEPENDS H5IMPORT-h5importtest)
ENDIF (NOT "${last_test}" STREQUAL "")
ELSE (HDF5_ENABLE_USING_MEMCHECKER)
ADD_TEST (
@@ -118,6 +118,7 @@
${testfile}.out
${testfile}.out.err
)
+ SET_TESTS_PROPERTIES (H5IMPORT-${testname}-clear-objects PROPERTIES DEPENDS H5IMPORT-h5importtest)
ADD_TEST (NAME H5IMPORT-${testname} COMMAND $<TARGET_FILE:h5import> ${importfile} -c ${conffile} -o ${testfile})
SET_TESTS_PROPERTIES (H5IMPORT-${testname} PROPERTIES DEPENDS H5IMPORT-${testname}-clear-objects)
@@ -167,6 +168,7 @@
d${testfile}.dff
d${testfile}.dff.err
)
+ SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname}-clear-objects PROPERTIES DEPENDS H5IMPORT-h5importtest)
IF ("${ARGN}" STREQUAL "BINARY")
ADD_TEST (
@@ -407,10 +409,25 @@
SET (last_test "H5IMPORT-clear-objects")
ENDIF (HDF5_ENABLE_USING_MEMCHECKER)
- ADD_TEST (NAME H5IMPORT-h5importtest COMMAND $<TARGET_FILE:h5importtest>)
+ ADD_TEST (
+ NAME H5IMPORT-h5importtest-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ binfp64.bin
+ binin8.bin
+ binin8w.bin
+ binin16.bin
+ binin32.bin
+ binuin16.bin
+ binuin32.bin
+ )
IF (NOT "${last_test}" STREQUAL "")
- SET_TESTS_PROPERTIES (H5IMPORT-h5importtest PROPERTIES DEPENDS ${last_test})
+ SET_TESTS_PROPERTIES (H5IMPORT-h5importtest-clear-objects PROPERTIES DEPENDS ${last_test})
ENDIF (NOT "${last_test}" STREQUAL "")
+ SET (last_test "H5IMPORT-clear-objects")
+
+ ADD_TEST (NAME H5IMPORT-h5importtest COMMAND $<TARGET_FILE:h5importtest>)
+ SET_TESTS_PROPERTIES (H5IMPORT-h5importtest PROPERTIES DEPENDS H5IMPORT-h5importtest-clear-objects)
# ----- TESTING "ASCII I32 rank 3 - Output BE " ;
ADD_H5_TEST (ASCII_I32 testfiles/txtin32.txt testfiles/txtin32.conf txtin32.h5)
diff --git a/tools/h5import/Makefile.am b/tools/h5import/Makefile.am
index 167dbc9..6d18e25 100644
--- a/tools/h5import/Makefile.am
+++ b/tools/h5import/Makefile.am
@@ -40,4 +40,7 @@ h5import_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS)
# All programs depend on the main hdf5 library and the tools library
LDADD=$(LIBH5TOOLS) $(LIBHDF5)
+# Temporary files from h5importtest
+CHECK_CLEANFILES+=*.bin
+
include $(top_srcdir)/config/conclude.am
diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in
index bfb777a..94910af 100644
--- a/tools/h5import/Makefile.in
+++ b/tools/h5import/Makefile.in
@@ -428,7 +428,9 @@ TRACE = perl $(top_srcdir)/bin/trace
# .chkexe files are used to mark tests that have run successfully.
# .chklog files are output from those tests.
# *.clog are from the MPE option.
-CHECK_CLEANFILES = *.chkexe *.chklog *.clog
+
+# Temporary files from h5importtest
+CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.bin
# Include src and tools/lib directories
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
diff --git a/tools/h5import/h5importtestutil.sh.in b/tools/h5import/h5importtestutil.sh.in
index fd21dc1..e50ddac 100644
--- a/tools/h5import/h5importtestutil.sh.in
+++ b/tools/h5import/h5importtestutil.sh.in
@@ -25,6 +25,7 @@ TESTNAME=h5import
EXIT_SUCCESS=0
EXIT_FAILURE=1
+RM='rm -rf'
CP='cp'
DIRNAME='dirname'
LS='ls'
@@ -147,6 +148,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
TESTING() {
SPACES=" "
echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
@@ -350,6 +364,9 @@ else
nerrors="` expr $nerrors + 1 `";
fi
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
+
#
# Check errors result
if test $nerrors -eq 0 ; then
diff --git a/tools/h5jam/Makefile.am b/tools/h5jam/Makefile.am
index c6ccebf..62a5ba7 100644
--- a/tools/h5jam/Makefile.am
+++ b/tools/h5jam/Makefile.am
@@ -39,7 +39,7 @@ LDADD=$(LIBH5TOOLS) $(LIBHDF5)
# Temporary files. *.h5 are generated by jamgentest. They should
# copied to the testfiles/ directory if update is required.
-CHECK_CLEANFILES+=*.h5
+CHECK_CLEANFILES+=*.h5 testfiles/h5jam-*-sav testfiles/h5unjam-*-sav
DISTCLEANFILES=testh5jam.sh
include $(top_srcdir)/config/conclude.am
diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in
index 7256d6e..c16c300 100644
--- a/tools/h5jam/Makefile.in
+++ b/tools/h5jam/Makefile.in
@@ -445,7 +445,8 @@ TRACE = perl $(top_srcdir)/bin/trace
# Temporary files. *.h5 are generated by jamgentest. They should
# copied to the testfiles/ directory if update is required.
-CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
+CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5 testfiles/h5jam-*-sav \
+ testfiles/h5unjam-*-sav
# Include src and tools/lib directories
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
diff --git a/tools/h5jam/getub.c b/tools/h5jam/getub.c
index d84f7f2..3aff2b4 100644
--- a/tools/h5jam/getub.c
+++ b/tools/h5jam/getub.c
@@ -165,7 +165,7 @@ main (int argc, const char *argv[])
if (res < (long)size)
{
if (buf)
- free (buf);
+ HDfree (buf);
HDclose (fd);
exit (EXIT_FAILURE);
}
@@ -173,7 +173,7 @@ main (int argc, const char *argv[])
HDwrite (1, buf, (unsigned)size);
if (buf)
- free (buf);
+ HDfree (buf);
HDclose (fd);
return (EXIT_SUCCESS);
}
diff --git a/tools/h5jam/testh5jam.sh.in b/tools/h5jam/testh5jam.sh.in
index 86edbee..36f0657 100644
--- a/tools/h5jam/testh5jam.sh.in
+++ b/tools/h5jam/testh5jam.sh.in
@@ -34,6 +34,7 @@ UNJAM=h5unjam # Tool to test
JAM_BIN="$RUNSERIAL "`pwd` # The path of the jam binary
UNJAM_BIN=`pwd` # The path of the jam binary
+RM='rm -rf'
CMP='cmp -s'
DIFF='diff -c'
AWK='awk'
@@ -122,6 +123,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
#
@@ -497,10 +511,10 @@ TOOLTEST_OUTPUT() {
# Create the expect file if it doesn't yet exist.
echo " CREATED"
cp $actual $expect
- rm -f $actual $actual_err
+ rm -f $actual $actual_sav $actual_err $actual_err_sav
elif $CMP $expect $actual; then
echo " PASSED"
- rm -f $actual $actual_err
+ rm -f $actual $actual_sav $actual_err $actual_err_sav
else
echo "*FAILED*"
echo " Expected result differs from actual result"
@@ -675,7 +689,8 @@ UNJAMTEST taj3.h5 --delete tac3.h5
CHECKFILE $TESTDIR/tall.h5 tac3.h5
CLEANUP tac3.h5 taj3.h5
-
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
diff --git a/tools/h5ls/testh5ls.sh.in b/tools/h5ls/testh5ls.sh.in
index 0904f96..bf40bfa 100644
--- a/tools/h5ls/testh5ls.sh.in
+++ b/tools/h5ls/testh5ls.sh.in
@@ -24,6 +24,7 @@ EXIT_FAILURE=1
H5LS=h5ls # The tool name
H5LS_BIN=`pwd`/$H5LS # The path of the tool binary
+RM='rm -rf'
CMP='cmp -s'
DIFF='diff -c'
CP='cp'
@@ -189,6 +190,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
TESTING() {
@@ -404,6 +418,8 @@ else
TOOLTEST tdataregbe.ls 0 -v tdatareg.h5
fi
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
diff --git a/tools/h5repack/CMakeTests.cmake b/tools/h5repack/CMakeTests.cmake
index 7f8f71b..8690181 100644
--- a/tools/h5repack/CMakeTests.cmake
+++ b/tools/h5repack/CMakeTests.cmake
@@ -55,6 +55,7 @@
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layouto.h5
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout2.h5
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout3.h5
+ ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout.UD.h5
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_named_dtypes.h5
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_nbit.h5
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_objs.h5
@@ -88,6 +89,8 @@
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_filters.h5.tst
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout.h5-plugin_test.ddl
${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/plugin_test.h5repack_layout.h5.tst
+ ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout.UD.h5-plugin_none.ddl
+ ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/plugin_none.h5repack_layout.UD.h5.tst
)
FOREACH (h5_file ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
@@ -341,7 +344,7 @@
IF (HDF5_BUILD_TOOLS AND NOT HDF5_ENABLE_USING_MEMCHECKER)
# Remove any output file left over from previous test run
ADD_TEST (
- NAME H5REPACK_UD-clearall-objects
+ NAME H5REPACK_UD-${testname}-clearall-objects
COMMAND ${CMAKE_COMMAND}
-E remove
testfiles/out-${testname}.${resultfile}
@@ -364,7 +367,7 @@
-D "TEST_ENV_VALUE=${CMAKE_BINARY_DIR}/plugins"
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
)
- SET_TESTS_PROPERTIES (H5REPACK_UD-${testname} PROPERTIES DEPENDS H5REPACK_UD-clearall-objects)
+ SET_TESTS_PROPERTIES (H5REPACK_UD-${testname} PROPERTIES DEPENDS H5REPACK_UD-${testname}-clearall-objects)
ADD_TEST (
NAME H5REPACK_UD-h5dump-${testname}
COMMAND "${CMAKE_COMMAND}"
@@ -1063,6 +1066,7 @@ ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CO
##############################################################################
IF (BUILD_SHARED_LIBS)
ADD_H5_UD_TEST (plugin_test 0 h5repack_layout.h5 -v -f UD=257,1,9)
+# ADD_H5_UD_TEST (plugin_none 0 h5repack_layout.UD.h5 -v -f NONE)
ELSE (BUILD_SHARED_LIBS)
MESSAGE (STATUS " **** Plugins libraries must be built as shared libraries **** ")
ADD_TEST (
diff --git a/tools/h5repack/Makefile.am b/tools/h5repack/Makefile.am
index 663e501..eae296d 100644
--- a/tools/h5repack/Makefile.am
+++ b/tools/h5repack/Makefile.am
@@ -72,7 +72,7 @@ endif
# Temporary files. *.h5 are generated by h5repack. They should
# copied to the testfiles/ directory if update is required.
-CHECK_CLEANFILES+=*.h5 *.bin
+CHECK_CLEANFILES+=*.h5 *.bin testfiles/h5diff_attr1.h5 testfiles/tfamily*.h5
DISTCLEANFILES=h5repack.sh h5repack_plugin.sh
include $(top_srcdir)/config/conclude.am
diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in
index fc37649..9f0e6f1 100644
--- a/tools/h5repack/Makefile.in
+++ b/tools/h5repack/Makefile.in
@@ -481,7 +481,8 @@ TRACE = perl $(top_srcdir)/bin/trace
# Temporary files. *.h5 are generated by h5repack. They should
# copied to the testfiles/ directory if update is required.
-CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5 *.bin
+CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5 *.bin \
+ testfiles/h5diff_attr1.h5 testfiles/tfamily*.h5
# Include src, test, and tools/lib directories
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/tools/lib
diff --git a/tools/h5repack/h5repack.sh.in b/tools/h5repack/h5repack.sh.in
index 583b6ef..045aebf 100644
--- a/tools/h5repack/h5repack.sh.in
+++ b/tools/h5repack/h5repack.sh.in
@@ -42,6 +42,7 @@ H5DIFF_BIN=`pwd`/$H5DIFF # The path of the h5diff tool binary
H5DUMP=../h5dump/h5dump # The h5dump tool name
H5DUMP_BIN=`pwd`/$H5DUMP # The path of the h5dump tool binary
+RM='rm -rf'
GREP='grep'
CP='cp'
DIRNAME='dirname'
@@ -161,6 +162,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a $* message left justified in a field of 70 characters
#
MESSAGE() {
@@ -1088,6 +1102,9 @@ TOOLTEST HDFFV-7840 h5diff_attr1.h5
TOOLTEST_META meta_short h5repack_layout.h5 -M 8192
TOOLTEST_META meta_long h5repack_layout.h5 --metadata_block_size=8192
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
+
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
exit $EXIT_SUCCESS
diff --git a/tools/h5repack/h5repack_plugin.sh.in b/tools/h5repack/h5repack_plugin.sh.in
index a45d1fe..df4b374 100644
--- a/tools/h5repack/h5repack_plugin.sh.in
+++ b/tools/h5repack/h5repack_plugin.sh.in
@@ -35,7 +35,7 @@ TEST_NAME=ud_plugin
FROM_DIR=`pwd`/.libs
PLUGIN_LIB="$FROM_DIR/libdynlibadd.*"
PLUGIN_LIBDIR=testdir3
-RM="rm -rf"
+RM='rm -rf'
GREP='grep'
CP='cp'
@@ -118,6 +118,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a $* message left justified in a field of 70 characters
#
MESSAGE() {
@@ -233,6 +246,10 @@ else
exit_code=$EXIT_SUCCESS
fi
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
+
# Clean up temporary files/directories and leave
$RM $PLUGIN_LIBDIR
+
exit $exit_code
diff --git a/tools/h5repack/h5repacktst.c b/tools/h5repack/h5repacktst.c
index 791e268..ba6b499 100644
--- a/tools/h5repack/h5repacktst.c
+++ b/tools/h5repack/h5repacktst.c
@@ -3333,7 +3333,7 @@ int make_big(hid_t loc_id)
goto out;
/* initialize buffer to 0 */
- buf=(signed char *) calloc( nelmts, size);
+ buf=(signed char *) HDcalloc( nelmts, size);
if (H5Sselect_hyperslab (f_sid,H5S_SELECT_SET,hs_start,NULL,hs_size, NULL) < 0)
goto out;
@@ -3814,10 +3814,10 @@ int write_dset_in(hid_t loc_id,
/* Allocate and initialize VL dataset to write */
buf5[0].len = 1;
- buf5[0].p = malloc( 1 * sizeof(int));
+ buf5[0].p = HDmalloc( 1 * sizeof(int));
((int *)buf5[0].p)[0]=1;
buf5[1].len = 2;
- buf5[1].p = malloc( 2 * sizeof(int));
+ buf5[1].p = HDmalloc( 2 * sizeof(int));
((int *)buf5[1].p)[0] = 2;
((int *)buf5[1].p)[1] = 3;
@@ -3876,7 +3876,7 @@ int write_dset_in(hid_t loc_id,
/* allocate and initialize array data to write */
size = ( TEST_BUFSIZE / sizeof(double) + 1 ) * sizeof(double);
- dbuf = (double*)malloc( size );
+ dbuf = (double*)HDmalloc( size );
if (NULL == dbuf)
{
printf ("\nError: Cannot allocate memory for \"arrayd\" data buffer size %dMB.\n", (int) size / 1000000 );
@@ -4050,7 +4050,7 @@ int write_dset_in(hid_t loc_id,
{
int l;
- buf52[i][j].p = malloc((i + 1) * sizeof(int));
+ buf52[i][j].p = HDmalloc((i + 1) * sizeof(int));
buf52[i][j].len = (size_t)(i + 1);
for(l = 0; l < i + 1; l++)
{
@@ -4271,7 +4271,7 @@ int write_dset_in(hid_t loc_id,
{
int l;
- buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
+ buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int));
buf53[i][j][k].len = (size_t)(i + 1);
for(l = 0; l < i + 1; l++)
{
@@ -4401,8 +4401,8 @@ int make_dset_reg_ref(hid_t loc_id)
int retval = -1; /* return value */
/* Allocate write & read buffers */
- wbuf = (hdset_reg_ref_t *)calloc(sizeof(hdset_reg_ref_t), (size_t)SPACE1_DIM1);
- dwbuf = (int *)malloc(sizeof(int) * SPACE2_DIM1 * SPACE2_DIM2);
+ wbuf = (hdset_reg_ref_t *)HDcalloc(sizeof(hdset_reg_ref_t), (size_t)SPACE1_DIM1);
+ dwbuf = (int *)HDmalloc(sizeof(int) * SPACE2_DIM1 * SPACE2_DIM2);
/* Create dataspace for datasets */
if ((sid2 = H5Screate_simple(SPACE2_RANK, dims2, NULL)) < 0)
@@ -4742,10 +4742,10 @@ int write_attr_in(hid_t loc_id,
/* Allocate and initialize VL dataset to write */
buf5[0].len = 1;
- buf5[0].p = malloc( 1 * sizeof(int));
+ buf5[0].p = HDmalloc( 1 * sizeof(int));
((int *)buf5[0].p)[0]=1;
buf5[1].len = 2;
- buf5[1].p = malloc(2 * sizeof(int));
+ buf5[1].p = HDmalloc(2 * sizeof(int));
((int *)buf5[1].p)[0] = 2;
((int *)buf5[1].p)[1] = 3;
@@ -5062,7 +5062,7 @@ int write_attr_in(hid_t loc_id,
for (j = 0; j < 2; j++)
{
int l;
- buf52[i][j].p = malloc((i + 1) * sizeof(int));
+ buf52[i][j].p = HDmalloc((i + 1) * sizeof(int));
buf52[i][j].len = (size_t)(i + 1);
for (l = 0; l < i + 1; l++)
if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
@@ -5528,7 +5528,7 @@ int write_attr_in(hid_t loc_id,
for (k = 0; k < 2; k++)
{
int l;
- buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
+ buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int));
buf53[i][j][k].len = (size_t)i + 1;
for (l = 0; l < i + 1; l++)
if (make_diffs)
@@ -6754,11 +6754,11 @@ static herr_t make_complex_attr_references(hid_t loc_id)
* prepare vlen data
*/
vlen_objref_data[0].len = LEN0_VLEN_OBJREF;
- vlen_objref_data[0].p = malloc (vlen_objref_data[0].len * sizeof(hobj_ref_t));
+ vlen_objref_data[0].p = HDmalloc (vlen_objref_data[0].len * sizeof(hobj_ref_t));
vlen_objref_data[1].len = LEN1_VLEN_OBJREF;
- vlen_objref_data[1].p = malloc (vlen_objref_data[1].len * sizeof(hobj_ref_t));
+ vlen_objref_data[1].p = HDmalloc (vlen_objref_data[1].len * sizeof(hobj_ref_t));
vlen_objref_data[2].len = LEN2_VLEN_OBJREF;
- vlen_objref_data[2].p = malloc (vlen_objref_data[2].len * sizeof(hobj_ref_t));
+ vlen_objref_data[2].p = HDmalloc (vlen_objref_data[2].len * sizeof(hobj_ref_t));
/*
* create obj references
@@ -6823,7 +6823,7 @@ static herr_t make_complex_attr_references(hid_t loc_id)
* prepare vlen data
*/
vlen_regref_data[0].len = LEN0_VLEN_REGREF;
- vlen_regref_data[0].p = malloc (vlen_regref_data[0].len * sizeof(hdset_reg_ref_t));
+ vlen_regref_data[0].p = HDmalloc (vlen_regref_data[0].len * sizeof(hdset_reg_ref_t));
/*
* create region reference
diff --git a/tools/h5repack/testfiles/h5repack_layout.UD.h5 b/tools/h5repack/testfiles/h5repack_layout.UD.h5
new file mode 100644
index 0000000..caf2024
--- /dev/null
+++ b/tools/h5repack/testfiles/h5repack_layout.UD.h5
Binary files differ
diff --git a/tools/h5repack/testfiles/h5repack_layout.UD.h5-plugin_none.ddl b/tools/h5repack/testfiles/h5repack_layout.UD.h5-plugin_none.ddl
new file mode 100644
index 0000000..0d85352
--- /dev/null
+++ b/tools/h5repack/testfiles/h5repack_layout.UD.h5-plugin_none.ddl
@@ -0,0 +1,130 @@
+HDF5 "testfiles/out-plugin_none.h5repack_layout.UD.h5" {
+GROUP "/" {
+ DATASET "dset1" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) }
+ STORAGE_LAYOUT {
+ CHUNKED ( 40, 20 )
+ SIZE 3200
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_INCR
+ }
+ }
+ DATASET "dset2" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) }
+ STORAGE_LAYOUT {
+ CHUNKED ( 40, 20 )
+ SIZE 3200
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_INCR
+ }
+ }
+ DATASET "dset3" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) }
+ STORAGE_LAYOUT {
+ CHUNKED ( 40, 20 )
+ SIZE 3200
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_INCR
+ }
+ }
+ DATASET "dset4" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) }
+ STORAGE_LAYOUT {
+ CHUNKED ( 40, 20 )
+ SIZE 3200
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_INCR
+ }
+ }
+ DATASET "dset_chunk" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 40, 20 ) / ( 40, H5S_UNLIMITED ) }
+ STORAGE_LAYOUT {
+ CHUNKED ( 20, 10 )
+ SIZE 3200
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_INCR
+ }
+ }
+ DATASET "dset_compact" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) }
+ STORAGE_LAYOUT {
+ CHUNKED ( 40, 20 )
+ SIZE 3200
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_INCR
+ }
+ }
+ DATASET "dset_contiguous" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) }
+ STORAGE_LAYOUT {
+ CHUNKED ( 40, 20 )
+ SIZE 3200
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_INCR
+ }
+ }
+}
+}
diff --git a/tools/h5repack/testfiles/plugin_none.h5repack_layout.UD.h5.tst b/tools/h5repack/testfiles/plugin_none.h5repack_layout.UD.h5.tst
new file mode 100644
index 0000000..4fb6906
--- /dev/null
+++ b/tools/h5repack/testfiles/plugin_none.h5repack_layout.UD.h5.tst
@@ -0,0 +1,14 @@
+Objects to modify layout are...
+Objects to apply filter are...
+ Uncompress all
+-----------------------------------------
+ Type Filter (Compression) Name
+-----------------------------------------
+ group /
+ dset (1.000:1) /dset1
+ dset (1.000:1) /dset2
+ dset (1.000:1) /dset3
+ dset (1.000:1) /dset4
+ dset (1.000:1) /dset_chunk
+ dset (1.000:1) /dset_compact
+ dset (1.000:1) /dset_contiguous
diff --git a/tools/h5stat/h5stat.c b/tools/h5stat/h5stat.c
index a5d7eef..e9fa0fa 100644
--- a/tools/h5stat/h5stat.c
+++ b/tools/h5stat/h5stat.c
@@ -823,7 +823,7 @@ freespace_stats(hid_t fid, iter_t *iter)
} /* end for */
if(sect_info)
- free(sect_info);
+ HDfree(sect_info);
return 0;
} /* end freespace_stats() */
@@ -1756,9 +1756,9 @@ main(int argc, const char *argv[])
iter.free_hdr = finfo.free.meta_size;
} /* end else */
- iter.num_small_groups = (unsigned long *)calloc((size_t)sgroups_threshold, sizeof(unsigned long));
- iter.num_small_attrs = (unsigned long *)calloc((size_t)(sattrs_threshold+1), sizeof(unsigned long));
- iter.small_dset_dims = (unsigned long *)calloc((size_t)sdsets_threshold, sizeof(unsigned long));
+ iter.num_small_groups = (unsigned long *)HDcalloc((size_t)sgroups_threshold, sizeof(unsigned long));
+ iter.num_small_attrs = (unsigned long *)HDcalloc((size_t)(sattrs_threshold+1), sizeof(unsigned long));
+ iter.small_dset_dims = (unsigned long *)HDcalloc((size_t)sdsets_threshold, sizeof(unsigned long));
if(iter.num_small_groups == NULL || iter.num_small_attrs == NULL || iter.small_dset_dims == NULL) {
error_msg("Unable to allocate memory for tracking small groups/datasets/attributes\n");
diff --git a/tools/h5stat/testh5stat.sh.in b/tools/h5stat/testh5stat.sh.in
index f780c97..865093a 100644
--- a/tools/h5stat/testh5stat.sh.in
+++ b/tools/h5stat/testh5stat.sh.in
@@ -37,6 +37,7 @@ EXIT_FAILURE=1
STAT=h5stat # The tool name
STAT_BIN=`pwd`/$STAT # The path of the tool binary
+RM='rm -rf'
CMP='cmp -s'
DIFF='diff -c'
CP='cp'
@@ -147,6 +148,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
#
@@ -294,6 +308,9 @@ TOOLTEST h5stat_numattrs3.ddl -A --numattrs=25 h5stat_threshold.h5
TOOLTEST h5stat_numattrs4.ddl -A -a 100 h5stat_newgrat.h5
#
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
+
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
exit $EXIT_SUCCESS
diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c
index 541525d..ab21bfd 100644
--- a/tools/lib/h5diff.c
+++ b/tools/lib/h5diff.c
@@ -106,47 +106,6 @@ void phdiff_dismiss_workers(void)
/*-------------------------------------------------------------------------
- * Function: print_manager_output
- *
- * Purpose: special function that prints any output accumulated by the
- * manager task.
- *
- * Return: none
- *
- * Programmer: Leon Arber
- *
- * Date: Feb 7, 2005
- *
- *-------------------------------------------------------------------------
- */
-void print_manager_output(void)
-{
- /* If there was something we buffered, let's print it now */
- if( (outBuffOffset>0) && g_Parallel)
- {
- printf("%s", outBuff);
-
- if(overflow_file)
- {
- int tmp;
- rewind(overflow_file);
- while((tmp = getc(overflow_file)) >= 0)
- putchar(tmp);
- fclose(overflow_file);
- overflow_file = NULL;
- }
-
- HDfflush(stdout);
- HDmemset(outBuff, 0, OUTBUFF_SIZE);
- outBuffOffset = 0;
- }
- else if( (outBuffOffset>0) && !g_Parallel)
- {
- HDfprintf(stderr, "h5diff error: outBuffOffset>0, but we're not in parallel!\n");
- }
-}
-
-/*-------------------------------------------------------------------------
* Function: print_incoming_data
*
* Purpose: special function that prints any output that has been sent to the manager
diff --git a/tools/lib/ph5diff.h b/tools/lib/ph5diff.h
index becbd6c..2a75228 100644
--- a/tools/lib/ph5diff.h
+++ b/tools/lib/ph5diff.h
@@ -17,18 +17,18 @@
#define _PH5DIFF_H__
/* Send from manager to workers */
-#define MPI_TAG_ARGS 1
-#define MPI_TAG_PRINT_TOK 2
+#define MPI_TAG_ARGS 1
+#define MPI_TAG_PRINT_TOK 2
/*Sent from workers to manager */
-#define MPI_TAG_TOK_REQUEST 3
-#define MPI_TAG_DONE 4
-#define MPI_TAG_TOK_RETURN 5
-#define MPI_TAG_PRINT_DATA 6
+#define MPI_TAG_TOK_REQUEST 3
+#define MPI_TAG_DONE 4
+#define MPI_TAG_TOK_RETURN 5
+#define MPI_TAG_PRINT_DATA 6
/* Operational tags used to init and complete diff */
-#define MPI_TAG_END 7
-#define MPI_TAG_PARALLEL 8
+#define MPI_TAG_END 7
+#define MPI_TAG_PARALLEL 8
struct diff_mpi_args
{
diff --git a/tools/misc/h5repart.c b/tools/misc/h5repart.c
index 07f6bfd..ffd52e8 100644
--- a/tools/misc/h5repart.c
+++ b/tools/misc/h5repart.c
@@ -290,7 +290,7 @@ main (int argc, char *argv[])
if (argno<argc) usage (prog_name);
/* Now the real work, split the file */
- buf = malloc (blk_size);
+ buf = HDmalloc (blk_size);
while (src_offset<src_size) {
/* Read a block. The amount to read is the minimum of:
@@ -498,6 +498,6 @@ main (int argc, char *argv[])
}
/* Free resources and return */
- free (buf);
+ HDfree (buf);
return EXIT_SUCCESS;
}
diff --git a/tools/misc/talign.c b/tools/misc/talign.c
index 017eb55..66318bf 100644
--- a/tools/misc/talign.c
+++ b/tools/misc/talign.c
@@ -126,7 +126,7 @@ int main(void)
H5Dclose(set);
/* Now open the set, and read it back in */
- data = (char *)malloc(H5Tget_size(fix));
+ data = (char *)HDmalloc(H5Tget_size(fix));
if(!data) {
perror("malloc() failed");
@@ -152,7 +152,7 @@ out:
mname ? mname : "(null)", (int)H5Tget_member_offset(fix,0),
string5, (char *)(data + H5Tget_member_offset(fix, 0)));
if(mname)
- free(mname);
+ HDfree(mname);
fptr = (float *)(data + H5Tget_member_offset(fix, 1));
mname = H5Tget_member_name(fix, 1);
@@ -163,7 +163,7 @@ out:
(double)fok[0], (double)fptr[0],
(double)fok[1], (double)fptr[1]);
if(mname)
- free(mname);
+ HDfree(mname);
fptr = (float *)(data + H5Tget_member_offset(fix, 2));
mname = H5Tget_member_name(fix, 2);
@@ -173,7 +173,7 @@ out:
(double)fnok[0], (double)fptr[0],
(double)fnok[1], (double)fptr[1]);
if(mname)
- free(mname);
+ HDfree(mname);
fptr = (float *)(data + H5Tget_member_offset(fix, 1));
printf("\n"
@@ -192,7 +192,7 @@ out:
}
if(data)
- free(data);
+ HDfree(data);
H5Sclose(spc);
H5Tclose(cmp);
H5Tclose(cmp1);
diff --git a/tools/misc/testh5mkgrp.sh.in b/tools/misc/testh5mkgrp.sh.in
index 5ec1a28..85205a8 100644
--- a/tools/misc/testh5mkgrp.sh.in
+++ b/tools/misc/testh5mkgrp.sh.in
@@ -31,6 +31,7 @@ H5LS=h5ls # The h5ls tool name
H5LS_ARGS=-vr # Arguments to the h5ls tool
H5LS_BIN=`pwd`/../h5ls/$H5LS # The path of the h5ls tool binary
+RM='rm -rf'
CMP='cmp'
DIFF='diff -c'
CP='cp'
@@ -111,6 +112,19 @@ COPY_TESTFILES_TO_TESTDIR()
done
}
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
+
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
TESTING()
@@ -299,6 +313,8 @@ RUNTEST h5mkgrp_nested_lp.h5 "-lp" /one/two
RUNTEST h5mkgrp_nested_mult_p.h5 "-p" /one/two /three/four
RUNTEST h5mkgrp_nested_mult_lp.h5 "-lp" /one/two /three/four
+# Clean up temporary files/directories
+CLEAN_TESTFILES_AND_TESTDIR
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
diff --git a/tools/testfiles/tcmpdintarray.ddl b/tools/testfiles/tcmpdintarray.ddl
new file mode 100644
index 0000000..ef21cd2
--- /dev/null
+++ b/tools/testfiles/tcmpdintarray.ddl
@@ -0,0 +1,64 @@
+HDF5 "tcmpdintarray.h5" {
+GROUP "/" {
+ DATASET "CompoundIntArray" {
+ DATATYPE H5T_COMPOUND {
+ H5T_ARRAY { [8] H5T_STD_U8LE } "DU08BITS";
+ H5T_ARRAY { [16] H5T_STD_U16LE } "DU16BITS";
+ H5T_ARRAY { [32] H5T_STD_U32LE } "DU32BITS";
+ H5T_ARRAY { [64] H5T_STD_U64LE } "DU64BITS";
+ H5T_ARRAY { [8] H5T_STD_I8LE } "DS08BITS";
+ H5T_ARRAY { [16] H5T_STD_I16LE } "DS16BITS";
+ H5T_ARRAY { [32] H5T_STD_I32LE } "DS32BITS";
+ H5T_ARRAY { [64] H5T_STD_I64LE } "DS64BITS";
+ H5T_ARRAY { [8] H5T_IEEE_F64LE } "DummyDBL";
+ }
+ DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
+ DATA {
+ (0): {
+ [ 255, 254, 252, 248, 240, 224, 192, 128 ],
+ [ 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768 ],
+ [ 4294967295, 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648 ],
+ [ 18446744073709551615, 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808 ],
+ [ 0.0001, 1.0001, 2.0001, 3.0001, 4.0001, 5.0001, 6.0001, 7.0001 ]
+ },
+ (1): {
+ [ 255, 254, 252, 248, 240, 224, 192, 128 ],
+ [ 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768 ],
+ [ 4294967295, 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648 ],
+ [ 18446744073709551615, 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808 ],
+ [ 0.0001, 1.0001, 2.0001, 3.0001, 4.0001, 5.0001, 6.0001, 7.0001 ]
+ },
+ (2): {
+ [ 255, 254, 252, 248, 240, 224, 192, 128 ],
+ [ 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768 ],
+ [ 4294967295, 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648 ],
+ [ 18446744073709551615, 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808 ],
+ [ 0.0001, 1.0001, 2.0001, 3.0001, 4.0001, 5.0001, 6.0001, 7.0001 ]
+ },
+ (3): {
+ [ 255, 254, 252, 248, 240, 224, 192, 128 ],
+ [ 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768 ],
+ [ 4294967295, 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648 ],
+ [ 18446744073709551615, 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648 ],
+ [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808 ],
+ [ 0.0001, 1.0001, 2.0001, 3.0001, 4.0001, 5.0001, 6.0001, 7.0001 ]
+ }
+ }
+ }
+}
+}
diff --git a/tools/testfiles/tcmpdintarray.h5 b/tools/testfiles/tcmpdintarray.h5
new file mode 100644
index 0000000..17798fe
--- /dev/null
+++ b/tools/testfiles/tcmpdintarray.h5
Binary files differ
diff --git a/tools/testfiles/tcmpdints.ddl b/tools/testfiles/tcmpdints.ddl
new file mode 100644
index 0000000..f2986f3
--- /dev/null
+++ b/tools/testfiles/tcmpdints.ddl
@@ -0,0 +1,1444 @@
+HDF5 "tcmpdints.h5" {
+GROUP "/" {
+ DATASET "CompoundInts" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_U8LE "DU08BITS";
+ H5T_STD_U16LE "DU16BITS";
+ H5T_STD_U32LE "DU32BITS";
+ H5T_STD_U64LE "DU64BITS";
+ H5T_STD_I8LE "DS08BITS";
+ H5T_STD_I16LE "DS16BITS";
+ H5T_STD_I32LE "DS32BITS";
+ H5T_STD_I64LE "DS64BITS";
+ H5T_IEEE_F64LE "DummyDBL";
+ }
+ DATASPACE SIMPLE { ( 64 ) / ( 64 ) }
+ DATA {
+ (0): {
+ 255,
+ 65535,
+ 4294967295,
+ 18446744073709551615,
+ -1,
+ -1,
+ -1,
+ -1,
+ 0.0001
+ },
+ (1): {
+ 254,
+ 65534,
+ 4294967294,
+ 18446744073709551614,
+ -2,
+ -2,
+ -2,
+ -2,
+ 1.0001
+ },
+ (2): {
+ 252,
+ 65532,
+ 4294967292,
+ 18446744073709551612,
+ -4,
+ -4,
+ -4,
+ -4,
+ 2.0001
+ },
+ (3): {
+ 248,
+ 65528,
+ 4294967288,
+ 18446744073709551608,
+ -8,
+ -8,
+ -8,
+ -8,
+ 3.0001
+ },
+ (4): {
+ 240,
+ 65520,
+ 4294967280,
+ 18446744073709551600,
+ -16,
+ -16,
+ -16,
+ -16,
+ 4.0001
+ },
+ (5): {
+ 224,
+ 65504,
+ 4294967264,
+ 18446744073709551584,
+ -32,
+ -32,
+ -32,
+ -32,
+ 5.0001
+ },
+ (6): {
+ 192,
+ 65472,
+ 4294967232,
+ 18446744073709551552,
+ -64,
+ -64,
+ -64,
+ -64,
+ 6.0001
+ },
+ (7): {
+ 128,
+ 65408,
+ 4294967168,
+ 18446744073709551488,
+ -128,
+ -128,
+ -128,
+ -128,
+ 7.0001
+ },
+ (8): {
+ 255,
+ 65280,
+ 4294967040,
+ 18446744073709551360,
+ -1,
+ -256,
+ -256,
+ -256,
+ 8.0001
+ },
+ (9): {
+ 254,
+ 65024,
+ 4294966784,
+ 18446744073709551104,
+ -2,
+ -512,
+ -512,
+ -512,
+ 9.0001
+ },
+ (10): {
+ 252,
+ 64512,
+ 4294966272,
+ 18446744073709550592,
+ -4,
+ -1024,
+ -1024,
+ -1024,
+ 10.0001
+ },
+ (11): {
+ 248,
+ 63488,
+ 4294965248,
+ 18446744073709549568,
+ -8,
+ -2048,
+ -2048,
+ -2048,
+ 11.0001
+ },
+ (12): {
+ 240,
+ 61440,
+ 4294963200,
+ 18446744073709547520,
+ -16,
+ -4096,
+ -4096,
+ -4096,
+ 12.0001
+ },
+ (13): {
+ 224,
+ 57344,
+ 4294959104,
+ 18446744073709543424,
+ -32,
+ -8192,
+ -8192,
+ -8192,
+ 13.0001
+ },
+ (14): {
+ 192,
+ 49152,
+ 4294950912,
+ 18446744073709535232,
+ -64,
+ -16384,
+ -16384,
+ -16384,
+ 14.0001
+ },
+ (15): {
+ 128,
+ 32768,
+ 4294934528,
+ 18446744073709518848,
+ -128,
+ -32768,
+ -32768,
+ -32768,
+ 15.0001
+ },
+ (16): {
+ 255,
+ 65535,
+ 4294901760,
+ 18446744073709486080,
+ -1,
+ -1,
+ -65536,
+ -65536,
+ 16.0001
+ },
+ (17): {
+ 254,
+ 65534,
+ 4294836224,
+ 18446744073709420544,
+ -2,
+ -2,
+ -131072,
+ -131072,
+ 17.0001
+ },
+ (18): {
+ 252,
+ 65532,
+ 4294705152,
+ 18446744073709289472,
+ -4,
+ -4,
+ -262144,
+ -262144,
+ 18.0001
+ },
+ (19): {
+ 248,
+ 65528,
+ 4294443008,
+ 18446744073709027328,
+ -8,
+ -8,
+ -524288,
+ -524288,
+ 19.0001
+ },
+ (20): {
+ 240,
+ 65520,
+ 4293918720,
+ 18446744073708503040,
+ -16,
+ -16,
+ -1048576,
+ -1048576,
+ 20.0001
+ },
+ (21): {
+ 224,
+ 65504,
+ 4292870144,
+ 18446744073707454464,
+ -32,
+ -32,
+ -2097152,
+ -2097152,
+ 21.0001
+ },
+ (22): {
+ 192,
+ 65472,
+ 4290772992,
+ 18446744073705357312,
+ -64,
+ -64,
+ -4194304,
+ -4194304,
+ 22.0001
+ },
+ (23): {
+ 128,
+ 65408,
+ 4286578688,
+ 18446744073701163008,
+ -128,
+ -128,
+ -8388608,
+ -8388608,
+ 23.0001
+ },
+ (24): {
+ 255,
+ 65280,
+ 4278190080,
+ 18446744073692774400,
+ -1,
+ -256,
+ -16777216,
+ -16777216,
+ 24.0001
+ },
+ (25): {
+ 254,
+ 65024,
+ 4261412864,
+ 18446744073675997184,
+ -2,
+ -512,
+ -33554432,
+ -33554432,
+ 25.0001
+ },
+ (26): {
+ 252,
+ 64512,
+ 4227858432,
+ 18446744073642442752,
+ -4,
+ -1024,
+ -67108864,
+ -67108864,
+ 26.0001
+ },
+ (27): {
+ 248,
+ 63488,
+ 4160749568,
+ 18446744073575333888,
+ -8,
+ -2048,
+ -134217728,
+ -134217728,
+ 27.0001
+ },
+ (28): {
+ 240,
+ 61440,
+ 4026531840,
+ 18446744073441116160,
+ -16,
+ -4096,
+ -268435456,
+ -268435456,
+ 28.0001
+ },
+ (29): {
+ 224,
+ 57344,
+ 3758096384,
+ 18446744073172680704,
+ -32,
+ -8192,
+ -536870912,
+ -536870912,
+ 29.0001
+ },
+ (30): {
+ 192,
+ 49152,
+ 3221225472,
+ 18446744072635809792,
+ -64,
+ -16384,
+ -1073741824,
+ -1073741824,
+ 30.0001
+ },
+ (31): {
+ 128,
+ 32768,
+ 2147483648,
+ 18446744071562067968,
+ -128,
+ -32768,
+ -2147483648,
+ -2147483648,
+ 31.0001
+ },
+ (32): {
+ 255,
+ 65535,
+ 4294967295,
+ 18446744069414584320,
+ -1,
+ -1,
+ -1,
+ -4294967296,
+ 32.0001
+ },
+ (33): {
+ 254,
+ 65534,
+ 4294967294,
+ 18446744065119617024,
+ -2,
+ -2,
+ -2,
+ -8589934592,
+ 33.0001
+ },
+ (34): {
+ 252,
+ 65532,
+ 4294967292,
+ 18446744056529682432,
+ -4,
+ -4,
+ -4,
+ -17179869184,
+ 34.0001
+ },
+ (35): {
+ 248,
+ 65528,
+ 4294967288,
+ 18446744039349813248,
+ -8,
+ -8,
+ -8,
+ -34359738368,
+ 35.0001
+ },
+ (36): {
+ 240,
+ 65520,
+ 4294967280,
+ 18446744004990074880,
+ -16,
+ -16,
+ -16,
+ -68719476736,
+ 36.0001
+ },
+ (37): {
+ 224,
+ 65504,
+ 4294967264,
+ 18446743936270598144,
+ -32,
+ -32,
+ -32,
+ -137438953472,
+ 37.0001
+ },
+ (38): {
+ 192,
+ 65472,
+ 4294967232,
+ 18446743798831644672,
+ -64,
+ -64,
+ -64,
+ -274877906944,
+ 38.0001
+ },
+ (39): {
+ 128,
+ 65408,
+ 4294967168,
+ 18446743523953737728,
+ -128,
+ -128,
+ -128,
+ -549755813888,
+ 39.0001
+ },
+ (40): {
+ 255,
+ 65280,
+ 4294967040,
+ 18446742974197923840,
+ -1,
+ -256,
+ -256,
+ -1099511627776,
+ 40.0001
+ },
+ (41): {
+ 254,
+ 65024,
+ 4294966784,
+ 18446741874686296064,
+ -2,
+ -512,
+ -512,
+ -2199023255552,
+ 41.0001
+ },
+ (42): {
+ 252,
+ 64512,
+ 4294966272,
+ 18446739675663040512,
+ -4,
+ -1024,
+ -1024,
+ -4398046511104,
+ 42.0001
+ },
+ (43): {
+ 248,
+ 63488,
+ 4294965248,
+ 18446735277616529408,
+ -8,
+ -2048,
+ -2048,
+ -8796093022208,
+ 43.0001
+ },
+ (44): {
+ 240,
+ 61440,
+ 4294963200,
+ 18446726481523507200,
+ -16,
+ -4096,
+ -4096,
+ -17592186044416,
+ 44.0001
+ },
+ (45): {
+ 224,
+ 57344,
+ 4294959104,
+ 18446708889337462784,
+ -32,
+ -8192,
+ -8192,
+ -35184372088832,
+ 45.0001
+ },
+ (46): {
+ 192,
+ 49152,
+ 4294950912,
+ 18446673704965373952,
+ -64,
+ -16384,
+ -16384,
+ -70368744177664,
+ 46.0001
+ },
+ (47): {
+ 128,
+ 32768,
+ 4294934528,
+ 18446603336221196288,
+ -128,
+ -32768,
+ -32768,
+ -140737488355328,
+ 47.0001
+ },
+ (48): {
+ 255,
+ 65535,
+ 4294901760,
+ 18446462598732840960,
+ -1,
+ -1,
+ -65536,
+ -281474976710656,
+ 48.0001
+ },
+ (49): {
+ 254,
+ 65534,
+ 4294836224,
+ 18446181123756130304,
+ -2,
+ -2,
+ -131072,
+ -562949953421312,
+ 49.0001
+ },
+ (50): {
+ 252,
+ 65532,
+ 4294705152,
+ 18445618173802708992,
+ -4,
+ -4,
+ -262144,
+ -1125899906842624,
+ 50.0001
+ },
+ (51): {
+ 248,
+ 65528,
+ 4294443008,
+ 18444492273895866368,
+ -8,
+ -8,
+ -524288,
+ -2251799813685248,
+ 51.0001
+ },
+ (52): {
+ 240,
+ 65520,
+ 4293918720,
+ 18442240474082181120,
+ -16,
+ -16,
+ -1048576,
+ -4503599627370496,
+ 52.0001
+ },
+ (53): {
+ 224,
+ 65504,
+ 4292870144,
+ 18437736874454810624,
+ -32,
+ -32,
+ -2097152,
+ -9007199254740992,
+ 53.0001
+ },
+ (54): {
+ 192,
+ 65472,
+ 4290772992,
+ 18428729675200069632,
+ -64,
+ -64,
+ -4194304,
+ -18014398509481984,
+ 54.0001
+ },
+ (55): {
+ 128,
+ 65408,
+ 4286578688,
+ 18410715276690587648,
+ -128,
+ -128,
+ -8388608,
+ -36028797018963968,
+ 55.0001
+ },
+ (56): {
+ 255,
+ 65280,
+ 4278190080,
+ 18374686479671623680,
+ -1,
+ -256,
+ -16777216,
+ -72057594037927936,
+ 56.0001
+ },
+ (57): {
+ 254,
+ 65024,
+ 4261412864,
+ 18302628885633695744,
+ -2,
+ -512,
+ -33554432,
+ -144115188075855872,
+ 57.0001
+ },
+ (58): {
+ 252,
+ 64512,
+ 4227858432,
+ 18158513697557839872,
+ -4,
+ -1024,
+ -67108864,
+ -288230376151711744,
+ 58.0001
+ },
+ (59): {
+ 248,
+ 63488,
+ 4160749568,
+ 17870283321406128128,
+ -8,
+ -2048,
+ -134217728,
+ -576460752303423488,
+ 59.0001
+ },
+ (60): {
+ 240,
+ 61440,
+ 4026531840,
+ 17293822569102704640,
+ -16,
+ -4096,
+ -268435456,
+ -1152921504606846976,
+ 60.0001
+ },
+ (61): {
+ 224,
+ 57344,
+ 3758096384,
+ 16140901064495857664,
+ -32,
+ -8192,
+ -536870912,
+ -2305843009213693952,
+ 61.0001
+ },
+ (62): {
+ 192,
+ 49152,
+ 3221225472,
+ 13835058055282163712,
+ -64,
+ -16384,
+ -1073741824,
+ -4611686018427387904,
+ 62.0001
+ },
+ (63): {
+ 128,
+ 32768,
+ 2147483648,
+ 9223372036854775808,
+ -128,
+ -32768,
+ -2147483648,
+ -9223372036854775808,
+ 63.0001
+ }
+ }
+ }
+ DATASET "CompoundRInts" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_U64LE "DU64BITS";
+ H5T_STD_U32LE "DU32BITS";
+ H5T_STD_U16LE "DU16BITS";
+ H5T_STD_U8LE "DU08BITS";
+ H5T_STD_I64LE "DS64BITS";
+ H5T_STD_I32LE "DS32BITS";
+ H5T_STD_I16LE "DS16BITS";
+ H5T_STD_I8LE "DS08BITS";
+ H5T_IEEE_F64LE "DummyDBL";
+ }
+ DATASPACE SIMPLE { ( 64 ) / ( 64 ) }
+ DATA {
+ (0): {
+ 18446744073709551615,
+ 4294967295,
+ 65535,
+ 255,
+ -1,
+ -1,
+ -1,
+ -1,
+ 0.0001
+ },
+ (1): {
+ 18446744073709551614,
+ 4294967294,
+ 65534,
+ 254,
+ -2,
+ -2,
+ -2,
+ -2,
+ 1.0001
+ },
+ (2): {
+ 18446744073709551612,
+ 4294967292,
+ 65532,
+ 252,
+ -4,
+ -4,
+ -4,
+ -4,
+ 2.0001
+ },
+ (3): {
+ 18446744073709551608,
+ 4294967288,
+ 65528,
+ 248,
+ -8,
+ -8,
+ -8,
+ -8,
+ 3.0001
+ },
+ (4): {
+ 18446744073709551600,
+ 4294967280,
+ 65520,
+ 240,
+ -16,
+ -16,
+ -16,
+ -16,
+ 4.0001
+ },
+ (5): {
+ 18446744073709551584,
+ 4294967264,
+ 65504,
+ 224,
+ -32,
+ -32,
+ -32,
+ -32,
+ 5.0001
+ },
+ (6): {
+ 18446744073709551552,
+ 4294967232,
+ 65472,
+ 192,
+ -64,
+ -64,
+ -64,
+ -64,
+ 6.0001
+ },
+ (7): {
+ 18446744073709551488,
+ 4294967168,
+ 65408,
+ 128,
+ -128,
+ -128,
+ -128,
+ -128,
+ 7.0001
+ },
+ (8): {
+ 18446744073709551360,
+ 4294967040,
+ 65280,
+ 255,
+ -256,
+ -256,
+ -256,
+ -1,
+ 8.0001
+ },
+ (9): {
+ 18446744073709551104,
+ 4294966784,
+ 65024,
+ 254,
+ -512,
+ -512,
+ -512,
+ -2,
+ 9.0001
+ },
+ (10): {
+ 18446744073709550592,
+ 4294966272,
+ 64512,
+ 252,
+ -1024,
+ -1024,
+ -1024,
+ -4,
+ 10.0001
+ },
+ (11): {
+ 18446744073709549568,
+ 4294965248,
+ 63488,
+ 248,
+ -2048,
+ -2048,
+ -2048,
+ -8,
+ 11.0001
+ },
+ (12): {
+ 18446744073709547520,
+ 4294963200,
+ 61440,
+ 240,
+ -4096,
+ -4096,
+ -4096,
+ -16,
+ 12.0001
+ },
+ (13): {
+ 18446744073709543424,
+ 4294959104,
+ 57344,
+ 224,
+ -8192,
+ -8192,
+ -8192,
+ -32,
+ 13.0001
+ },
+ (14): {
+ 18446744073709535232,
+ 4294950912,
+ 49152,
+ 192,
+ -16384,
+ -16384,
+ -16384,
+ -64,
+ 14.0001
+ },
+ (15): {
+ 18446744073709518848,
+ 4294934528,
+ 32768,
+ 128,
+ -32768,
+ -32768,
+ -32768,
+ -128,
+ 15.0001
+ },
+ (16): {
+ 18446744073709486080,
+ 4294901760,
+ 65535,
+ 255,
+ -65536,
+ -65536,
+ -1,
+ -1,
+ 16.0001
+ },
+ (17): {
+ 18446744073709420544,
+ 4294836224,
+ 65534,
+ 254,
+ -131072,
+ -131072,
+ -2,
+ -2,
+ 17.0001
+ },
+ (18): {
+ 18446744073709289472,
+ 4294705152,
+ 65532,
+ 252,
+ -262144,
+ -262144,
+ -4,
+ -4,
+ 18.0001
+ },
+ (19): {
+ 18446744073709027328,
+ 4294443008,
+ 65528,
+ 248,
+ -524288,
+ -524288,
+ -8,
+ -8,
+ 19.0001
+ },
+ (20): {
+ 18446744073708503040,
+ 4293918720,
+ 65520,
+ 240,
+ -1048576,
+ -1048576,
+ -16,
+ -16,
+ 20.0001
+ },
+ (21): {
+ 18446744073707454464,
+ 4292870144,
+ 65504,
+ 224,
+ -2097152,
+ -2097152,
+ -32,
+ -32,
+ 21.0001
+ },
+ (22): {
+ 18446744073705357312,
+ 4290772992,
+ 65472,
+ 192,
+ -4194304,
+ -4194304,
+ -64,
+ -64,
+ 22.0001
+ },
+ (23): {
+ 18446744073701163008,
+ 4286578688,
+ 65408,
+ 128,
+ -8388608,
+ -8388608,
+ -128,
+ -128,
+ 23.0001
+ },
+ (24): {
+ 18446744073692774400,
+ 4278190080,
+ 65280,
+ 255,
+ -16777216,
+ -16777216,
+ -256,
+ -1,
+ 24.0001
+ },
+ (25): {
+ 18446744073675997184,
+ 4261412864,
+ 65024,
+ 254,
+ -33554432,
+ -33554432,
+ -512,
+ -2,
+ 25.0001
+ },
+ (26): {
+ 18446744073642442752,
+ 4227858432,
+ 64512,
+ 252,
+ -67108864,
+ -67108864,
+ -1024,
+ -4,
+ 26.0001
+ },
+ (27): {
+ 18446744073575333888,
+ 4160749568,
+ 63488,
+ 248,
+ -134217728,
+ -134217728,
+ -2048,
+ -8,
+ 27.0001
+ },
+ (28): {
+ 18446744073441116160,
+ 4026531840,
+ 61440,
+ 240,
+ -268435456,
+ -268435456,
+ -4096,
+ -16,
+ 28.0001
+ },
+ (29): {
+ 18446744073172680704,
+ 3758096384,
+ 57344,
+ 224,
+ -536870912,
+ -536870912,
+ -8192,
+ -32,
+ 29.0001
+ },
+ (30): {
+ 18446744072635809792,
+ 3221225472,
+ 49152,
+ 192,
+ -1073741824,
+ -1073741824,
+ -16384,
+ -64,
+ 30.0001
+ },
+ (31): {
+ 18446744071562067968,
+ 2147483648,
+ 32768,
+ 128,
+ -2147483648,
+ -2147483648,
+ -32768,
+ -128,
+ 31.0001
+ },
+ (32): {
+ 18446744069414584320,
+ 4294967295,
+ 65535,
+ 255,
+ -4294967296,
+ -1,
+ -1,
+ -1,
+ 32.0001
+ },
+ (33): {
+ 18446744065119617024,
+ 4294967294,
+ 65534,
+ 254,
+ -8589934592,
+ -2,
+ -2,
+ -2,
+ 33.0001
+ },
+ (34): {
+ 18446744056529682432,
+ 4294967292,
+ 65532,
+ 252,
+ -17179869184,
+ -4,
+ -4,
+ -4,
+ 34.0001
+ },
+ (35): {
+ 18446744039349813248,
+ 4294967288,
+ 65528,
+ 248,
+ -34359738368,
+ -8,
+ -8,
+ -8,
+ 35.0001
+ },
+ (36): {
+ 18446744004990074880,
+ 4294967280,
+ 65520,
+ 240,
+ -68719476736,
+ -16,
+ -16,
+ -16,
+ 36.0001
+ },
+ (37): {
+ 18446743936270598144,
+ 4294967264,
+ 65504,
+ 224,
+ -137438953472,
+ -32,
+ -32,
+ -32,
+ 37.0001
+ },
+ (38): {
+ 18446743798831644672,
+ 4294967232,
+ 65472,
+ 192,
+ -274877906944,
+ -64,
+ -64,
+ -64,
+ 38.0001
+ },
+ (39): {
+ 18446743523953737728,
+ 4294967168,
+ 65408,
+ 128,
+ -549755813888,
+ -128,
+ -128,
+ -128,
+ 39.0001
+ },
+ (40): {
+ 18446742974197923840,
+ 4294967040,
+ 65280,
+ 255,
+ -1099511627776,
+ -256,
+ -256,
+ -1,
+ 40.0001
+ },
+ (41): {
+ 18446741874686296064,
+ 4294966784,
+ 65024,
+ 254,
+ -2199023255552,
+ -512,
+ -512,
+ -2,
+ 41.0001
+ },
+ (42): {
+ 18446739675663040512,
+ 4294966272,
+ 64512,
+ 252,
+ -4398046511104,
+ -1024,
+ -1024,
+ -4,
+ 42.0001
+ },
+ (43): {
+ 18446735277616529408,
+ 4294965248,
+ 63488,
+ 248,
+ -8796093022208,
+ -2048,
+ -2048,
+ -8,
+ 43.0001
+ },
+ (44): {
+ 18446726481523507200,
+ 4294963200,
+ 61440,
+ 240,
+ -17592186044416,
+ -4096,
+ -4096,
+ -16,
+ 44.0001
+ },
+ (45): {
+ 18446708889337462784,
+ 4294959104,
+ 57344,
+ 224,
+ -35184372088832,
+ -8192,
+ -8192,
+ -32,
+ 45.0001
+ },
+ (46): {
+ 18446673704965373952,
+ 4294950912,
+ 49152,
+ 192,
+ -70368744177664,
+ -16384,
+ -16384,
+ -64,
+ 46.0001
+ },
+ (47): {
+ 18446603336221196288,
+ 4294934528,
+ 32768,
+ 128,
+ -140737488355328,
+ -32768,
+ -32768,
+ -128,
+ 47.0001
+ },
+ (48): {
+ 18446462598732840960,
+ 4294901760,
+ 65535,
+ 255,
+ -281474976710656,
+ -65536,
+ -1,
+ -1,
+ 48.0001
+ },
+ (49): {
+ 18446181123756130304,
+ 4294836224,
+ 65534,
+ 254,
+ -562949953421312,
+ -131072,
+ -2,
+ -2,
+ 49.0001
+ },
+ (50): {
+ 18445618173802708992,
+ 4294705152,
+ 65532,
+ 252,
+ -1125899906842624,
+ -262144,
+ -4,
+ -4,
+ 50.0001
+ },
+ (51): {
+ 18444492273895866368,
+ 4294443008,
+ 65528,
+ 248,
+ -2251799813685248,
+ -524288,
+ -8,
+ -8,
+ 51.0001
+ },
+ (52): {
+ 18442240474082181120,
+ 4293918720,
+ 65520,
+ 240,
+ -4503599627370496,
+ -1048576,
+ -16,
+ -16,
+ 52.0001
+ },
+ (53): {
+ 18437736874454810624,
+ 4292870144,
+ 65504,
+ 224,
+ -9007199254740992,
+ -2097152,
+ -32,
+ -32,
+ 53.0001
+ },
+ (54): {
+ 18428729675200069632,
+ 4290772992,
+ 65472,
+ 192,
+ -18014398509481984,
+ -4194304,
+ -64,
+ -64,
+ 54.0001
+ },
+ (55): {
+ 18410715276690587648,
+ 4286578688,
+ 65408,
+ 128,
+ -36028797018963968,
+ -8388608,
+ -128,
+ -128,
+ 55.0001
+ },
+ (56): {
+ 18374686479671623680,
+ 4278190080,
+ 65280,
+ 255,
+ -72057594037927936,
+ -16777216,
+ -256,
+ -1,
+ 56.0001
+ },
+ (57): {
+ 18302628885633695744,
+ 4261412864,
+ 65024,
+ 254,
+ -144115188075855872,
+ -33554432,
+ -512,
+ -2,
+ 57.0001
+ },
+ (58): {
+ 18158513697557839872,
+ 4227858432,
+ 64512,
+ 252,
+ -288230376151711744,
+ -67108864,
+ -1024,
+ -4,
+ 58.0001
+ },
+ (59): {
+ 17870283321406128128,
+ 4160749568,
+ 63488,
+ 248,
+ -576460752303423488,
+ -134217728,
+ -2048,
+ -8,
+ 59.0001
+ },
+ (60): {
+ 17293822569102704640,
+ 4026531840,
+ 61440,
+ 240,
+ -1152921504606846976,
+ -268435456,
+ -4096,
+ -16,
+ 60.0001
+ },
+ (61): {
+ 16140901064495857664,
+ 3758096384,
+ 57344,
+ 224,
+ -2305843009213693952,
+ -536870912,
+ -8192,
+ -32,
+ 61.0001
+ },
+ (62): {
+ 13835058055282163712,
+ 3221225472,
+ 49152,
+ 192,
+ -4611686018427387904,
+ -1073741824,
+ -16384,
+ -64,
+ 62.0001
+ },
+ (63): {
+ 9223372036854775808,
+ 2147483648,
+ 32768,
+ 128,
+ -9223372036854775808,
+ -2147483648,
+ -32768,
+ -128,
+ 63.0001
+ }
+ }
+ }
+}
+}
diff --git a/tools/testfiles/tcmpdints.h5 b/tools/testfiles/tcmpdints.h5
new file mode 100644
index 0000000..d4af1c4
--- /dev/null
+++ b/tools/testfiles/tcmpdints.h5
Binary files differ
diff --git a/tools/testfiles/tcontiguos.ddl b/tools/testfiles/tcontiguos.ddl
index bda7ef7..8e0158e 100644
--- a/tools/testfiles/tcontiguos.ddl
+++ b/tools/testfiles/tcontiguos.ddl
@@ -6,7 +6,7 @@ COMMENT "This is a dataset with contiguous storage"
STORAGE_LAYOUT {
CONTIGUOUS
SIZE 800
- OFFSET 4096
+ OFFSET 2472
}
FILTERS {
NONE
diff --git a/tools/testfiles/tfilters.h5 b/tools/testfiles/tfilters.h5
index c28b1b1..7c33e55 100644
--- a/tools/testfiles/tfilters.h5
+++ b/tools/testfiles/tfilters.h5
Binary files differ
diff --git a/tools/testfiles/tintsattrs.ddl b/tools/testfiles/tintsattrs.ddl
new file mode 100644
index 0000000..b1f1cdf
--- /dev/null
+++ b/tools/testfiles/tintsattrs.ddl
@@ -0,0 +1,1115 @@
+HDF5 "tintsattrs.h5" {
+GROUP "/" {
+ DATASET "DS08BITS" {
+ DATATYPE H5T_STD_I8LE
+ DATASPACE SIMPLE { ( 8, 8 ) / ( 8, 8 ) }
+ DATA {
+ (0,0): -1, -2, -4, -8, -16, -32, -64, -128,
+ (1,0): -2, -4, -8, -16, -32, -64, -128, 0,
+ (2,0): -4, -8, -16, -32, -64, -128, 0, 0,
+ (3,0): -8, -16, -32, -64, -128, 0, 0, 0,
+ (4,0): -16, -32, -64, -128, 0, 0, 0, 0,
+ (5,0): -32, -64, -128, 0, 0, 0, 0, 0,
+ (6,0): -64, -128, 0, 0, 0, 0, 0, 0,
+ (7,0): -128, 0, 0, 0, 0, 0, 0, 0
+ }
+ ATTRIBUTE "DS08BITS" {
+ DATATYPE H5T_STD_I8LE
+ DATASPACE SIMPLE { ( 64 ) / ( 64 ) }
+ DATA {
+ (0): -1, -2, -4, -8, -16, -32, -64, -128, -2, -4, -8, -16, -32, -64,
+ (14): -128, 0, -4, -8, -16, -32, -64, -128, 0, 0, -8, -16, -32, -64,
+ (28): -128, 0, 0, 0, -16, -32, -64, -128, 0, 0, 0, 0, -32, -64,
+ (42): -128, 0, 0, 0, 0, 0, -64, -128, 0, 0, 0, 0, 0, 0, -128, 0, 0,
+ (59): 0, 0, 0, 0, 0
+ }
+ }
+ }
+ DATASET "DS16BITS" {
+ DATATYPE H5T_STD_I16LE
+ DATASPACE SIMPLE { ( 8, 16 ) / ( 8, 16 ) }
+ DATA {
+ (0,0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (0,12): -4096, -8192, -16384, -32768,
+ (1,0): -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (1,11): -4096, -8192, -16384, -32768, 0,
+ (2,0): -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096,
+ (2,11): -8192, -16384, -32768, 0, 0,
+ (3,0): -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (3,11): -16384, -32768, 0, 0, 0,
+ (4,0): -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (4,10): -16384, -32768, 0, 0, 0, 0,
+ (5,0): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384,
+ (5,10): -32768, 0, 0, 0, 0, 0,
+ (6,0): -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384,
+ (6,9): -32768, 0, 0, 0, 0, 0, 0,
+ (7,0): -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0,
+ (7,10): 0, 0, 0, 0, 0, 0
+ }
+ ATTRIBUTE "DS16BITS" {
+ DATATYPE H5T_STD_I16LE
+ DATASPACE SIMPLE { ( 128 ) / ( 128 ) }
+ DATA {
+ (0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (12): -4096, -8192, -16384, -32768, -2, -4, -8, -16, -32, -64, -128,
+ (23): -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, -4,
+ (33): -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096,
+ (43): -8192, -16384, -32768, 0, 0, -8, -16, -32, -64, -128, -256,
+ (54): -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0,
+ (64): -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (74): -16384, -32768, 0, 0, 0, 0, -32, -64, -128, -256, -512, -1024,
+ (86): -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0, -64, -128,
+ (98): -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0,
+ (108): 0, 0, 0, 0, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (119): -16384, -32768, 0, 0, 0, 0, 0, 0, 0
+ }
+ }
+ }
+ DATASET "DS32BITS" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 8, 32 ) / ( 8, 32 ) }
+ DATA {
+ (0,0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (0,12): -4096, -8192, -16384, -32768, -65536, -131072, -262144,
+ (0,19): -524288, -1048576, -2097152, -4194304, -8388608, -16777216,
+ (0,25): -33554432, -67108864, -134217728, -268435456, -536870912,
+ (0,30): -1073741824, -2147483648,
+ (1,0): -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (1,11): -4096, -8192, -16384, -32768, -65536, -131072, -262144,
+ (1,18): -524288, -1048576, -2097152, -4194304, -8388608, -16777216,
+ (1,24): -33554432, -67108864, -134217728, -268435456, -536870912,
+ (1,29): -1073741824, -2147483648, 0,
+ (2,0): -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096,
+ (2,11): -8192, -16384, -32768, -65536, -131072, -262144, -524288,
+ (2,18): -1048576, -2097152, -4194304, -8388608, -16777216, -33554432,
+ (2,24): -67108864, -134217728, -268435456, -536870912, -1073741824,
+ (2,29): -2147483648, 0, 0,
+ (3,0): -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (3,11): -16384, -32768, -65536, -131072, -262144, -524288, -1048576,
+ (3,18): -2097152, -4194304, -8388608, -16777216, -33554432, -67108864,
+ (3,24): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (3,29): 0, 0, 0,
+ (4,0): -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (4,10): -16384, -32768, -65536, -131072, -262144, -524288, -1048576,
+ (4,17): -2097152, -4194304, -8388608, -16777216, -33554432, -67108864,
+ (4,23): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (4,28): 0, 0, 0, 0,
+ (5,0): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384,
+ (5,10): -32768, -65536, -131072, -262144, -524288, -1048576, -2097152,
+ (5,17): -4194304, -8388608, -16777216, -33554432, -67108864,
+ (5,22): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (5,27): 0, 0, 0, 0, 0,
+ (6,0): -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384,
+ (6,9): -32768, -65536, -131072, -262144, -524288, -1048576, -2097152,
+ (6,16): -4194304, -8388608, -16777216, -33554432, -67108864,
+ (6,21): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (6,26): 0, 0, 0, 0, 0, 0,
+ (7,0): -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768,
+ (7,9): -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304,
+ (7,16): -8388608, -16777216, -33554432, -67108864, -134217728,
+ (7,21): -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0,
+ (7,29): 0, 0, 0
+ }
+ ATTRIBUTE "DS32BITS" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 256 ) / ( 256 ) }
+ DATA {
+ (0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (12): -4096, -8192, -16384, -32768, -65536, -131072, -262144,
+ (19): -524288, -1048576, -2097152, -4194304, -8388608, -16777216,
+ (25): -33554432, -67108864, -134217728, -268435456, -536870912,
+ (30): -1073741824, -2147483648, -2, -4, -8, -16, -32, -64, -128,
+ (39): -256, -512, -1024, -2048, -4096, -8192, -16384, -32768,
+ (47): -65536, -131072, -262144, -524288, -1048576, -2097152,
+ (53): -4194304, -8388608, -16777216, -33554432, -67108864,
+ (58): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (63): 0, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (74): -4096, -8192, -16384, -32768, -65536, -131072, -262144,
+ (81): -524288, -1048576, -2097152, -4194304, -8388608, -16777216,
+ (87): -33554432, -67108864, -134217728, -268435456, -536870912,
+ (92): -1073741824, -2147483648, 0, 0, -8, -16, -32, -64, -128, -256,
+ (102): -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536,
+ (110): -131072, -262144, -524288, -1048576, -2097152, -4194304,
+ (116): -8388608, -16777216, -33554432, -67108864, -134217728,
+ (121): -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0,
+ (128): -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (138): -16384, -32768, -65536, -131072, -262144, -524288, -1048576,
+ (145): -2097152, -4194304, -8388608, -16777216, -33554432,
+ (150): -67108864, -134217728, -268435456, -536870912, -1073741824,
+ (155): -2147483648, 0, 0, 0, 0, -32, -64, -128, -256, -512, -1024,
+ (166): -2048, -4096, -8192, -16384, -32768, -65536, -131072,
+ (173): -262144, -524288, -1048576, -2097152, -4194304, -8388608,
+ (179): -16777216, -33554432, -67108864, -134217728, -268435456,
+ (184): -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0, -64,
+ (193): -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768,
+ (202): -65536, -131072, -262144, -524288, -1048576, -2097152,
+ (208): -4194304, -8388608, -16777216, -33554432, -67108864,
+ (213): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (218): 0, 0, 0, 0, 0, 0, -128, -256, -512, -1024, -2048, -4096,
+ (230): -8192, -16384, -32768, -65536, -131072, -262144, -524288,
+ (237): -1048576, -2097152, -4194304, -8388608, -16777216, -33554432,
+ (243): -67108864, -134217728, -268435456, -536870912, -1073741824,
+ (248): -2147483648, 0, 0, 0, 0, 0, 0, 0
+ }
+ }
+ }
+ DATASET "DS64BITS" {
+ DATATYPE H5T_STD_I64LE
+ DATASPACE SIMPLE { ( 8, 64 ) / ( 8, 64 ) }
+ DATA {
+ (0,0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (0,12): -4096, -8192, -16384, -32768, -65536, -131072, -262144,
+ (0,19): -524288, -1048576, -2097152, -4194304, -8388608, -16777216,
+ (0,25): -33554432, -67108864, -134217728, -268435456, -536870912,
+ (0,30): -1073741824, -2147483648, -4294967296, -8589934592,
+ (0,34): -17179869184, -34359738368, -68719476736, -137438953472,
+ (0,38): -274877906944, -549755813888, -1099511627776, -2199023255552,
+ (0,42): -4398046511104, -8796093022208, -17592186044416,
+ (0,45): -35184372088832, -70368744177664, -140737488355328,
+ (0,48): -281474976710656, -562949953421312, -1125899906842624,
+ (0,51): -2251799813685248, -4503599627370496, -9007199254740992,
+ (0,54): -18014398509481984, -36028797018963968, -72057594037927936,
+ (0,57): -144115188075855872, -288230376151711744, -576460752303423488,
+ (0,60): -1152921504606846976, -2305843009213693952,
+ (0,62): -4611686018427387904, -9223372036854775808,
+ (1,0): -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (1,11): -4096, -8192, -16384, -32768, -65536, -131072, -262144,
+ (1,18): -524288, -1048576, -2097152, -4194304, -8388608, -16777216,
+ (1,24): -33554432, -67108864, -134217728, -268435456, -536870912,
+ (1,29): -1073741824, -2147483648, -4294967296, -8589934592,
+ (1,33): -17179869184, -34359738368, -68719476736, -137438953472,
+ (1,37): -274877906944, -549755813888, -1099511627776, -2199023255552,
+ (1,41): -4398046511104, -8796093022208, -17592186044416,
+ (1,44): -35184372088832, -70368744177664, -140737488355328,
+ (1,47): -281474976710656, -562949953421312, -1125899906842624,
+ (1,50): -2251799813685248, -4503599627370496, -9007199254740992,
+ (1,53): -18014398509481984, -36028797018963968, -72057594037927936,
+ (1,56): -144115188075855872, -288230376151711744, -576460752303423488,
+ (1,59): -1152921504606846976, -2305843009213693952,
+ (1,61): -4611686018427387904, -9223372036854775808, 0,
+ (2,0): -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096,
+ (2,11): -8192, -16384, -32768, -65536, -131072, -262144, -524288,
+ (2,18): -1048576, -2097152, -4194304, -8388608, -16777216, -33554432,
+ (2,24): -67108864, -134217728, -268435456, -536870912, -1073741824,
+ (2,29): -2147483648, -4294967296, -8589934592, -17179869184,
+ (2,33): -34359738368, -68719476736, -137438953472, -274877906944,
+ (2,37): -549755813888, -1099511627776, -2199023255552, -4398046511104,
+ (2,41): -8796093022208, -17592186044416, -35184372088832,
+ (2,44): -70368744177664, -140737488355328, -281474976710656,
+ (2,47): -562949953421312, -1125899906842624, -2251799813685248,
+ (2,50): -4503599627370496, -9007199254740992, -18014398509481984,
+ (2,53): -36028797018963968, -72057594037927936, -144115188075855872,
+ (2,56): -288230376151711744, -576460752303423488, -1152921504606846976,
+ (2,59): -2305843009213693952, -4611686018427387904,
+ (2,61): -9223372036854775808, 0, 0,
+ (3,0): -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (3,11): -16384, -32768, -65536, -131072, -262144, -524288, -1048576,
+ (3,18): -2097152, -4194304, -8388608, -16777216, -33554432, -67108864,
+ (3,24): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (3,29): -4294967296, -8589934592, -17179869184, -34359738368,
+ (3,33): -68719476736, -137438953472, -274877906944, -549755813888,
+ (3,37): -1099511627776, -2199023255552, -4398046511104, -8796093022208,
+ (3,41): -17592186044416, -35184372088832, -70368744177664,
+ (3,44): -140737488355328, -281474976710656, -562949953421312,
+ (3,47): -1125899906842624, -2251799813685248, -4503599627370496,
+ (3,50): -9007199254740992, -18014398509481984, -36028797018963968,
+ (3,53): -72057594037927936, -144115188075855872, -288230376151711744,
+ (3,56): -576460752303423488, -1152921504606846976,
+ (3,58): -2305843009213693952, -4611686018427387904,
+ (3,60): -9223372036854775808, 0, 0, 0,
+ (4,0): -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (4,10): -16384, -32768, -65536, -131072, -262144, -524288, -1048576,
+ (4,17): -2097152, -4194304, -8388608, -16777216, -33554432, -67108864,
+ (4,23): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (4,28): -4294967296, -8589934592, -17179869184, -34359738368,
+ (4,32): -68719476736, -137438953472, -274877906944, -549755813888,
+ (4,36): -1099511627776, -2199023255552, -4398046511104, -8796093022208,
+ (4,40): -17592186044416, -35184372088832, -70368744177664,
+ (4,43): -140737488355328, -281474976710656, -562949953421312,
+ (4,46): -1125899906842624, -2251799813685248, -4503599627370496,
+ (4,49): -9007199254740992, -18014398509481984, -36028797018963968,
+ (4,52): -72057594037927936, -144115188075855872, -288230376151711744,
+ (4,55): -576460752303423488, -1152921504606846976,
+ (4,57): -2305843009213693952, -4611686018427387904,
+ (4,59): -9223372036854775808, 0, 0, 0, 0,
+ (5,0): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384,
+ (5,10): -32768, -65536, -131072, -262144, -524288, -1048576, -2097152,
+ (5,17): -4194304, -8388608, -16777216, -33554432, -67108864,
+ (5,22): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (5,27): -4294967296, -8589934592, -17179869184, -34359738368,
+ (5,31): -68719476736, -137438953472, -274877906944, -549755813888,
+ (5,35): -1099511627776, -2199023255552, -4398046511104, -8796093022208,
+ (5,39): -17592186044416, -35184372088832, -70368744177664,
+ (5,42): -140737488355328, -281474976710656, -562949953421312,
+ (5,45): -1125899906842624, -2251799813685248, -4503599627370496,
+ (5,48): -9007199254740992, -18014398509481984, -36028797018963968,
+ (5,51): -72057594037927936, -144115188075855872, -288230376151711744,
+ (5,54): -576460752303423488, -1152921504606846976,
+ (5,56): -2305843009213693952, -4611686018427387904,
+ (5,58): -9223372036854775808, 0, 0, 0, 0, 0,
+ (6,0): -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384,
+ (6,9): -32768, -65536, -131072, -262144, -524288, -1048576, -2097152,
+ (6,16): -4194304, -8388608, -16777216, -33554432, -67108864,
+ (6,21): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (6,26): -4294967296, -8589934592, -17179869184, -34359738368,
+ (6,30): -68719476736, -137438953472, -274877906944, -549755813888,
+ (6,34): -1099511627776, -2199023255552, -4398046511104, -8796093022208,
+ (6,38): -17592186044416, -35184372088832, -70368744177664,
+ (6,41): -140737488355328, -281474976710656, -562949953421312,
+ (6,44): -1125899906842624, -2251799813685248, -4503599627370496,
+ (6,47): -9007199254740992, -18014398509481984, -36028797018963968,
+ (6,50): -72057594037927936, -144115188075855872, -288230376151711744,
+ (6,53): -576460752303423488, -1152921504606846976,
+ (6,55): -2305843009213693952, -4611686018427387904,
+ (6,57): -9223372036854775808, 0, 0, 0, 0, 0, 0,
+ (7,0): -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768,
+ (7,9): -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304,
+ (7,16): -8388608, -16777216, -33554432, -67108864, -134217728,
+ (7,21): -268435456, -536870912, -1073741824, -2147483648, -4294967296,
+ (7,26): -8589934592, -17179869184, -34359738368, -68719476736,
+ (7,30): -137438953472, -274877906944, -549755813888, -1099511627776,
+ (7,34): -2199023255552, -4398046511104, -8796093022208,
+ (7,37): -17592186044416, -35184372088832, -70368744177664,
+ (7,40): -140737488355328, -281474976710656, -562949953421312,
+ (7,43): -1125899906842624, -2251799813685248, -4503599627370496,
+ (7,46): -9007199254740992, -18014398509481984, -36028797018963968,
+ (7,49): -72057594037927936, -144115188075855872, -288230376151711744,
+ (7,52): -576460752303423488, -1152921504606846976,
+ (7,54): -2305843009213693952, -4611686018427387904,
+ (7,56): -9223372036854775808, 0, 0, 0, 0, 0, 0, 0
+ }
+ ATTRIBUTE "DS64BITS" {
+ DATATYPE H5T_STD_I64LE
+ DATASPACE SIMPLE { ( 512 ) / ( 512 ) }
+ DATA {
+ (0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048,
+ (12): -4096, -8192, -16384, -32768, -65536, -131072, -262144,
+ (19): -524288, -1048576, -2097152, -4194304, -8388608, -16777216,
+ (25): -33554432, -67108864, -134217728, -268435456, -536870912,
+ (30): -1073741824, -2147483648, -4294967296, -8589934592,
+ (34): -17179869184, -34359738368, -68719476736, -137438953472,
+ (38): -274877906944, -549755813888, -1099511627776, -2199023255552,
+ (42): -4398046511104, -8796093022208, -17592186044416,
+ (45): -35184372088832, -70368744177664, -140737488355328,
+ (48): -281474976710656, -562949953421312, -1125899906842624,
+ (51): -2251799813685248, -4503599627370496, -9007199254740992,
+ (54): -18014398509481984, -36028797018963968, -72057594037927936,
+ (57): -144115188075855872, -288230376151711744, -576460752303423488,
+ (60): -1152921504606846976, -2305843009213693952,
+ (62): -4611686018427387904, -9223372036854775808, -2, -4, -8, -16,
+ (68): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (77): -16384, -32768, -65536, -131072, -262144, -524288, -1048576,
+ (84): -2097152, -4194304, -8388608, -16777216, -33554432, -67108864,
+ (90): -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ (95): -4294967296, -8589934592, -17179869184, -34359738368,
+ (99): -68719476736, -137438953472, -274877906944, -549755813888,
+ (103): -1099511627776, -2199023255552, -4398046511104,
+ (106): -8796093022208, -17592186044416, -35184372088832,
+ (109): -70368744177664, -140737488355328, -281474976710656,
+ (112): -562949953421312, -1125899906842624, -2251799813685248,
+ (115): -4503599627370496, -9007199254740992, -18014398509481984,
+ (118): -36028797018963968, -72057594037927936, -144115188075855872,
+ (121): -288230376151711744, -576460752303423488,
+ (123): -1152921504606846976, -2305843009213693952,
+ (125): -4611686018427387904, -9223372036854775808, 0, -4, -8, -16,
+ (131): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (140): -16384, -32768, -65536, -131072, -262144, -524288, -1048576,
+ (147): -2097152, -4194304, -8388608, -16777216, -33554432,
+ (152): -67108864, -134217728, -268435456, -536870912, -1073741824,
+ (157): -2147483648, -4294967296, -8589934592, -17179869184,
+ (161): -34359738368, -68719476736, -137438953472, -274877906944,
+ (165): -549755813888, -1099511627776, -2199023255552,
+ (168): -4398046511104, -8796093022208, -17592186044416,
+ (171): -35184372088832, -70368744177664, -140737488355328,
+ (174): -281474976710656, -562949953421312, -1125899906842624,
+ (177): -2251799813685248, -4503599627370496, -9007199254740992,
+ (180): -18014398509481984, -36028797018963968, -72057594037927936,
+ (183): -144115188075855872, -288230376151711744,
+ (185): -576460752303423488, -1152921504606846976,
+ (187): -2305843009213693952, -4611686018427387904,
+ (189): -9223372036854775808, 0, 0, -8, -16, -32, -64, -128, -256,
+ (198): -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536,
+ (206): -131072, -262144, -524288, -1048576, -2097152, -4194304,
+ (212): -8388608, -16777216, -33554432, -67108864, -134217728,
+ (217): -268435456, -536870912, -1073741824, -2147483648,
+ (221): -4294967296, -8589934592, -17179869184, -34359738368,
+ (225): -68719476736, -137438953472, -274877906944, -549755813888,
+ (229): -1099511627776, -2199023255552, -4398046511104,
+ (232): -8796093022208, -17592186044416, -35184372088832,
+ (235): -70368744177664, -140737488355328, -281474976710656,
+ (238): -562949953421312, -1125899906842624, -2251799813685248,
+ (241): -4503599627370496, -9007199254740992, -18014398509481984,
+ (244): -36028797018963968, -72057594037927936, -144115188075855872,
+ (247): -288230376151711744, -576460752303423488,
+ (249): -1152921504606846976, -2305843009213693952,
+ (251): -4611686018427387904, -9223372036854775808, 0, 0, 0, -16,
+ (257): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192,
+ (266): -16384, -32768, -65536, -131072, -262144, -524288, -1048576,
+ (273): -2097152, -4194304, -8388608, -16777216, -33554432,
+ (278): -67108864, -134217728, -268435456, -536870912, -1073741824,
+ (283): -2147483648, -4294967296, -8589934592, -17179869184,
+ (287): -34359738368, -68719476736, -137438953472, -274877906944,
+ (291): -549755813888, -1099511627776, -2199023255552,
+ (294): -4398046511104, -8796093022208, -17592186044416,
+ (297): -35184372088832, -70368744177664, -140737488355328,
+ (300): -281474976710656, -562949953421312, -1125899906842624,
+ (303): -2251799813685248, -4503599627370496, -9007199254740992,
+ (306): -18014398509481984, -36028797018963968, -72057594037927936,
+ (309): -144115188075855872, -288230376151711744,
+ (311): -576460752303423488, -1152921504606846976,
+ (313): -2305843009213693952, -4611686018427387904,
+ (315): -9223372036854775808, 0, 0, 0, 0, -32, -64, -128, -256, -512,
+ (325): -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072,
+ (333): -262144, -524288, -1048576, -2097152, -4194304, -8388608,
+ (339): -16777216, -33554432, -67108864, -134217728, -268435456,
+ (344): -536870912, -1073741824, -2147483648, -4294967296,
+ (348): -8589934592, -17179869184, -34359738368, -68719476736,
+ (352): -137438953472, -274877906944, -549755813888, -1099511627776,
+ (356): -2199023255552, -4398046511104, -8796093022208,
+ (359): -17592186044416, -35184372088832, -70368744177664,
+ (362): -140737488355328, -281474976710656, -562949953421312,
+ (365): -1125899906842624, -2251799813685248, -4503599627370496,
+ (368): -9007199254740992, -18014398509481984, -36028797018963968,
+ (371): -72057594037927936, -144115188075855872, -288230376151711744,
+ (374): -576460752303423488, -1152921504606846976,
+ (376): -2305843009213693952, -4611686018427387904,
+ (378): -9223372036854775808, 0, 0, 0, 0, 0, -64, -128, -256, -512,
+ (388): -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072,
+ (396): -262144, -524288, -1048576, -2097152, -4194304, -8388608,
+ (402): -16777216, -33554432, -67108864, -134217728, -268435456,
+ (407): -536870912, -1073741824, -2147483648, -4294967296,
+ (411): -8589934592, -17179869184, -34359738368, -68719476736,
+ (415): -137438953472, -274877906944, -549755813888, -1099511627776,
+ (419): -2199023255552, -4398046511104, -8796093022208,
+ (422): -17592186044416, -35184372088832, -70368744177664,
+ (425): -140737488355328, -281474976710656, -562949953421312,
+ (428): -1125899906842624, -2251799813685248, -4503599627370496,
+ (431): -9007199254740992, -18014398509481984, -36028797018963968,
+ (434): -72057594037927936, -144115188075855872, -288230376151711744,
+ (437): -576460752303423488, -1152921504606846976,
+ (439): -2305843009213693952, -4611686018427387904,
+ (441): -9223372036854775808, 0, 0, 0, 0, 0, 0, -128, -256, -512,
+ (451): -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072,
+ (459): -262144, -524288, -1048576, -2097152, -4194304, -8388608,
+ (465): -16777216, -33554432, -67108864, -134217728, -268435456,
+ (470): -536870912, -1073741824, -2147483648, -4294967296,
+ (474): -8589934592, -17179869184, -34359738368, -68719476736,
+ (478): -137438953472, -274877906944, -549755813888, -1099511627776,
+ (482): -2199023255552, -4398046511104, -8796093022208,
+ (485): -17592186044416, -35184372088832, -70368744177664,
+ (488): -140737488355328, -281474976710656, -562949953421312,
+ (491): -1125899906842624, -2251799813685248, -4503599627370496,
+ (494): -9007199254740992, -18014398509481984, -36028797018963968,
+ (497): -72057594037927936, -144115188075855872, -288230376151711744,
+ (500): -576460752303423488, -1152921504606846976,
+ (502): -2305843009213693952, -4611686018427387904,
+ (504): -9223372036854775808, 0, 0, 0, 0, 0, 0, 0
+ }
+ }
+ }
+ DATASET "DU08BITS" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SIMPLE { ( 8, 8 ) / ( 8, 8 ) }
+ DATA {
+ (0,0): 255, 254, 252, 248, 240, 224, 192, 128,
+ (1,0): 254, 252, 248, 240, 224, 192, 128, 0,
+ (2,0): 252, 248, 240, 224, 192, 128, 0, 0,
+ (3,0): 248, 240, 224, 192, 128, 0, 0, 0,
+ (4,0): 240, 224, 192, 128, 0, 0, 0, 0,
+ (5,0): 224, 192, 128, 0, 0, 0, 0, 0,
+ (6,0): 192, 128, 0, 0, 0, 0, 0, 0,
+ (7,0): 128, 0, 0, 0, 0, 0, 0, 0
+ }
+ ATTRIBUTE "DU08BITS" {
+ DATATYPE H5T_STD_U8LE
+ DATASPACE SIMPLE { ( 64 ) / ( 64 ) }
+ DATA {
+ (0): 255, 254, 252, 248, 240, 224, 192, 128, 254, 252, 248, 240,
+ (12): 224, 192, 128, 0, 252, 248, 240, 224, 192, 128, 0, 0, 248,
+ (25): 240, 224, 192, 128, 0, 0, 0, 240, 224, 192, 128, 0, 0, 0, 0,
+ (40): 224, 192, 128, 0, 0, 0, 0, 0, 192, 128, 0, 0, 0, 0, 0, 0, 128,
+ (57): 0, 0, 0, 0, 0, 0, 0
+ }
+ }
+ }
+ DATASET "DU16BITS" {
+ DATATYPE H5T_STD_U16LE
+ DATASPACE SIMPLE { ( 8, 16 ) / ( 8, 16 ) }
+ DATA {
+ (0,0): 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280,
+ (0,9): 65024, 64512, 63488, 61440, 57344, 49152, 32768,
+ (1,0): 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024,
+ (1,9): 64512, 63488, 61440, 57344, 49152, 32768, 0,
+ (2,0): 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512,
+ (2,9): 63488, 61440, 57344, 49152, 32768, 0, 0,
+ (3,0): 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488,
+ (3,9): 61440, 57344, 49152, 32768, 0, 0, 0,
+ (4,0): 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440,
+ (4,9): 57344, 49152, 32768, 0, 0, 0, 0,
+ (5,0): 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344,
+ (5,9): 49152, 32768, 0, 0, 0, 0, 0,
+ (6,0): 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152,
+ (6,9): 32768, 0, 0, 0, 0, 0, 0,
+ (7,0): 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768,
+ (7,9): 0, 0, 0, 0, 0, 0, 0
+ }
+ ATTRIBUTE "DU16BITS" {
+ DATATYPE H5T_STD_U16LE
+ DATASPACE SIMPLE { ( 128 ) / ( 128 ) }
+ DATA {
+ (0): 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280,
+ (9): 65024, 64512, 63488, 61440, 57344, 49152, 32768, 65534, 65532,
+ (18): 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488,
+ (27): 61440, 57344, 49152, 32768, 0, 65532, 65528, 65520, 65504,
+ (36): 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152,
+ (45): 32768, 0, 0, 65528, 65520, 65504, 65472, 65408, 65280, 65024,
+ (55): 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 65520,
+ (65): 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344,
+ (74): 49152, 32768, 0, 0, 0, 0, 65504, 65472, 65408, 65280, 65024,
+ (85): 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0,
+ (96): 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152,
+ (105): 32768, 0, 0, 0, 0, 0, 0, 65408, 65280, 65024, 64512, 63488,
+ (117): 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0, 0, 0
+ }
+ }
+ }
+ DATASET "DU32BITS" {
+ DATATYPE H5T_STD_U32LE
+ DATASPACE SIMPLE { ( 8, 32 ) / ( 8, 32 ) }
+ DATA {
+ (0,0): 4294967295, 4294967294, 4294967292, 4294967288, 4294967280,
+ (0,5): 4294967264, 4294967232, 4294967168, 4294967040, 4294966784,
+ (0,10): 4294966272, 4294965248, 4294963200, 4294959104, 4294950912,
+ (0,15): 4294934528, 4294901760, 4294836224, 4294705152, 4294443008,
+ (0,20): 4293918720, 4292870144, 4290772992, 4286578688, 4278190080,
+ (0,25): 4261412864, 4227858432, 4160749568, 4026531840, 3758096384,
+ (0,30): 3221225472, 2147483648,
+ (1,0): 4294967294, 4294967292, 4294967288, 4294967280, 4294967264,
+ (1,5): 4294967232, 4294967168, 4294967040, 4294966784, 4294966272,
+ (1,10): 4294965248, 4294963200, 4294959104, 4294950912, 4294934528,
+ (1,15): 4294901760, 4294836224, 4294705152, 4294443008, 4293918720,
+ (1,20): 4292870144, 4290772992, 4286578688, 4278190080, 4261412864,
+ (1,25): 4227858432, 4160749568, 4026531840, 3758096384, 3221225472,
+ (1,30): 2147483648, 0,
+ (2,0): 4294967292, 4294967288, 4294967280, 4294967264, 4294967232,
+ (2,5): 4294967168, 4294967040, 4294966784, 4294966272, 4294965248,
+ (2,10): 4294963200, 4294959104, 4294950912, 4294934528, 4294901760,
+ (2,15): 4294836224, 4294705152, 4294443008, 4293918720, 4292870144,
+ (2,20): 4290772992, 4286578688, 4278190080, 4261412864, 4227858432,
+ (2,25): 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0,
+ (2,31): 0,
+ (3,0): 4294967288, 4294967280, 4294967264, 4294967232, 4294967168,
+ (3,5): 4294967040, 4294966784, 4294966272, 4294965248, 4294963200,
+ (3,10): 4294959104, 4294950912, 4294934528, 4294901760, 4294836224,
+ (3,15): 4294705152, 4294443008, 4293918720, 4292870144, 4290772992,
+ (3,20): 4286578688, 4278190080, 4261412864, 4227858432, 4160749568,
+ (3,25): 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0,
+ (4,0): 4294967280, 4294967264, 4294967232, 4294967168, 4294967040,
+ (4,5): 4294966784, 4294966272, 4294965248, 4294963200, 4294959104,
+ (4,10): 4294950912, 4294934528, 4294901760, 4294836224, 4294705152,
+ (4,15): 4294443008, 4293918720, 4292870144, 4290772992, 4286578688,
+ (4,20): 4278190080, 4261412864, 4227858432, 4160749568, 4026531840,
+ (4,25): 3758096384, 3221225472, 2147483648, 0, 0, 0, 0,
+ (5,0): 4294967264, 4294967232, 4294967168, 4294967040, 4294966784,
+ (5,5): 4294966272, 4294965248, 4294963200, 4294959104, 4294950912,
+ (5,10): 4294934528, 4294901760, 4294836224, 4294705152, 4294443008,
+ (5,15): 4293918720, 4292870144, 4290772992, 4286578688, 4278190080,
+ (5,20): 4261412864, 4227858432, 4160749568, 4026531840, 3758096384,
+ (5,25): 3221225472, 2147483648, 0, 0, 0, 0, 0,
+ (6,0): 4294967232, 4294967168, 4294967040, 4294966784, 4294966272,
+ (6,5): 4294965248, 4294963200, 4294959104, 4294950912, 4294934528,
+ (6,10): 4294901760, 4294836224, 4294705152, 4294443008, 4293918720,
+ (6,15): 4292870144, 4290772992, 4286578688, 4278190080, 4261412864,
+ (6,20): 4227858432, 4160749568, 4026531840, 3758096384, 3221225472,
+ (6,25): 2147483648, 0, 0, 0, 0, 0, 0,
+ (7,0): 4294967168, 4294967040, 4294966784, 4294966272, 4294965248,
+ (7,5): 4294963200, 4294959104, 4294950912, 4294934528, 4294901760,
+ (7,10): 4294836224, 4294705152, 4294443008, 4293918720, 4292870144,
+ (7,15): 4290772992, 4286578688, 4278190080, 4261412864, 4227858432,
+ (7,20): 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0,
+ (7,26): 0, 0, 0, 0, 0, 0
+ }
+ ATTRIBUTE "DU32BITS" {
+ DATATYPE H5T_STD_U32LE
+ DATASPACE SIMPLE { ( 256 ) / ( 256 ) }
+ DATA {
+ (0): 4294967295, 4294967294, 4294967292, 4294967288, 4294967280,
+ (5): 4294967264, 4294967232, 4294967168, 4294967040, 4294966784,
+ (10): 4294966272, 4294965248, 4294963200, 4294959104, 4294950912,
+ (15): 4294934528, 4294901760, 4294836224, 4294705152, 4294443008,
+ (20): 4293918720, 4292870144, 4290772992, 4286578688, 4278190080,
+ (25): 4261412864, 4227858432, 4160749568, 4026531840, 3758096384,
+ (30): 3221225472, 2147483648, 4294967294, 4294967292, 4294967288,
+ (35): 4294967280, 4294967264, 4294967232, 4294967168, 4294967040,
+ (40): 4294966784, 4294966272, 4294965248, 4294963200, 4294959104,
+ (45): 4294950912, 4294934528, 4294901760, 4294836224, 4294705152,
+ (50): 4294443008, 4293918720, 4292870144, 4290772992, 4286578688,
+ (55): 4278190080, 4261412864, 4227858432, 4160749568, 4026531840,
+ (60): 3758096384, 3221225472, 2147483648, 0, 4294967292, 4294967288,
+ (66): 4294967280, 4294967264, 4294967232, 4294967168, 4294967040,
+ (71): 4294966784, 4294966272, 4294965248, 4294963200, 4294959104,
+ (76): 4294950912, 4294934528, 4294901760, 4294836224, 4294705152,
+ (81): 4294443008, 4293918720, 4292870144, 4290772992, 4286578688,
+ (86): 4278190080, 4261412864, 4227858432, 4160749568, 4026531840,
+ (91): 3758096384, 3221225472, 2147483648, 0, 0, 4294967288,
+ (97): 4294967280, 4294967264, 4294967232, 4294967168, 4294967040,
+ (102): 4294966784, 4294966272, 4294965248, 4294963200, 4294959104,
+ (107): 4294950912, 4294934528, 4294901760, 4294836224, 4294705152,
+ (112): 4294443008, 4293918720, 4292870144, 4290772992, 4286578688,
+ (117): 4278190080, 4261412864, 4227858432, 4160749568, 4026531840,
+ (122): 3758096384, 3221225472, 2147483648, 0, 0, 0, 4294967280,
+ (129): 4294967264, 4294967232, 4294967168, 4294967040, 4294966784,
+ (134): 4294966272, 4294965248, 4294963200, 4294959104, 4294950912,
+ (139): 4294934528, 4294901760, 4294836224, 4294705152, 4294443008,
+ (144): 4293918720, 4292870144, 4290772992, 4286578688, 4278190080,
+ (149): 4261412864, 4227858432, 4160749568, 4026531840, 3758096384,
+ (154): 3221225472, 2147483648, 0, 0, 0, 0, 4294967264, 4294967232,
+ (162): 4294967168, 4294967040, 4294966784, 4294966272, 4294965248,
+ (167): 4294963200, 4294959104, 4294950912, 4294934528, 4294901760,
+ (172): 4294836224, 4294705152, 4294443008, 4293918720, 4292870144,
+ (177): 4290772992, 4286578688, 4278190080, 4261412864, 4227858432,
+ (182): 4160749568, 4026531840, 3758096384, 3221225472, 2147483648,
+ (187): 0, 0, 0, 0, 0, 4294967232, 4294967168, 4294967040,
+ (195): 4294966784, 4294966272, 4294965248, 4294963200, 4294959104,
+ (200): 4294950912, 4294934528, 4294901760, 4294836224, 4294705152,
+ (205): 4294443008, 4293918720, 4292870144, 4290772992, 4286578688,
+ (210): 4278190080, 4261412864, 4227858432, 4160749568, 4026531840,
+ (215): 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0, 0,
+ (224): 4294967168, 4294967040, 4294966784, 4294966272, 4294965248,
+ (229): 4294963200, 4294959104, 4294950912, 4294934528, 4294901760,
+ (234): 4294836224, 4294705152, 4294443008, 4293918720, 4292870144,
+ (239): 4290772992, 4286578688, 4278190080, 4261412864, 4227858432,
+ (244): 4160749568, 4026531840, 3758096384, 3221225472, 2147483648,
+ (249): 0, 0, 0, 0, 0, 0, 0
+ }
+ }
+ }
+ DATASET "DU64BITS" {
+ DATATYPE H5T_STD_U64LE
+ DATASPACE SIMPLE { ( 8, 64 ) / ( 8, 64 ) }
+ DATA {
+ (0,0): 18446744073709551615, 18446744073709551614,
+ (0,2): 18446744073709551612, 18446744073709551608,
+ (0,4): 18446744073709551600, 18446744073709551584,
+ (0,6): 18446744073709551552, 18446744073709551488,
+ (0,8): 18446744073709551360, 18446744073709551104,
+ (0,10): 18446744073709550592, 18446744073709549568,
+ (0,12): 18446744073709547520, 18446744073709543424,
+ (0,14): 18446744073709535232, 18446744073709518848,
+ (0,16): 18446744073709486080, 18446744073709420544,
+ (0,18): 18446744073709289472, 18446744073709027328,
+ (0,20): 18446744073708503040, 18446744073707454464,
+ (0,22): 18446744073705357312, 18446744073701163008,
+ (0,24): 18446744073692774400, 18446744073675997184,
+ (0,26): 18446744073642442752, 18446744073575333888,
+ (0,28): 18446744073441116160, 18446744073172680704,
+ (0,30): 18446744072635809792, 18446744071562067968,
+ (0,32): 18446744069414584320, 18446744065119617024,
+ (0,34): 18446744056529682432, 18446744039349813248,
+ (0,36): 18446744004990074880, 18446743936270598144,
+ (0,38): 18446743798831644672, 18446743523953737728,
+ (0,40): 18446742974197923840, 18446741874686296064,
+ (0,42): 18446739675663040512, 18446735277616529408,
+ (0,44): 18446726481523507200, 18446708889337462784,
+ (0,46): 18446673704965373952, 18446603336221196288,
+ (0,48): 18446462598732840960, 18446181123756130304,
+ (0,50): 18445618173802708992, 18444492273895866368,
+ (0,52): 18442240474082181120, 18437736874454810624,
+ (0,54): 18428729675200069632, 18410715276690587648,
+ (0,56): 18374686479671623680, 18302628885633695744,
+ (0,58): 18158513697557839872, 17870283321406128128,
+ (0,60): 17293822569102704640, 16140901064495857664,
+ (0,62): 13835058055282163712, 9223372036854775808,
+ (1,0): 18446744073709551614, 18446744073709551612,
+ (1,2): 18446744073709551608, 18446744073709551600,
+ (1,4): 18446744073709551584, 18446744073709551552,
+ (1,6): 18446744073709551488, 18446744073709551360,
+ (1,8): 18446744073709551104, 18446744073709550592,
+ (1,10): 18446744073709549568, 18446744073709547520,
+ (1,12): 18446744073709543424, 18446744073709535232,
+ (1,14): 18446744073709518848, 18446744073709486080,
+ (1,16): 18446744073709420544, 18446744073709289472,
+ (1,18): 18446744073709027328, 18446744073708503040,
+ (1,20): 18446744073707454464, 18446744073705357312,
+ (1,22): 18446744073701163008, 18446744073692774400,
+ (1,24): 18446744073675997184, 18446744073642442752,
+ (1,26): 18446744073575333888, 18446744073441116160,
+ (1,28): 18446744073172680704, 18446744072635809792,
+ (1,30): 18446744071562067968, 18446744069414584320,
+ (1,32): 18446744065119617024, 18446744056529682432,
+ (1,34): 18446744039349813248, 18446744004990074880,
+ (1,36): 18446743936270598144, 18446743798831644672,
+ (1,38): 18446743523953737728, 18446742974197923840,
+ (1,40): 18446741874686296064, 18446739675663040512,
+ (1,42): 18446735277616529408, 18446726481523507200,
+ (1,44): 18446708889337462784, 18446673704965373952,
+ (1,46): 18446603336221196288, 18446462598732840960,
+ (1,48): 18446181123756130304, 18445618173802708992,
+ (1,50): 18444492273895866368, 18442240474082181120,
+ (1,52): 18437736874454810624, 18428729675200069632,
+ (1,54): 18410715276690587648, 18374686479671623680,
+ (1,56): 18302628885633695744, 18158513697557839872,
+ (1,58): 17870283321406128128, 17293822569102704640,
+ (1,60): 16140901064495857664, 13835058055282163712,
+ (1,62): 9223372036854775808, 0,
+ (2,0): 18446744073709551612, 18446744073709551608,
+ (2,2): 18446744073709551600, 18446744073709551584,
+ (2,4): 18446744073709551552, 18446744073709551488,
+ (2,6): 18446744073709551360, 18446744073709551104,
+ (2,8): 18446744073709550592, 18446744073709549568,
+ (2,10): 18446744073709547520, 18446744073709543424,
+ (2,12): 18446744073709535232, 18446744073709518848,
+ (2,14): 18446744073709486080, 18446744073709420544,
+ (2,16): 18446744073709289472, 18446744073709027328,
+ (2,18): 18446744073708503040, 18446744073707454464,
+ (2,20): 18446744073705357312, 18446744073701163008,
+ (2,22): 18446744073692774400, 18446744073675997184,
+ (2,24): 18446744073642442752, 18446744073575333888,
+ (2,26): 18446744073441116160, 18446744073172680704,
+ (2,28): 18446744072635809792, 18446744071562067968,
+ (2,30): 18446744069414584320, 18446744065119617024,
+ (2,32): 18446744056529682432, 18446744039349813248,
+ (2,34): 18446744004990074880, 18446743936270598144,
+ (2,36): 18446743798831644672, 18446743523953737728,
+ (2,38): 18446742974197923840, 18446741874686296064,
+ (2,40): 18446739675663040512, 18446735277616529408,
+ (2,42): 18446726481523507200, 18446708889337462784,
+ (2,44): 18446673704965373952, 18446603336221196288,
+ (2,46): 18446462598732840960, 18446181123756130304,
+ (2,48): 18445618173802708992, 18444492273895866368,
+ (2,50): 18442240474082181120, 18437736874454810624,
+ (2,52): 18428729675200069632, 18410715276690587648,
+ (2,54): 18374686479671623680, 18302628885633695744,
+ (2,56): 18158513697557839872, 17870283321406128128,
+ (2,58): 17293822569102704640, 16140901064495857664,
+ (2,60): 13835058055282163712, 9223372036854775808, 0, 0,
+ (3,0): 18446744073709551608, 18446744073709551600,
+ (3,2): 18446744073709551584, 18446744073709551552,
+ (3,4): 18446744073709551488, 18446744073709551360,
+ (3,6): 18446744073709551104, 18446744073709550592,
+ (3,8): 18446744073709549568, 18446744073709547520,
+ (3,10): 18446744073709543424, 18446744073709535232,
+ (3,12): 18446744073709518848, 18446744073709486080,
+ (3,14): 18446744073709420544, 18446744073709289472,
+ (3,16): 18446744073709027328, 18446744073708503040,
+ (3,18): 18446744073707454464, 18446744073705357312,
+ (3,20): 18446744073701163008, 18446744073692774400,
+ (3,22): 18446744073675997184, 18446744073642442752,
+ (3,24): 18446744073575333888, 18446744073441116160,
+ (3,26): 18446744073172680704, 18446744072635809792,
+ (3,28): 18446744071562067968, 18446744069414584320,
+ (3,30): 18446744065119617024, 18446744056529682432,
+ (3,32): 18446744039349813248, 18446744004990074880,
+ (3,34): 18446743936270598144, 18446743798831644672,
+ (3,36): 18446743523953737728, 18446742974197923840,
+ (3,38): 18446741874686296064, 18446739675663040512,
+ (3,40): 18446735277616529408, 18446726481523507200,
+ (3,42): 18446708889337462784, 18446673704965373952,
+ (3,44): 18446603336221196288, 18446462598732840960,
+ (3,46): 18446181123756130304, 18445618173802708992,
+ (3,48): 18444492273895866368, 18442240474082181120,
+ (3,50): 18437736874454810624, 18428729675200069632,
+ (3,52): 18410715276690587648, 18374686479671623680,
+ (3,54): 18302628885633695744, 18158513697557839872,
+ (3,56): 17870283321406128128, 17293822569102704640,
+ (3,58): 16140901064495857664, 13835058055282163712,
+ (3,60): 9223372036854775808, 0, 0, 0,
+ (4,0): 18446744073709551600, 18446744073709551584,
+ (4,2): 18446744073709551552, 18446744073709551488,
+ (4,4): 18446744073709551360, 18446744073709551104,
+ (4,6): 18446744073709550592, 18446744073709549568,
+ (4,8): 18446744073709547520, 18446744073709543424,
+ (4,10): 18446744073709535232, 18446744073709518848,
+ (4,12): 18446744073709486080, 18446744073709420544,
+ (4,14): 18446744073709289472, 18446744073709027328,
+ (4,16): 18446744073708503040, 18446744073707454464,
+ (4,18): 18446744073705357312, 18446744073701163008,
+ (4,20): 18446744073692774400, 18446744073675997184,
+ (4,22): 18446744073642442752, 18446744073575333888,
+ (4,24): 18446744073441116160, 18446744073172680704,
+ (4,26): 18446744072635809792, 18446744071562067968,
+ (4,28): 18446744069414584320, 18446744065119617024,
+ (4,30): 18446744056529682432, 18446744039349813248,
+ (4,32): 18446744004990074880, 18446743936270598144,
+ (4,34): 18446743798831644672, 18446743523953737728,
+ (4,36): 18446742974197923840, 18446741874686296064,
+ (4,38): 18446739675663040512, 18446735277616529408,
+ (4,40): 18446726481523507200, 18446708889337462784,
+ (4,42): 18446673704965373952, 18446603336221196288,
+ (4,44): 18446462598732840960, 18446181123756130304,
+ (4,46): 18445618173802708992, 18444492273895866368,
+ (4,48): 18442240474082181120, 18437736874454810624,
+ (4,50): 18428729675200069632, 18410715276690587648,
+ (4,52): 18374686479671623680, 18302628885633695744,
+ (4,54): 18158513697557839872, 17870283321406128128,
+ (4,56): 17293822569102704640, 16140901064495857664,
+ (4,58): 13835058055282163712, 9223372036854775808, 0, 0, 0, 0,
+ (5,0): 18446744073709551584, 18446744073709551552,
+ (5,2): 18446744073709551488, 18446744073709551360,
+ (5,4): 18446744073709551104, 18446744073709550592,
+ (5,6): 18446744073709549568, 18446744073709547520,
+ (5,8): 18446744073709543424, 18446744073709535232,
+ (5,10): 18446744073709518848, 18446744073709486080,
+ (5,12): 18446744073709420544, 18446744073709289472,
+ (5,14): 18446744073709027328, 18446744073708503040,
+ (5,16): 18446744073707454464, 18446744073705357312,
+ (5,18): 18446744073701163008, 18446744073692774400,
+ (5,20): 18446744073675997184, 18446744073642442752,
+ (5,22): 18446744073575333888, 18446744073441116160,
+ (5,24): 18446744073172680704, 18446744072635809792,
+ (5,26): 18446744071562067968, 18446744069414584320,
+ (5,28): 18446744065119617024, 18446744056529682432,
+ (5,30): 18446744039349813248, 18446744004990074880,
+ (5,32): 18446743936270598144, 18446743798831644672,
+ (5,34): 18446743523953737728, 18446742974197923840,
+ (5,36): 18446741874686296064, 18446739675663040512,
+ (5,38): 18446735277616529408, 18446726481523507200,
+ (5,40): 18446708889337462784, 18446673704965373952,
+ (5,42): 18446603336221196288, 18446462598732840960,
+ (5,44): 18446181123756130304, 18445618173802708992,
+ (5,46): 18444492273895866368, 18442240474082181120,
+ (5,48): 18437736874454810624, 18428729675200069632,
+ (5,50): 18410715276690587648, 18374686479671623680,
+ (5,52): 18302628885633695744, 18158513697557839872,
+ (5,54): 17870283321406128128, 17293822569102704640,
+ (5,56): 16140901064495857664, 13835058055282163712,
+ (5,58): 9223372036854775808, 0, 0, 0, 0, 0,
+ (6,0): 18446744073709551552, 18446744073709551488,
+ (6,2): 18446744073709551360, 18446744073709551104,
+ (6,4): 18446744073709550592, 18446744073709549568,
+ (6,6): 18446744073709547520, 18446744073709543424,
+ (6,8): 18446744073709535232, 18446744073709518848,
+ (6,10): 18446744073709486080, 18446744073709420544,
+ (6,12): 18446744073709289472, 18446744073709027328,
+ (6,14): 18446744073708503040, 18446744073707454464,
+ (6,16): 18446744073705357312, 18446744073701163008,
+ (6,18): 18446744073692774400, 18446744073675997184,
+ (6,20): 18446744073642442752, 18446744073575333888,
+ (6,22): 18446744073441116160, 18446744073172680704,
+ (6,24): 18446744072635809792, 18446744071562067968,
+ (6,26): 18446744069414584320, 18446744065119617024,
+ (6,28): 18446744056529682432, 18446744039349813248,
+ (6,30): 18446744004990074880, 18446743936270598144,
+ (6,32): 18446743798831644672, 18446743523953737728,
+ (6,34): 18446742974197923840, 18446741874686296064,
+ (6,36): 18446739675663040512, 18446735277616529408,
+ (6,38): 18446726481523507200, 18446708889337462784,
+ (6,40): 18446673704965373952, 18446603336221196288,
+ (6,42): 18446462598732840960, 18446181123756130304,
+ (6,44): 18445618173802708992, 18444492273895866368,
+ (6,46): 18442240474082181120, 18437736874454810624,
+ (6,48): 18428729675200069632, 18410715276690587648,
+ (6,50): 18374686479671623680, 18302628885633695744,
+ (6,52): 18158513697557839872, 17870283321406128128,
+ (6,54): 17293822569102704640, 16140901064495857664,
+ (6,56): 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, 0,
+ (7,0): 18446744073709551488, 18446744073709551360,
+ (7,2): 18446744073709551104, 18446744073709550592,
+ (7,4): 18446744073709549568, 18446744073709547520,
+ (7,6): 18446744073709543424, 18446744073709535232,
+ (7,8): 18446744073709518848, 18446744073709486080,
+ (7,10): 18446744073709420544, 18446744073709289472,
+ (7,12): 18446744073709027328, 18446744073708503040,
+ (7,14): 18446744073707454464, 18446744073705357312,
+ (7,16): 18446744073701163008, 18446744073692774400,
+ (7,18): 18446744073675997184, 18446744073642442752,
+ (7,20): 18446744073575333888, 18446744073441116160,
+ (7,22): 18446744073172680704, 18446744072635809792,
+ (7,24): 18446744071562067968, 18446744069414584320,
+ (7,26): 18446744065119617024, 18446744056529682432,
+ (7,28): 18446744039349813248, 18446744004990074880,
+ (7,30): 18446743936270598144, 18446743798831644672,
+ (7,32): 18446743523953737728, 18446742974197923840,
+ (7,34): 18446741874686296064, 18446739675663040512,
+ (7,36): 18446735277616529408, 18446726481523507200,
+ (7,38): 18446708889337462784, 18446673704965373952,
+ (7,40): 18446603336221196288, 18446462598732840960,
+ (7,42): 18446181123756130304, 18445618173802708992,
+ (7,44): 18444492273895866368, 18442240474082181120,
+ (7,46): 18437736874454810624, 18428729675200069632,
+ (7,48): 18410715276690587648, 18374686479671623680,
+ (7,50): 18302628885633695744, 18158513697557839872,
+ (7,52): 17870283321406128128, 17293822569102704640,
+ (7,54): 16140901064495857664, 13835058055282163712,
+ (7,56): 9223372036854775808, 0, 0, 0, 0, 0, 0, 0
+ }
+ ATTRIBUTE "DU64BITS" {
+ DATATYPE H5T_STD_U64LE
+ DATASPACE SIMPLE { ( 512 ) / ( 512 ) }
+ DATA {
+ (0): 18446744073709551615, 18446744073709551614,
+ (2): 18446744073709551612, 18446744073709551608,
+ (4): 18446744073709551600, 18446744073709551584,
+ (6): 18446744073709551552, 18446744073709551488,
+ (8): 18446744073709551360, 18446744073709551104,
+ (10): 18446744073709550592, 18446744073709549568,
+ (12): 18446744073709547520, 18446744073709543424,
+ (14): 18446744073709535232, 18446744073709518848,
+ (16): 18446744073709486080, 18446744073709420544,
+ (18): 18446744073709289472, 18446744073709027328,
+ (20): 18446744073708503040, 18446744073707454464,
+ (22): 18446744073705357312, 18446744073701163008,
+ (24): 18446744073692774400, 18446744073675997184,
+ (26): 18446744073642442752, 18446744073575333888,
+ (28): 18446744073441116160, 18446744073172680704,
+ (30): 18446744072635809792, 18446744071562067968,
+ (32): 18446744069414584320, 18446744065119617024,
+ (34): 18446744056529682432, 18446744039349813248,
+ (36): 18446744004990074880, 18446743936270598144,
+ (38): 18446743798831644672, 18446743523953737728,
+ (40): 18446742974197923840, 18446741874686296064,
+ (42): 18446739675663040512, 18446735277616529408,
+ (44): 18446726481523507200, 18446708889337462784,
+ (46): 18446673704965373952, 18446603336221196288,
+ (48): 18446462598732840960, 18446181123756130304,
+ (50): 18445618173802708992, 18444492273895866368,
+ (52): 18442240474082181120, 18437736874454810624,
+ (54): 18428729675200069632, 18410715276690587648,
+ (56): 18374686479671623680, 18302628885633695744,
+ (58): 18158513697557839872, 17870283321406128128,
+ (60): 17293822569102704640, 16140901064495857664,
+ (62): 13835058055282163712, 9223372036854775808,
+ (64): 18446744073709551614, 18446744073709551612,
+ (66): 18446744073709551608, 18446744073709551600,
+ (68): 18446744073709551584, 18446744073709551552,
+ (70): 18446744073709551488, 18446744073709551360,
+ (72): 18446744073709551104, 18446744073709550592,
+ (74): 18446744073709549568, 18446744073709547520,
+ (76): 18446744073709543424, 18446744073709535232,
+ (78): 18446744073709518848, 18446744073709486080,
+ (80): 18446744073709420544, 18446744073709289472,
+ (82): 18446744073709027328, 18446744073708503040,
+ (84): 18446744073707454464, 18446744073705357312,
+ (86): 18446744073701163008, 18446744073692774400,
+ (88): 18446744073675997184, 18446744073642442752,
+ (90): 18446744073575333888, 18446744073441116160,
+ (92): 18446744073172680704, 18446744072635809792,
+ (94): 18446744071562067968, 18446744069414584320,
+ (96): 18446744065119617024, 18446744056529682432,
+ (98): 18446744039349813248, 18446744004990074880,
+ (100): 18446743936270598144, 18446743798831644672,
+ (102): 18446743523953737728, 18446742974197923840,
+ (104): 18446741874686296064, 18446739675663040512,
+ (106): 18446735277616529408, 18446726481523507200,
+ (108): 18446708889337462784, 18446673704965373952,
+ (110): 18446603336221196288, 18446462598732840960,
+ (112): 18446181123756130304, 18445618173802708992,
+ (114): 18444492273895866368, 18442240474082181120,
+ (116): 18437736874454810624, 18428729675200069632,
+ (118): 18410715276690587648, 18374686479671623680,
+ (120): 18302628885633695744, 18158513697557839872,
+ (122): 17870283321406128128, 17293822569102704640,
+ (124): 16140901064495857664, 13835058055282163712,
+ (126): 9223372036854775808, 0, 18446744073709551612,
+ (129): 18446744073709551608, 18446744073709551600,
+ (131): 18446744073709551584, 18446744073709551552,
+ (133): 18446744073709551488, 18446744073709551360,
+ (135): 18446744073709551104, 18446744073709550592,
+ (137): 18446744073709549568, 18446744073709547520,
+ (139): 18446744073709543424, 18446744073709535232,
+ (141): 18446744073709518848, 18446744073709486080,
+ (143): 18446744073709420544, 18446744073709289472,
+ (145): 18446744073709027328, 18446744073708503040,
+ (147): 18446744073707454464, 18446744073705357312,
+ (149): 18446744073701163008, 18446744073692774400,
+ (151): 18446744073675997184, 18446744073642442752,
+ (153): 18446744073575333888, 18446744073441116160,
+ (155): 18446744073172680704, 18446744072635809792,
+ (157): 18446744071562067968, 18446744069414584320,
+ (159): 18446744065119617024, 18446744056529682432,
+ (161): 18446744039349813248, 18446744004990074880,
+ (163): 18446743936270598144, 18446743798831644672,
+ (165): 18446743523953737728, 18446742974197923840,
+ (167): 18446741874686296064, 18446739675663040512,
+ (169): 18446735277616529408, 18446726481523507200,
+ (171): 18446708889337462784, 18446673704965373952,
+ (173): 18446603336221196288, 18446462598732840960,
+ (175): 18446181123756130304, 18445618173802708992,
+ (177): 18444492273895866368, 18442240474082181120,
+ (179): 18437736874454810624, 18428729675200069632,
+ (181): 18410715276690587648, 18374686479671623680,
+ (183): 18302628885633695744, 18158513697557839872,
+ (185): 17870283321406128128, 17293822569102704640,
+ (187): 16140901064495857664, 13835058055282163712,
+ (189): 9223372036854775808, 0, 0, 18446744073709551608,
+ (193): 18446744073709551600, 18446744073709551584,
+ (195): 18446744073709551552, 18446744073709551488,
+ (197): 18446744073709551360, 18446744073709551104,
+ (199): 18446744073709550592, 18446744073709549568,
+ (201): 18446744073709547520, 18446744073709543424,
+ (203): 18446744073709535232, 18446744073709518848,
+ (205): 18446744073709486080, 18446744073709420544,
+ (207): 18446744073709289472, 18446744073709027328,
+ (209): 18446744073708503040, 18446744073707454464,
+ (211): 18446744073705357312, 18446744073701163008,
+ (213): 18446744073692774400, 18446744073675997184,
+ (215): 18446744073642442752, 18446744073575333888,
+ (217): 18446744073441116160, 18446744073172680704,
+ (219): 18446744072635809792, 18446744071562067968,
+ (221): 18446744069414584320, 18446744065119617024,
+ (223): 18446744056529682432, 18446744039349813248,
+ (225): 18446744004990074880, 18446743936270598144,
+ (227): 18446743798831644672, 18446743523953737728,
+ (229): 18446742974197923840, 18446741874686296064,
+ (231): 18446739675663040512, 18446735277616529408,
+ (233): 18446726481523507200, 18446708889337462784,
+ (235): 18446673704965373952, 18446603336221196288,
+ (237): 18446462598732840960, 18446181123756130304,
+ (239): 18445618173802708992, 18444492273895866368,
+ (241): 18442240474082181120, 18437736874454810624,
+ (243): 18428729675200069632, 18410715276690587648,
+ (245): 18374686479671623680, 18302628885633695744,
+ (247): 18158513697557839872, 17870283321406128128,
+ (249): 17293822569102704640, 16140901064495857664,
+ (251): 13835058055282163712, 9223372036854775808, 0, 0, 0,
+ (256): 18446744073709551600, 18446744073709551584,
+ (258): 18446744073709551552, 18446744073709551488,
+ (260): 18446744073709551360, 18446744073709551104,
+ (262): 18446744073709550592, 18446744073709549568,
+ (264): 18446744073709547520, 18446744073709543424,
+ (266): 18446744073709535232, 18446744073709518848,
+ (268): 18446744073709486080, 18446744073709420544,
+ (270): 18446744073709289472, 18446744073709027328,
+ (272): 18446744073708503040, 18446744073707454464,
+ (274): 18446744073705357312, 18446744073701163008,
+ (276): 18446744073692774400, 18446744073675997184,
+ (278): 18446744073642442752, 18446744073575333888,
+ (280): 18446744073441116160, 18446744073172680704,
+ (282): 18446744072635809792, 18446744071562067968,
+ (284): 18446744069414584320, 18446744065119617024,
+ (286): 18446744056529682432, 18446744039349813248,
+ (288): 18446744004990074880, 18446743936270598144,
+ (290): 18446743798831644672, 18446743523953737728,
+ (292): 18446742974197923840, 18446741874686296064,
+ (294): 18446739675663040512, 18446735277616529408,
+ (296): 18446726481523507200, 18446708889337462784,
+ (298): 18446673704965373952, 18446603336221196288,
+ (300): 18446462598732840960, 18446181123756130304,
+ (302): 18445618173802708992, 18444492273895866368,
+ (304): 18442240474082181120, 18437736874454810624,
+ (306): 18428729675200069632, 18410715276690587648,
+ (308): 18374686479671623680, 18302628885633695744,
+ (310): 18158513697557839872, 17870283321406128128,
+ (312): 17293822569102704640, 16140901064495857664,
+ (314): 13835058055282163712, 9223372036854775808, 0, 0, 0, 0,
+ (320): 18446744073709551584, 18446744073709551552,
+ (322): 18446744073709551488, 18446744073709551360,
+ (324): 18446744073709551104, 18446744073709550592,
+ (326): 18446744073709549568, 18446744073709547520,
+ (328): 18446744073709543424, 18446744073709535232,
+ (330): 18446744073709518848, 18446744073709486080,
+ (332): 18446744073709420544, 18446744073709289472,
+ (334): 18446744073709027328, 18446744073708503040,
+ (336): 18446744073707454464, 18446744073705357312,
+ (338): 18446744073701163008, 18446744073692774400,
+ (340): 18446744073675997184, 18446744073642442752,
+ (342): 18446744073575333888, 18446744073441116160,
+ (344): 18446744073172680704, 18446744072635809792,
+ (346): 18446744071562067968, 18446744069414584320,
+ (348): 18446744065119617024, 18446744056529682432,
+ (350): 18446744039349813248, 18446744004990074880,
+ (352): 18446743936270598144, 18446743798831644672,
+ (354): 18446743523953737728, 18446742974197923840,
+ (356): 18446741874686296064, 18446739675663040512,
+ (358): 18446735277616529408, 18446726481523507200,
+ (360): 18446708889337462784, 18446673704965373952,
+ (362): 18446603336221196288, 18446462598732840960,
+ (364): 18446181123756130304, 18445618173802708992,
+ (366): 18444492273895866368, 18442240474082181120,
+ (368): 18437736874454810624, 18428729675200069632,
+ (370): 18410715276690587648, 18374686479671623680,
+ (372): 18302628885633695744, 18158513697557839872,
+ (374): 17870283321406128128, 17293822569102704640,
+ (376): 16140901064495857664, 13835058055282163712,
+ (378): 9223372036854775808, 0, 0, 0, 0, 0, 18446744073709551552,
+ (385): 18446744073709551488, 18446744073709551360,
+ (387): 18446744073709551104, 18446744073709550592,
+ (389): 18446744073709549568, 18446744073709547520,
+ (391): 18446744073709543424, 18446744073709535232,
+ (393): 18446744073709518848, 18446744073709486080,
+ (395): 18446744073709420544, 18446744073709289472,
+ (397): 18446744073709027328, 18446744073708503040,
+ (399): 18446744073707454464, 18446744073705357312,
+ (401): 18446744073701163008, 18446744073692774400,
+ (403): 18446744073675997184, 18446744073642442752,
+ (405): 18446744073575333888, 18446744073441116160,
+ (407): 18446744073172680704, 18446744072635809792,
+ (409): 18446744071562067968, 18446744069414584320,
+ (411): 18446744065119617024, 18446744056529682432,
+ (413): 18446744039349813248, 18446744004990074880,
+ (415): 18446743936270598144, 18446743798831644672,
+ (417): 18446743523953737728, 18446742974197923840,
+ (419): 18446741874686296064, 18446739675663040512,
+ (421): 18446735277616529408, 18446726481523507200,
+ (423): 18446708889337462784, 18446673704965373952,
+ (425): 18446603336221196288, 18446462598732840960,
+ (427): 18446181123756130304, 18445618173802708992,
+ (429): 18444492273895866368, 18442240474082181120,
+ (431): 18437736874454810624, 18428729675200069632,
+ (433): 18410715276690587648, 18374686479671623680,
+ (435): 18302628885633695744, 18158513697557839872,
+ (437): 17870283321406128128, 17293822569102704640,
+ (439): 16140901064495857664, 13835058055282163712,
+ (441): 9223372036854775808, 0, 0, 0, 0, 0, 0, 18446744073709551488,
+ (449): 18446744073709551360, 18446744073709551104,
+ (451): 18446744073709550592, 18446744073709549568,
+ (453): 18446744073709547520, 18446744073709543424,
+ (455): 18446744073709535232, 18446744073709518848,
+ (457): 18446744073709486080, 18446744073709420544,
+ (459): 18446744073709289472, 18446744073709027328,
+ (461): 18446744073708503040, 18446744073707454464,
+ (463): 18446744073705357312, 18446744073701163008,
+ (465): 18446744073692774400, 18446744073675997184,
+ (467): 18446744073642442752, 18446744073575333888,
+ (469): 18446744073441116160, 18446744073172680704,
+ (471): 18446744072635809792, 18446744071562067968,
+ (473): 18446744069414584320, 18446744065119617024,
+ (475): 18446744056529682432, 18446744039349813248,
+ (477): 18446744004990074880, 18446743936270598144,
+ (479): 18446743798831644672, 18446743523953737728,
+ (481): 18446742974197923840, 18446741874686296064,
+ (483): 18446739675663040512, 18446735277616529408,
+ (485): 18446726481523507200, 18446708889337462784,
+ (487): 18446673704965373952, 18446603336221196288,
+ (489): 18446462598732840960, 18446181123756130304,
+ (491): 18445618173802708992, 18444492273895866368,
+ (493): 18442240474082181120, 18437736874454810624,
+ (495): 18428729675200069632, 18410715276690587648,
+ (497): 18374686479671623680, 18302628885633695744,
+ (499): 18158513697557839872, 17870283321406128128,
+ (501): 17293822569102704640, 16140901064495857664,
+ (503): 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, 0,
+ (511): 0
+ }
+ }
+ }
+ DATASET "DummyDBL" {
+ DATATYPE H5T_IEEE_F64BE
+ DATASPACE SIMPLE { ( 8, 8 ) / ( 8, 8 ) }
+ DATA {
+ (0,0): 0, 0.0001, 0.0002, 0.0003, 0.0004, 0.0005, 0.0006, 0.0007,
+ (1,0): 1, 1.0001, 1.0002, 1.0003, 1.0004, 1.0005, 1.0006, 1.0007,
+ (2,0): 2, 2.0001, 2.0002, 2.0003, 2.0004, 2.0005, 2.0006, 2.0007,
+ (3,0): 3, 3.0001, 3.0002, 3.0003, 3.0004, 3.0005, 3.0006, 3.0007,
+ (4,0): 4, 4.0001, 4.0002, 4.0003, 4.0004, 4.0005, 4.0006, 4.0007,
+ (5,0): 5, 5.0001, 5.0002, 5.0003, 5.0004, 5.0005, 5.0006, 5.0007,
+ (6,0): 6, 6.0001, 6.0002, 6.0003, 6.0004, 6.0005, 6.0006, 6.0007,
+ (7,0): 7, 7.0001, 7.0002, 7.0003, 7.0004, 7.0005, 7.0006, 7.0007
+ }
+ ATTRIBUTE "DummyDBL" {
+ DATATYPE H5T_IEEE_F64BE
+ DATASPACE SIMPLE { ( 64 ) / ( 64 ) }
+ DATA {
+ (0): 0, 0.0001, 0.0002, 0.0003, 0.0004, 0.0005, 0.0006, 0.0007, 1,
+ (9): 1.0001, 1.0002, 1.0003, 1.0004, 1.0005, 1.0006, 1.0007, 2,
+ (17): 2.0001, 2.0002, 2.0003, 2.0004, 2.0005, 2.0006, 2.0007, 3,
+ (25): 3.0001, 3.0002, 3.0003, 3.0004, 3.0005, 3.0006, 3.0007, 4,
+ (33): 4.0001, 4.0002, 4.0003, 4.0004, 4.0005, 4.0006, 4.0007, 5,
+ (41): 5.0001, 5.0002, 5.0003, 5.0004, 5.0005, 5.0006, 5.0007, 6,
+ (49): 6.0001, 6.0002, 6.0003, 6.0004, 6.0005, 6.0006, 6.0007, 7,
+ (57): 7.0001, 7.0002, 7.0003, 7.0004, 7.0005, 7.0006, 7.0007
+ }
+ }
+ }
+}
+}
diff --git a/tools/testfiles/tintsattrs.h5 b/tools/testfiles/tintsattrs.h5
new file mode 100644
index 0000000..ca8c573
--- /dev/null
+++ b/tools/testfiles/tintsattrs.h5
Binary files differ
diff --git a/tools/testfiles/treadfilter.ddl b/tools/testfiles/treadfilter.ddl
new file mode 100644
index 0000000..88ca2e9
--- /dev/null
+++ b/tools/testfiles/treadfilter.ddl
@@ -0,0 +1,54 @@
+HDF5 "tfilters.h5" {
+DATASET "all" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
+ DATA {
+ (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ (10,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ (11,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ (12,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ (13,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ (14,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ (15,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ (16,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ (17,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ (18,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ (19,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199
+ }
+}
+DATASET "szip" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
+ DATA {
+ (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ (10,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ (11,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ (12,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ (13,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ (14,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ (15,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ (16,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ (17,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ (18,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ (19,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199
+ }
+}
+}
diff --git a/tools/testfiles/treadintfilter.ddl b/tools/testfiles/treadintfilter.ddl
new file mode 100644
index 0000000..a2269a6b
--- /dev/null
+++ b/tools/testfiles/treadintfilter.ddl
@@ -0,0 +1,132 @@
+HDF5 "tfilters.h5" {
+DATASET "deflate" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
+ DATA {
+ (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ (10,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ (11,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ (12,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ (13,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ (14,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ (15,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ (16,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ (17,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ (18,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ (19,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199
+ }
+}
+DATASET "shuffle" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
+ DATA {
+ (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ (10,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ (11,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ (12,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ (13,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ (14,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ (15,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ (16,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ (17,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ (18,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ (19,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199
+ }
+}
+DATASET "fletcher32" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
+ DATA {
+ (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ (10,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ (11,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ (12,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ (13,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ (14,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ (15,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ (16,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ (17,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ (18,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ (19,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199
+ }
+}
+DATASET "nbit" {
+ DATATYPE 32-bit little-endian integer
+ DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
+ DATA {
+ (0,0): 0, 1, 2, 3, -4, -3, -2, -1, 0, 1,
+ (1,0): 2, 3, -4, -3, -2, -1, 0, 1, 2, 3,
+ (2,0): -4, -3, -2, -1, 0, 1, 2, 3, -4, -3,
+ (3,0): -2, -1, 0, 1, 2, 3, -4, -3, -2, -1,
+ (4,0): 0, 1, 2, 3, -4, -3, -2, -1, 0, 1,
+ (5,0): 2, 3, -4, -3, -2, -1, 0, 1, 2, 3,
+ (6,0): -4, -3, -2, -1, 0, 1, 2, 3, -4, -3,
+ (7,0): -2, -1, 0, 1, 2, 3, -4, -3, -2, -1,
+ (8,0): 0, 1, 2, 3, -4, -3, -2, -1, 0, 1,
+ (9,0): 2, 3, -4, -3, -2, -1, 0, 1, 2, 3,
+ (10,0): -4, -3, -2, -1, 0, 1, 2, 3, -4, -3,
+ (11,0): -2, -1, 0, 1, 2, 3, -4, -3, -2, -1,
+ (12,0): 0, 1, 2, 3, -4, -3, -2, -1, 0, 1,
+ (13,0): 2, 3, -4, -3, -2, -1, 0, 1, 2, 3,
+ (14,0): -4, -3, -2, -1, 0, 1, 2, 3, -4, -3,
+ (15,0): -2, -1, 0, 1, 2, 3, -4, -3, -2, -1,
+ (16,0): 0, 1, 2, 3, -4, -3, -2, -1, 0, 1,
+ (17,0): 2, 3, -4, -3, -2, -1, 0, 1, 2, 3,
+ (18,0): -4, -3, -2, -1, 0, 1, 2, 3, -4, -3,
+ (19,0): -2, -1, 0, 1, 2, 3, -4, -3, -2, -1
+ }
+}
+DATASET "scaleoffset" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
+ DATA {
+ (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ (2,0): 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ (3,0): 14, 15, 0, 1, 2, 19, 0, 5, 6, 7,
+ (4,0): 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ (5,0): 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ (6,0): 12, 13, 14, 15, 0, 17, 18, 19, 0, 5,
+ (7,0): 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ (8,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (9,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ (10,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ (11,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ (12,0): 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ (13,0): 114, 0, 100, 101, 102, 119, 0, 105, 106, 107,
+ (14,0): 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ (15,0): 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ (16,0): 112, 113, 114, 0, 100, 117, 118, 119, 0, 105,
+ (17,0): 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ (18,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ (19,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119
+ }
+}
+}
diff --git a/tools/testfiles/tscalarintattrsize.ddl b/tools/testfiles/tscalarintattrsize.ddl
new file mode 100644
index 0000000..a9de66b
--- /dev/null
+++ b/tools/testfiles/tscalarintattrsize.ddl
@@ -0,0 +1,256 @@
+HDF5 "tscalarintattrsize.h5" {
+GROUP "/" {
+ DATASET "DS08BITS" {
+ DATATYPE H5T_ARRAY { [8][8] H5T_STD_I8LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ -1, -2, -4, -8, -16, -32, -64, -128,
+ -2, -4, -8, -16, -32, -64, -128, 0,
+ -4, -8, -16, -32, -64, -128, 0, 0,
+ -8, -16, -32, -64, -128, 0, 0, 0,
+ -16, -32, -64, -128, 0, 0, 0, 0,
+ -32, -64, -128, 0, 0, 0, 0, 0,
+ -64, -128, 0, 0, 0, 0, 0, 0,
+ -128, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ ATTRIBUTE "DS08BITS" {
+ DATATYPE H5T_ARRAY { [8][8] H5T_STD_I8LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ -1, -2, -4, -8, -16, -32, -64, -128,
+ -2, -4, -8, -16, -32, -64, -128, 0,
+ -4, -8, -16, -32, -64, -128, 0, 0,
+ -8, -16, -32, -64, -128, 0, 0, 0,
+ -16, -32, -64, -128, 0, 0, 0, 0,
+ -32, -64, -128, 0, 0, 0, 0, 0,
+ -64, -128, 0, 0, 0, 0, 0, 0,
+ -128, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ }
+ }
+ DATASET "DS16BITS" {
+ DATATYPE H5T_ARRAY { [8][16] H5T_STD_I16LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768,
+ -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0,
+ -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0,
+ -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0,
+ -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0,
+ -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0,
+ -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0, 0,
+ -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ ATTRIBUTE "DS16BITS" {
+ DATATYPE H5T_ARRAY { [8][16] H5T_STD_I16LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768,
+ -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0,
+ -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0,
+ -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0,
+ -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0,
+ -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0,
+ -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0, 0,
+ -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ }
+ }
+ DATASET "DS32BITS" {
+ DATATYPE H5T_ARRAY { [8][32] H5T_STD_I32LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0,
+ -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0,
+ -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0,
+ -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0,
+ -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0,
+ -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0, 0,
+ -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ ATTRIBUTE "DS32BITS" {
+ DATATYPE H5T_ARRAY { [8][32] H5T_STD_I32LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648,
+ -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0,
+ -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0,
+ -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0,
+ -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0,
+ -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0,
+ -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0, 0,
+ -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ }
+ }
+ DATASET "DS64BITS" {
+ DATATYPE H5T_ARRAY { [8][64] H5T_STD_I64LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808,
+ -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0,
+ -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0,
+ -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0,
+ -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0,
+ -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0,
+ -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0, 0,
+ -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ ATTRIBUTE "DS64BITS" {
+ DATATYPE H5T_ARRAY { [8][64] H5T_STD_I64LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808,
+ -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0,
+ -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0,
+ -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0,
+ -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0,
+ -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0,
+ -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0, 0,
+ -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ }
+ }
+ DATASET "DU08BITS" {
+ DATATYPE H5T_ARRAY { [8][8] H5T_STD_U8LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 255, 254, 252, 248, 240, 224, 192, 128,
+ 254, 252, 248, 240, 224, 192, 128, 0,
+ 252, 248, 240, 224, 192, 128, 0, 0,
+ 248, 240, 224, 192, 128, 0, 0, 0,
+ 240, 224, 192, 128, 0, 0, 0, 0,
+ 224, 192, 128, 0, 0, 0, 0, 0,
+ 192, 128, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ ATTRIBUTE "DU08BITS" {
+ DATATYPE H5T_ARRAY { [8][8] H5T_STD_U8LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 255, 254, 252, 248, 240, 224, 192, 128,
+ 254, 252, 248, 240, 224, 192, 128, 0,
+ 252, 248, 240, 224, 192, 128, 0, 0,
+ 248, 240, 224, 192, 128, 0, 0, 0,
+ 240, 224, 192, 128, 0, 0, 0, 0,
+ 224, 192, 128, 0, 0, 0, 0, 0,
+ 192, 128, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ }
+ }
+ DATASET "DU16BITS" {
+ DATATYPE H5T_ARRAY { [8][16] H5T_STD_U16LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768,
+ 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0,
+ 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0,
+ 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0,
+ 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0,
+ 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0,
+ 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0, 0,
+ 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ ATTRIBUTE "DU16BITS" {
+ DATATYPE H5T_ARRAY { [8][16] H5T_STD_U16LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768,
+ 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0,
+ 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0,
+ 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0,
+ 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0,
+ 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0,
+ 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0, 0,
+ 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ }
+ }
+ DATASET "DU32BITS" {
+ DATATYPE H5T_ARRAY { [8][32] H5T_STD_U32LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 4294967295, 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648,
+ 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0,
+ 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0,
+ 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0,
+ 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0,
+ 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0,
+ 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0, 0,
+ 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ ATTRIBUTE "DU32BITS" {
+ DATATYPE H5T_ARRAY { [8][32] H5T_STD_U32LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 4294967295, 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648,
+ 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0,
+ 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0,
+ 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0,
+ 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0,
+ 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0,
+ 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0, 0,
+ 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ }
+ }
+ DATASET "DU64BITS" {
+ DATATYPE H5T_ARRAY { [8][64] H5T_STD_U64LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 18446744073709551615, 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808,
+ 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0,
+ 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0,
+ 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0,
+ 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0,
+ 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0,
+ 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, 0,
+ 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ ATTRIBUTE "DU64BITS" {
+ DATATYPE H5T_ARRAY { [8][64] H5T_STD_U64LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 18446744073709551615, 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808,
+ 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0,
+ 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0,
+ 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0,
+ 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0,
+ 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0,
+ 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, 0,
+ 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, 0, 0 ]
+ }
+ }
+ }
+ DATASET "DummyDBL" {
+ DATATYPE H5T_ARRAY { [8][8] H5T_IEEE_F64LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 0, 0.0001, 0.0002, 0.0003, 0.0004, 0.0005, 0.0006, 0.0007,
+ 1, 1.0001, 1.0002, 1.0003, 1.0004, 1.0005, 1.0006, 1.0007,
+ 2, 2.0001, 2.0002, 2.0003, 2.0004, 2.0005, 2.0006, 2.0007,
+ 3, 3.0001, 3.0002, 3.0003, 3.0004, 3.0005, 3.0006, 3.0007,
+ 4, 4.0001, 4.0002, 4.0003, 4.0004, 4.0005, 4.0006, 4.0007,
+ 5, 5.0001, 5.0002, 5.0003, 5.0004, 5.0005, 5.0006, 5.0007,
+ 6, 6.0001, 6.0002, 6.0003, 6.0004, 6.0005, 6.0006, 6.0007,
+ 7, 7.0001, 7.0002, 7.0003, 7.0004, 7.0005, 7.0006, 7.0007 ]
+ }
+ ATTRIBUTE "DummyDBL" {
+ DATATYPE H5T_ARRAY { [8][8] H5T_IEEE_F64LE }
+ DATASPACE SCALAR
+ DATA {
+ (0): [ 0, 0.0001, 0.0002, 0.0003, 0.0004, 0.0005, 0.0006, 0.0007,
+ 1, 1.0001, 1.0002, 1.0003, 1.0004, 1.0005, 1.0006, 1.0007,
+ 2, 2.0001, 2.0002, 2.0003, 2.0004, 2.0005, 2.0006, 2.0007,
+ 3, 3.0001, 3.0002, 3.0003, 3.0004, 3.0005, 3.0006, 3.0007,
+ 4, 4.0001, 4.0002, 4.0003, 4.0004, 4.0005, 4.0006, 4.0007,
+ 5, 5.0001, 5.0002, 5.0003, 5.0004, 5.0005, 5.0006, 5.0007,
+ 6, 6.0001, 6.0002, 6.0003, 6.0004, 6.0005, 6.0006, 6.0007,
+ 7, 7.0001, 7.0002, 7.0003, 7.0004, 7.0005, 7.0006, 7.0007 ]
+ }
+ }
+ }
+}
+}
diff --git a/tools/testfiles/tscalarintattrsize.h5 b/tools/testfiles/tscalarintattrsize.h5
new file mode 100644
index 0000000..61f5fb3
--- /dev/null
+++ b/tools/testfiles/tscalarintattrsize.h5
Binary files differ
diff --git a/tools/testfiles/tscaleoffset.ddl b/tools/testfiles/tscaleoffset.ddl
index f1891da..ba49c70 100644
--- a/tools/testfiles/tscaleoffset.ddl
+++ b/tools/testfiles/tscaleoffset.ddl
@@ -4,10 +4,10 @@ DATASET "scaleoffset" {
DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
STORAGE_LAYOUT {
CHUNKED ( 10, 5 )
- SIZE 152 (5.263:1 COMPRESSION)
+ SIZE 188 (4.255:1 COMPRESSION)
}
FILTERS {
- COMPRESSION SCALEOFFSET { MIN BITS 4 }
+ COMPRESSION SCALEOFFSET { MIN BITS 2 }
}
FILLVALUE {
FILL_TIME H5D_FILL_TIME_IFSET
diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h
index 1dffb68..4cc85e0 100644
--- a/vms/src/h5pubconf.h
+++ b/vms/src/h5pubconf.h
@@ -514,7 +514,7 @@
#define H5_PACKAGE_NAME "HDF5"
/* Define to the full name and version of this package. */
-#define H5_PACKAGE_STRING "HDF5 1.9.167"
+#define H5_PACKAGE_STRING "HDF5 1.9.170"
/* Define to the one symbol short name of this package. */
#define H5_PACKAGE_TARNAME "hdf5"
@@ -523,7 +523,7 @@
#define H5_PACKAGE_URL ""
/* Define to the version of this package. */
-#define H5_PACKAGE_VERSION "1.9.167"
+#define H5_PACKAGE_VERSION "1.9.170"
/* Width for printf() for type `long long' or `__int64', use `ll' */
#define H5_PRINTF_LL_WIDTH "ll"
@@ -686,7 +686,7 @@
/* #undef H5_USING_MEMCHECKER */
/* Version number of package */
-#define H5_VERSION "1.9.167"
+#define H5_VERSION "1.9.170"
/* Define if vsnprintf() returns the correct value for formatted strings that
don't fit into size allowed */