From 4535e598f709e4d9bed0f5de1076d5e77b7441ab Mon Sep 17 00:00:00 2001 From: Pedro Vicente Nunes Date: Tue, 6 Jul 2004 15:07:03 -0500 Subject: [PATCH] [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: --- MANIFEST | 17 +- tools/h5dump/h5dump.c | 5 +- tools/h5dump/h5dumpgentest.c | 208 ++- tools/h5dump/testh5dump.sh.in | 28 +- tools/testfiles/tallfilters.ddl | 2 +- tools/testfiles/tattr2.h5 | Bin 7720 -> 33840 bytes tools/testfiles/tattr2.ls | 293 ++- tools/testfiles/{tboot.ddl => tboot1.ddl} | 10 +- tools/testfiles/tboot2.ddl | 22 + tools/testfiles/tcontents.ddl | 41 +- tools/testfiles/tfcontents1.h5 | Bin 0 -> 8424 bytes tools/testfiles/tfcontents2.h5 | Bin 0 -> 976 bytes tools/testfiles/tfill.ddl | 174 ++ tools/testfiles/tfillalloc.ddl | 23 - tools/testfiles/tfillearly.ddl | 23 - tools/testfiles/tfillifset.ddl | 23 - tools/testfiles/tfillincr.ddl | 23 - tools/testfiles/tfilllate.ddl | 23 - tools/testfiles/tfillnever.ddl | 23 - tools/testfiles/tfilters.h5 | Bin 61200 -> 52336 bytes tools/testfiles/tfvalues.h5 | Bin 0 -> 9552 bytes tools/testfiles/tindiceslarge.ddl | 64 + tools/testfiles/tperror.ddl | 8 + tools/testfiles/treference.ddl | 1964 ++++++++++++++++++++- 24 files changed, 2706 insertions(+), 268 deletions(-) rename tools/testfiles/{tboot.ddl => tboot1.ddl} (62%) create mode 100644 tools/testfiles/tboot2.ddl create mode 100644 tools/testfiles/tfcontents1.h5 create mode 100644 tools/testfiles/tfcontents2.h5 create mode 100644 tools/testfiles/tfill.ddl delete mode 100644 tools/testfiles/tfillalloc.ddl delete mode 100644 tools/testfiles/tfillearly.ddl delete mode 100644 tools/testfiles/tfillifset.ddl delete mode 100644 tools/testfiles/tfillincr.ddl delete mode 100644 tools/testfiles/tfilllate.ddl delete mode 100644 tools/testfiles/tfillnever.ddl create mode 100644 tools/testfiles/tfvalues.h5 create mode 100644 tools/testfiles/tindiceslarge.ddl create mode 100644 tools/testfiles/tperror.ddl diff --git a/MANIFEST b/MANIFEST index 45f5029e57..3987f6a258 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1323,7 +1323,6 @@ ./tools/testfiles/tvlstr.ddl ./tools/testfiles/tattr2.h5 ./tools/testfiles/tall-2A.ddl -./tools/testfiles/tboot.ddl ./tools/testfiles/tcontents.ddl ./tools/testfiles/tfilters.h5 ./tools/testfiles/tchunked.ddl @@ -1331,9 +1330,6 @@ ./tools/testfiles/tcontiguos.ddl ./tools/testfiles/tdeflate.ddl ./tools/testfiles/texternal.ddl -./tools/testfiles/tfillearly.ddl -./tools/testfiles/tfillifset.ddl -./tools/testfiles/tfillnever.ddl ./tools/testfiles/tfletcher32.ddl ./tools/testfiles/treference.ddl ./tools/testfiles/tshuffle.ddl @@ -1341,12 +1337,19 @@ ./tools/testfiles/tszip.ddl ./tools/testfiles/tuserfilter.ddl ./tools/testfiles/tallfilters.ddl -./tools/testfiles/tfillalloc.ddl -./tools/testfiles/tfillincr.ddl -./tools/testfiles/tfilllate.ddl ./tools/testfiles/tstringe.ddl ./tools/testfiles/tindicesyes.ddl ./tools/testfiles/tindicesno.ddl +./tools/testfiles/tfcontents1.h5 +./tools/testfiles/tfcontents2.h5 +./tools/testfiles/tboot1.ddl +./tools/testfiles/tboot2.ddl +./tools/testfiles/tperror.ddl +./tools/testfiles/tindiceslarge.ddl +./tools/testfiles/tfill.ddl +./tools/testfiles/tfvalues.h5 + + diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c index ef5e94c88f..d294942590 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 806f3dbdc7..e330693622 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=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,23 +5107,10 @@ 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); - assert(ret>=0); - -/*------------------------------------------------------------------------- - * H5D_FILL_TIME_ALLOC - *------------------------------------------------------------------------- - */ - ret=H5Pset_fill_time(dcpl, H5D_FILL_TIME_ALLOC); - assert(ret>=0); - - ret=H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval); - assert(ret>=0); - - ret=make_dset(fid,"fill_time_alloc",sid,dcpl,buf); + ret=make_dset(fid,"fill_time_ifset",sid,H5T_NATIVE_INT,dcpl,buf); assert(ret>=0); /*------------------------------------------------------------------------- @@ -5096,25 +5120,102 @@ static void gent_fvalues(void) ret=H5Pset_fill_time(dcpl, H5D_FILL_TIME_NEVER); 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_never",sid,dcpl,buf); + ret=make_dset(fid,"fill_time_never",sid,H5T_NATIVE_INT,dcpl,buf); assert(ret>=0); +/*------------------------------------------------------------------------- + * H5D_FILL_TIME_ALLOC + *------------------------------------------------------------------------- + */ + ret=H5Pset_fill_time(dcpl, H5D_FILL_TIME_ALLOC); + assert(ret>=0); + + ret=H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); + assert(ret>=0); + + ret=make_dset(fid,"fill_time_alloc",sid,H5T_NATIVE_INT,dcpl,buf); + assert(ret>=0); + + ret=H5Pclose(dcpl); + assert(ret>=0); + +/*------------------------------------------------------------------------- + * dataset with no fill value + *------------------------------------------------------------------------- + */ + 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); + +/*------------------------------------------------------------------------- + * 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); + + 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 0c408613ea..e9969dee15 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 45b38b937f..4f54e9aa40 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 c154a0b92b2790f9e59a4841537ecc41b2eb91b3..c7e3359f74e62777fce0a8c91cf9988e8cff1671 100644 GIT binary patch literal 33840 zcmeHQOK=oN60Jde1{lnMG06Bs0|I1Qw#R&I8UGrDK-d^$zy{;rNHBnGEQAoY?Deka z-~)T(xJQm0ITGQ+>b6AeVYzGsmyPvhBZxiu=o_1_Dzm#LTRlBuK_hUdqPi|M5G?Gghh7R`K9HXRmmm%9v=pBiyVa+MPom{8|PmGOc8U4u5t^nmGg zzRT^@#o7eoXI^oXGh5wV^8Ll3kKFa>;r@PO3P$8CcWLM^^Ifb{2>JbYC4qu@mbAl| zfLmQA`vlzD?+8_gI)ttTv&p7+7h@KfqK(d*H_w`qJYPBC9=W>0-3y#=femgR=U6mO z^EwKmnMLNf+e*qGfX80B``@r+DvU28PT5?X7#|ruW6a}3MV>nUq2W_CJWw(rZj{er zikHps$i(T9+PPDfNS9TX2aL;8^(;t*nU9o!BL@%dDUe5#THo@Wn@iGg6>--20WQW= z7rJEKd>4BxE_HNCcZZ+5E(JE^{_rB=$D?+0QwCTb(lU{Q$kF*Xlj`5(x%~e7lt8L~ z`^w2f`!~_UIxE^3-zz^fm!H$a1*v*C@U(lro3rVB%|)gdzdYa~RmQ6?xyW_Kue{+R z17ZM7&urQlCDH?0Nm>$3P|@75s?NU{KXW<rfPfLk!c{3nREn!*|i=f{HysgFF5apOq}YbgMPF88O11`~XS z!agD{qdP$O&r*CHg@D4(l=)+H2MB*X#WzscNZ}vEUru*`j6+=%-$Y?Eg)JUk_}xT% zj>7X4UZB9!qUiY^qP<7~X8$q;$O9nHS16993zjY0C_q*K;cut-4hpYQfNK#s3cr_V zuT$7b0j>n{1W5mg9zezbq2rFeg4_W@7oE`KHRJ`^qAviF9`c0Dq<@5t`au@xAAsly z^!GocRO~h*y71AD0KuWRKNEs}1PC4a`8Pt)w*aAwJq4B;(}Av`%+TKesi){UbO7Mz zvxCw@F94DreAKB6L;}$xku%aAqePo5H|A@5gFXQyU#SOl4B*!TcsDKtLPz}X6rg(m zsfTZG|0X*05+Hov-d-kQL1zKN_wB8Z_&tst@qK#(3%U)E=Y4y-Ky)7NB0l5~SwpVS z1=s{Y^cix6?8M$GU=j!)a`5d9wgV78>g(GZ>6I|h%WYqd;yXk@`Sy?wgEyHdxO0LgpT^b-rxfOq9>3s;7xan=)!+X z(V^Rbx7{sD5B&tZ<8Be1RK!BacgdGgvx_5APto(;D!t^>r_v)o)M*dXMbAXel5fA_ zYkS+vd`U0$*vE9Kx71@m(HS-SIU@D&?G3DV72mfvu-;RA-`>DFp!nL}-dB9z-oQGj z`0EMZKmqm!IOJ}TK6erB+uNYxcN6a0+Xsr@L%45mhZVm6<^!iMa9?lHlg_1-Yzj;`cd@Y8$|~nI`FNci@i-MI{Fj#_MM`Oy?w9f zVsC$7y6BJC+YgE^{68wX*xR2JUF_{gMHl_7D>|dmts)sjlsuA4ASr@iQs@eWJ(sdL}KsN%>c!%lzbz`nL#vHr4efC90#^VqUt_j>?-k3~`Q_>Ey ze2@31Bw#Z93gC(?JRO?2)|qk>lbL3~<^J||vqbTFE?U?%PoBxm)+@I!wTg0bRdgOb zTfgQ9uJA?&m(;JznRT4a1ljTktQ?-82?6Bs%8SF_P1J((V?!4%)q;ud#%iv%+45N! zxRhD)krB|Pp6x5EC5jC@rj~`S{BkJ2YsnqydY3xxFx}89!G|agK4|#;tuT-N7{@pa z4}|d*a|C1RSSp4?!zWMGPM1W3G(4iabs!94eD0541(*NHQmqIgreG zWR8P5ZdyJfR}yVVaSB%{Of|^)>(Q|b;}<6`ee><)_q%rY?djjUZ(#qs?;Uvm;NS;` zj~xB*qhrTUxL#OPT)bpyY1w1T%PUqszUqn9YdTZu>t3L8EQB57T^v{a_0KI#Pw%f~ zYae%x$Ml5DU4C?}ge#)>)(~T#gY6;a^A27O*F^dEhEGQEo#9iFKED}0^RK&qb?M&@ z*InxlT|5ley9ix(g&U*z?r>8S?+dp?@jW5t;12r37bI%-hM0Rh*cZMmQ8O@OJxtTj zcF}!1s8hRq9CKnH$K2V+F(>zN%*A~ib8z2|u%_^FtR;LLYX~2Q=k#%`8GIaT1>Y`5 z6pl5b&&Qh3$ImGoYd)WkH6DDM*ge*CK0c;!tl4}%)@VMCHJOiN4F-9kO(+*U_(54~ z&BSlOb}+{K>tGta0HwD&mc)T*ouNw19NX1k2$`k?$6$&ARK?+q0V-)HXE>pNd;V%@fQn*IpI)xh)rYJmG zkUhVew0*Xklp5pQP>ankld>0V+M*feXJ8M_U`6l_?}LYC`%<(0E*VkwyzTlrmnW^ZxBH@SYYLUDyB>vyF|t=h-RmPf_*b0_Hs`WOA~`Z+L% z`{4n|_UVk{K^qgDXf8J-ZS}mFF=sjF*}0|5!>M}*otJ~&KS=>S?#lx;%+{CNtSz+Lt`+@ zXdh(D!>!-_wxhP$?f;GS!nIdgm~8)LVafnMMX)aNziWzS&5vAm zwtfYHOPZx$by=#!&^Vm6Udq-Vh`yt6BXDA> zx*K1U`ZL+UpKT;v9y47pwJMj+^{$Pgc@9g;rCsCFBBuy!KMQEpj40k$!#;w{&*sw% z4RoP(aJu9=s#UpESuQTUlge~{`mC^K1;!X2jG#$lBvaF)xR#6guN zP-Wg=e1NP;>e*+>d+XvArM~U{E=!4bz6$gZ&SIRAwP{W&x~K7{jpnZNT-Qx5X( zpnx^z0t)yArNqCq7HHoG-vb&Mov59ujW?Vbpk#^f2_bvr7k^J^A)TWuo73mc58-@X z>hGhfUWU(+#d^Eg{zmA&XS6lirNB8olqY(Lb^t&F_~)j9$N4R#cxUvTBgqkG{#;dx zNS>OnJKyW~!(tOqe$K8Ww-)S+E2`@q=l`p#2Yq2;lJXZjlM>oyXKD4ewY8T}+C;zB zhtMkrt(`|N88;5XU-eMCVV`L8jO{a}o>CiqFYzx9D0dZ=3%f^ z$1%j=G2!o3cpu@Ao$#UTKHg7wiQhwleM0Z7{ZmCV?Y~KV!9qFnDTp6fL~&TcVhT$r zETw>RM9U~lciuksOG~VMvELANP5O@+)+f%tX#27+ssq zv~B1D3z5Hppa>u<0Hf3TomSo>D4D9wr$7=eQMvN{H7Pmamomyvd;h?1UqIzJeb8H$!+svS?$T+*PvcYe_x|yrqHd_ukh1>_0#Cn8T;vsez1i+ zz)Q*8Wc`HS53JuuJ5v3AMtzZ)`0pykef$fBf3EOP6#l8gKO-D&P4fRx;U6jdn8L9W z84Vd{E&ZDEzR(k0|^o;pFGIKjFm# zH$GB_W{!_7^ebeCWN5>^j*}Qi;L{(q_e)CV8np`gj`2T`b%VJ1kFjB~+lql(Ehf&9Ok{QQTLN80titvBJA z3E(dQj3OF7tmi*AQ00C9zn<`XUk6?4eczKi9OD>3`aeJa;p8FL`(|e;@@}vGAVHx!Pe^FAN12K(d34u#{B1wQ{Zh4(7_b%pOF z+#i3QQ#d}I;PdecvXA#D{6&SoM7X~nfL927yrOV?6VvD8Q&K*@P2t-K&-WMd{RQk( zVQ&iiQEBIG;{A|^^1g$-mmu#C$T@#GudmPB zOL=mjSD$y6a)lq2%LF;cE$6D`+_F9=Ea!S%`O)#A#JN~~epSksC!+G1fbtPV`MBHi hDZ=G*DifUpg5L!|mvYD@kV_z!KrVq?0_~E({{Yg8jr;%r delta 402 zcmdnc!L-6=f(Da@+(a!mMuCZi@|=te5b$AgBir-I4U8I$9Ge^2zB5kd;Fg$t!&ATx zD$l^kAPB@j0M)_DzyW45GC@QH7zDsdHN+q~1eihei3U z&=?Q^$qMzIwBup0fb!XaG8_!WB}JKe=?o0QKv6-cI*o&sj7#PhgW^oNU3Zz{v%a;09u*$sZ-;nGW!8-dJ1Dw)sG90f;!x zG}$03i*du`-Cl}}9Fy;Q=}+!S /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 0000000000000000000000000000000000000000..a7cf2d3fd7462b9d13cf2a0d4e2e33392476e7e2 GIT binary patch literal 8424 zcmeHMJ5L)y5S}|fu#k`(6aq?hB^ALWMaqk0N3IA;QqbW7;vgQegbTZK>2&@HF8Kjb z>Xa!dDJcEMEp*=?QZLU?U-(Pf92Ui=i3+af7X9|U#k&?q&O?p30>udD?>4OCQMxo zjLtOzfr|}})d;J6;@(e|dkEkL^hyFMQh^1G7pUafFbusW2mf-3+`G;#@_pd++yeL^ z?40+S_s<26^-UvDq-Chtt#W%46ZK_aO8O7m@2Y`A1e2$WKY!d3<`_YjWw$<|-DlWc zu7XJ+ifW@M2G|C|w$M8CDeiw=t-s@&_@*^bj-zocEq>G1CHoalykCl2=c&v>aob%M zIRYIw$9WuM976ZuaMyP^X`N|ye5~?O+^lT)6IpT9eNTFp=?nowzz{G53;{!6HV}~f zGf2%p2e^0YJ?rN;S(nPKJ&|K9cV{TfYslsA!u)`2WVR4^c<s|iQu7ijkLT?^1@LOA~TPlcq0Fqq2}W;)}2-ly4#uY06q5eWS{e{ z>Le{Iuh(-%>!uu2+%|=b`dx6pRz|8srVj1H=f#QE)2rk(gCA}fFWQA7y^cXAux9c{065kqi_HK literal 0 HcmV?d00001 diff --git a/tools/testfiles/tfcontents2.h5 b/tools/testfiles/tfcontents2.h5 new file mode 100644 index 0000000000000000000000000000000000000000..216a885b79bab15451582d4f25b107f411262223 GIT binary patch literal 976 zcmeD5aB<`1lHy_j0S*oZ76t(ZW-tdr{D*=IP(c_UrepzBoDnL}0A(aV`5vy00bnLn zoCBr~O2a6a{vR-b5kiLqxw?Y93JX^l4fFmA5eN$wZZPptdSrwEBLfoyC~qi0y(2xmqDFRSH|a%E=X-kKF!B{%J@6R$!X`b)GV+c+deA{v zt+Hq`yyau_N@yA-NLslN%Xe( z#D3d^$ZyZuVr4U(ctlN6u^-1(MXB{5+d7_@S6lTrY1{ z_ZP2@HpX2bo5ecsBzqezwUoJ4TTQ3e9d2-kf=!~MIYAus?YlP1j%F5QS}ZbKqD4;W z_(-|8WurLWTq=rJ4CVWk%R-Ea9cNUp70vOB)WTKsqJ(2tz6h5&mCjmioFJvUWj8Ljw=JSL(%* zRdVY0NX~56i#!&sD`T@OLxE}$teY6Q(V;+!YIdZUglCl5e}L8p@hQ4+2#4_*v_1J8 zU*Jm|#aH+m-{2UI;{;CPTYQI8_#UV61AfF$ID>BdjI-#GB)`;4(1%~pk6$r>a~Q;V z{D$9g0T*!ze?U8yKk*m-#ufa7e{mJsmdH?Gf*HeLK@_aAUy^JDc0?lvv4}%F92kxS zjKFmmiBU*|c6F058p%k(7>va@XxDQ*QZWG&aXoH88r*&!laP+d$iNg##WZODUDGiG zGjSts!Ytej?O*g3%*L&_4Yy+s=E8$)%tH?5;|}Cv0sMJ9@^L5b!rizB_o4uWScoDN z<38MvMOcg_cmO3>iU;u!mca`jmZKCauoA2AFdmUP|3?WP!{b(O7?}n84Np5D$iMz~T>9W26Bz8WYP;YCwyk5D|_r3S#&G%;B>|DF( z|0wzuY@Q8lES4*fz(svW`ZgF5v?8TwOfw0wFPdW3alK1Z+T(uEl$eg~)0#3zQ$-M{ zVvqPUYm$^0A|f(Cu4I$D^vE-J1KxGuACT}+H`V0$j$`)&-WO1DcqLStF7U-urc`90 zS?ti7WF?m5HHeuZ*HuKrPQka7QXaM?HI+L^$zn|bSK1+v-Nj+^xtyiZacy5rKWs$D z$&Er=@``2e)<{b!c68?01%aJ}NQWWdT}h^QIZP@3HVUaIbimc*y>Pi~GrCS*mK{sh zS?okcXmZ(Py>el)hZQ#BQjib4QZ^ir6x0s)q$U`w7@cPxtvUE(CV4lp3~wu2keWdCBy-^r9~4-!Of|h)ju8lDX5hR&xNOP7 zu|6_U?laK?X~s2!2}>K`TXi#5UnQ8X!0wLo`XT&EVl5&FtpV>vn0%(dP+z%j@&&xt zAn4hZ(lw)P$Yxk#UP1n(Z^y)%ZWZZt07H76MP4Wn?i3c|p)jZFBic%hs`C-2YU!s` zFPV5rll?rdYalVMKEmUoqom+WsSJ(7jk!l^JswwMZJpayd!)hLC@kPgkLN^n0zU3O z?LGxl!;kr$v$QIGRPPs&_E4r7-iGtAxflL~t*m~ML6)P0YJ-v_&tKU?_Pl6!ahd+i zy3^YKJH;qCb(`>m*&HEdlcHPx>cU7Ka<0q=483o*js s$SOSeowP(+@PEvVaQ%slyJl!Hn-PpXEtL=IeIN-iYO?VA%pkY_0WAK0S^xk5 diff --git a/tools/testfiles/tfvalues.h5 b/tools/testfiles/tfvalues.h5 new file mode 100644 index 0000000000000000000000000000000000000000..53879aaea1e8daf8d86191f250f67538c9928084 GIT binary patch literal 9552 zcmeHLTUQ)K5bgz%U}6-aMvb>tiJ*pviW;w3BqT(0!6e=YIPS zbNm~=`4jvJzWd@oi1kg^2b&^fvwS@htwoHI>vn9N9L`Fl&%IMI%CKC0EC{$F{Z;5sBaobx*BUdd1JD;mgCinA)XUAa6woZF%L9UUD7gwk&k zV9@Py-MI>}PSxw_h785$&w}761^r$}&dE~Y9?IYEEJ!miTB&@W!g%eEu78ToG4oa7 zHdW`(oIM7gOzHQEeb@hRQN@1W_4NiQ4(=hhuBKQ1YFt#;X*uy`C<8mMA#8vqv^{iR z19*)l*NdLsYY1-w+BmKXwzp4&aOJ<#?*+XHP6v^~)Fz;^Y(#``*Vi}rO#b_HK- z*L~g2d`}i0*pG#C63$Ps`{vI{#Ty*=&)X_g3bGr`2cAFRk8tjTKkgPw1y+eG!f@Ol z0kE=8cR9!R%LW*-2+B85a2^dG=yubpAI_&6zufDO>gluShWEJPE3&z6evTd2`Qb?{ z^l#4_>;1v_2xfMwe;$_CaWriGJUyj$_+WrOtsTy-TqVC#%!$#nr}FvHb8wg|+z*6; z^A657s8Kj~(98UCnuGHA^WM;keJM?{T2#so=K$XuP{ospzf`W2%DxoU<3rNHqMwQD zacwCUJVK9)elE@q^9<(oJ?{qxy`QM1vvIwi*8FHWPUigSC>bo3`zy&D?RrJ^NBnGM zuAKQw-AAh?`3#@PqKk3eXO~jH5T^^(*k`FPr%76a#W=sAycsGtA}`NRM_EM-tY=YD ziv4^XCGx&n+b@EsREig}ct*g+@t=@H;aRZN@oNw{uXZ#WKj&++oKqXYZm`{MYHMoe?Y&tRpZ~U{k1y&2RUxmP2!(_z0Jr^>&g>H zd?QxhFgW57u|z*|edfCUmg*B{{kFlm9=~I7{#T9~od2()!IgC*+MxaD2R6N{IPG9R zqedTc*mO*Bt~*%gv1YU1F(ZdNu@-V&JFar-(~c90TRX-LuBJ+~(V?%BfE~<`kztXh+%L%DRd+XotkY!7-o6w`GGf-@Y|C^X)su89&Uo?+s4*4+dwx{b+FJ+fN2(e6AQ=+0|-@ z9jqelM%x4HJ+Se82=B{$elddm0CEKJ#~5$C8)<$&vx4oB6s&k_W&OPfGjmPncDDWl Da@{Z@ literal 0 HcmV?d00001 diff --git a/tools/testfiles/tindiceslarge.ddl b/tools/testfiles/tindiceslarge.ddl new file mode 100644 index 0000000000..db72630f23 --- /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 0000000000..c7ee79d534 --- /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 f281a6a8fc..e87aa48a3e 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) + } + } } } }