diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-10-04 15:06:28 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-10-04 15:06:28 (GMT) |
commit | 59b51a2ea72ff98586372a454adfd8c790a62734 (patch) | |
tree | 74173cf2dab79097c9dc8f116a22ad0138d310a2 /tools | |
parent | 302830e60108513d9ff2e710444dc0d0188c92ee (diff) | |
download | hdf5-59b51a2ea72ff98586372a454adfd8c790a62734.zip hdf5-59b51a2ea72ff98586372a454adfd8c790a62734.tar.gz hdf5-59b51a2ea72ff98586372a454adfd8c790a62734.tar.bz2 |
[svn-r14180] Description:
Make H5Aiterate() versioned and change all internal use to H5Aiterate2()
Leave some regression tests that exercise H5Aiterate1()
Fix attribute display in h5dump & h5ls to be "by name" by default
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
Diffstat (limited to 'tools')
-rw-r--r-- | tools/h5dump/h5dump.c | 26 | ||||
-rw-r--r-- | tools/h5ls/h5ls.c | 9 | ||||
-rw-r--r-- | tools/testfiles/tattr2.ls | 558 | ||||
-rw-r--r-- | tools/testfiles/tref-escapes-at.h5.xml | 20 | ||||
-rw-r--r-- | tools/testfiles/treference.ddl | 1392 |
5 files changed, 1004 insertions, 1001 deletions
diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c index bceb4be..7a924de 100644 --- a/tools/h5dump/h5dump.c +++ b/tools/h5dump/h5dump.c @@ -501,7 +501,7 @@ static void dump_named_datatype(hid_t, const char *); static void dump_dataset(hid_t, const char *, struct subset_t *); static void dump_dataspace(hid_t space); static void dump_datatype(hid_t type); -static herr_t dump_attr(hid_t, const char *, void *); +static herr_t dump_attr(hid_t, const char *, const H5A_info_t *, void *); static void dump_data(hid_t, int, struct subset_t *, int); static void dump_dcpl(hid_t dcpl, hid_t type_id, hid_t obj_id); static void dump_comment(hid_t obj_id); @@ -515,7 +515,7 @@ static void xml_dump_named_datatype(hid_t, const char *); static void xml_dump_dataset(hid_t, const char *, struct subset_t *); static void xml_dump_dataspace(hid_t space); static void xml_dump_datatype(hid_t type); -static herr_t xml_dump_attr(hid_t, const char *, void *); +static herr_t xml_dump_attr(hid_t, const char *, const H5A_info_t *, void *); static void xml_dump_data(hid_t, int, struct subset_t *, int); /** @@ -1223,7 +1223,8 @@ dump_dataspace(hid_t space) *------------------------------------------------------------------------- */ static herr_t -dump_attr(hid_t oid, const char *attr_name, void UNUSED * op_data) +dump_attr(hid_t oid, const char *attr_name, const H5A_info_t UNUSED *info, + void UNUSED *op_data) { hid_t attr_id; herr_t ret = SUCCEED; @@ -1817,7 +1818,7 @@ dump_named_datatype(hid_t type, const char *name) /* print attributes */ indent += COL; - H5Aiterate(type, NULL, dump_attr, NULL); + H5Aiterate2(type, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, dump_attr, NULL, H5P_DEFAULT); indent -= COL; end_obj(dump_header_format->datatypeend, @@ -1894,11 +1895,11 @@ dump_group(hid_t gid, const char *name, H5_index_t idx_type, H5_iter_order_t ite printf("%s \"%s\"\n", HARDLINK, found_obj->objname); } else { found_obj->displayed = TRUE; - H5Aiterate(gid, NULL, dump_attr, NULL); + H5Aiterate2(gid, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, dump_attr, NULL, H5P_DEFAULT); H5Literate(gid, ".", idx_type, iter_order, NULL, dump_all, NULL, H5P_DEFAULT); } } else { - H5Aiterate(gid, NULL, dump_attr, NULL); + H5Aiterate2(gid, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, dump_attr, NULL, H5P_DEFAULT); H5Literate(gid, ".", idx_type, iter_order, NULL, dump_all, NULL, H5P_DEFAULT); } @@ -1973,7 +1974,7 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset) } /* end switch */ indent += COL; - H5Aiterate(did, NULL, dump_attr, NULL); + H5Aiterate2(did, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, dump_attr, NULL, H5P_DEFAULT); indent -= COL; H5Tclose(type); @@ -5074,7 +5075,8 @@ xml_dump_data(hid_t obj_id, int obj_data, struct subset_t UNUSED * sset, int UNU *------------------------------------------------------------------------- */ static herr_t -xml_dump_attr(hid_t attr, const char *attr_name, void UNUSED * op_data) +xml_dump_attr(hid_t attr, const char *attr_name, const H5A_info_t UNUSED *info, + void UNUSED * op_data) { hid_t attr_id, type, space; H5S_class_t space_type; @@ -5384,8 +5386,8 @@ xml_dump_group(hid_t gid, const char *name, H5_index_t UNUSED idx_type, H5_iter_ found_obj->displayed = TRUE; /* 1. do all the attributes of the group */ - H5Aiterate(gid, NULL, - dump_function_table->dump_attribute_function, NULL); + H5Aiterate2(gid, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, + dump_function_table->dump_attribute_function, NULL, H5P_DEFAULT); if(isRoot && unamedtype) { unsigned u; @@ -5439,7 +5441,7 @@ xml_dump_group(hid_t gid, const char *name, H5_index_t UNUSED idx_type, H5_iter_ free(parentxid); /* 1. do all the attributes of the group */ - H5Aiterate(gid, NULL, dump_function_table->dump_attribute_function, NULL); + H5Aiterate2(gid, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, dump_function_table->dump_attribute_function, NULL, H5P_DEFAULT); if(isRoot && unamedtype) { unsigned u; @@ -6088,7 +6090,7 @@ xml_dump_dataset(hid_t did, const char *name, struct subset_t UNUSED * sset) dump_function_table->dump_datatype_function(type); indent += COL; - H5Aiterate(did, NULL, dump_function_table->dump_attribute_function, NULL); + H5Aiterate2(did, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, dump_function_table->dump_attribute_function, NULL, H5P_DEFAULT); indent -= COL; tempi = H5Dget_storage_size(did); diff --git a/tools/h5ls/h5ls.c b/tools/h5ls/h5ls.c index 4ea6bbc..e12b447 100644 --- a/tools/h5ls/h5ls.c +++ b/tools/h5ls/h5ls.c @@ -1322,10 +1322,11 @@ dump_dataset_values(hid_t dset) *------------------------------------------------------------------------- */ static herr_t -list_attr (hid_t obj, const char *attr_name, void UNUSED *op_data) +list_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo, + void UNUSED *op_data) { hid_t attr, space, type, p_type; - hsize_t size[64], nelmts=1; + hsize_t size[64], nelmts = 1; int ndims, i, n; size_t need; hsize_t temp_need; @@ -1784,7 +1785,7 @@ list(hid_t group, const char *name, const H5L_info_t *linfo, void *_iter) /* Display attributes */ if(oi.type >= 0) - H5Aiterate(obj, NULL, list_attr, NULL); + H5Aiterate2(obj, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, list_attr, NULL, H5P_DEFAULT); /* Object location & reference count */ printf(" %-10s %lu:"H5_PRINTF_HADDR_FMT"\n", "Location:", oi.fileno, oi.addr); @@ -2312,7 +2313,7 @@ main(int argc, const char *argv[]) if(verbose_g > 0) { if((root = H5Gopen2(file, "/", H5P_DEFAULT)) < 0) leave(1); - H5Aiterate(root, NULL, list_attr, NULL); + H5Aiterate2(root, ".", H5_INDEX_NAME, H5_ITER_INC, NULL, list_attr, NULL, H5P_DEFAULT); if(H5Gclose(root) < 0) leave(1); } /* end if */ diff --git a/tools/testfiles/tattr2.ls b/tools/testfiles/tattr2.ls index e34206e..88b24cd 100644 --- a/tools/testfiles/tattr2.ls +++ b/tools/testfiles/tattr2.ls @@ -2,54 +2,40 @@ output for 'h5ls -w80 -v -S tattr2.h5' ############################# Opened "tattr2.h5" with sec2 driver. - 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 + Attribute: array2D {3, 2} + Type: [3] 32-bit little-endian integer Data: - (0,0) "ab", "cd", "ef", "gh", "ij", "kl" + (0,0) [1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15], [16,17,18] + 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: bitfield {2} + Type: 8-bit bitfield + Data: 0x01, 0x02 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") + Attribute: bitfield3D {4, 3, 2} + Type: 8-bit bitfield Data: - (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 + (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: 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: compound2D {3, 2} Type: struct { "a" +0 8-bit integer @@ -57,6 +43,22 @@ Opened "tattr2.h5" with sec2 driver. } 12 bytes Data: (0,0) {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12} + 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: enum {2} + Type: enum 32-bit little-endian integer { + RED = 0 + GREEN = 1 + } + Data: RED, RED Attribute: enum2D {3, 2} Type: enum 32-bit little-endian integer { RED = 0 @@ -64,35 +66,47 @@ Opened "tattr2.h5" with sec2 driver. } 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 + Attribute: enum3D {4, 3, 2} + Type: enum 32-bit little-endian integer { + RED = 0 + GREEN = 1 + } 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 + (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: float {2} + Type: IEEE 32-bit little-endian float + Data: 1, 2 + Attribute: float2D {3, 2} + Type: IEEE 32-bit little-endian float Data: (0,0) 1, 2, 3, 4, 5, 6 - Attribute: float2D {3, 2} + 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 + Attribute: integer {2} + Type: 32-bit little-endian integer + Data: 1, 2 + Attribute: integer2D {3, 2} + Type: 32-bit little-endian integer + Data: (0,0) 1, 2, 3, 4, 5, 6 - Attribute: string3D {4, 3, 2} - Type: 2-byte null-terminated ASCII string + Attribute: integer3D {4, 3, 2} + Type: 32-bit little-endian integer 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 + (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: opaque {2} + Type: 1-byte opaque type + (tag = "1-byte opaque type") + Data: 0x01, 0x02 + Attribute: opaque2D {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 + (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 Attribute: opaque3D {4, 3, 2} Type: 1-byte opaque type (tag = "1-byte opaque type") @@ -100,24 +114,28 @@ Opened "tattr2.h5" with sec2 driver. (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 + Attribute: string {2} + Type: 2-byte null-terminated ASCII string + Data: "ab", "de" + Attribute: string2D {3, 2} + Type: 2-byte null-terminated ASCII string 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 - } + (0,0) "ab", "cd", "ef", "gh", "ij", "kl" + Attribute: string3D {4, 3, 2} + Type: 2-byte null-terminated ASCII string 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 + (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: vlen {2} + Type: variable length of + 32-bit little-endian integer + Data: (1), (2,3) + 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: vlen3D {4, 3, 2} Type: variable length of 32-bit little-endian integer @@ -127,6 +145,14 @@ Opened "tattr2.h5" with sec2 driver. (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) +dset Dataset {2/2} + Attribute: array {2} + Type: [3] 32-bit little-endian integer + Data: [1,2,3], [4,5,6] + 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: array3D {4, 3, 2} Type: [3] 32-bit little-endian integer Data: @@ -135,68 +161,25 @@ Opened "tattr2.h5" with sec2 driver. (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 -dset Dataset {2/2} - 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: bitfield2D {3, 2} + Type: 8-bit bitfield + Data: + (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 + 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: 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: reference {2} - Type: object reference - Data: DATASET-1:976, DATASET-1:976 - 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 @@ -204,11 +187,22 @@ dset Dataset {2/2} } 12 bytes Data: (0,0) {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12} - Attribute: reference2D {3, 2} - Type: object reference + 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) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976, - (2,0) DATASET-1:976, DATASET-1:976 + (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: enum {2} + Type: enum 32-bit little-endian integer { + RED = 0 + GREEN = 1 + } + Data: RED, RED Attribute: enum2D {3, 2} Type: enum 32-bit little-endian integer { RED = 0 @@ -216,35 +210,47 @@ dset Dataset {2/2} } 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 + Attribute: enum3D {4, 3, 2} + Type: enum 32-bit little-endian integer { + RED = 0 + GREEN = 1 + } 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 + (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: float {2} + Type: IEEE 32-bit little-endian float + Data: 1, 2 + Attribute: float2D {3, 2} + Type: IEEE 32-bit little-endian float Data: (0,0) 1, 2, 3, 4, 5, 6 - Attribute: float2D {3, 2} + 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 + Attribute: integer {2} + Type: 32-bit little-endian integer + Data: 1, 2 + Attribute: integer2D {3, 2} + Type: 32-bit little-endian integer + Data: (0,0) 1, 2, 3, 4, 5, 6 - Attribute: string3D {4, 3, 2} - Type: 2-byte null-terminated ASCII string + Attribute: integer3D {4, 3, 2} + Type: 32-bit little-endian integer 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 + (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: opaque {2} + Type: 1-byte opaque type + (tag = "1-byte opaque type") + Data: 0x01, 0x02 + Attribute: opaque2D {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 + (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 Attribute: opaque3D {4, 3, 2} Type: 1-byte opaque type (tag = "1-byte opaque type") @@ -252,16 +258,14 @@ dset Dataset {2/2} (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 + Attribute: reference {2} + Type: object reference + Data: DATASET-1:976, DATASET-1:976 + Attribute: reference2D {3, 2} + Type: object reference 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} + (0,0) DATASET-1:976, DATASET-1:976, DATASET-1:976, DATASET-1:976, + (2,0) DATASET-1:976, DATASET-1:976 Attribute: reference3D {4, 3, 2} Type: object reference Data: @@ -271,14 +275,28 @@ dset Dataset {2/2} (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 - } + Attribute: string {2} + Type: 2-byte null-terminated ASCII string + Data: "ab", "de" + Attribute: string2D {3, 2} + Type: 2-byte null-terminated ASCII string 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 + (0,0) "ab", "cd", "ef", "gh", "ij", "kl" + 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: vlen {2} + Type: variable length of + 32-bit little-endian integer + Data: (1), (2,3) + 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: vlen3D {4, 3, 2} Type: variable length of 32-bit little-endian integer @@ -288,6 +306,18 @@ dset Dataset {2/2} (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) + Location: 1:976 + Links: 1 + Storage: 8 logical bytes, 0 allocated bytes + Type: 32-bit little-endian integer +g1 Group + Attribute: array {2} + Type: [3] 32-bit little-endian integer + Data: [1,2,3], [4,5,6] + 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: array3D {4, 3, 2} Type: [3] 32-bit little-endian integer Data: @@ -296,69 +326,25 @@ dset Dataset {2/2} (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 - 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: bitfield2D {3, 2} + Type: 8-bit bitfield + Data: + (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 + 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: 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 @@ -366,6 +352,22 @@ g1 Group } 12 bytes Data: (0,0) {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12} + 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: enum {2} + Type: enum 32-bit little-endian integer { + RED = 0 + GREEN = 1 + } + Data: RED, RED Attribute: enum2D {3, 2} Type: enum 32-bit little-endian integer { RED = 0 @@ -373,35 +375,47 @@ g1 Group } 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 + Attribute: enum3D {4, 3, 2} + Type: enum 32-bit little-endian integer { + RED = 0 + GREEN = 1 + } 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 + (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: float {2} + Type: IEEE 32-bit little-endian float + Data: 1, 2 + Attribute: float2D {3, 2} + Type: IEEE 32-bit little-endian float Data: (0,0) 1, 2, 3, 4, 5, 6 - Attribute: float2D {3, 2} + 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 + Attribute: integer {2} + Type: 32-bit little-endian integer + Data: 1, 2 + Attribute: integer2D {3, 2} + Type: 32-bit little-endian integer + Data: (0,0) 1, 2, 3, 4, 5, 6 - Attribute: string3D {4, 3, 2} - Type: 2-byte null-terminated ASCII string + Attribute: integer3D {4, 3, 2} + Type: 32-bit little-endian integer 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 + (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: opaque {2} + Type: 1-byte opaque type + (tag = "1-byte opaque type") + Data: 0x01, 0x02 + Attribute: opaque2D {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 + (0,0) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 Attribute: opaque3D {4, 3, 2} Type: 1-byte opaque type (tag = "1-byte opaque type") @@ -409,24 +423,28 @@ g1 Group (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 + Attribute: string {2} + Type: 2-byte null-terminated ASCII string + Data: "ab", "de" + Attribute: string2D {3, 2} + Type: 2-byte null-terminated ASCII string 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 - } + (0,0) "ab", "cd", "ef", "gh", "ij", "kl" + Attribute: string3D {4, 3, 2} + Type: 2-byte null-terminated ASCII string 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 + (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: vlen {2} + Type: variable length of + 32-bit little-endian integer + Data: (1), (2,3) + 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: vlen3D {4, 3, 2} Type: variable length of 32-bit little-endian integer @@ -436,24 +454,6 @@ g1 Group (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 diff --git a/tools/testfiles/tref-escapes-at.h5.xml b/tools/testfiles/tref-escapes-at.h5.xml index 403c9ce..b7a1158 100644 --- a/tools/testfiles/tref-escapes-at.h5.xml +++ b/tools/testfiles/tref-escapes-at.h5.xml @@ -200,7 +200,7 @@ Expected output for 'h5dump --xml tref-escapes-at.h5' <hdf5:IntegerType ByteOrder="BE" Sign="false" Size="1" /> </hdf5:AtomicType> </hdf5:DataType> - <hdf5:Attribute Name="reftoquote"> + <hdf5:Attribute Name="reftoamp"> <hdf5:Dataspace> <hdf5:SimpleDataspace Ndims="1"> <hdf5:Dimension DimSize="1" MaxDimSize="1"/> @@ -215,11 +215,11 @@ Expected output for 'h5dump --xml tref-escapes-at.h5' </hdf5:DataType> <hdf5:Data> <hdf5:DataFromFile> - "/Group1/Dataset\"quote" + "/Group1/Dataset&amp" </hdf5:DataFromFile> </hdf5:Data> </hdf5:Attribute> - <hdf5:Attribute Name="reftoslash"> + <hdf5:Attribute Name="reftoapos"> <hdf5:Dataspace> <hdf5:SimpleDataspace Ndims="1"> <hdf5:Dimension DimSize="1" MaxDimSize="1"/> @@ -234,11 +234,11 @@ Expected output for 'h5dump --xml tref-escapes-at.h5' </hdf5:DataType> <hdf5:Data> <hdf5:DataFromFile> - "/Group1/Dataset\\slash" + "/Group1/Dataset'apos" </hdf5:DataFromFile> </hdf5:Data> </hdf5:Attribute> - <hdf5:Attribute Name="reftoamp"> + <hdf5:Attribute Name="reftogt"> <hdf5:Dataspace> <hdf5:SimpleDataspace Ndims="1"> <hdf5:Dimension DimSize="1" MaxDimSize="1"/> @@ -253,7 +253,7 @@ Expected output for 'h5dump --xml tref-escapes-at.h5' </hdf5:DataType> <hdf5:Data> <hdf5:DataFromFile> - "/Group1/Dataset&amp" + "/Group1/Dataset>gt" </hdf5:DataFromFile> </hdf5:Data> </hdf5:Attribute> @@ -276,7 +276,7 @@ Expected output for 'h5dump --xml tref-escapes-at.h5' </hdf5:DataFromFile> </hdf5:Data> </hdf5:Attribute> - <hdf5:Attribute Name="reftogt"> + <hdf5:Attribute Name="reftoquote"> <hdf5:Dataspace> <hdf5:SimpleDataspace Ndims="1"> <hdf5:Dimension DimSize="1" MaxDimSize="1"/> @@ -291,11 +291,11 @@ Expected output for 'h5dump --xml tref-escapes-at.h5' </hdf5:DataType> <hdf5:Data> <hdf5:DataFromFile> - "/Group1/Dataset>gt" + "/Group1/Dataset\"quote" </hdf5:DataFromFile> </hdf5:Data> </hdf5:Attribute> - <hdf5:Attribute Name="reftoapos"> + <hdf5:Attribute Name="reftoslash"> <hdf5:Dataspace> <hdf5:SimpleDataspace Ndims="1"> <hdf5:Dimension DimSize="1" MaxDimSize="1"/> @@ -310,7 +310,7 @@ Expected output for 'h5dump --xml tref-escapes-at.h5' </hdf5:DataType> <hdf5:Data> <hdf5:DataFromFile> - "/Group1/Dataset'apos" + "/Group1/Dataset\\slash" </hdf5:DataFromFile> </hdf5:Data> </hdf5:Attribute> diff --git a/tools/testfiles/treference.ddl b/tools/testfiles/treference.ddl index 9a21ef7..b34fa8d 100644 --- a/tools/testfiles/treference.ddl +++ b/tools/testfiles/treference.ddl @@ -3,16 +3,38 @@ Expected output for 'h5dump tattr2.h5' ############################# HDF5 "tattr2.h5" { GROUP "/" { - ATTRIBUTE "string" { - DATATYPE H5T_STRING { - STRSIZE 2; - STRPAD H5T_STR_NULLTERM; - CSET H5T_CSET_ASCII; - CTYPE H5T_C_S1; - } + ATTRIBUTE "array" { + DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } DATASPACE SIMPLE { ( 2 ) / ( 2 ) } DATA { - (0): "ab", "de" + (0): [ 1, 2, 3 ], [ 4, 5, 6 ] + } + } + 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 "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 "bitfield" { @@ -22,14 +44,31 @@ GROUP "/" { (0): 0x01, 0x02 } } - ATTRIBUTE "opaque" { - DATATYPE - H5T_OPAQUE; - OPAQUE_TAG "1-byte opaque type"; - - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + ATTRIBUTE "bitfield2D" { + DATATYPE H5T_STD_B8LE + DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } DATA { - (0): 0x01, 0x02 + (0,0): 0x01, 0x02, + (1,0): 0x03, 0x04, + (2,0): 0x05, 0x06 + } + } + 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 "compound" { @@ -49,80 +88,6 @@ GROUP "/" { } } } - 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"; @@ -156,117 +121,6 @@ GROUP "/" { } } } - 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"; @@ -372,6 +226,30 @@ GROUP "/" { } } } + ATTRIBUTE "enum" { + DATATYPE H5T_ENUM { + H5T_STD_I32LE; + "RED" 0; + "GREEN" 1; + } + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): RED, RED + } + } + 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 "enum3D" { DATATYPE H5T_ENUM { H5T_STD_I32LE; @@ -394,44 +272,24 @@ GROUP "/" { (3,2,0): RED, RED } } - ATTRIBUTE "vlen3D" { - DATATYPE H5T_VLEN { H5T_STD_I32LE} - DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } + ATTRIBUTE "float" { + DATATYPE H5T_IEEE_F32LE + DATASPACE SIMPLE { ( 2 ) / ( 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) + (0): 1, 2 } } - ATTRIBUTE "array3D" { - DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } - DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } + ATTRIBUTE "float2D" { + DATATYPE H5T_IEEE_F32LE + DATASPACE SIMPLE { ( 3, 2 ) / ( 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 ] + (0,0): 1, 2, + (1,0): 3, 4, + (2,0): 5, 6 } } - ATTRIBUTE "integer3D" { - DATATYPE H5T_STD_I32LE + ATTRIBUTE "float3D" { + DATATYPE H5T_IEEE_F32LE DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { (0,0,0): 1, 2, @@ -448,8 +306,24 @@ GROUP "/" { (3,2,0): 23, 24 } } - ATTRIBUTE "float3D" { - DATATYPE H5T_IEEE_F32LE + ATTRIBUTE "integer" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): 1, 2 + } + } + 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 "integer3D" { + DATATYPE H5T_STD_I32LE DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { (0,0,0): 1, 2, @@ -466,82 +340,137 @@ GROUP "/" { (3,2,0): 23, 24 } } - DATASET "dset" { - DATATYPE H5T_STD_I32LE + ATTRIBUTE "opaque" { + DATATYPE + H5T_OPAQUE; + OPAQUE_TAG "1-byte opaque type"; + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } DATA { - (0): 0, 0 + (0): 0x01, 0x02 } - 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 "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 "bitfield" { - DATATYPE H5T_STD_B8LE - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } - DATA { - (0): 0x01, 0x02 - } + } + 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 "opaque" { - DATATYPE - H5T_OPAQUE; - OPAQUE_TAG "1-byte opaque type"; - - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } - DATA { - (0): 0x01, 0x02 + } + 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 "compound" { - DATATYPE H5T_COMPOUND { - H5T_STD_I8LE "a"; - H5T_IEEE_F64LE "b"; - } - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } - DATA { - (0): { - 1, - 2 - }, - (1): { - 3, - 4 - } + } + 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 "reference" { - DATATYPE H5T_REFERENCE - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } - DATA { - (0): DATASET 976 /dset , DATASET 976 /dset + } + 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 "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 "vlen" { - DATATYPE H5T_VLEN { H5T_STD_I32LE} - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } - DATA { - (0): (1), (2, 3) - } + } + 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 "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) + } + } + DATASET "dset" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): 0, 0 } ATTRIBUTE "array" { DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } @@ -550,32 +479,38 @@ GROUP "/" { (0): [ 1, 2, 3 ], [ 4, 5, 6 ] } } - ATTRIBUTE "integer" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + ATTRIBUTE "array2D" { + DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } + DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } DATA { - (0): 1, 2 + (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 "float" { - DATATYPE H5T_IEEE_F32LE - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + ATTRIBUTE "array3D" { + DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } + DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { - (0): 1, 2 + (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 "string2D" { - DATATYPE H5T_STRING { - STRSIZE 2; - STRPAD H5T_STR_NULLTERM; - CSET H5T_CSET_ASCII; - CTYPE H5T_C_S1; - } - DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } + ATTRIBUTE "bitfield" { + DATATYPE H5T_STD_B8LE + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } DATA { - (0,0): "ab", "cd", - (1,0): "ef", "gh", - (2,0): "ij", "kl" + (0): 0x01, 0x02 } } ATTRIBUTE "bitfield2D" { @@ -587,16 +522,39 @@ GROUP "/" { (2,0): 0x05, 0x06 } } - ATTRIBUTE "opaque2D" { - DATATYPE - H5T_OPAQUE; - OPAQUE_TAG "1-byte opaque type"; - - DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } + ATTRIBUTE "bitfield3D" { + DATATYPE H5T_STD_B8LE + DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { - (0,0): 0x01, 0x02, - (1,0): 0x03, 0x04, - (2,0): 0x05, 0x06 + (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 "compound" { + DATATYPE H5T_COMPOUND { + H5T_STD_I8LE "a"; + H5T_IEEE_F64LE "b"; + } + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): { + 1, + 2 + }, + (1): { + 3, + 4 + } } } ATTRIBUTE "compound2D" { @@ -632,126 +590,6 @@ GROUP "/" { } } } - 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"; @@ -857,22 +695,28 @@ GROUP "/" { } } } - ATTRIBUTE "reference3D" { - DATATYPE H5T_REFERENCE - DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } + ATTRIBUTE "enum" { + DATATYPE H5T_ENUM { + H5T_STD_I32LE; + "RED" 0; + "GREEN" 1; + } + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } DATA { - (0,0,0): DATASET 976 /dset , DATASET 976 /dset , - (0,1,0): DATASET 976 /dset , DATASET 976 /dset , - (0,2,0): DATASET 976 /dset , DATASET 976 /dset , - (1,0,0): DATASET 976 /dset , DATASET 976 /dset , - (1,1,0): DATASET 976 /dset , DATASET 976 /dset , - (1,2,0): DATASET 976 /dset , DATASET 976 /dset , - (2,0,0): DATASET 976 /dset , DATASET 976 /dset , - (2,1,0): DATASET 976 /dset , DATASET 976 /dset , - (2,2,0): DATASET 976 /dset , DATASET 976 /dset , - (3,0,0): DATASET 976 /dset , DATASET 976 /dset , - (3,1,0): DATASET 976 /dset , DATASET 976 /dset , - (3,2,0): DATASET 976 /dset , DATASET 976 /dset + (0): RED, RED + } + } + 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 "enum3D" { @@ -897,44 +741,24 @@ GROUP "/" { (3,2,0): RED, RED } } - ATTRIBUTE "vlen3D" { - DATATYPE H5T_VLEN { H5T_STD_I32LE} - DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } + ATTRIBUTE "float" { + DATATYPE H5T_IEEE_F32LE + DATASPACE SIMPLE { ( 2 ) / ( 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) + (0): 1, 2 } } - ATTRIBUTE "array3D" { - DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } - DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } + ATTRIBUTE "float2D" { + DATATYPE H5T_IEEE_F32LE + DATASPACE SIMPLE { ( 3, 2 ) / ( 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 ] + (0,0): 1, 2, + (1,0): 3, 4, + (2,0): 5, 6 } } - ATTRIBUTE "integer3D" { - DATATYPE H5T_STD_I32LE + ATTRIBUTE "float3D" { + DATATYPE H5T_IEEE_F32LE DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { (0,0,0): 1, 2, @@ -951,8 +775,24 @@ GROUP "/" { (3,2,0): 23, 24 } } - ATTRIBUTE "float3D" { - DATATYPE H5T_IEEE_F32LE + ATTRIBUTE "integer" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): 1, 2 + } + } + 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 "integer3D" { + DATATYPE H5T_STD_I32LE DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { (0,0,0): 1, 2, @@ -969,27 +809,6 @@ GROUP "/" { (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; @@ -1000,60 +819,83 @@ GROUP "/" { (0): 0x01, 0x02 } } - ATTRIBUTE "compound" { - DATATYPE H5T_COMPOUND { - H5T_STD_I8LE "a"; - H5T_IEEE_F64LE "b"; - } - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + ATTRIBUTE "opaque2D" { + DATATYPE + H5T_OPAQUE; + OPAQUE_TAG "1-byte opaque type"; + + DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } DATA { - (0): { - 1, - 2 - }, - (1): { - 3, - 4 - } + (0,0): 0x01, 0x02, + (1,0): 0x03, 0x04, + (2,0): 0x05, 0x06 } } - ATTRIBUTE "enum" { - DATATYPE H5T_ENUM { - H5T_STD_I32LE; - "RED" 0; - "GREEN" 1; - } - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + ATTRIBUTE "opaque3D" { + DATATYPE + H5T_OPAQUE; + OPAQUE_TAG "1-byte opaque type"; + + DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { - (0): RED, RED + (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 "vlen" { - DATATYPE H5T_VLEN { H5T_STD_I32LE} + ATTRIBUTE "reference" { + DATATYPE H5T_REFERENCE DATASPACE SIMPLE { ( 2 ) / ( 2 ) } DATA { - (0): (1), (2, 3) + (0): DATASET 976 /dset , DATASET 976 /dset } } - ATTRIBUTE "array" { - DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + ATTRIBUTE "reference2D" { + DATATYPE H5T_REFERENCE + DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } DATA { - (0): [ 1, 2, 3 ], [ 4, 5, 6 ] + (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 "integer" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + ATTRIBUTE "reference3D" { + DATATYPE H5T_REFERENCE + DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { - (0): 1, 2 + (0,0,0): DATASET 976 /dset , DATASET 976 /dset , + (0,1,0): DATASET 976 /dset , DATASET 976 /dset , + (0,2,0): DATASET 976 /dset , DATASET 976 /dset , + (1,0,0): DATASET 976 /dset , DATASET 976 /dset , + (1,1,0): DATASET 976 /dset , DATASET 976 /dset , + (1,2,0): DATASET 976 /dset , DATASET 976 /dset , + (2,0,0): DATASET 976 /dset , DATASET 976 /dset , + (2,1,0): DATASET 976 /dset , DATASET 976 /dset , + (2,2,0): DATASET 976 /dset , DATASET 976 /dset , + (3,0,0): DATASET 976 /dset , DATASET 976 /dset , + (3,1,0): DATASET 976 /dset , DATASET 976 /dset , + (3,2,0): DATASET 976 /dset , DATASET 976 /dset } } - ATTRIBUTE "float" { - DATATYPE H5T_IEEE_F32LE + 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): 1, 2 + (0): "ab", "de" } } ATTRIBUTE "string2D" { @@ -1070,80 +912,70 @@ GROUP "/" { (2,0): "ij", "kl" } } - ATTRIBUTE "bitfield2D" { - DATATYPE H5T_STD_B8LE - DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } + 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): 0x01, 0x02, - (1,0): 0x03, 0x04, - (2,0): 0x05, 0x06 + (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 "opaque2D" { - DATATYPE - H5T_OPAQUE; - OPAQUE_TAG "1-byte opaque type"; - - DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } + ATTRIBUTE "vlen" { + DATATYPE H5T_VLEN { H5T_STD_I32LE} + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } DATA { - (0,0): 0x01, 0x02, - (1,0): 0x03, 0x04, - (2,0): 0x05, 0x06 + (0): (1), (2, 3) } } - ATTRIBUTE "compound2D" { - DATATYPE H5T_COMPOUND { - H5T_STD_I8LE "a"; - H5T_IEEE_F64LE "b"; - } + ATTRIBUTE "vlen2D" { + DATATYPE H5T_VLEN { H5T_STD_I32LE} 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 - } + (0,0): (0), (1), + (1,0): (2, 3), (4, 5), + (2,0): (6, 7, 8), (9, 10, 11) } } - ATTRIBUTE "enum2D" { - DATATYPE H5T_ENUM { - H5T_STD_I32LE; - "RED" 0; - "GREEN" 1; - } - DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } + ATTRIBUTE "vlen3D" { + DATATYPE H5T_VLEN { H5T_STD_I32LE} + DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { - (0,0): RED, RED, - (1,0): RED, RED, - (2,0): RED, RED + (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 "vlen2D" { - DATATYPE H5T_VLEN { H5T_STD_I32LE} - DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } + } + GROUP "g1" { + ATTRIBUTE "array" { + DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } DATA { - (0,0): (0), (1), - (1,0): (2, 3), (4, 5), - (2,0): (6, 7, 8), (9, 10, 11) + (0): [ 1, 2, 3 ], [ 4, 5, 6 ] } } ATTRIBUTE "array2D" { @@ -1155,45 +987,38 @@ GROUP "/" { (2,0): [ 13, 14, 15 ], [ 16, 17, 18 ] } } - ATTRIBUTE "integer2D" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } + ATTRIBUTE "array3D" { + DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } + DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { - (0,0): 1, 2, - (1,0): 3, 4, - (2,0): 5, 6 + (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 "float2D" { - DATATYPE H5T_IEEE_F32LE - DATASPACE SIMPLE { ( 3, 2 ) / ( 3, 2 ) } + ATTRIBUTE "bitfield" { + DATATYPE H5T_STD_B8LE + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } DATA { - (0,0): 1, 2, - (1,0): 3, 4, - (2,0): 5, 6 + (0): 0x01, 0x02 } } - 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 ) } + ATTRIBUTE "bitfield2D" { + DATATYPE H5T_STD_B8LE + DATASPACE SIMPLE { ( 3, 2 ) / ( 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" + (0,0): 0x01, 0x02, + (1,0): 0x03, 0x04, + (2,0): 0x05, 0x06 } } ATTRIBUTE "bitfield3D" { @@ -1214,25 +1039,54 @@ GROUP "/" { (3,2,0): 0x17, 0x18 } } - ATTRIBUTE "opaque3D" { - DATATYPE - H5T_OPAQUE; - OPAQUE_TAG "1-byte opaque type"; - - DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } + ATTRIBUTE "compound" { + DATATYPE H5T_COMPOUND { + H5T_STD_I8LE "a"; + H5T_IEEE_F64LE "b"; + } + DATASPACE SIMPLE { ( 2 ) / ( 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 + (0): { + 1, + 2 + }, + (1): { + 3, + 4 + } + } + } + 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 "compound3D" { @@ -1340,6 +1194,30 @@ GROUP "/" { } } } + ATTRIBUTE "enum" { + DATATYPE H5T_ENUM { + H5T_STD_I32LE; + "RED" 0; + "GREEN" 1; + } + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): RED, RED + } + } + 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 "enum3D" { DATATYPE H5T_ENUM { H5T_STD_I32LE; @@ -1362,44 +1240,24 @@ GROUP "/" { (3,2,0): RED, RED } } - ATTRIBUTE "vlen3D" { - DATATYPE H5T_VLEN { H5T_STD_I32LE} - DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } + ATTRIBUTE "float" { + DATATYPE H5T_IEEE_F32LE + DATASPACE SIMPLE { ( 2 ) / ( 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) + (0): 1, 2 } } - ATTRIBUTE "array3D" { - DATATYPE H5T_ARRAY { [3] H5T_STD_I32LE } - DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } + ATTRIBUTE "float2D" { + DATATYPE H5T_IEEE_F32LE + DATASPACE SIMPLE { ( 3, 2 ) / ( 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 ] + (0,0): 1, 2, + (1,0): 3, 4, + (2,0): 5, 6 } } - ATTRIBUTE "integer3D" { - DATATYPE H5T_STD_I32LE + ATTRIBUTE "float3D" { + DATATYPE H5T_IEEE_F32LE DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { (0,0,0): 1, 2, @@ -1416,8 +1274,24 @@ GROUP "/" { (3,2,0): 23, 24 } } - ATTRIBUTE "float3D" { - DATATYPE H5T_IEEE_F32LE + ATTRIBUTE "integer" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): 1, 2 + } + } + 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 "integer3D" { + DATATYPE H5T_STD_I32LE DATASPACE SIMPLE { ( 4, 3, 2 ) / ( 4, 3, 2 ) } DATA { (0,0,0): 1, 2, @@ -1434,6 +1308,132 @@ GROUP "/" { (3,2,0): 23, 24 } } + ATTRIBUTE "opaque" { + DATATYPE + H5T_OPAQUE; + OPAQUE_TAG "1-byte opaque type"; + + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): 0x01, 0x02 + } + } + 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 "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 "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 "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 "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 "vlen" { + DATATYPE H5T_VLEN { H5T_STD_I32LE} + DATASPACE SIMPLE { ( 2 ) / ( 2 ) } + DATA { + (0): (1), (2, 3) + } + } + 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 "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) + } + } } GROUP "g2" { DATASET "array" { |