diff options
Diffstat (limited to 'tools/h5dump')
-rw-r--r-- | tools/h5dump/CMakeTests.cmake | 25 | ||||
-rw-r--r-- | tools/h5dump/Makefile.in | 46 | ||||
-rw-r--r-- | tools/h5dump/h5dump.c | 2 | ||||
-rw-r--r-- | tools/h5dump/h5dumpgentest.c | 177 | ||||
-rw-r--r-- | tools/h5dump/testh5dump.sh.in | 13 |
5 files changed, 191 insertions, 72 deletions
diff --git a/tools/h5dump/CMakeTests.cmake b/tools/h5dump/CMakeTests.cmake index c256e11..9f7e2b0 100644 --- a/tools/h5dump/CMakeTests.cmake +++ b/tools/h5dump/CMakeTests.cmake @@ -103,6 +103,12 @@ ${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/tints4dims.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsBlock2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsBlockEq.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsCount2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsCountEq.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsStride2.ddl ${HDF5_TOOLS_SRC_DIR}/testfiles/tintsattrs.ddl ${HDF5_TOOLS_SRC_DIR}/testfiles/tlarge_objname.ddl #${HDF5_TOOLS_SRC_DIR}/testfiles/tldouble.ddl @@ -244,6 +250,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/tints4dims.h5 ${HDF5_TOOLS_SRC_DIR}/testfiles/tintsattrs.h5 ${HDF5_TOOLS_SRC_DIR}/testfiles/tlarge_objname.h5 #${HDF5_TOOLS_SRC_DIR}/testfiles/tldouble.h5 @@ -915,6 +922,18 @@ texceedsubblock.out.err tindicesyes.out tindicesyes.out.err + tints4dims.out + tints4dims.out.err + tints4dimsBlock2.out + tints4dimsBlock2.out.err + tints4dimsBlockEq.out + tints4dimsBlockEq.out.err + tints4dimsCount2.out + tints4dimsCount2.out.err + tints4dimsCountEq.out + tints4dimsCountEq.out.err + tints4dimsStride2.out + tints4dimsStride2.out.err tintsattrs.out tintsattrs.out.err tlarge_objname.out @@ -1236,6 +1255,12 @@ ADD_H5_TEST (tdset-3s 0 --enable-error-stack -d "/dset1[1,1;;;]" tdset.h5) ADD_H5_TEST (tno-subset 0 --enable-error-stack --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" tno-subset.h5) + ADD_H5_TEST (tints4dimsCount2 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -c 2,2,2,2 tints4dims.h5) + ADD_H5_TEST (tints4dimsBlock2 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -c 1,1,1,1 -k 2,2,2,2 tints4dims.h5) + ADD_H5_TEST (tints4dimsStride2 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,2,2 -c 2,2,2,2 tints4dims.h5) + ADD_H5_TEST (tints4dimsCountEq 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,1,1 -k 1,2,1,1 -c 2,2,4,4 tints4dims.h5) + ADD_H5_TEST (tints4dimsBlockEq 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,1,1 -c 2,2,1,1 -k 1,2,4,4 tints4dims.h5) + # test printing characters in ASCII instead of decimal ADD_H5_TEST (tchar1 0 --enable-error-stack -r tchar.h5) diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in index 3c77639..03a3423 100644 --- a/tools/h5dump/Makefile.in +++ b/tools/h5dump/Makefile.in @@ -111,10 +111,23 @@ TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT) subdir = tools/h5dump ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \ - $(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/aclocal_fc.m4 \ + $(top_srcdir)/m4/ax_check_class.m4 \ + $(top_srcdir)/m4/ax_check_classpath.m4 \ + $(top_srcdir)/m4/ax_check_java_home.m4 \ + $(top_srcdir)/m4/ax_check_junit.m4 \ + $(top_srcdir)/m4/ax_java_options.m4 \ + $(top_srcdir)/m4/ax_jni_include_dir.m4 \ + $(top_srcdir)/m4/ax_prog_jar.m4 \ + $(top_srcdir)/m4/ax_prog_java.m4 \ + $(top_srcdir)/m4/ax_prog_java_works.m4 \ + $(top_srcdir)/m4/ax_prog_javac.m4 \ + $(top_srcdir)/m4/ax_prog_javac_works.m4 \ + $(top_srcdir)/m4/ax_prog_javadoc.m4 \ + $(top_srcdir)/m4/ax_try_compile_java.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) @@ -432,6 +445,9 @@ AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@ -I$(top_srcdir)/src \ AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@ +AM_JAVACFLAGS = @AM_JAVACFLAGS@ +AM_JAVAFLAGS = @AM_JAVAFLAGS@ +AM_JNIFLAGS = @AM_JNIFLAGS@ AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ AR = @AR@ ASSERTS = @ASSERTS@ @@ -494,10 +510,14 @@ H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@ H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@ H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@ H5_CFLAGS = @H5_CFLAGS@ +H5_CLASSPATH = @H5_CLASSPATH@ H5_CPPFLAGS = @H5_CPPFLAGS@ H5_CXXFLAGS = @H5_CXXFLAGS@ H5_FCFLAGS = @H5_FCFLAGS@ H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@ +H5_JAVACFLAGS = @H5_JAVACFLAGS@ +H5_JAVAFLAGS = @H5_JAVAFLAGS@ +H5_JNIFLAGS = @H5_JNIFLAGS@ H5_LDFLAGS = @H5_LDFLAGS@ H5_VERSION = @H5_VERSION@ HADDR_T = @HADDR_T@ @@ -508,6 +528,7 @@ HDF5_HL = @HDF5_HL@ HDF5_INTERFACES = @HDF5_INTERFACES@ HDF_CXX = @HDF_CXX@ HDF_FORTRAN = @HDF_FORTRAN@ +HDF_JAVA = @HDF_JAVA@ HID_T = @HID_T@ HL = @HL@ HL_FOR = @HL_FOR@ @@ -520,6 +541,18 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@ INTERNAL_DEBUG_OUTPUT = @INTERNAL_DEBUG_OUTPUT@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVACFLAGS = @JAVACFLAGS@ +JAVADOC = @JAVADOC@ +JAVAFLAGS = @JAVAFLAGS@ +JAVAPREFIX = @JAVAPREFIX@ +JAVA_JUNIT = @JAVA_JUNIT@ +JAVA_PATH_NAME = @JAVA_PATH_NAME@ +JAVA_VERSION = @JAVA_VERSION@ +JNIFLAGS = @JNIFLAGS@ +JUNIT = @JUNIT@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -530,7 +563,6 @@ LL_PATH = @LL_PATH@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_STATIC_EXEC = @LT_STATIC_EXEC@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -585,6 +617,7 @@ STRICT_FORMAT_CHECKS = @STRICT_FORMAT_CHECKS@ STRIP = @STRIP@ SYMBOLS = @SYMBOLS@ TESTPARALLEL = @TESTPARALLEL@ +TESTS_JUNIT = @TESTS_JUNIT@ THREADSAFE = @THREADSAFE@ TIME = @TIME@ TR = @TR@ @@ -593,8 +626,10 @@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ +UUDECODE = @UUDECODE@ VERSION = @VERSION@ WORDS_BIGENDIAN = @WORDS_BIGENDIAN@ +_ACJNI_JAVAC = @_ACJNI_JAVAC@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -673,6 +708,7 @@ LIBH5TEST = $(top_builddir)/test/libh5test.la LIBH5F = $(top_builddir)/fortran/src/libhdf5_fortran.la LIBH5FTEST = $(top_builddir)/fortran/test/libh5test_fortran.la LIBH5CPP = $(top_builddir)/c++/src/libhdf5_cpp.la +LIBH5JNI = $(top_builddir)/java/src/jni/libhdf5_java.la LIBH5TOOLS = $(top_builddir)/tools/lib/libh5tools.la LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c index 7c24fa4..553db93 100644 --- a/tools/h5dump/h5dump.c +++ b/tools/h5dump/h5dump.c @@ -244,7 +244,7 @@ usage(const char *prog) PRINTVALSTREAM(rawoutstream, " -o F, --output=F Output raw data into file F\n"); PRINTVALSTREAM(rawoutstream, " -b B, --binary=B Binary file output, of form B\n"); PRINTVALSTREAM(rawoutstream, " -O F, --ddl=F Output ddl text into file F\n"); - PRINTVALSTREAM(rawoutstream, " Do not use filename F to suppress ddl display\n"); + PRINTVALSTREAM(rawoutstream, " Use blank(empty) filename F to suppress ddl display\n"); PRINTVALSTREAM(rawoutstream, "--------------- Object Options ---------------\n"); PRINTVALSTREAM(rawoutstream, " -a P, --attribute=P Print the specified attribute\n"); PRINTVALSTREAM(rawoutstream, " If an attribute name contains a slash (/), escape the\n"); diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c index 0eeaec5..46386a0 100644 --- a/tools/h5dump/h5dumpgentest.c +++ b/tools/h5dump/h5dumpgentest.c @@ -111,6 +111,7 @@ #define FILE78 "tscalarintattrsize.h5" #define FILE79 "tintsattrs.h5" #define FILE80 "tbitnopaque.h5" +#define FILE81 "tints4dims.h5" /*------------------------------------------------------------------------- * prototypes @@ -272,20 +273,20 @@ typedef struct s1_t { #define THRESHOLD10 10 /* Free space section threshold */ /* "FILE66" macros and for FILE69 */ -#define F66_XDIM 8 +#define F66_XDIM 8 #define F66_DATASETU08 "DU08BITS" #define F66_DATASETS08 "DS08BITS" -#define F66_YDIM8 8 +#define F66_YDIM8 8 #define F66_DATASETU16 "DU16BITS" #define F66_DATASETS16 "DS16BITS" -#define F66_YDIM16 16 +#define F66_YDIM16 16 #define F66_DATASETU32 "DU32BITS" #define F66_DATASETS32 "DS32BITS" -#define F66_YDIM32 32 +#define F66_YDIM32 32 #define F66_DATASETU64 "DU64BITS" #define F66_DATASETS64 "DS64BITS" #define F66_YDIM64 64 -#define F66_DUMMYDBL "DummyDBL" +#define F66_DUMMYDBL "DummyDBL" /* Declarations for gent_dataset_idx() for "FILE68a" */ #define F68a_DSET_FIXED "dset_fixed" @@ -363,6 +364,13 @@ typedef struct s1_t { #define F80_DIM32 32 +#define F81_DATASETNAME "FourDimInts" +#define F81_RANK 4 +#define F81_WDIM 10 +#define F81_XDIM 8 +#define F81_YDIM 6 +#define F81_ZDIM 4 + static void gent_group(void) { @@ -579,7 +587,7 @@ static void gent_softlink(void) * Function: gent_softlink2 * * Purpose: Create soft links to various objects. - * Return: + * Return: * SUCCEED * FAIL * Programmer: Jonathan Kim @@ -593,7 +601,7 @@ static int gent_softlink2(void) hid_t gid1 = -1, gid2 = -1; hid_t datatype = -1; hid_t dset1 = -1, dset2 = -1; - hid_t dataspace = -1; + hid_t dataspace = -1; hsize_t dimsf[2]; /* dataset dimensions */ int data1[NX][NY] = {{0,0},{1,1},{2,2},{3,3}}; int data2[NX][NY] = {{0,0},{0,1},{0,2},{3,3}}; @@ -637,7 +645,7 @@ static int gent_softlink2(void) status = H5Tcommit2(fileid1, "dtype", datatype, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { - fprintf(stderr, "Error: %s> H5Tcommit2 failed.\n", FILE4_1); + fprintf(stderr, "Error: %s> H5Tcommit2 failed.\n", FILE4_1); status = FAIL; goto out; } @@ -2907,9 +2915,9 @@ static void gent_vldatatypes5(void) } /* This is big enough to make h5dump to use hyperslap to read - from file and display portion by portion. This also prints out array indices + from file and display portion by portion. This also prints out array indices via region reference for testing refion reference output. - Note: this was added originally prepared for bug2092. before the fix h5dump didn't + Note: this was added originally prepared for bug2092. before the fix h5dump didn't display array indices every 262 x N (N > 0) based on 2000x1000 dims. */ #define SPACE_ARRAY1BIG_DIM 2000 @@ -2956,7 +2964,7 @@ static void gent_array1_big(void) fid1 = H5Fcreate(FILE25_BIG, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*------------------------- - * Array type dataset + * Array type dataset */ /* Create dataspace for datasets */ sid1 = H5Screate_simple(SPACE1_RANK, sdims1, NULL); @@ -2972,7 +2980,7 @@ static void gent_array1_big(void) HDassert(ret >= 0); /*--------------------------- - * Region Reference dataset + * Region Reference dataset */ /* Create dataspace for the reference dataset */ sid2 = H5Screate_simple(SPACE1_RANK, dims2, NULL); @@ -5221,7 +5229,7 @@ static void gent_zero_dim_size(void) space = H5Screate_simple(SPACE3_RANK, dims1, NULL); /* dataset */ - dataset = H5Dcreate2(fid, "dset of 0 dimension size", H5T_STD_I32BE, space, H5P_DEFAULT, + dataset = H5Dcreate2(fid, "dset of 0 dimension size", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* nothing should be written */ H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &dset_buf); @@ -7159,7 +7167,7 @@ gent_packedbits(void) 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 */ + valu16bits = (uint16_t) ~0u; /* all 1s */ for(i = 0; i < dims[0]; i++){ dsetu16[i][0] = valu16bits; for(j = 1; j < dims[1]; j++) @@ -7176,7 +7184,7 @@ gent_packedbits(void) 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 */ + valu32bits = (uint32_t) ~0u; /* all 1s */ for(i = 0; i < dims[0]; i++){ dsetu32[i][0] = valu32bits; for(j = 1; j < dims[1]; j++) @@ -7210,7 +7218,7 @@ gent_packedbits(void) 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 */ + val8bits = (int8_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ dset8[i][0] = val8bits; for(j = 1; j < dims[1]; j++) @@ -7227,7 +7235,7 @@ gent_packedbits(void) 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 */ + val16bits = (int16_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ dset16[i][0] = val16bits; for(j = 1; j < dims[1]; j++) @@ -7244,7 +7252,7 @@ gent_packedbits(void) 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 */ + val32bits = (int32_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ dset32[i][0] = val32bits; for(j = 1; j < dims[1]; j++) @@ -8733,7 +8741,7 @@ static void gent_compound_int_array(void) { valu8bits = (uint8_t) ~0u; /* all 1s */ for(n = 0; n < dims[0]; n++){ - Cmpd1[m].dsetu8[n] = valu8bits; + Cmpd1[m].dsetu8[n] = valu8bits; valu8bits <<= 1; } @@ -8742,7 +8750,7 @@ static void gent_compound_int_array(void) { valu16bits = (uint16_t) ~0u; /* all 1s */ for(n = 0; n < dims[0]; n++){ - Cmpd1[m].dsetu16[n] = valu16bits; + Cmpd1[m].dsetu16[n] = valu16bits; valu16bits <<= 1; } @@ -8751,7 +8759,7 @@ static void gent_compound_int_array(void) { valu32bits = (uint32_t) ~0u; /* all 1s */ for(n = 0; n < dims[0]; n++){ - Cmpd1[m].dsetu32[n] = valu32bits; + Cmpd1[m].dsetu32[n] = valu32bits; valu32bits <<= 1; } @@ -8760,7 +8768,7 @@ static void gent_compound_int_array(void) { valu64bits = (uint64_t) ~0Lu; /* all 1s */ for(n = 0; n < dims[0]; n++){ - Cmpd1[m].dsetu64[n] = valu64bits; + Cmpd1[m].dsetu64[n] = valu64bits; valu64bits <<= 1; } @@ -8769,7 +8777,7 @@ static void gent_compound_int_array(void) { val8bits = (int8_t) ~0; /* all 1s */ for(n = 0; n < dims[0]; n++){ - Cmpd1[m].dset8[n] = val8bits; + Cmpd1[m].dset8[n] = val8bits; val8bits <<= 1; } @@ -8778,7 +8786,7 @@ static void gent_compound_int_array(void) { val16bits = (int16_t) ~0; /* all 1s */ for(n = 0; n < dims[0]; n++){ - Cmpd1[m].dset16[n] = val16bits; + Cmpd1[m].dset16[n] = val16bits; val16bits <<= 1; } @@ -8787,7 +8795,7 @@ static void gent_compound_int_array(void) { val32bits = (int32_t) ~0; /* all 1s */ for(n = 0; n < dims[0]; n++){ - Cmpd1[m].dset32[n] = val32bits; + Cmpd1[m].dset32[n] = val32bits; val32bits <<= 1; } @@ -8796,7 +8804,7 @@ static void gent_compound_int_array(void) { val64bits = (int64_t) ~0L; /* all 1s */ for(n = 0; n < dims[0]; n++){ - Cmpd1[m].dset64[n] = val64bits; + Cmpd1[m].dset64[n] = val64bits; val64bits <<= 1; } @@ -8804,7 +8812,7 @@ static void gent_compound_int_array(void) { dims[0] = F76_DIM8; for(n = 0; n < dims[0]; n++) - Cmpd1[m].dsetdbl[n] = 0.0001F + n; + Cmpd1[m].dsetdbl[n] = 0.0001F + n; } /* Create the array data type for the 8 bits signed int array */ @@ -8979,64 +8987,64 @@ static void gent_compound_ints(void) { 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; + 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) + if((m % F76_DIM16) == 0) valu16bits = (uint16_t) ~0u; /* all 1s */ - Cmpd1[m].dsetu16 = valu16bits; - Cmpd2[m].dsetu16 = valu16bits; - valu16bits <<= 1; + Cmpd1[m].dsetu16 = valu16bits; + Cmpd2[m].dsetu16 = valu16bits; + valu16bits <<= 1; /* Array of 32 bits unsigned int */ - if((m % F76_DIM32) == 0) + if((m % F76_DIM32) == 0) valu32bits = (uint32_t) ~0u; /* all 1s */ - Cmpd1[m].dsetu32 = valu32bits; - Cmpd2[m].dsetu32 = valu32bits; - valu32bits <<= 1; + Cmpd1[m].dsetu32 = valu32bits; + Cmpd2[m].dsetu32 = valu32bits; + valu32bits <<= 1; /* Array of 64 bits unsigned int */ - if((m % F76_DIM64) == 0) + if((m % F76_DIM64) == 0) valu64bits = (uint64_t) ~0Lu; /* all 1s */ - Cmpd1[m].dsetu64 = valu64bits; - Cmpd2[m].dsetu64 = valu64bits; - valu64bits <<= 1; + Cmpd1[m].dsetu64 = valu64bits; + Cmpd2[m].dsetu64 = valu64bits; + valu64bits <<= 1; /* Array of 8 bits signed int */ - if((m % F76_DIM8) == 0) + if((m % F76_DIM8) == 0) val8bits = (int8_t) ~0; /* all 1s */ - Cmpd1[m].dset8 = val8bits; - Cmpd2[m].dset8 = val8bits; - val8bits <<= 1; + Cmpd1[m].dset8 = val8bits; + Cmpd2[m].dset8 = val8bits; + val8bits <<= 1; /* Array of 16 bits signed int */ - if((m % F76_DIM16) == 0) + if((m % F76_DIM16) == 0) val16bits = (int16_t) ~0; /* all 1s */ - Cmpd1[m].dset16 = val16bits; - Cmpd2[m].dset16 = val16bits; - val16bits <<= 1; + Cmpd1[m].dset16 = val16bits; + Cmpd2[m].dset16 = val16bits; + val16bits <<= 1; /* Array of 32 bits signed int */ - if((m % F76_DIM32) == 0) + if((m % F76_DIM32) == 0) val32bits = (int32_t) ~0; /* all 1s */ - Cmpd1[m].dset32 = val32bits; - Cmpd2[m].dset32 = val32bits; - val32bits <<= 1; + Cmpd1[m].dset32 = val32bits; + Cmpd2[m].dset32 = val32bits; + val32bits <<= 1; /* Array of 64 bits signed int */ - if((m % F76_DIM64) == 0) + if((m % F76_DIM64) == 0) val64bits = (int64_t) ~0L; /* all 1s */ - Cmpd1[m].dset64 = val64bits; - Cmpd2[m].dset64 = val64bits; - val64bits <<= 1; + Cmpd1[m].dset64 = val64bits; + Cmpd2[m].dset64 = val64bits; + val64bits <<= 1; /* Double Dummy set for failure tests */ - Cmpd1[m].dsetdbl = 0.0001F + m; - Cmpd2[m].dsetdbl = 0.0001F + m; + Cmpd1[m].dsetdbl = 0.0001F + m; + Cmpd2[m].dsetdbl = 0.0001F + m; } /* Create the dataspace */ @@ -9447,7 +9455,7 @@ gent_intsattrs(void) 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 */ + valu16bits = (uint16_t) ~0u; /* all 1s */ for(i = 0; i < dims[0]; i++){ dsetu16[i][0] = valu16bits; asetu16[i*dims[1]] = dsetu16[i][0]; @@ -9474,7 +9482,7 @@ gent_intsattrs(void) 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 */ + valu32bits = (uint32_t) ~0u; /* all 1s */ for(i = 0; i < dims[0]; i++){ dsetu32[i][0] = valu32bits; asetu32[i*dims[1]] = dsetu32[i][0]; @@ -9528,7 +9536,7 @@ gent_intsattrs(void) 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 */ + val8bits = (int8_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ dset8[i][0] = val8bits; aset8[i*dims[1]] = dset8[i][0]; @@ -9555,7 +9563,7 @@ gent_intsattrs(void) 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 */ + val16bits = (int16_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ dset16[i][0] = val16bits; aset16[i*dims[1]] = dset16[i][0]; @@ -9582,7 +9590,7 @@ gent_intsattrs(void) 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 */ + val32bits = (int32_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ dset32[i][0] = val32bits; aset32[i*dims[1]] = dset32[i][0]; @@ -9805,6 +9813,41 @@ static void gent_bitnopaquefields(void) H5Fclose(file); } +/*------------------------------------------------------------------------- + * Function: gent_intsfourdims + * + * Purpose: Generate a file to be used in the h5dump subsetting tests. + * One datasets of unsigned int types are created in four dimensions 2,4,6,10. + *------------------------------------------------------------------------- + */ +static void +gent_intsfourdims(void) +{ + hid_t fid, dataset, space, tid; + hsize_t dims[F81_RANK]; + uint32_t dset1[F81_ZDIM][F81_YDIM][F81_XDIM][F81_WDIM]; + unsigned int i, j, k, l; + + fid = H5Fcreate(FILE81, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + + /* Dataset of 32 bits unsigned int */ + dims[0] = F81_ZDIM; dims[1] = F81_YDIM; dims[2] = F81_XDIM; dims[3] = F81_WDIM; + space = H5Screate_simple(F81_RANK, dims, NULL); + dataset = H5Dcreate2(fid, F81_DATASETNAME, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + for(i = 0; i < F81_ZDIM; i++) + for(j = 0; j < F81_YDIM; j++) + for(k = 0; k < F81_XDIM; k++) + for(l = 0; l < F81_WDIM; l++) + dset1[i][j][k][l] = i*F81_YDIM*F81_XDIM*F81_WDIM + j*F81_XDIM*F81_WDIM + k*F81_WDIM + l; + + H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); + H5Sclose(space); + H5Dclose(dataset); + + H5Fclose(fid); +} + /*------------------------------------------------------------------------- * Function: main @@ -9898,6 +9941,8 @@ int main(void) gent_intsattrs(); gent_bitnopaquefields(); + gent_intsfourdims(); + return 0; } diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in index 267ac44..6d481c6 100644 --- a/tools/h5dump/testh5dump.sh.in +++ b/tools/h5dump/testh5dump.sh.in @@ -133,6 +133,7 @@ $SRC_H5DUMP_TESTFILES/tgrp_comments.h5 $SRC_H5DUMP_TESTFILES/thlink.h5 $SRC_H5DUMP_TESTFILES/thyperslab.h5 $SRC_H5DUMP_TESTFILES/tintsattrs.h5 +$SRC_H5DUMP_TESTFILES/tints4dims.h5 $SRC_H5DUMP_TESTFILES/tlarge_objname.h5 #$SRC_H5DUMP_TESTFILES/tldouble.h5 $SRC_H5DUMP_TESTFILES/tlonglinks.h5 @@ -265,6 +266,12 @@ $SRC_H5DUMP_TESTFILES/tindicessub2.ddl $SRC_H5DUMP_TESTFILES/tindicessub3.ddl $SRC_H5DUMP_TESTFILES/tindicessub4.ddl $SRC_H5DUMP_TESTFILES/tindicesyes.ddl +$SRC_H5DUMP_TESTFILES/tints4dims.ddl +$SRC_H5DUMP_TESTFILES/tints4dimsBlock2.ddl +$SRC_H5DUMP_TESTFILES/tints4dimsBlockEq.ddl +$SRC_H5DUMP_TESTFILES/tints4dimsCount2.ddl +$SRC_H5DUMP_TESTFILES/tints4dimsCountEq.ddl +$SRC_H5DUMP_TESTFILES/tints4dimsStride2.ddl $SRC_H5DUMP_TESTFILES/tintsattrs.ddl $SRC_H5DUMP_TESTFILES/tlarge_objname.ddl #$SRC_H5DUMP_TESTFILES/tldouble.ddl @@ -1106,6 +1113,12 @@ TOOLTEST tall-5s.ddl --enable-error-stack -d "/g1/g1.1/dset1.1.2[0;2;10;]" tall. TOOLTEST tdset-3s.ddl --enable-error-stack -d "/dset1[1,1;;;]" tdset.h5 TOOLTEST tno-subset.ddl --enable-error-stack --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" tno-subset.h5 +TOOLTEST tints4dimsCount2.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -c 2,2,2,2 tints4dims.h5 +TOOLTEST tints4dimsBlock2.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -c 1,1,1,1 -k 2,2,2,2 tints4dims.h5 +TOOLTEST tints4dimsStride2.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,2,2 -c 2,2,2,2 tints4dims.h5 +TOOLTEST tints4dimsCountEq.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,1,1 -k 1,2,1,1 -c 2,2,4,4 tints4dims.h5 +TOOLTEST tints4dimsBlockEq.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,1,1 -c 2,2,1,1 -k 1,2,4,4 tints4dims.h5 + # test printing characters in ASCII instead of decimal TOOLTEST tchar1.ddl --enable-error-stack -r tchar.h5 |