summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2004-07-06 20:07:03 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2004-07-06 20:07:03 (GMT)
commit4535e598f709e4d9bed0f5de1076d5e77b7441ab (patch)
tree31f79fe87fbda10d9af69d2a04eb9b7619021a44 /tools
parente8337826c8f2a9baea10234370cbe7955edb6d0a (diff)
downloadhdf5-4535e598f709e4d9bed0f5de1076d5e77b7441ab.zip
hdf5-4535e598f709e4d9bed0f5de1076d5e77b7441ab.tar.gz
hdf5-4535e598f709e4d9bed0f5de1076d5e77b7441ab.tar.bz2
[svn-r8812] Purpose:
h5dump new tests Description: added new tests for the -p option, superblock, file contents, fill values, array indices. Solution: Platforms tested: linux AIX solaris Misc. update:
Diffstat (limited to 'tools')
-rw-r--r--tools/h5dump/h5dump.c5
-rw-r--r--tools/h5dump/h5dumpgentest.c190
-rw-r--r--tools/h5dump/testh5dump.sh.in28
-rw-r--r--tools/testfiles/tallfilters.ddl2
-rw-r--r--tools/testfiles/tattr2.h5bin7720 -> 33840 bytes
-rw-r--r--tools/testfiles/tattr2.ls293
-rw-r--r--tools/testfiles/tboot1.ddl (renamed from tools/testfiles/tboot.ddl)10
-rw-r--r--tools/testfiles/tboot2.ddl22
-rw-r--r--tools/testfiles/tcontents.ddl41
-rw-r--r--tools/testfiles/tfcontents1.h5bin0 -> 8424 bytes
-rw-r--r--tools/testfiles/tfcontents2.h5bin0 -> 976 bytes
-rw-r--r--tools/testfiles/tfill.ddl174
-rw-r--r--tools/testfiles/tfillalloc.ddl23
-rw-r--r--tools/testfiles/tfillearly.ddl23
-rw-r--r--tools/testfiles/tfillifset.ddl23
-rw-r--r--tools/testfiles/tfillincr.ddl23
-rw-r--r--tools/testfiles/tfilllate.ddl23
-rw-r--r--tools/testfiles/tfillnever.ddl23
-rw-r--r--tools/testfiles/tfilters.h5bin61200 -> 52336 bytes
-rw-r--r--tools/testfiles/tfvalues.h5bin0 -> 9552 bytes
-rw-r--r--tools/testfiles/tindiceslarge.ddl64
-rw-r--r--tools/testfiles/tperror.ddl8
-rw-r--r--tools/testfiles/treference.ddl1964
23 files changed, 2687 insertions, 252 deletions
diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c
index ef5e94c..d294942 100644
--- a/tools/h5dump/h5dump.c
+++ b/tools/h5dump/h5dump.c
@@ -2068,10 +2068,9 @@ static void dump_fill_value(hid_t dcpl,hid_t type_id, hid_t obj_id)
memset(&ctx, 0, sizeof(ctx));
ctx.indent_level=2;
- size = H5Tget_size(type_id);
- buf = malloc(size);
-
n_type = H5Tget_native_type(type_id,H5T_DIR_DEFAULT);
+ size = H5Tget_size(n_type);
+ buf = malloc(size);
H5Pget_fill_value(dcpl, n_type, buf);
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index 806f3db..e330693 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -3080,7 +3080,7 @@ static void gent_char(void)
*
* Return:
*
- * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
+ * Programmer: pvn@ncsa.uiuc.edu
*
* Date: May 28, 2003
*
@@ -3520,7 +3520,7 @@ static void write_attr_in(hid_t loc_id,
*
* Return:
*
- * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
+ * Programmer: pvn@ncsa.uiuc.edu
*
* Date: May 28, 2003
*
@@ -3976,7 +3976,7 @@ static void write_dset_in(hid_t loc_id,
*
* Return: void
*
- * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
+ * Programmer: pvn@ncsa.uiuc.edu
*
* Date: May 19, 2003
*
@@ -4045,7 +4045,7 @@ static void gent_attr_all(void)
*
* Purpose: utility function to write an attribute
*
- * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
+ * Programmer: pvn@ncsa.uiuc.edu
*
* Date: May 19, 2003
*
@@ -4083,7 +4083,7 @@ int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name,
*
* Return:
*
- * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
+ * Programmer: pvn@ncsa.uiuc.edu
*
* Date: May 27, 2003
*
@@ -4393,6 +4393,7 @@ static void gent_null_space(void)
}
+
/*-------------------------------------------------------------------------
* Function: make_dset
*
@@ -4403,18 +4404,19 @@ static void gent_null_space(void)
static
int make_dset(hid_t loc_id,
const char *name,
- hid_t sid,
+ hid_t sid,
+ hid_t tid,
hid_t dcpl,
void *buf)
{
hid_t dsid;
/* create the dataset */
- if((dsid = H5Dcreate (loc_id,name,H5T_NATIVE_INT,sid,dcpl))<0)
+ if((dsid = H5Dcreate (loc_id,name,tid,sid,dcpl))<0)
return -1;
/* write */
- if(H5Dwrite(dsid,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
+ if(H5Dwrite(dsid,tid,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
goto out;
/* close */
@@ -4431,6 +4433,8 @@ int make_dset(hid_t loc_id,
+
+
/*-------------------------------------------------------------------------
* Function: make_external
*
@@ -4485,6 +4489,12 @@ make_external(hid_t fid)
*/
static void gent_filters(void)
{
+ typedef enum
+ {
+ E_RED,
+ E_GREEN
+ } e_t;
+
hid_t fid; /* file id */
hid_t dcpl; /* dataset creation property list */
hid_t sid; /* dataspace ID */
@@ -4507,20 +4517,23 @@ static void gent_filters(void)
char buf4[6]={"abcdef"};
hobj_ref_t buf5[1];
hsize_t dims5[1]={1};
- int i, j, n, ret, val;
+ int i, j, k, n, ret, val;
int fillval = -99;
-
- typedef enum
- {
- E_RED,
- E_GREEN
- } e_t;
+ int buf6[2][2][100];
+ hsize_t dims6[3]={2,2,100};
for (i=n=0; i<DIM1; i++){
for (j=0; j<DIM2; j++){
buf1[i][j]=n++;
}
}
+ for (i=n=0; i<2; i++){
+ for (j=0; j<2; j++){
+ for (k=0; k<100; k++){
+ buf6[i][j][k]=n++;
+ }
+ }
+ }
/* create a file */
fid = H5Fcreate(FILE44, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
@@ -4544,7 +4557,7 @@ static void gent_filters(void)
ret=H5Pset_layout(dcpl, H5D_COMPACT);
assert(ret>=0);
- ret=make_dset(fid,"compact",sid,dcpl,buf1);
+ ret=make_dset(fid,"compact",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
ret=H5Gset_comment(fid,"compact", "This is a dataset with compact storage");
@@ -4553,7 +4566,7 @@ static void gent_filters(void)
ret=H5Pset_layout(dcpl, H5D_CONTIGUOUS);
assert(ret>=0);
- ret=make_dset(fid,"contiguous",sid,dcpl,buf1);
+ ret=make_dset(fid,"contiguous",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
ret=H5Gset_comment(fid,"contiguous", "This is a dataset with contiguous storage");
@@ -4565,7 +4578,7 @@ static void gent_filters(void)
ret=H5Pset_chunk(dcpl, SPACE2_RANK, chunk_dims);
assert(ret>=0);
- ret=make_dset(fid,"chunked",sid,dcpl,buf1);
+ ret=make_dset(fid,"chunked",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
ret=H5Gset_comment(fid,"chunked", "This is a dataset with chunked storage");
@@ -4593,7 +4606,7 @@ static void gent_filters(void)
ret=H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block);
assert(ret>=0);
- ret=make_dset(fid,"szip",sid,dcpl,buf1);
+ ret=make_dset(fid,"szip",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
#endif
@@ -4610,7 +4623,7 @@ static void gent_filters(void)
ret=H5Pset_deflate(dcpl, 9);
assert(ret>=0);
- ret=make_dset(fid,"deflate",sid,dcpl,buf1);
+ ret=make_dset(fid,"deflate",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
#endif
@@ -4628,7 +4641,7 @@ static void gent_filters(void)
ret=H5Pset_shuffle(dcpl);
assert(ret>=0);
- ret=make_dset(fid,"shuffle",sid,dcpl,buf1);
+ ret=make_dset(fid,"shuffle",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
#endif
@@ -4646,7 +4659,7 @@ static void gent_filters(void)
ret=H5Pset_fletcher32(dcpl);
assert(ret>=0);
- ret=make_dset(fid,"fletcher32",sid,dcpl,buf1);
+ ret=make_dset(fid,"fletcher32",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
#endif
@@ -4683,7 +4696,7 @@ static void gent_filters(void)
assert(ret>=0);
#endif
- ret=make_dset(fid,"all",sid,dcpl,buf1);
+ ret=make_dset(fid,"all",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
@@ -4705,7 +4718,7 @@ static void gent_filters(void)
ret=H5Pset_filter (dcpl, MYFILTER_ID, 0, 0, NULL);
assert(ret>=0);
- ret=make_dset(fid,"myfilter",sid,dcpl,buf1);
+ ret=make_dset(fid,"myfilter",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
/* remove the filters from the dcpl */
@@ -4724,7 +4737,7 @@ static void gent_filters(void)
*/
ret=H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY);
assert(ret>=0);
- ret=make_dset(fid,"alloc_time_early",sid,dcpl,buf1);
+ ret=make_dset(fid,"alloc_time_early",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
/*-------------------------------------------------------------------------
@@ -4733,7 +4746,7 @@ static void gent_filters(void)
*/
ret=H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_INCR);
assert(ret>=0);
- ret=make_dset(fid,"alloc_time_incr",sid,dcpl,buf1);
+ ret=make_dset(fid,"alloc_time_incr",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
/*-------------------------------------------------------------------------
@@ -4742,7 +4755,7 @@ static void gent_filters(void)
*/
ret=H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_LATE);
assert(ret>=0);
- ret=make_dset(fid,"alloc_time_late",sid,dcpl,buf1);
+ ret=make_dset(fid,"alloc_time_late",sid,H5T_NATIVE_INT,dcpl,buf1);
assert(ret>=0);
/*-------------------------------------------------------------------------
@@ -4850,6 +4863,12 @@ static void gent_filters(void)
ret=H5Rcreate(&buf5[0],fid,"g1/mydset",H5R_OBJECT,-1);
assert(ret>=0);
write_dset(fid,1,dims5,"reference",H5T_STD_REF_OBJ,buf5);
+
+/*-------------------------------------------------------------------------
+ * a large 3D dataset
+ *-------------------------------------------------------------------------
+ */
+ write_dset(fid,3,dims6,"3d",H5T_NATIVE_INT,buf6);
/*-------------------------------------------------------------------------
* close
@@ -5045,12 +5064,30 @@ static void gent_fcontents(void)
*/
static void gent_fvalues(void)
{
- hid_t fid; /* file id */
- hid_t dcpl; /* dataset creation property list */
- hid_t sid; /* dataspace ID */
- hsize_t dims[1]={4};
- int buf[4]={1,2,3,4};
- int ret, fillval = -99;
+ /* compound datatype */
+ typedef struct c_t
+ {
+ char a;
+ double b;
+ } c_t;
+
+
+ hid_t fid; /* file id */
+ hid_t dcpl; /* dataset creation property list */
+ hid_t sid; /* dataspace ID */
+ hid_t tid; /* datatype ID */
+ hid_t did; /* datasetID */
+ hsize_t dims[1]={2};
+ int buf[2]={1,2}; /* integer */
+ int fillval1=-99; /* integer fill value */
+ c_t buf2[2]={{1,2},{3,4}}; /* compound */
+ c_t fillval2[1]={{1,2}}; /* compound fill value */
+ hvl_t buf3[2]; /* vlen */
+ hvl_t fillval3; /* vlen fill value */
+ hsize_t dimarray[1]={3}; /* array dimension */
+ int buf4[2][3]= {{1,2,3},{4,5,6}}; /* array */
+ int fillval4[1][3]= {{1,2,3}}; /* array fill value */
+ int ret;
/* create a file */
fid = H5Fcreate(FILE48, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
@@ -5059,7 +5096,7 @@ static void gent_fvalues(void)
/* create a space */
sid = H5Screate_simple(1, dims, NULL);
- /* create a dataset creation property list; the same DCPL is used for all dsets */
+ /* create a dataset creation property list */
dcpl = H5Pcreate(H5P_DATASET_CREATE);
/*-------------------------------------------------------------------------
@@ -5070,10 +5107,23 @@ static void gent_fvalues(void)
ret=H5Pset_fill_time(dcpl, H5D_FILL_TIME_IFSET);
assert(ret>=0);
- ret=H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval);
+ ret=H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1);
assert(ret>=0);
- ret=make_dset(fid,"fill_time_ifset",sid,dcpl,buf);
+ ret=make_dset(fid,"fill_time_ifset",sid,H5T_NATIVE_INT,dcpl,buf);
+ assert(ret>=0);
+
+/*-------------------------------------------------------------------------
+ * H5D_FILL_TIME_NEVER
+ *-------------------------------------------------------------------------
+ */
+ ret=H5Pset_fill_time(dcpl, H5D_FILL_TIME_NEVER);
+ assert(ret>=0);
+
+ ret=H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1);
+ assert(ret>=0);
+
+ ret=make_dset(fid,"fill_time_never",sid,H5T_NATIVE_INT,dcpl,buf);
assert(ret>=0);
/*-------------------------------------------------------------------------
@@ -5083,38 +5133,89 @@ static void gent_fvalues(void)
ret=H5Pset_fill_time(dcpl, H5D_FILL_TIME_ALLOC);
assert(ret>=0);
- ret=H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval);
+ ret=H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1);
assert(ret>=0);
- ret=make_dset(fid,"fill_time_alloc",sid,dcpl,buf);
+ ret=make_dset(fid,"fill_time_alloc",sid,H5T_NATIVE_INT,dcpl,buf);
+ assert(ret>=0);
+
+ ret=H5Pclose(dcpl);
assert(ret>=0);
/*-------------------------------------------------------------------------
- * H5D_FILL_TIME_NEVER
+ * dataset with no fill value
*-------------------------------------------------------------------------
*/
- ret=H5Pset_fill_time(dcpl, H5D_FILL_TIME_NEVER);
+ write_dset(fid,1,dims,"no_fill",H5T_NATIVE_INT,buf);
+
+/*-------------------------------------------------------------------------
+ * dataset with a H5T_COMPOUND fill value
+ *-------------------------------------------------------------------------
+ */
+ dcpl = H5Pcreate(H5P_DATASET_CREATE);
+ tid = H5Tcreate (H5T_COMPOUND, sizeof(c_t));
+ H5Tinsert(tid, "a", HOFFSET(c_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(tid, "b", HOFFSET(c_t, b), H5T_NATIVE_DOUBLE);
+ ret=H5Pset_fill_value(dcpl, tid, &fillval2);
+ assert(ret>=0);
+ ret=make_dset(fid,"fill_compound",sid,tid,dcpl,buf2);
+ assert(ret>=0);
+ ret = H5Tclose(tid);
+ assert(ret>=0);
+ ret=H5Pclose(dcpl);
assert(ret>=0);
- ret=H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval);
+/*-------------------------------------------------------------------------
+ * dataset with a H5T_VLEN fill value
+ *-------------------------------------------------------------------------
+ */
+ buf3[0].len = 1;
+ buf3[0].p = malloc( 1 * sizeof(int));
+ ((int *)buf3[0].p)[0]=1;
+ buf3[1].len = 2;
+ buf3[1].p = malloc( 2 * sizeof(int));
+ ((int *)buf3[1].p)[0]=2;
+ ((int *)buf3[1].p)[1]=3;
+
+ tid = H5Tvlen_create(H5T_NATIVE_INT);
+ dcpl = H5Pcreate(H5P_DATASET_CREATE);
+
+ fillval3.p=NULL; fillval3.len=0;
+ ret = H5Pset_fill_value(dcpl, tid, &fillval3);
assert(ret>=0);
- ret=make_dset(fid,"fill_time_never",sid,dcpl,buf);
+ did = H5Dcreate(fid,"fill_vlen",tid,sid,H5P_DEFAULT);
+ ret = H5Dwrite(did,tid,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf3);
+ assert(ret>=0);
+ ret = H5Dvlen_reclaim(tid,sid,H5P_DEFAULT,buf3);
+ assert(ret>=0);
+ ret = H5Dclose(did);
+ ret = H5Tclose(tid);
+ ret = H5Pclose(dcpl);
assert(ret>=0);
/*-------------------------------------------------------------------------
+ * dataset with a H5T_ARRAY fill value
+ *-------------------------------------------------------------------------
+ */
+ tid = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
+ write_dset(fid,1,dims,"fill_array",tid,buf4);
+ ret = H5Tclose(tid);
+
+
+/*-------------------------------------------------------------------------
* close
*-------------------------------------------------------------------------
*/
ret=H5Sclose(sid);
assert(ret>=0);
- ret=H5Pclose(dcpl);
- assert(ret>=0);
ret=H5Fclose(fid);
assert(ret>=0);
}
+
+
/*-------------------------------------------------------------------------
* Function: main
*
@@ -5170,6 +5271,7 @@ int main(void)
gent_filters();
gent_null_space();
gent_fcontents();
+ gent_fvalues();
return 0;
}
diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in
index 0c40861..e9969de 100644
--- a/tools/h5dump/testh5dump.sh.in
+++ b/tools/h5dump/testh5dump.sh.in
@@ -211,14 +211,17 @@ TOOLTEST tchar1.ddl -r tchar.h5
# Missing file name
TOOLTEST tnofilename.ddl
+# rev. 2004
+# tests for super block
+TOOLTEST tboot1.ddl -H -B -d compact tfcontents1.h5
+TOOLTEST tboot2.ddl -B tfcontents2.h5
-
-# test for super block
-TOOLTEST tboot.ddl -H -B -d compact tfilters.h5
+# test -p with a non existing dataset
+TOOLTEST tperror.ddl -p -d bogus tfcontents1.h5
# test for file contents
-TOOLTEST tcontents.ddl -n tfilters.h5
+TOOLTEST tcontents.ddl -n tfcontents1.h5
# tests for storage layout
# compact
@@ -230,24 +233,21 @@ TOOLTEST tchunked.ddl -H -p -d chunked tfilters.h5
# external
TOOLTEST texternal.ddl -H -p -d external tfilters.h5
-# Fill values
-TOOLTEST tfillifset.ddl -H -p -d fill_time_ifset tfilters.h5
-TOOLTEST tfillalloc.ddl -H -p -d fill_time_alloc tfilters.h5
-TOOLTEST tfillnever.ddl -H -p -d fill_time_never tfilters.h5
-TOOLTEST tfillearly.ddl -H -p -d alloc_time_early tfilters.h5
-TOOLTEST tfillincr.ddl -H -p -d alloc_time_incr tfilters.h5
-TOOLTEST tfilllate.ddl -H -p -d alloc_time_late tfilters.h5
+# fill values
+TOOLTEST tfill.ddl -p tfvalues.h5
-# references , print path
-TOOLTEST treference.ddl -d reference tfilters.h5
+# several datatype, with references , print path
+TOOLTEST treference.ddl tattr2.h5
# escape/not escape non printable characters
TOOLTEST tstringe.ddl -e -d string tfilters.h5
TOOLTEST tstring.ddl -d string tfilters.h5
-# array indices print/not print
+# array indices print/not print, large dataset
TOOLTEST tindicesyes.ddl -d compact tfilters.h5
TOOLTEST tindicesno.ddl -y -d compact tfilters.h5
+TOOLTEST tindiceslarge.ddl -p -d 3d tfilters.h5
+
# tests for filters
# SZIP
diff --git a/tools/testfiles/tallfilters.ddl b/tools/testfiles/tallfilters.ddl
index 45b38b9..4f54e9a 100644
--- a/tools/testfiles/tallfilters.ddl
+++ b/tools/testfiles/tallfilters.ddl
@@ -13,7 +13,7 @@ DATASET "all" {
PREPROCESSING SHUFFLE
COMPRESSION SZIP {
PIXELS_PER_BLOCK 4
- MODE HARDWARE
+ MODE K13
CODING ENTROPY
BYTE_ORDER LSB
HEADER RAW
diff --git a/tools/testfiles/tattr2.h5 b/tools/testfiles/tattr2.h5
index c154a0b..c7e3359 100644
--- a/tools/testfiles/tattr2.h5
+++ b/tools/testfiles/tattr2.h5
Binary files differ
diff --git a/tools/testfiles/tattr2.ls b/tools/testfiles/tattr2.ls
index 18f891f..b96c201 100644
--- a/tools/testfiles/tattr2.ls
+++ b/tools/testfiles/tattr2.ls
@@ -3,9 +3,9 @@
#############################
Opened "tattr2.h5" with sec2 driver.
dset Dataset {2/2}
- Attribute: string scalar
- Type: 17-byte null-terminated ASCII string
- Data: "string attribute"
+ Attribute: string {2}
+ Type: 2-byte null-terminated ASCII string
+ Data: "ab", "de"
Attribute: bitfield {2}
Type: 8-bit bitfield
Data: 0x01, 0x02
@@ -15,10 +15,10 @@ dset Dataset {2/2}
Data: 0x01, 0x02
Attribute: compound {2}
Type: struct {
- "a" +0 32-bit little-endian integer
- "b" +4 IEEE 32-bit little-endian float
- } 8 bytes
- Data: {1, 1}, {2, 2}
+ "a" +0 8-bit integer
+ "b" +4 IEEE 64-bit little-endian float
+ } 12 bytes
+ Data: {1, 2}, {3, 4}
Attribute: reference {2}
Type: object reference
Data: DATASET-1:976, DATASET-1:976
@@ -31,18 +31,289 @@ dset Dataset {2/2}
Attribute: vlen {2}
Type: variable length of
32-bit little-endian integer
- Data: (0), (10,11)
+ Data: (1), (2,3)
Attribute: array {2}
Type: [3] 32-bit little-endian integer
- Data: [1,1,1], [2,2,2]
+ Data: [1,2,3], [4,5,6]
Attribute: integer {2}
Type: 32-bit little-endian integer
- Data: 0, 0
+ Data: 1, 2
Attribute: float {2}
Type: IEEE 32-bit little-endian float
- Data: 0, 0
+ Data: 1, 2
+ Attribute: string2D {3, 2}
+ Type: 2-byte null-terminated ASCII string
+ Data:
+ (0,0) "ab", "cd", "ef", "gh", "ij", "kl"
+ Attribute: bitfield2D {3, 2}
+ Type: 8-bit bitfield
+ Data:
+ (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
+ Attribute: opaque2D {3, 2}
+ Type: 1-byte opaque type
+ (tag = "1-byte opaque type")
+ Data:
+ (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
+ Attribute: compound2D {3, 2}
+ Type: struct {
+ "a" +0 8-bit integer
+ "b" +4 IEEE 64-bit little-endian float
+ } 12 bytes
+ Data:
+ (0,0) {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}
+ Attribute: reference2D {3, 2}
+ Type: object reference
+ Data:
+ (0,0) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976,
+ (2,0) DATASET-1:976, DATASET-1:976
+ Attribute: enum2D {3, 2}
+ Type: enum 32-bit little-endian integer {
+ RED = 0
+ GREEN = 1
+ }
+ Data:
+ (0,0) RED, RED, RED, RED, RED, RED
+ Attribute: vlen2D {3, 2}
+ Type: variable length of
+ 32-bit little-endian integer
+ Data:
+ (0,0) (0), (1), (2,3), (4,5), (6,7,8), (9,10,11)
+ Attribute: array2D {3, 2}
+ Type: [3] 32-bit little-endian integer
+ Data:
+ (0,0) [1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15], [16,17,18]
+ Attribute: integer2D {3, 2}
+ Type: 32-bit little-endian integer
+ Data:
+ (0,0) 1, 2, 3, 4, 5, 6
+ Attribute: float2D {3, 2}
+ Type: IEEE 32-bit little-endian float
+ Data:
+ (0,0) 1, 2, 3, 4, 5, 6
+ Attribute: string3D {4, 3, 2}
+ Type: 2-byte null-terminated ASCII string
+ Data:
+ (0,0,0) "ab", "cd", "ef", "gh", "ij", "kl", "mn", "pq", "rs", "tu",
+ (1,2,0) "vw", "xz", "AB", "CD", "EF", "GH", "IJ", "KL", "MN", "PQ",
+ (3,1,0) "RS", "TU", "VW", "XZ"
+ Attribute: bitfield3D {4, 3, 2}
+ Type: 8-bit bitfield
+ Data:
+ (0,0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a,
+ (1,2,0) 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
+ (3,1,0) 0x15, 0x16, 0x17, 0x18
+ Attribute: opaque3D {4, 3, 2}
+ Type: 1-byte opaque type
+ (tag = "1-byte opaque type")
+ Data:
+ (0,0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a,
+ (1,2,0) 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
+ (3,1,0) 0x15, 0x16, 0x17, 0x18
+ Attribute: compound3D {4, 3, 2}
+ Type: struct {
+ "a" +0 8-bit integer
+ "b" +4 IEEE 64-bit little-endian float
+ } 12 bytes
+ Data:
+ (0,0,0) {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}, {13,
+ (1,0,0) 14}, {15, 16}, {17, 18}, {19, 20}, {21, 22}, {23, 24},
+ (2,0,0) {25, 26}, {27, 28}, {29, 30}, {31, 32}, {33, 34}, {35, 36},
+ (3,0,0) {37, 38}, {39, 40}, {41, 42}, {43, 44}, {45, 46}, {47, 48}
+ Attribute: reference3D {4, 3, 2}
+ Type: object reference
+ Data:
+ (0,0,0) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976,
+ (0,2,0) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976,
+ (1,1,0) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976,
+ (2,0,0) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976,
+ (2,2,0) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976,
+ (3,1,0) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976
+ Attribute: enum3D {4, 3, 2}
+ Type: enum 32-bit little-endian integer {
+ RED = 0
+ GREEN = 1
+ }
+ Data:
+ (0,0,0) RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED,
+ (2,0,0) RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED
+ Attribute: vlen3D {4, 3, 2}
+ Type: variable length of
+ 32-bit little-endian integer
+ Data:
+ (0,0,0) (0), (1), (2), (3), (4), (5), (6,7), (8,9), (10,11),
+ (1,1,1) (12,13), (14,15), (16,17), (18,19,20), (21,22,23),
+ (2,1,0) (24,25,26), (27,28,29), (30,31,32), (33,34,35),
+ (3,0,0) (36,37,38,39), (40,41,42,43), (44,45,46,47), (48,49,50,51),
+ (3,2,0) (52,53,54,55), (56,57,58,59)
+ Attribute: array3D {4, 3, 2}
+ Type: [3] 32-bit little-endian integer
+ Data:
+ (0,0,0) [1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15],
+ (0,2,1) [16,17,18], [19,20,21], [22,23,24], [25,26,27], [28,29,30],
+ (1,2,0) [31,32,33], [34,35,36], [37,38,39], [40,41,42], [43,44,45],
+ (2,1,1) [46,47,48], [49,50,51], [52,53,54], [55,56,57], [58,59,60],
+ (3,1,0) [61,62,63], [64,65,66], [67,68,69], [70,71,72]
+ Attribute: integer3D {4, 3, 2}
+ Type: 32-bit little-endian integer
+ Data:
+ (0,0,0) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ (2,2,1) 18, 19, 20, 21, 22, 23, 24
+ Attribute: float3D {4, 3, 2}
+ Type: IEEE 32-bit little-endian float
+ Data:
+ (0,0,0) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ (2,2,1) 18, 19, 20, 21, 22, 23, 24
Location: 1:976
Links: 1
Modified: XXXX-XX-XX XX:XX:XX XXX
Storage: 8 logical bytes, 0 allocated bytes
Type: 32-bit little-endian integer
+g1 Group
+ Attribute: string {2}
+ Type: 2-byte null-terminated ASCII string
+ Data: "ab", "de"
+ Attribute: bitfield {2}
+ Type: 8-bit bitfield
+ Data: 0x01, 0x02
+ Attribute: opaque {2}
+ Type: 1-byte opaque type
+ (tag = "1-byte opaque type")
+ Data: 0x01, 0x02
+ Attribute: compound {2}
+ Type: struct {
+ "a" +0 8-bit integer
+ "b" +4 IEEE 64-bit little-endian float
+ } 12 bytes
+ Data: {1, 2}, {3, 4}
+ Attribute: enum {2}
+ Type: enum 32-bit little-endian integer {
+ RED = 0
+ GREEN = 1
+ }
+ Data: RED, RED
+ Attribute: vlen {2}
+ Type: variable length of
+ 32-bit little-endian integer
+ Data: (1), (2,3)
+ Attribute: array {2}
+ Type: [3] 32-bit little-endian integer
+ Data: [1,2,3], [4,5,6]
+ Attribute: integer {2}
+ Type: 32-bit little-endian integer
+ Data: 1, 2
+ Attribute: float {2}
+ Type: IEEE 32-bit little-endian float
+ Data: 1, 2
+ Attribute: string2D {3, 2}
+ Type: 2-byte null-terminated ASCII string
+ Data:
+ (0,0) "ab", "cd", "ef", "gh", "ij", "kl"
+ Attribute: bitfield2D {3, 2}
+ Type: 8-bit bitfield
+ Data:
+ (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
+ Attribute: opaque2D {3, 2}
+ Type: 1-byte opaque type
+ (tag = "1-byte opaque type")
+ Data:
+ (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
+ Attribute: compound2D {3, 2}
+ Type: struct {
+ "a" +0 8-bit integer
+ "b" +4 IEEE 64-bit little-endian float
+ } 12 bytes
+ Data:
+ (0,0) {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}
+ Attribute: enum2D {3, 2}
+ Type: enum 32-bit little-endian integer {
+ RED = 0
+ GREEN = 1
+ }
+ Data:
+ (0,0) RED, RED, RED, RED, RED, RED
+ Attribute: vlen2D {3, 2}
+ Type: variable length of
+ 32-bit little-endian integer
+ Data:
+ (0,0) (0), (1), (2,3), (4,5), (6,7,8), (9,10,11)
+ Attribute: array2D {3, 2}
+ Type: [3] 32-bit little-endian integer
+ Data:
+ (0,0) [1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15], [16,17,18]
+ Attribute: integer2D {3, 2}
+ Type: 32-bit little-endian integer
+ Data:
+ (0,0) 1, 2, 3, 4, 5, 6
+ Attribute: float2D {3, 2}
+ Type: IEEE 32-bit little-endian float
+ Data:
+ (0,0) 1, 2, 3, 4, 5, 6
+ Attribute: string3D {4, 3, 2}
+ Type: 2-byte null-terminated ASCII string
+ Data:
+ (0,0,0) "ab", "cd", "ef", "gh", "ij", "kl", "mn", "pq", "rs", "tu",
+ (1,2,0) "vw", "xz", "AB", "CD", "EF", "GH", "IJ", "KL", "MN", "PQ",
+ (3,1,0) "RS", "TU", "VW", "XZ"
+ Attribute: bitfield3D {4, 3, 2}
+ Type: 8-bit bitfield
+ Data:
+ (0,0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a,
+ (1,2,0) 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
+ (3,1,0) 0x15, 0x16, 0x17, 0x18
+ Attribute: opaque3D {4, 3, 2}
+ Type: 1-byte opaque type
+ (tag = "1-byte opaque type")
+ Data:
+ (0,0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a,
+ (1,2,0) 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
+ (3,1,0) 0x15, 0x16, 0x17, 0x18
+ Attribute: compound3D {4, 3, 2}
+ Type: struct {
+ "a" +0 8-bit integer
+ "b" +4 IEEE 64-bit little-endian float
+ } 12 bytes
+ Data:
+ (0,0,0) {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}, {13,
+ (1,0,0) 14}, {15, 16}, {17, 18}, {19, 20}, {21, 22}, {23, 24},
+ (2,0,0) {25, 26}, {27, 28}, {29, 30}, {31, 32}, {33, 34}, {35, 36},
+ (3,0,0) {37, 38}, {39, 40}, {41, 42}, {43, 44}, {45, 46}, {47, 48}
+ Attribute: enum3D {4, 3, 2}
+ Type: enum 32-bit little-endian integer {
+ RED = 0
+ GREEN = 1
+ }
+ Data:
+ (0,0,0) RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED,
+ (2,0,0) RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED
+ Attribute: vlen3D {4, 3, 2}
+ Type: variable length of
+ 32-bit little-endian integer
+ Data:
+ (0,0,0) (0), (1), (2), (3), (4), (5), (6,7), (8,9), (10,11),
+ (1,1,1) (12,13), (14,15), (16,17), (18,19,20), (21,22,23),
+ (2,1,0) (24,25,26), (27,28,29), (30,31,32), (33,34,35),
+ (3,0,0) (36,37,38,39), (40,41,42,43), (44,45,46,47), (48,49,50,51),
+ (3,2,0) (52,53,54,55), (56,57,58,59)
+ Attribute: array3D {4, 3, 2}
+ Type: [3] 32-bit little-endian integer
+ Data:
+ (0,0,0) [1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15],
+ (0,2,1) [16,17,18], [19,20,21], [22,23,24], [25,26,27], [28,29,30],
+ (1,2,0) [31,32,33], [34,35,36], [37,38,39], [40,41,42], [43,44,45],
+ (2,1,1) [46,47,48], [49,50,51], [52,53,54], [55,56,57], [58,59,60],
+ (3,1,0) [61,62,63], [64,65,66], [67,68,69], [70,71,72]
+ Attribute: integer3D {4, 3, 2}
+ Type: 32-bit little-endian integer
+ Data:
+ (0,0,0) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ (2,2,1) 18, 19, 20, 21, 22, 23, 24
+ Attribute: float3D {4, 3, 2}
+ Type: IEEE 32-bit little-endian float
+ Data:
+ (0,0,0) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ (2,2,1) 18, 19, 20, 21, 22, 23, 24
+ Location: 1:2176
+ Links: 1
+g2 Group
+ Location: 1:2824
+ Links: 1
diff --git a/tools/testfiles/tboot.ddl b/tools/testfiles/tboot1.ddl
index 20e6e0e..1a415f6 100644
--- a/tools/testfiles/tboot.ddl
+++ b/tools/testfiles/tboot1.ddl
@@ -1,7 +1,7 @@
#############################
-Expected output for 'h5dump -H -B -d compact tfilters.h5'
+Expected output for 'h5dump -H -B -d compact tfcontents1.h5'
#############################
-HDF5 "tfilters.h5" {
+HDF5 "tfcontents1.h5" {
SUPER_BLOCK {
SUPERBLOCK_VERSION 0
FREELIST_VERSION 0
@@ -18,8 +18,6 @@ USER_BLOCK {
USERBLOCK_SIZE 0
}
DATASET "compact" {
-COMMENT "This is a dataset with compact storage"
- DATATYPE H5T_STD_I32LE
- DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
-}
+ }
}
+h5dump error: unable to open dataset "compact"
diff --git a/tools/testfiles/tboot2.ddl b/tools/testfiles/tboot2.ddl
new file mode 100644
index 0000000..a1e268f
--- /dev/null
+++ b/tools/testfiles/tboot2.ddl
@@ -0,0 +1,22 @@
+#############################
+Expected output for 'h5dump -B tfcontents2.h5'
+#############################
+HDF5 "tfcontents2.h5" {
+SUPER_BLOCK {
+ SUPERBLOCK_VERSION 0
+ FREELIST_VERSION 0
+ SYMBOLTABLE_VERSION 0
+ OBJECTHEADER_VERSION 0
+ OFFSET_SIZE 8
+ LENGTH_SIZE 8
+ BTREE_RANK 16
+ BTREE_LEAF 4
+ FILE_DRIVER H5FD_SEC2
+ ISTORE_K 32
+}
+USER_BLOCK {
+ USERBLOCK_SIZE 0
+}
+GROUP "/" {
+}
+}
diff --git a/tools/testfiles/tcontents.ddl b/tools/testfiles/tcontents.ddl
index f8bc9bf..43afb9d 100644
--- a/tools/testfiles/tcontents.ddl
+++ b/tools/testfiles/tcontents.ddl
@@ -1,35 +1,20 @@
#############################
-Expected output for 'h5dump -n tfilters.h5'
+Expected output for 'h5dump -n tfcontents1.h5'
#############################
-HDF5 "tfilters.h5" {
+HDF5 "tfcontents1.h5" {
FILE_CONTENTS {
- dataset /all
- dataset /alloc_time_early
- dataset /alloc_time_incr
- dataset /alloc_time_late
- dataset /bitfield
- dataset /char
- dataset /chunked
- dataset /compact
- dataset /contiguous
- dataset /deflate
- dataset /enum
- dataset /external
- dataset /fill_time_alloc
- dataset /fill_time_ifset
- dataset /fill_time_never
- dataset /fletcher32
+ datatype /#5696
+ dataset /dset
+ dataset /dset3 -> /dset
+ dataset /dset4 -> /dset
+ dataset /dsetmytype2
group /g1
- dataset /g1/mydset
- dataset /hlink to all -> /all
- dataset /myfilter
+ dataset /g1/dset1 -> /dset
+ group /g1/g1.1
+ dataset /g1/g1.1/dset2 -> /dset
+ group /g2 -> /g1/g1.1
+ link /mylink -> mylink
datatype /mytype
- datatype /myvlen
- dataset /reference
- dataset /shuffle
- link /slink to all -> all
- dataset /string
- dataset /szip
- dataset /vlen
+ link /softlink -> /dset
}
}
diff --git a/tools/testfiles/tfcontents1.h5 b/tools/testfiles/tfcontents1.h5
new file mode 100644
index 0000000..a7cf2d3
--- /dev/null
+++ b/tools/testfiles/tfcontents1.h5
Binary files differ
diff --git a/tools/testfiles/tfcontents2.h5 b/tools/testfiles/tfcontents2.h5
new file mode 100644
index 0000000..216a885
--- /dev/null
+++ b/tools/testfiles/tfcontents2.h5
Binary files differ
diff --git a/tools/testfiles/tfill.ddl b/tools/testfiles/tfill.ddl
new file mode 100644
index 0000000..14a01f3
--- /dev/null
+++ b/tools/testfiles/tfill.ddl
@@ -0,0 +1,174 @@
+#############################
+Expected output for 'h5dump -p tfvalues.h5'
+#############################
+HDF5 "tfvalues.h5" {
+GROUP "/" {
+ DATASET "fill_array" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ STORAGE_LAYOUT {
+ CONTIGUOUS
+ SIZE 24
+ OFFSET 1920
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE [ 0, 0, 0 ]
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_LATE
+ }
+ DATA {
+ (0): [ 1, 2, 3 ], [ 4, 5, 6 ]
+ }
+ }
+ DATASET "fill_compound" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ STORAGE_LAYOUT {
+ CONTIGUOUS
+ SIZE 24
+ OFFSET 1864
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE {
+ 1,
+ 2
+ }
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_LATE
+ }
+ DATA {
+ (0): {
+ 1,
+ 2
+ },
+ (1): {
+ 3,
+ 4
+ }
+ }
+ }
+ DATASET "fill_time_alloc" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ STORAGE_LAYOUT {
+ CONTIGUOUS
+ SIZE 8
+ OFFSET 1848
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_ALLOC
+ VALUE -99
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_LATE
+ }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ DATASET "fill_time_ifset" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ STORAGE_LAYOUT {
+ CONTIGUOUS
+ SIZE 8
+ OFFSET 2048
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE -99
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_LATE
+ }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ DATASET "fill_time_never" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ STORAGE_LAYOUT {
+ CONTIGUOUS
+ SIZE 8
+ OFFSET 2056
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_NEVER
+ VALUE -99
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_LATE
+ }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ DATASET "fill_vlen" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ STORAGE_LAYOUT {
+ CONTIGUOUS
+ SIZE 32
+ OFFSET 1888
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_ALLOC
+ VALUE ()
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_LATE
+ }
+ DATA {
+ (0): (1), (2, 3)
+ }
+ }
+ DATASET "no_fill" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ STORAGE_LAYOUT {
+ CONTIGUOUS
+ SIZE 8
+ OFFSET 1856
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_LATE
+ }
+ DATA {
+ (0): 1, 2
+ }
+ }
+}
+}
diff --git a/tools/testfiles/tfillalloc.ddl b/tools/testfiles/tfillalloc.ddl
deleted file mode 100644
index 849c9ec..0000000
--- a/tools/testfiles/tfillalloc.ddl
+++ /dev/null
@@ -1,23 +0,0 @@
-#############################
-Expected output for 'h5dump -H -p -d fill_time_alloc tfilters.h5'
-#############################
-HDF5 "tfilters.h5" {
-DATASET "fill_time_alloc" {
- DATATYPE H5T_STD_I32LE
- DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
- STORAGE_LAYOUT {
- CHUNKED ( 10, 5 )
- SIZE 800
- }
- FILTERS {
- NONE
- }
- FILLVALUE {
- FILL_TIME H5D_FILL_TIME_ALLOC
- VALUE -99
- }
- ALLOCATION_TIME {
- H5D_ALLOC_TIME_INCR
- }
-}
-}
diff --git a/tools/testfiles/tfillearly.ddl b/tools/testfiles/tfillearly.ddl
deleted file mode 100644
index 6f38180..0000000
--- a/tools/testfiles/tfillearly.ddl
+++ /dev/null
@@ -1,23 +0,0 @@
-#############################
-Expected output for 'h5dump -H -p -d alloc_time_early tfilters.h5'
-#############################
-HDF5 "tfilters.h5" {
-DATASET "alloc_time_early" {
- DATATYPE H5T_STD_I32LE
- DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
- STORAGE_LAYOUT {
- CHUNKED ( 10, 5 )
- SIZE 800
- }
- FILTERS {
- NONE
- }
- FILLVALUE {
- FILL_TIME H5D_FILL_TIME_IFSET
- VALUE -99
- }
- ALLOCATION_TIME {
- H5D_ALLOC_TIME_EARLY
- }
-}
-}
diff --git a/tools/testfiles/tfillifset.ddl b/tools/testfiles/tfillifset.ddl
deleted file mode 100644
index ef55c31..0000000
--- a/tools/testfiles/tfillifset.ddl
+++ /dev/null
@@ -1,23 +0,0 @@
-#############################
-Expected output for 'h5dump -H -p -d fill_time_ifset tfilters.h5'
-#############################
-HDF5 "tfilters.h5" {
-DATASET "fill_time_ifset" {
- DATATYPE H5T_STD_I32LE
- DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
- STORAGE_LAYOUT {
- CHUNKED ( 10, 5 )
- SIZE 800
- }
- FILTERS {
- NONE
- }
- FILLVALUE {
- FILL_TIME H5D_FILL_TIME_IFSET
- VALUE -99
- }
- ALLOCATION_TIME {
- H5D_ALLOC_TIME_INCR
- }
-}
-}
diff --git a/tools/testfiles/tfillincr.ddl b/tools/testfiles/tfillincr.ddl
deleted file mode 100644
index 5227e3d..0000000
--- a/tools/testfiles/tfillincr.ddl
+++ /dev/null
@@ -1,23 +0,0 @@
-#############################
-Expected output for 'h5dump -H -p -d alloc_time_incr tfilters.h5'
-#############################
-HDF5 "tfilters.h5" {
-DATASET "alloc_time_incr" {
- DATATYPE H5T_STD_I32LE
- DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
- STORAGE_LAYOUT {
- CHUNKED ( 10, 5 )
- SIZE 800
- }
- FILTERS {
- NONE
- }
- FILLVALUE {
- FILL_TIME H5D_FILL_TIME_IFSET
- VALUE -99
- }
- ALLOCATION_TIME {
- H5D_ALLOC_TIME_INCR
- }
-}
-}
diff --git a/tools/testfiles/tfilllate.ddl b/tools/testfiles/tfilllate.ddl
deleted file mode 100644
index 21f9de4..0000000
--- a/tools/testfiles/tfilllate.ddl
+++ /dev/null
@@ -1,23 +0,0 @@
-#############################
-Expected output for 'h5dump -H -p -d alloc_time_late tfilters.h5'
-#############################
-HDF5 "tfilters.h5" {
-DATASET "alloc_time_late" {
- DATATYPE H5T_STD_I32LE
- DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
- STORAGE_LAYOUT {
- CHUNKED ( 10, 5 )
- SIZE 800
- }
- FILTERS {
- NONE
- }
- FILLVALUE {
- FILL_TIME H5D_FILL_TIME_IFSET
- VALUE -99
- }
- ALLOCATION_TIME {
- H5D_ALLOC_TIME_LATE
- }
-}
-}
diff --git a/tools/testfiles/tfillnever.ddl b/tools/testfiles/tfillnever.ddl
deleted file mode 100644
index d7311bc..0000000
--- a/tools/testfiles/tfillnever.ddl
+++ /dev/null
@@ -1,23 +0,0 @@
-#############################
-Expected output for 'h5dump -H -p -d fill_time_never tfilters.h5'
-#############################
-HDF5 "tfilters.h5" {
-DATASET "fill_time_never" {
- DATATYPE H5T_STD_I32LE
- DATASPACE SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
- STORAGE_LAYOUT {
- CHUNKED ( 10, 5 )
- SIZE 800
- }
- FILTERS {
- NONE
- }
- FILLVALUE {
- FILL_TIME H5D_FILL_TIME_NEVER
- VALUE -99
- }
- ALLOCATION_TIME {
- H5D_ALLOC_TIME_INCR
- }
-}
-}
diff --git a/tools/testfiles/tfilters.h5 b/tools/testfiles/tfilters.h5
index c879796..ff5bec0 100644
--- a/tools/testfiles/tfilters.h5
+++ b/tools/testfiles/tfilters.h5
Binary files differ
diff --git a/tools/testfiles/tfvalues.h5 b/tools/testfiles/tfvalues.h5
new file mode 100644
index 0000000..53879aa
--- /dev/null
+++ b/tools/testfiles/tfvalues.h5
Binary files differ
diff --git a/tools/testfiles/tindiceslarge.ddl b/tools/testfiles/tindiceslarge.ddl
new file mode 100644
index 0000000..db72630
--- /dev/null
+++ b/tools/testfiles/tindiceslarge.ddl
@@ -0,0 +1,64 @@
+#############################
+Expected output for 'h5dump -p -d 3d tfilters.h5'
+#############################
+HDF5 "tfilters.h5" {
+DATASET "3d" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) }
+ STORAGE_LAYOUT {
+ CONTIGUOUS
+ SIZE 1600
+ OFFSET 48688
+ }
+ FILTERS {
+ NONE
+ }
+ FILLVALUE {
+ FILL_TIME H5D_FILL_TIME_IFSET
+ VALUE 0
+ }
+ ALLOCATION_TIME {
+ H5D_ALLOC_TIME_LATE
+ }
+ DATA {
+ (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ (0,0,16): 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ (0,0,28): 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ (0,0,40): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ (0,0,52): 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ (0,0,64): 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ (0,0,76): 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ (0,0,88): 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ (0,1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ (0,1,10): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ (0,1,20): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ (0,1,30): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ (0,1,40): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ (0,1,50): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ (0,1,60): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ (0,1,70): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ (0,1,80): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ (0,1,90): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ (1,0,0): 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ (1,0,10): 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ (1,0,20): 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ (1,0,30): 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ (1,0,40): 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ (1,0,50): 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ (1,0,60): 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ (1,0,70): 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ (1,0,80): 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ (1,0,90): 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ (1,1,0): 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ (1,1,10): 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ (1,1,20): 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+ (1,1,30): 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ (1,1,40): 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
+ (1,1,50): 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ (1,1,60): 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ (1,1,70): 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
+ (1,1,80): 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ (1,1,90): 390, 391, 392, 393, 394, 395, 396, 397, 398, 399
+ }
+}
+}
diff --git a/tools/testfiles/tperror.ddl b/tools/testfiles/tperror.ddl
new file mode 100644
index 0000000..c7ee79d
--- /dev/null
+++ b/tools/testfiles/tperror.ddl
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5dump -p -d bogus tfcontents1.h5'
+#############################
+HDF5 "tfcontents1.h5" {
+DATASET "bogus" {
+ }
+}
+h5dump error: unable to open dataset "bogus"
diff --git a/tools/testfiles/treference.ddl b/tools/testfiles/treference.ddl
index f281a6a..e87aa48 100644
--- a/tools/testfiles/treference.ddl
+++ b/tools/testfiles/treference.ddl
@@ -1,12 +1,1962 @@
#############################
-Expected output for 'h5dump -d reference tfilters.h5'
+Expected output for 'h5dump tattr2.h5'
#############################
-HDF5 "tfilters.h5" {
-DATASET "reference" {
- DATATYPE H5T_REFERENCE
- DATASPACE SIMPLE { ( 1 ) / ( 1 ) }
- DATA {
- (0): DATASET 60328 /g1/mydset
+HDF5 "tattr2.h5" {
+GROUP "/" {
+ ATTRIBUTE "string" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): "ab", "de"
+ }
+ }
+ ATTRIBUTE "bitfield" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0x01, 0x02
+ }
+ }
+ ATTRIBUTE "opaque" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0x01, 0x02
+ }
+ }
+ ATTRIBUTE "compound" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): {
+ 1,
+ 2
+ },
+ (1): {
+ 3,
+ 4
+ }
+ }
+ }
+ ATTRIBUTE "enum" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): (1), (2, 3)
+ }
+ }
+ ATTRIBUTE "array" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): [ 1, 2, 3 ], [ 4, 5, 6 ]
+ }
+ }
+ ATTRIBUTE "integer" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ ATTRIBUTE "float" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ ATTRIBUTE "string2D" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): "ab", "cd",
+ (1,0): "ef", "gh",
+ (2,0): "ij", "kl"
+ }
+ }
+ ATTRIBUTE "bitfield2D" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 0x01, 0x02,
+ (1,0): 0x03, 0x04,
+ (2,0): 0x05, 0x06
+ }
+ }
+ ATTRIBUTE "opaque2D" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 0x01, 0x02,
+ (1,0): 0x03, 0x04,
+ (2,0): 0x05, 0x06
+ }
+ }
+ ATTRIBUTE "compound2D" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): {
+ 1,
+ 2
+ },
+ (0,1): {
+ 3,
+ 4
+ },
+ (1,0): {
+ 5,
+ 6
+ },
+ (1,1): {
+ 7,
+ 8
+ },
+ (2,0): {
+ 9,
+ 10
+ },
+ (2,1): {
+ 11,
+ 12
+ }
+ }
+ }
+ ATTRIBUTE "enum2D" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): RED, RED,
+ (1,0): RED, RED,
+ (2,0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen2D" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): (0), (1),
+ (1,0): (2, 3), (4, 5),
+ (2,0): (6, 7, 8), (9, 10, 11)
+ }
+ }
+ ATTRIBUTE "array2D" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): [ 1, 2, 3 ], [ 4, 5, 6 ],
+ (1,0): [ 7, 8, 9 ], [ 10, 11, 12 ],
+ (2,0): [ 13, 14, 15 ], [ 16, 17, 18 ]
+ }
+ }
+ ATTRIBUTE "integer2D" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 1, 2,
+ (1,0): 3, 4,
+ (2,0): 5, 6
+ }
+ }
+ ATTRIBUTE "float2D" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 1, 2,
+ (1,0): 3, 4,
+ (2,0): 5, 6
+ }
+ }
+ ATTRIBUTE "string3D" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): "ab", "cd",
+ (0,1,0): "ef", "gh",
+ (0,2,0): "ij", "kl",
+ (1,0,0): "mn", "pq",
+ (1,1,0): "rs", "tu",
+ (1,2,0): "vw", "xz",
+ (2,0,0): "AB", "CD",
+ (2,1,0): "EF", "GH",
+ (2,2,0): "IJ", "KL",
+ (3,0,0): "MN", "PQ",
+ (3,1,0): "RS", "TU",
+ (3,2,0): "VW", "XZ"
+ }
+ }
+ ATTRIBUTE "bitfield3D" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 0x01, 0x02,
+ (0,1,0): 0x03, 0x04,
+ (0,2,0): 0x05, 0x06,
+ (1,0,0): 0x07, 0x08,
+ (1,1,0): 0x09, 0x0a,
+ (1,2,0): 0x0b, 0x0c,
+ (2,0,0): 0x0d, 0x0e,
+ (2,1,0): 0x0f, 0x10,
+ (2,2,0): 0x11, 0x12,
+ (3,0,0): 0x13, 0x14,
+ (3,1,0): 0x15, 0x16,
+ (3,2,0): 0x17, 0x18
+ }
+ }
+ ATTRIBUTE "opaque3D" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 0x01, 0x02,
+ (0,1,0): 0x03, 0x04,
+ (0,2,0): 0x05, 0x06,
+ (1,0,0): 0x07, 0x08,
+ (1,1,0): 0x09, 0x0a,
+ (1,2,0): 0x0b, 0x0c,
+ (2,0,0): 0x0d, 0x0e,
+ (2,1,0): 0x0f, 0x10,
+ (2,2,0): 0x11, 0x12,
+ (3,0,0): 0x13, 0x14,
+ (3,1,0): 0x15, 0x16,
+ (3,2,0): 0x17, 0x18
+ }
+ }
+ ATTRIBUTE "compound3D" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): {
+ 1,
+ 2
+ },
+ (0,0,1): {
+ 3,
+ 4
+ },
+ (0,1,0): {
+ 5,
+ 6
+ },
+ (0,1,1): {
+ 7,
+ 8
+ },
+ (0,2,0): {
+ 9,
+ 10
+ },
+ (0,2,1): {
+ 11,
+ 12
+ },
+ (1,0,0): {
+ 13,
+ 14
+ },
+ (1,0,1): {
+ 15,
+ 16
+ },
+ (1,1,0): {
+ 17,
+ 18
+ },
+ (1,1,1): {
+ 19,
+ 20
+ },
+ (1,2,0): {
+ 21,
+ 22
+ },
+ (1,2,1): {
+ 23,
+ 24
+ },
+ (2,0,0): {
+ 25,
+ 26
+ },
+ (2,0,1): {
+ 27,
+ 28
+ },
+ (2,1,0): {
+ 29,
+ 30
+ },
+ (2,1,1): {
+ 31,
+ 32
+ },
+ (2,2,0): {
+ 33,
+ 34
+ },
+ (2,2,1): {
+ 35,
+ 36
+ },
+ (3,0,0): {
+ 37,
+ 38
+ },
+ (3,0,1): {
+ 39,
+ 40
+ },
+ (3,1,0): {
+ 41,
+ 42
+ },
+ (3,1,1): {
+ 43,
+ 44
+ },
+ (3,2,0): {
+ 45,
+ 46
+ },
+ (3,2,1): {
+ 47,
+ 48
+ }
+ }
+ }
+ ATTRIBUTE "enum3D" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): RED, RED,
+ (0,1,0): RED, RED,
+ (0,2,0): RED, RED,
+ (1,0,0): RED, RED,
+ (1,1,0): RED, RED,
+ (1,2,0): RED, RED,
+ (2,0,0): RED, RED,
+ (2,1,0): RED, RED,
+ (2,2,0): RED, RED,
+ (3,0,0): RED, RED,
+ (3,1,0): RED, RED,
+ (3,2,0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen3D" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): (0), (1),
+ (0,1,0): (2), (3),
+ (0,2,0): (4), (5),
+ (1,0,0): (6, 7), (8, 9),
+ (1,1,0): (10, 11), (12, 13),
+ (1,2,0): (14, 15), (16, 17),
+ (2,0,0): (18, 19, 20), (21, 22, 23),
+ (2,1,0): (24, 25, 26), (27, 28, 29),
+ (2,2,0): (30, 31, 32), (33, 34, 35),
+ (3,0,0): (36, 37, 38, 39), (40, 41, 42, 43),
+ (3,1,0): (44, 45, 46, 47), (48, 49, 50, 51),
+ (3,2,0): (52, 53, 54, 55), (56, 57, 58, 59)
+ }
+ }
+ ATTRIBUTE "array3D" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): [ 1, 2, 3 ], [ 4, 5, 6 ],
+ (0,1,0): [ 7, 8, 9 ], [ 10, 11, 12 ],
+ (0,2,0): [ 13, 14, 15 ], [ 16, 17, 18 ],
+ (1,0,0): [ 19, 20, 21 ], [ 22, 23, 24 ],
+ (1,1,0): [ 25, 26, 27 ], [ 28, 29, 30 ],
+ (1,2,0): [ 31, 32, 33 ], [ 34, 35, 36 ],
+ (2,0,0): [ 37, 38, 39 ], [ 40, 41, 42 ],
+ (2,1,0): [ 43, 44, 45 ], [ 46, 47, 48 ],
+ (2,2,0): [ 49, 50, 51 ], [ 52, 53, 54 ],
+ (3,0,0): [ 55, 56, 57 ], [ 58, 59, 60 ],
+ (3,1,0): [ 61, 62, 63 ], [ 64, 65, 66 ],
+ (3,2,0): [ 67, 68, 69 ], [ 70, 71, 72 ]
+ }
+ }
+ ATTRIBUTE "integer3D" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 1, 2,
+ (0,1,0): 3, 4,
+ (0,2,0): 5, 6,
+ (1,0,0): 7, 8,
+ (1,1,0): 9, 10,
+ (1,2,0): 11, 12,
+ (2,0,0): 13, 14,
+ (2,1,0): 15, 16,
+ (2,2,0): 17, 18,
+ (3,0,0): 19, 20,
+ (3,1,0): 21, 22,
+ (3,2,0): 23, 24
+ }
+ }
+ ATTRIBUTE "float3D" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 1, 2,
+ (0,1,0): 3, 4,
+ (0,2,0): 5, 6,
+ (1,0,0): 7, 8,
+ (1,1,0): 9, 10,
+ (1,2,0): 11, 12,
+ (2,0,0): 13, 14,
+ (2,1,0): 15, 16,
+ (2,2,0): 17, 18,
+ (3,0,0): 19, 20,
+ (3,1,0): 21, 22,
+ (3,2,0): 23, 24
+ }
+ }
+ DATASET "dset" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0, 0
+ }
+ ATTRIBUTE "string" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): "ab", "de"
+ }
+ }
+ ATTRIBUTE "bitfield" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0x01, 0x02
+ }
+ }
+ ATTRIBUTE "opaque" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0x01, 0x02
+ }
+ }
+ ATTRIBUTE "compound" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): {
+ 1,
+ 2
+ },
+ (1): {
+ 3,
+ 4
+ }
+ }
+ }
+ ATTRIBUTE "reference" {
+ DATATYPE H5T_REFERENCE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): DATASET 976 /dset , DATASET 976 /dset
+ }
+ }
+ ATTRIBUTE "enum" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): (1), (2, 3)
+ }
+ }
+ ATTRIBUTE "array" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): [ 1, 2, 3 ], [ 4, 5, 6 ]
+ }
+ }
+ ATTRIBUTE "integer" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ ATTRIBUTE "float" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ ATTRIBUTE "string2D" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): "ab", "cd",
+ (1,0): "ef", "gh",
+ (2,0): "ij", "kl"
+ }
+ }
+ ATTRIBUTE "bitfield2D" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 0x01, 0x02,
+ (1,0): 0x03, 0x04,
+ (2,0): 0x05, 0x06
+ }
+ }
+ ATTRIBUTE "opaque2D" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 0x01, 0x02,
+ (1,0): 0x03, 0x04,
+ (2,0): 0x05, 0x06
+ }
+ }
+ ATTRIBUTE "compound2D" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): {
+ 1,
+ 2
+ },
+ (0,1): {
+ 3,
+ 4
+ },
+ (1,0): {
+ 5,
+ 6
+ },
+ (1,1): {
+ 7,
+ 8
+ },
+ (2,0): {
+ 9,
+ 10
+ },
+ (2,1): {
+ 11,
+ 12
+ }
+ }
+ }
+ ATTRIBUTE "reference2D" {
+ DATATYPE H5T_REFERENCE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): DATASET 976 /dset , DATASET 976 /dset ,
+ (1,0): DATASET 976 /dset , DATASET 976 /dset ,
+ (2,0): DATASET 976 /dset , DATASET 976 /dset
+ }
+ }
+ ATTRIBUTE "enum2D" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): RED, RED,
+ (1,0): RED, RED,
+ (2,0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen2D" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): (0), (1),
+ (1,0): (2, 3), (4, 5),
+ (2,0): (6, 7, 8), (9, 10, 11)
+ }
+ }
+ ATTRIBUTE "array2D" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): [ 1, 2, 3 ], [ 4, 5, 6 ],
+ (1,0): [ 7, 8, 9 ], [ 10, 11, 12 ],
+ (2,0): [ 13, 14, 15 ], [ 16, 17, 18 ]
+ }
+ }
+ ATTRIBUTE "integer2D" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 1, 2,
+ (1,0): 3, 4,
+ (2,0): 5, 6
+ }
+ }
+ ATTRIBUTE "float2D" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 1, 2,
+ (1,0): 3, 4,
+ (2,0): 5, 6
+ }
+ }
+ ATTRIBUTE "string3D" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): "ab", "cd",
+ (0,1,0): "ef", "gh",
+ (0,2,0): "ij", "kl",
+ (1,0,0): "mn", "pq",
+ (1,1,0): "rs", "tu",
+ (1,2,0): "vw", "xz",
+ (2,0,0): "AB", "CD",
+ (2,1,0): "EF", "GH",
+ (2,2,0): "IJ", "KL",
+ (3,0,0): "MN", "PQ",
+ (3,1,0): "RS", "TU",
+ (3,2,0): "VW", "XZ"
+ }
+ }
+ ATTRIBUTE "bitfield3D" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 0x01, 0x02,
+ (0,1,0): 0x03, 0x04,
+ (0,2,0): 0x05, 0x06,
+ (1,0,0): 0x07, 0x08,
+ (1,1,0): 0x09, 0x0a,
+ (1,2,0): 0x0b, 0x0c,
+ (2,0,0): 0x0d, 0x0e,
+ (2,1,0): 0x0f, 0x10,
+ (2,2,0): 0x11, 0x12,
+ (3,0,0): 0x13, 0x14,
+ (3,1,0): 0x15, 0x16,
+ (3,2,0): 0x17, 0x18
+ }
+ }
+ ATTRIBUTE "opaque3D" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 0x01, 0x02,
+ (0,1,0): 0x03, 0x04,
+ (0,2,0): 0x05, 0x06,
+ (1,0,0): 0x07, 0x08,
+ (1,1,0): 0x09, 0x0a,
+ (1,2,0): 0x0b, 0x0c,
+ (2,0,0): 0x0d, 0x0e,
+ (2,1,0): 0x0f, 0x10,
+ (2,2,0): 0x11, 0x12,
+ (3,0,0): 0x13, 0x14,
+ (3,1,0): 0x15, 0x16,
+ (3,2,0): 0x17, 0x18
+ }
+ }
+ ATTRIBUTE "compound3D" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): {
+ 1,
+ 2
+ },
+ (0,0,1): {
+ 3,
+ 4
+ },
+ (0,1,0): {
+ 5,
+ 6
+ },
+ (0,1,1): {
+ 7,
+ 8
+ },
+ (0,2,0): {
+ 9,
+ 10
+ },
+ (0,2,1): {
+ 11,
+ 12
+ },
+ (1,0,0): {
+ 13,
+ 14
+ },
+ (1,0,1): {
+ 15,
+ 16
+ },
+ (1,1,0): {
+ 17,
+ 18
+ },
+ (1,1,1): {
+ 19,
+ 20
+ },
+ (1,2,0): {
+ 21,
+ 22
+ },
+ (1,2,1): {
+ 23,
+ 24
+ },
+ (2,0,0): {
+ 25,
+ 26
+ },
+ (2,0,1): {
+ 27,
+ 28
+ },
+ (2,1,0): {
+ 29,
+ 30
+ },
+ (2,1,1): {
+ 31,
+ 32
+ },
+ (2,2,0): {
+ 33,
+ 34
+ },
+ (2,2,1): {
+ 35,
+ 36
+ },
+ (3,0,0): {
+ 37,
+ 38
+ },
+ (3,0,1): {
+ 39,
+ 40
+ },
+ (3,1,0): {
+ 41,
+ 42
+ },
+ (3,1,1): {
+ 43,
+ 44
+ },
+ (3,2,0): {
+ 45,
+ 46
+ },
+ (3,2,1): {
+ 47,
+ 48
+ }
+ }
+ }
+ ATTRIBUTE "reference3D" {
+ DATATYPE H5T_REFERENCE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): DATASET 976 /dset ,
+ (0,0,1): DATASET 976 /dset ,
+ (0,1,0): DATASET 976 /dset ,
+ (0,1,1): DATASET 976 /dset ,
+ (0,2,0): DATASET 976 /dset ,
+ (0,2,1): DATASET 976 /dset ,
+ (1,0,0): DATASET 976 /dset ,
+ (1,0,1): DATASET 976 /dset ,
+ (1,1,0): DATASET 976 /dset ,
+ (1,1,1): DATASET 976 /dset ,
+ (1,2,0): DATASET 976 /dset ,
+ (1,2,1): DATASET 976 /dset ,
+ (2,0,0): DATASET 976 /dset ,
+ (2,0,1): DATASET 976 /dset ,
+ (2,1,0): DATASET 976 /dset ,
+ (2,1,1): DATASET 976 /dset ,
+ (2,2,0): DATASET 976 /dset ,
+ (2,2,1): DATASET 976 /dset ,
+ (3,0,0): DATASET 976 /dset ,
+ (3,0,1): DATASET 976 /dset ,
+ (3,1,0): DATASET 976 /dset ,
+ (3,1,1): DATASET 976 /dset ,
+ (3,2,0): DATASET 976 /dset ,
+ (3,2,1): DATASET 976 /dset
+ }
+ }
+ ATTRIBUTE "enum3D" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): RED, RED,
+ (0,1,0): RED, RED,
+ (0,2,0): RED, RED,
+ (1,0,0): RED, RED,
+ (1,1,0): RED, RED,
+ (1,2,0): RED, RED,
+ (2,0,0): RED, RED,
+ (2,1,0): RED, RED,
+ (2,2,0): RED, RED,
+ (3,0,0): RED, RED,
+ (3,1,0): RED, RED,
+ (3,2,0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen3D" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): (0), (1),
+ (0,1,0): (2), (3),
+ (0,2,0): (4), (5),
+ (1,0,0): (6, 7), (8, 9),
+ (1,1,0): (10, 11), (12, 13),
+ (1,2,0): (14, 15), (16, 17),
+ (2,0,0): (18, 19, 20), (21, 22, 23),
+ (2,1,0): (24, 25, 26), (27, 28, 29),
+ (2,2,0): (30, 31, 32), (33, 34, 35),
+ (3,0,0): (36, 37, 38, 39), (40, 41, 42, 43),
+ (3,1,0): (44, 45, 46, 47), (48, 49, 50, 51),
+ (3,2,0): (52, 53, 54, 55), (56, 57, 58, 59)
+ }
+ }
+ ATTRIBUTE "array3D" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): [ 1, 2, 3 ], [ 4, 5, 6 ],
+ (0,1,0): [ 7, 8, 9 ], [ 10, 11, 12 ],
+ (0,2,0): [ 13, 14, 15 ], [ 16, 17, 18 ],
+ (1,0,0): [ 19, 20, 21 ], [ 22, 23, 24 ],
+ (1,1,0): [ 25, 26, 27 ], [ 28, 29, 30 ],
+ (1,2,0): [ 31, 32, 33 ], [ 34, 35, 36 ],
+ (2,0,0): [ 37, 38, 39 ], [ 40, 41, 42 ],
+ (2,1,0): [ 43, 44, 45 ], [ 46, 47, 48 ],
+ (2,2,0): [ 49, 50, 51 ], [ 52, 53, 54 ],
+ (3,0,0): [ 55, 56, 57 ], [ 58, 59, 60 ],
+ (3,1,0): [ 61, 62, 63 ], [ 64, 65, 66 ],
+ (3,2,0): [ 67, 68, 69 ], [ 70, 71, 72 ]
+ }
+ }
+ ATTRIBUTE "integer3D" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 1, 2,
+ (0,1,0): 3, 4,
+ (0,2,0): 5, 6,
+ (1,0,0): 7, 8,
+ (1,1,0): 9, 10,
+ (1,2,0): 11, 12,
+ (2,0,0): 13, 14,
+ (2,1,0): 15, 16,
+ (2,2,0): 17, 18,
+ (3,0,0): 19, 20,
+ (3,1,0): 21, 22,
+ (3,2,0): 23, 24
+ }
+ }
+ ATTRIBUTE "float3D" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 1, 2,
+ (0,1,0): 3, 4,
+ (0,2,0): 5, 6,
+ (1,0,0): 7, 8,
+ (1,1,0): 9, 10,
+ (1,2,0): 11, 12,
+ (2,0,0): 13, 14,
+ (2,1,0): 15, 16,
+ (2,2,0): 17, 18,
+ (3,0,0): 19, 20,
+ (3,1,0): 21, 22,
+ (3,2,0): 23, 24
+ }
+ }
+ }
+ GROUP "g1" {
+ ATTRIBUTE "string" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): "ab", "de"
+ }
+ }
+ ATTRIBUTE "bitfield" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0x01, 0x02
+ }
+ }
+ ATTRIBUTE "opaque" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0x01, 0x02
+ }
+ }
+ ATTRIBUTE "compound" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): {
+ 1,
+ 2
+ },
+ (1): {
+ 3,
+ 4
+ }
+ }
+ }
+ ATTRIBUTE "enum" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): (1), (2, 3)
+ }
+ }
+ ATTRIBUTE "array" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): [ 1, 2, 3 ], [ 4, 5, 6 ]
+ }
+ }
+ ATTRIBUTE "integer" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ ATTRIBUTE "float" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ ATTRIBUTE "string2D" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): "ab", "cd",
+ (1,0): "ef", "gh",
+ (2,0): "ij", "kl"
+ }
+ }
+ ATTRIBUTE "bitfield2D" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 0x01, 0x02,
+ (1,0): 0x03, 0x04,
+ (2,0): 0x05, 0x06
+ }
+ }
+ ATTRIBUTE "opaque2D" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 0x01, 0x02,
+ (1,0): 0x03, 0x04,
+ (2,0): 0x05, 0x06
+ }
+ }
+ ATTRIBUTE "compound2D" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): {
+ 1,
+ 2
+ },
+ (0,1): {
+ 3,
+ 4
+ },
+ (1,0): {
+ 5,
+ 6
+ },
+ (1,1): {
+ 7,
+ 8
+ },
+ (2,0): {
+ 9,
+ 10
+ },
+ (2,1): {
+ 11,
+ 12
+ }
+ }
+ }
+ ATTRIBUTE "enum2D" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): RED, RED,
+ (1,0): RED, RED,
+ (2,0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen2D" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): (0), (1),
+ (1,0): (2, 3), (4, 5),
+ (2,0): (6, 7, 8), (9, 10, 11)
+ }
+ }
+ ATTRIBUTE "array2D" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): [ 1, 2, 3 ], [ 4, 5, 6 ],
+ (1,0): [ 7, 8, 9 ], [ 10, 11, 12 ],
+ (2,0): [ 13, 14, 15 ], [ 16, 17, 18 ]
+ }
+ }
+ ATTRIBUTE "integer2D" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 1, 2,
+ (1,0): 3, 4,
+ (2,0): 5, 6
+ }
+ }
+ ATTRIBUTE "float2D" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 1, 2,
+ (1,0): 3, 4,
+ (2,0): 5, 6
+ }
+ }
+ ATTRIBUTE "string3D" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): "ab", "cd",
+ (0,1,0): "ef", "gh",
+ (0,2,0): "ij", "kl",
+ (1,0,0): "mn", "pq",
+ (1,1,0): "rs", "tu",
+ (1,2,0): "vw", "xz",
+ (2,0,0): "AB", "CD",
+ (2,1,0): "EF", "GH",
+ (2,2,0): "IJ", "KL",
+ (3,0,0): "MN", "PQ",
+ (3,1,0): "RS", "TU",
+ (3,2,0): "VW", "XZ"
+ }
+ }
+ ATTRIBUTE "bitfield3D" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 0x01, 0x02,
+ (0,1,0): 0x03, 0x04,
+ (0,2,0): 0x05, 0x06,
+ (1,0,0): 0x07, 0x08,
+ (1,1,0): 0x09, 0x0a,
+ (1,2,0): 0x0b, 0x0c,
+ (2,0,0): 0x0d, 0x0e,
+ (2,1,0): 0x0f, 0x10,
+ (2,2,0): 0x11, 0x12,
+ (3,0,0): 0x13, 0x14,
+ (3,1,0): 0x15, 0x16,
+ (3,2,0): 0x17, 0x18
+ }
+ }
+ ATTRIBUTE "opaque3D" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 0x01, 0x02,
+ (0,1,0): 0x03, 0x04,
+ (0,2,0): 0x05, 0x06,
+ (1,0,0): 0x07, 0x08,
+ (1,1,0): 0x09, 0x0a,
+ (1,2,0): 0x0b, 0x0c,
+ (2,0,0): 0x0d, 0x0e,
+ (2,1,0): 0x0f, 0x10,
+ (2,2,0): 0x11, 0x12,
+ (3,0,0): 0x13, 0x14,
+ (3,1,0): 0x15, 0x16,
+ (3,2,0): 0x17, 0x18
+ }
+ }
+ ATTRIBUTE "compound3D" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): {
+ 1,
+ 2
+ },
+ (0,0,1): {
+ 3,
+ 4
+ },
+ (0,1,0): {
+ 5,
+ 6
+ },
+ (0,1,1): {
+ 7,
+ 8
+ },
+ (0,2,0): {
+ 9,
+ 10
+ },
+ (0,2,1): {
+ 11,
+ 12
+ },
+ (1,0,0): {
+ 13,
+ 14
+ },
+ (1,0,1): {
+ 15,
+ 16
+ },
+ (1,1,0): {
+ 17,
+ 18
+ },
+ (1,1,1): {
+ 19,
+ 20
+ },
+ (1,2,0): {
+ 21,
+ 22
+ },
+ (1,2,1): {
+ 23,
+ 24
+ },
+ (2,0,0): {
+ 25,
+ 26
+ },
+ (2,0,1): {
+ 27,
+ 28
+ },
+ (2,1,0): {
+ 29,
+ 30
+ },
+ (2,1,1): {
+ 31,
+ 32
+ },
+ (2,2,0): {
+ 33,
+ 34
+ },
+ (2,2,1): {
+ 35,
+ 36
+ },
+ (3,0,0): {
+ 37,
+ 38
+ },
+ (3,0,1): {
+ 39,
+ 40
+ },
+ (3,1,0): {
+ 41,
+ 42
+ },
+ (3,1,1): {
+ 43,
+ 44
+ },
+ (3,2,0): {
+ 45,
+ 46
+ },
+ (3,2,1): {
+ 47,
+ 48
+ }
+ }
+ }
+ ATTRIBUTE "enum3D" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): RED, RED,
+ (0,1,0): RED, RED,
+ (0,2,0): RED, RED,
+ (1,0,0): RED, RED,
+ (1,1,0): RED, RED,
+ (1,2,0): RED, RED,
+ (2,0,0): RED, RED,
+ (2,1,0): RED, RED,
+ (2,2,0): RED, RED,
+ (3,0,0): RED, RED,
+ (3,1,0): RED, RED,
+ (3,2,0): RED, RED
+ }
+ }
+ ATTRIBUTE "vlen3D" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): (0), (1),
+ (0,1,0): (2), (3),
+ (0,2,0): (4), (5),
+ (1,0,0): (6, 7), (8, 9),
+ (1,1,0): (10, 11), (12, 13),
+ (1,2,0): (14, 15), (16, 17),
+ (2,0,0): (18, 19, 20), (21, 22, 23),
+ (2,1,0): (24, 25, 26), (27, 28, 29),
+ (2,2,0): (30, 31, 32), (33, 34, 35),
+ (3,0,0): (36, 37, 38, 39), (40, 41, 42, 43),
+ (3,1,0): (44, 45, 46, 47), (48, 49, 50, 51),
+ (3,2,0): (52, 53, 54, 55), (56, 57, 58, 59)
+ }
+ }
+ ATTRIBUTE "array3D" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): [ 1, 2, 3 ], [ 4, 5, 6 ],
+ (0,1,0): [ 7, 8, 9 ], [ 10, 11, 12 ],
+ (0,2,0): [ 13, 14, 15 ], [ 16, 17, 18 ],
+ (1,0,0): [ 19, 20, 21 ], [ 22, 23, 24 ],
+ (1,1,0): [ 25, 26, 27 ], [ 28, 29, 30 ],
+ (1,2,0): [ 31, 32, 33 ], [ 34, 35, 36 ],
+ (2,0,0): [ 37, 38, 39 ], [ 40, 41, 42 ],
+ (2,1,0): [ 43, 44, 45 ], [ 46, 47, 48 ],
+ (2,2,0): [ 49, 50, 51 ], [ 52, 53, 54 ],
+ (3,0,0): [ 55, 56, 57 ], [ 58, 59, 60 ],
+ (3,1,0): [ 61, 62, 63 ], [ 64, 65, 66 ],
+ (3,2,0): [ 67, 68, 69 ], [ 70, 71, 72 ]
+ }
+ }
+ ATTRIBUTE "integer3D" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 1, 2,
+ (0,1,0): 3, 4,
+ (0,2,0): 5, 6,
+ (1,0,0): 7, 8,
+ (1,1,0): 9, 10,
+ (1,2,0): 11, 12,
+ (2,0,0): 13, 14,
+ (2,1,0): 15, 16,
+ (2,2,0): 17, 18,
+ (3,0,0): 19, 20,
+ (3,1,0): 21, 22,
+ (3,2,0): 23, 24
+ }
+ }
+ ATTRIBUTE "float3D" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 1, 2,
+ (0,1,0): 3, 4,
+ (0,2,0): 5, 6,
+ (1,0,0): 7, 8,
+ (1,1,0): 9, 10,
+ (1,2,0): 11, 12,
+ (2,0,0): 13, 14,
+ (2,1,0): 15, 16,
+ (2,2,0): 17, 18,
+ (3,0,0): 19, 20,
+ (3,1,0): 21, 22,
+ (3,2,0): 23, 24
+ }
+ }
+ }
+ GROUP "g2" {
+ DATASET "array" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): [ 1, 2, 3 ], [ 4, 5, 6 ]
+ }
+ }
+ DATASET "array2D" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): [ 1, 2, 3 ], [ 4, 5, 6 ],
+ (1,0): [ 7, 8, 9 ], [ 10, 11, 12 ],
+ (2,0): [ 13, 14, 15 ], [ 16, 17, 18 ]
+ }
+ }
+ DATASET "array3D" {
+ DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): [ 1, 2, 3 ], [ 4, 5, 6 ],
+ (0,1,0): [ 7, 8, 9 ], [ 10, 11, 12 ],
+ (0,2,0): [ 13, 14, 15 ], [ 16, 17, 18 ],
+ (1,0,0): [ 19, 20, 21 ], [ 22, 23, 24 ],
+ (1,1,0): [ 25, 26, 27 ], [ 28, 29, 30 ],
+ (1,2,0): [ 31, 32, 33 ], [ 34, 35, 36 ],
+ (2,0,0): [ 37, 38, 39 ], [ 40, 41, 42 ],
+ (2,1,0): [ 43, 44, 45 ], [ 46, 47, 48 ],
+ (2,2,0): [ 49, 50, 51 ], [ 52, 53, 54 ],
+ (3,0,0): [ 55, 56, 57 ], [ 58, 59, 60 ],
+ (3,1,0): [ 61, 62, 63 ], [ 64, 65, 66 ],
+ (3,2,0): [ 67, 68, 69 ], [ 70, 71, 72 ]
+ }
+ }
+ DATASET "bitfield" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0x01, 0x02
+ }
+ }
+ DATASET "bitfield2D" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 0x01, 0x02,
+ (1,0): 0x03, 0x04,
+ (2,0): 0x05, 0x06
+ }
+ }
+ DATASET "bitfield3D" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 0x01, 0x02,
+ (0,1,0): 0x03, 0x04,
+ (0,2,0): 0x05, 0x06,
+ (1,0,0): 0x07, 0x08,
+ (1,1,0): 0x09, 0x0a,
+ (1,2,0): 0x0b, 0x0c,
+ (2,0,0): 0x0d, 0x0e,
+ (2,1,0): 0x0f, 0x10,
+ (2,2,0): 0x11, 0x12,
+ (3,0,0): 0x13, 0x14,
+ (3,1,0): 0x15, 0x16,
+ (3,2,0): 0x17, 0x18
+ }
+ }
+ DATASET "compound" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): {
+ 1,
+ 2
+ },
+ (1): {
+ 3,
+ 4
+ }
+ }
+ }
+ DATASET "compound2D" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): {
+ 1,
+ 2
+ },
+ (0,1): {
+ 3,
+ 4
+ },
+ (1,0): {
+ 5,
+ 6
+ },
+ (1,1): {
+ 7,
+ 8
+ },
+ (2,0): {
+ 9,
+ 10
+ },
+ (2,1): {
+ 11,
+ 12
+ }
+ }
+ }
+ DATASET "compound3D" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_I8LE "a";
+ H5T_IEEE_F64LE "b";
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): {
+ 1,
+ 2
+ },
+ (0,0,1): {
+ 3,
+ 4
+ },
+ (0,1,0): {
+ 5,
+ 6
+ },
+ (0,1,1): {
+ 7,
+ 8
+ },
+ (0,2,0): {
+ 9,
+ 10
+ },
+ (0,2,1): {
+ 11,
+ 12
+ },
+ (1,0,0): {
+ 13,
+ 14
+ },
+ (1,0,1): {
+ 15,
+ 16
+ },
+ (1,1,0): {
+ 17,
+ 18
+ },
+ (1,1,1): {
+ 19,
+ 20
+ },
+ (1,2,0): {
+ 21,
+ 22
+ },
+ (1,2,1): {
+ 23,
+ 24
+ },
+ (2,0,0): {
+ 25,
+ 26
+ },
+ (2,0,1): {
+ 27,
+ 28
+ },
+ (2,1,0): {
+ 29,
+ 30
+ },
+ (2,1,1): {
+ 31,
+ 32
+ },
+ (2,2,0): {
+ 33,
+ 34
+ },
+ (2,2,1): {
+ 35,
+ 36
+ },
+ (3,0,0): {
+ 37,
+ 38
+ },
+ (3,0,1): {
+ 39,
+ 40
+ },
+ (3,1,0): {
+ 41,
+ 42
+ },
+ (3,1,1): {
+ 43,
+ 44
+ },
+ (3,2,0): {
+ 45,
+ 46
+ },
+ (3,2,1): {
+ 47,
+ 48
+ }
+ }
+ }
+ DATASET "enum" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): RED, RED
+ }
+ }
+ DATASET "enum2D" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): RED, RED,
+ (1,0): RED, RED,
+ (2,0): RED, RED
+ }
+ }
+ DATASET "enum3D" {
+ DATATYPE H5T_ENUM {
+ H5T_STD_I32LE;
+ "RED" 0;
+ "GREEN" 1;
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): RED, RED,
+ (0,1,0): RED, RED,
+ (0,2,0): RED, RED,
+ (1,0,0): RED, RED,
+ (1,1,0): RED, RED,
+ (1,2,0): RED, RED,
+ (2,0,0): RED, RED,
+ (2,1,0): RED, RED,
+ (2,2,0): RED, RED,
+ (3,0,0): RED, RED,
+ (3,1,0): RED, RED,
+ (3,2,0): RED, RED
+ }
+ }
+ DATASET "float" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ DATASET "float2D" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 1, 2,
+ (1,0): 3, 4,
+ (2,0): 5, 6
+ }
+ }
+ DATASET "float3D" {
+ DATATYPE H5T_IEEE_F32LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 1, 2,
+ (0,1,0): 3, 4,
+ (0,2,0): 5, 6,
+ (1,0,0): 7, 8,
+ (1,1,0): 9, 10,
+ (1,2,0): 11, 12,
+ (2,0,0): 13, 14,
+ (2,1,0): 15, 16,
+ (2,2,0): 17, 18,
+ (3,0,0): 19, 20,
+ (3,1,0): 21, 22,
+ (3,2,0): 23, 24
+ }
+ }
+ DATASET "integer" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 1, 2
+ }
+ }
+ DATASET "integer2D" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 1, 2,
+ (1,0): 3, 4,
+ (2,0): 5, 6
+ }
+ }
+ DATASET "integer3D" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 1, 2,
+ (0,1,0): 3, 4,
+ (0,2,0): 5, 6,
+ (1,0,0): 7, 8,
+ (1,1,0): 9, 10,
+ (1,2,0): 11, 12,
+ (2,0,0): 13, 14,
+ (2,1,0): 15, 16,
+ (2,2,0): 17, 18,
+ (3,0,0): 19, 20,
+ (3,1,0): 21, 22,
+ (3,2,0): 23, 24
+ }
+ }
+ DATASET "opaque" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): 0x01, 0x02
+ }
+ }
+ DATASET "opaque2D" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): 0x01, 0x02,
+ (1,0): 0x03, 0x04,
+ (2,0): 0x05, 0x06
+ }
+ }
+ DATASET "opaque3D" {
+ DATATYPE
+ H5T_OPAQUE;
+ OPAQUE_TAG "1-byte opaque type";
+
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): 0x01, 0x02,
+ (0,1,0): 0x03, 0x04,
+ (0,2,0): 0x05, 0x06,
+ (1,0,0): 0x07, 0x08,
+ (1,1,0): 0x09, 0x0a,
+ (1,2,0): 0x0b, 0x0c,
+ (2,0,0): 0x0d, 0x0e,
+ (2,1,0): 0x0f, 0x10,
+ (2,2,0): 0x11, 0x12,
+ (3,0,0): 0x13, 0x14,
+ (3,1,0): 0x15, 0x16,
+ (3,2,0): 0x17, 0x18
+ }
+ }
+ DATASET "reference" {
+ DATATYPE H5T_REFERENCE
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): DATASET 976 /dset , DATASET 976 /dset
+ }
+ }
+ DATASET "reference2D" {
+ DATATYPE H5T_REFERENCE
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): DATASET 976 /dset , DATASET 976 /dset ,
+ (1,0): DATASET 976 /dset , DATASET 976 /dset ,
+ (2,0): DATASET 976 /dset , DATASET 976 /dset
+ }
+ }
+ DATASET "reference3D" {
+ DATATYPE H5T_REFERENCE
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): DATASET 976 /dset ,
+ (0,0,1): DATASET 976 /dset ,
+ (0,1,0): DATASET 976 /dset ,
+ (0,1,1): DATASET 976 /dset ,
+ (0,2,0): DATASET 976 /dset ,
+ (0,2,1): DATASET 976 /dset ,
+ (1,0,0): DATASET 976 /dset ,
+ (1,0,1): DATASET 976 /dset ,
+ (1,1,0): DATASET 976 /dset ,
+ (1,1,1): DATASET 976 /dset ,
+ (1,2,0): DATASET 976 /dset ,
+ (1,2,1): DATASET 976 /dset ,
+ (2,0,0): DATASET 976 /dset ,
+ (2,0,1): DATASET 976 /dset ,
+ (2,1,0): DATASET 976 /dset ,
+ (2,1,1): DATASET 976 /dset ,
+ (2,2,0): DATASET 976 /dset ,
+ (2,2,1): DATASET 976 /dset ,
+ (3,0,0): DATASET 976 /dset ,
+ (3,0,1): DATASET 976 /dset ,
+ (3,1,0): DATASET 976 /dset ,
+ (3,1,1): DATASET 976 /dset ,
+ (3,2,0): DATASET 976 /dset ,
+ (3,2,1): DATASET 976 /dset
+ }
+ }
+ DATASET "string" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): "ab", "de"
+ }
+ }
+ DATASET "string2D" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): "ab", "cd",
+ (1,0): "ef", "gh",
+ (2,0): "ij", "kl"
+ }
+ }
+ DATASET "string3D" {
+ DATATYPE H5T_STRING {
+ STRSIZE 2;
+ STRPAD H5T_STR_NULLTERM;
+ CSET H5T_CSET_ASCII;
+ CTYPE H5T_C_S1;
+ }
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): "ab", "cd",
+ (0,1,0): "ef", "gh",
+ (0,2,0): "ij", "kl",
+ (1,0,0): "mn", "pq",
+ (1,1,0): "rs", "tu",
+ (1,2,0): "vw", "xz",
+ (2,0,0): "AB", "CD",
+ (2,1,0): "EF", "GH",
+ (2,2,0): "IJ", "KL",
+ (3,0,0): "MN", "PQ",
+ (3,1,0): "RS", "TU",
+ (3,2,0): "VW", "XZ"
+ }
+ }
+ DATASET "vlen" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): (1), (2, 3)
+ }
+ }
+ DATASET "vlen2D" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) }
+ DATA {
+ (0,0): (0), (1),
+ (1,0): (2, 3), (4, 5),
+ (2,0): (6, 7, 8), (9, 10, 11)
+ }
+ }
+ DATASET "vlen3D" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE}
+ DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) }
+ DATA {
+ (0,0,0): (0), (1),
+ (0,1,0): (2), (3),
+ (0,2,0): (4), (5),
+ (1,0,0): (6, 7), (8, 9),
+ (1,1,0): (10, 11), (12, 13),
+ (1,2,0): (14, 15), (16, 17),
+ (2,0,0): (18, 19, 20), (21, 22, 23),
+ (2,1,0): (24, 25, 26), (27, 28, 29),
+ (2,2,0): (30, 31, 32), (33, 34, 35),
+ (3,0,0): (36, 37, 38, 39), (40, 41, 42, 43),
+ (3,1,0): (44, 45, 46, 47), (48, 49, 50, 51),
+ (3,2,0): (52, 53, 54, 55), (56, 57, 58, 59)
+ }
+ }
}
}
}