[svn-r29186] HDFFV-9654: add VDS options to h5dump

includes new data files
This commit is contained in:
Allen Byrne 2016-02-23 15:23:46 -05:00
parent 807187e2f2
commit f7689087de
30 changed files with 1254 additions and 136 deletions

View File

@ -1731,6 +1731,11 @@
./tools/testfiles/vds/tvds_layout-3_2.ddl
./tools/testfiles/vds/tvds_layout-4.ddl
./tools/testfiles/vds/tvds_layout-5.ddl
./tools/testfiles/vds/vds-first.ddl
./tools/testfiles/vds/vds-gap1.ddl
./tools/testfiles/vds/vds-gap2.ddl
./tools/testfiles/vds/vds_layout-eiger.ddl
./tools/testfiles/vds/vds_layout-maxmin.ddl
./tools/testfiles/vds/1_a.h5
./tools/testfiles/vds/1_b.h5
./tools/testfiles/vds/1_c.h5
@ -1754,6 +1759,14 @@
./tools/testfiles/vds/5_b.h5
./tools/testfiles/vds/5_c.h5
./tools/testfiles/vds/5_vds.h5
./tools/testfiles/vds/a.h5
./tools/testfiles/vds/b.h5
./tools/testfiles/vds/c.h5
./tools/testfiles/vds/d.h5
./tools/testfiles/vds/vds-percival-unlim-maxmin.h5
./tools/testfiles/vds/f-0.h5
./tools/testfiles/vds/f-3.h5
./tools/testfiles/vds/vds-eiger.h5
# h5dump h5import validation
./tools/testfiles/out3.h5import

View File

@ -22,6 +22,11 @@
tvds_layout-3_2.ddl
tvds_layout-4.ddl
tvds_layout-5.ddl
vds-first.ddl
vds-gap1.ddl
vds-gap2.ddl
vds_layout-eiger.ddl
vds_layout-maxmin.ddl
)
set (HDF5_REFERENCE_TEST_VDS
1_a.h5
@ -47,6 +52,14 @@
5_b.h5
5_c.h5
5_vds.h5
a.h5
b.h5
c.h5
d.h5
vds-percival-unlim-maxmin.h5
f-0.h5
f-3.h5
vds-eiger.h5
)
set (HDF5_ERROR_REFERENCE_VDS
)
@ -184,6 +197,12 @@
tvds-4.out.err
tvds-5.out
tvds-5.out.err
vds-first.out
vds-first.out.err
vds-gap1.out
vds-gap1.out.err
vds-gap2.out
vds-gap2.out.err
tvds_layout-1.out
tvds_layout-1.out.err
tvds_layout-2.out
@ -196,6 +215,10 @@
tvds_layout-4.out.err
tvds_layout-5.out
tvds_layout-5.out.err
vds_layout-eiger.out
vds_layout-eiger.out.err
vds_layout-maxmin.out
vds_layout-maxmin.out.err
)
set_tests_properties (H5DUMP_VDS-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/vds")
if (NOT "${last_vds_test}" STREQUAL "")
@ -225,6 +248,9 @@
ADD_H5_VDS_TEST (tvds-3_2 0 --enable-error-stack 3_2_vds.h5)
ADD_H5_VDS_TEST (tvds-4 0 --enable-error-stack 4_vds.h5)
ADD_H5_VDS_TEST (tvds-5 0 --enable-error-stack 5_vds.h5)
ADD_H5_VDS_TEST (vds-first 0 --vds-view-first-missing --enable-error-stack vds-percival-unlim-maxmin.h5)
ADD_H5_VDS_TEST (vds-gap1 0 -d /VDS-Eiger --vds-gap-size=1 --enable-error-stack vds-eiger.h5)
ADD_H5_VDS_TEST (vds-gap2 0 --vds-gap-size=2 --enable-error-stack vds-eiger.h5)
endif (USE_FILTER_DEFLATE)
# Layout read
@ -235,4 +261,6 @@
ADD_H5_VDS_LAYOUT (tvds_layout-3_2 0 --enable-error-stack 3_2_vds.h5)
ADD_H5_VDS_LAYOUT (tvds_layout-4 0 --enable-error-stack 4_vds.h5)
ADD_H5_VDS_LAYOUT (tvds_layout-5 0 --enable-error-stack 5_vds.h5)
ADD_H5_VDS_LAYOUT (vds_layout-eiger 0 --enable-error-stack vds-eiger.h5)
ADD_H5_VDS_LAYOUT (vds_layout-maxmin 0 --enable-error-stack vds-percival-unlim-maxmin.h5)
endif (USE_FILTER_DEFLATE)

View File

@ -71,7 +71,7 @@ struct handler_t {
*/
/* The following initialization makes use of C language cancatenating */
/* "xxx" "yyy" into "xxxyyy". */
static const char *s_opts = "hn*peyBHirVa:c:d:f:g:k:l:t:w:xD:uX:o*b*F:s:S:A*q:z:m:RECM:O*N:";
static const char *s_opts = "hn*peyBHirVa:c:d:f:g:k:l:t:w:xD:uX:o*b*F:s:S:A*q:z:m:RECM:O*N:vG:";
static struct long_options l_opts[] = {
{ "help", no_arg, 'h' },
{ "hel", no_arg, 'h' },
@ -190,6 +190,8 @@ static struct long_options l_opts[] = {
{ "no-compact-subset", no_arg, 'C' },
{ "ddl", optional_arg, 'O' },
{ "any_path", require_arg, 'N' },
{ "vds-view-first-missing", no_arg, 'v' },
{ "vds-gap-size", require_arg, 'G' },
{ NULL, 0, '\0' }
};
@ -256,6 +258,8 @@ usage(const char *prog)
PRINTVALSTREAM(rawoutstream, " P can be the absolute path or just a relative path.\n");
PRINTVALSTREAM(rawoutstream, " -A, --onlyattr Print the header and value of attributes\n");
PRINTVALSTREAM(rawoutstream, " Optional value 0 suppresses printing attributes.\n");
PRINTVALSTREAM(rawoutstream, " --vds-view-first-missing Set the VDS bounds to first missing mapped elements.\n");
PRINTVALSTREAM(rawoutstream, " --vds-gap-size=N Set the missing file gap size, N=non-negative integers\n");
PRINTVALSTREAM(rawoutstream, "--------------- Object Property Options ---------------\n");
PRINTVALSTREAM(rawoutstream, " -i, --object-ids Print the object ids\n");
PRINTVALSTREAM(rawoutstream, " -p, --properties Print dataset filters, storage layout and fill value\n");
@ -1121,6 +1125,16 @@ parse_start:
}
display_packed_bits = TRUE;
break;
case 'v':
display_vds_first = TRUE;
break;
case 'G':
vds_gap_size = HDatoi(opt_arg);
if (vds_gap_size < 0) {
usage(h5tools_getprogname());
goto error;
}
break;
/** begin XML parameters **/
case 'x':

View File

@ -78,6 +78,8 @@ int enable_error_stack= FALSE; /* re-enable error stack */
int disable_compact_subset= FALSE; /* disable compact form of subset notation */
int display_packed_bits = FALSE; /*print 1-8 byte numbers as packed bits*/
int include_attrs = TRUE; /* Display attributes */
int display_vds_first = FALSE; /* vds display to all by default*/
int vds_gap_size = 0; /* vds skip missing files default is none */
/* sort parameters */
H5_index_t sort_by = H5_INDEX_NAME; /*sort_by [creation_order | name] */

View File

@ -26,12 +26,12 @@
typedef struct {
hid_t fid; /* File ID being traversed */
char *op_name; /* Object name wanted */
char *op_name; /* Object name wanted */
} trav_handle_udata_t;
typedef struct {
char *path; /* Path of object being searched */
char *op_name; /* Object name wanted */
char *path; /* Path of object being searched */
char *op_name; /* Object name wanted */
} trav_attr_udata_t;
/* callback function used by H5Literate() */
@ -90,7 +90,7 @@ dump_dataspace(hid_t space)
HDmemset(&ctx, 0, sizeof(ctx));
ctx.indent_level = dump_indent/COL;
ctx.cur_column = dump_indent;
h5tools_dump_dataspace(rawoutstream, outputformat, &ctx, space);
}
@ -117,19 +117,19 @@ dump_attr_cb(hid_t oid, const char *attr_name, const H5A_info_t H5_ATTR_UNUSED *
h5tools_context_t ctx; /* print context */
h5tool_format_t *outputformat = &h5tools_dataformat;
h5tool_format_t string_dataformat;
hid_t attr_id;
herr_t ret = SUCCEED;
HDmemset(&ctx, 0, sizeof(ctx));
ctx.indent_level = dump_indent/COL;
ctx.cur_column = dump_indent;
attr_id = H5Aopen(oid, attr_name, H5P_DEFAULT);
oid_output = display_oid;
data_output = display_data;
attr_data_output = display_attr_data;
string_dataformat = *outputformat;
if (fp_format) {
@ -155,7 +155,7 @@ dump_attr_cb(hid_t oid, const char *attr_name, const H5A_info_t H5_ATTR_UNUSED *
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
}
return ret;
}
@ -185,6 +185,7 @@ static herr_t
dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR_UNUSED *op_data)
{
hid_t obj;
hid_t dapl_id = H5P_DEFAULT; /* dataset access property list ID */
herr_t ret = SUCCEED;
char *obj_path = NULL; /* Full path of object */
h5tools_str_t buffer; /* string into which to render */
@ -199,7 +200,7 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
HDmemset(&ctx, 0, sizeof(ctx));
ctx.indent_level = dump_indent/COL;
ctx.cur_column = dump_indent;
string_dataformat = *outputformat;
if (fp_format) {
@ -222,8 +223,8 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
if(!obj_path) {
ret = FAIL;
goto done;
}
}
HDstrcpy(obj_path, prefix);
HDstrcat(obj_path, "/");
HDstrcat(obj_path, name);
@ -269,7 +270,20 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
break;
case H5O_TYPE_DATASET:
if((obj = H5Dopen2(group, name, H5P_DEFAULT)) >= 0) {
if(display_data) {
if ((dapl_id = H5Pcreate(H5P_DATASET_ACCESS)) < 0) {
error_msg("error in creating default access property list ID\n");
}
if (display_vds_first) {
if(H5Pset_virtual_view(dapl_id, H5D_VDS_FIRST_MISSING) < 0)
error_msg("error in setting access property list ID, virtual_view\n");
}
if (vds_gap_size > 0) {
if(H5Pset_virtual_printf_gap(dapl_id, (hsize_t)vds_gap_size) < 0)
error_msg("error in setting access property list ID, virtual_printf_gap\n");
}
}
if((obj = H5Dopen2(group, name, dapl_id)) >= 0) {
if(oinfo.rc > 1 || hit_elink) {
obj_t *found_obj; /* Found object */
@ -308,9 +322,11 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
if (dapl_id != H5P_DEFAULT)
H5Pclose(dapl_id);
H5Dclose(obj);
goto done;
}
}
else if(found_obj->displayed) {
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
@ -347,18 +363,24 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
h5tools_str_append(&buffer, "%s", h5tools_dump_header_format->datasetend);
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
if (dapl_id != H5P_DEFAULT)
H5Pclose(dapl_id);
H5Dclose(obj);
goto done;
}
}
else {
found_obj->displayed = TRUE;
}
} /* end if */
dump_function_table->dump_dataset_function(obj, name, NULL);
if (dapl_id != H5P_DEFAULT)
H5Pclose(dapl_id);
H5Dclose(obj);
}
}
else {
if (dapl_id)
H5Pclose(dapl_id && dapl_id != H5P_DEFAULT);
error_msg("unable to dump dataset \"%s\"\n", name);
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
@ -370,7 +392,7 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
error_msg("unable to dump datatype \"%s\"\n", name);
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
}
}
else {
dump_function_table->dump_named_datatype_function(obj, name);
H5Tclose(obj);
@ -408,7 +430,7 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
error_msg("unable to get link value\n");
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
}
}
else {
/* print the value of a soft link */
/* Standard DDL: no modification */
@ -558,7 +580,7 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
done:
h5tools_str_close(&buffer);
if(obj_path)
HDfree(obj_path);
return ret;
@ -650,7 +672,7 @@ dump_named_datatype(hid_t tid, const char *name)
HDmemset(&ctx, 0, sizeof(ctx));
ctx.indent_level = dump_indent/COL;
ctx.cur_column = dump_indent;
string_dataformat = *outputformat;
if (fp_format) {
@ -685,7 +707,7 @@ dump_named_datatype(hid_t tid, const char *name)
}
ctx.need_prefix = TRUE;
/* Render the element */
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "%s \"%s\" %s",
@ -718,7 +740,7 @@ dump_named_datatype(hid_t tid, const char *name)
else
found_obj->displayed = TRUE;
} /* end if */
/* Render the element */
h5tools_str_reset(&buffer);
h5tools_print_datatype(rawoutstream, &buffer, outputformat, &ctx, tid, FALSE);
@ -726,7 +748,7 @@ dump_named_datatype(hid_t tid, const char *name)
if(H5Tget_class(tid) != H5T_COMPOUND) {
h5tools_str_append(&buffer, ";");
}
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
/* print attributes */
@ -813,7 +835,7 @@ dump_group(hid_t gid, const char *name)
HDmemset(&ctx, 0, sizeof(ctx));
ctx.indent_level = dump_indent/COL;
ctx.cur_column = dump_indent;
string_dataformat = *outputformat;
if (fp_format) {
@ -839,7 +861,7 @@ dump_group(hid_t gid, const char *name)
h5tools_dump_header_format->groupbegin, name,
h5tools_dump_header_format->groupblockbegin);
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
ctx.indent_level++;
dump_indent += COL;
@ -948,7 +970,7 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset)
HDmemset(&ctx, 0, sizeof(ctx));
ctx.indent_level = dump_indent/COL;
ctx.cur_column = dump_indent;
string_dataformat = *outputformat;
if (fp_format) {
@ -982,7 +1004,7 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset)
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
/* Render the element */
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "%s \"%s\" %s",
@ -994,7 +1016,7 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset)
dump_indent += COL;
ctx.indent_level++;
type = H5Dget_type(did);
h5dump_type_table = type_table;
h5tools_dump_datatype(rawoutstream, outputformat, &ctx, type);
@ -1018,6 +1040,7 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset)
if(display_data) {
int data_loop = 1;
int i;
if(display_packed_bits)
data_loop = packed_bits_num;
for(i=0; i<data_loop; i++) {
@ -1042,7 +1065,7 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset)
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, "DATA{ not yet implemented.}");
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
ctx.indent_level--;
break;
@ -1079,7 +1102,7 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset)
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
/* Render the element */
h5tools_str_reset(&buffer);
if(HDstrlen(h5tools_dump_header_format->datasetblockend)) {
@ -1189,7 +1212,7 @@ dump_fcpl(hid_t fid)
fdriver=H5Pget_driver(fapl);
H5Pclose(fapl);
#endif
/*-------------------------------------------------------------------------
* SUPER_BLOCK
*-------------------------------------------------------------------------
@ -1308,54 +1331,54 @@ static herr_t
attr_search(hid_t oid, const char *attr_name, const H5A_info_t H5_ATTR_UNUSED *ainfo, void *_op_data)
{
herr_t ret = SUCCEED;
int i;
int j;
int k;
char *obj_op_name;
int i;
int j;
int k;
char *obj_op_name;
char *obj_name;
trav_attr_udata_t *attr_data = (trav_attr_udata_t*)_op_data;
trav_attr_udata_t *attr_data = (trav_attr_udata_t*)_op_data;
char *buf = attr_data->path;
char *op_name = attr_data->op_name;
char *op_name = attr_data->op_name;
j = (int)HDstrlen(op_name) - 1;
/* find the last / */
while(j >= 0) {
if (op_name[j] == '/' && (j==0 || (j>0 && op_name[j-1]!='\\')))
break;
j--;
if (op_name[j] == '/' && (j==0 || (j>0 && op_name[j-1]!='\\')))
break;
j--;
}
obj_op_name = h5tools_str_replace(op_name + j + 1, "\\/", "/");
if(obj_op_name == NULL) {
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
}
else {
if(HDstrcmp(attr_name, obj_op_name)==0) {
/* object name */
i = (int)HDstrlen(buf);
j = (int)HDstrlen(op_name);
k = (size_t)i + 1 + (size_t)j + 1 + 2;
obj_name = (char *)HDmalloc((size_t)k);
if(obj_name == NULL) {
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
}
else {
HDmemset(obj_name, '\0', (size_t)k);
if(op_name[0] != '/') {
HDstrncat(obj_name, buf, (size_t)i + 1);
if(buf[i-1] != '/')
HDstrncat(obj_name, "/", (size_t)2);
}
HDstrncat(obj_name, op_name, (size_t)j + 1);
if(HDstrcmp(attr_name, obj_op_name)==0) {
/* object name */
i = (int)HDstrlen(buf);
j = (int)HDstrlen(op_name);
k = (size_t)i + 1 + (size_t)j + 1 + 2;
obj_name = (char *)HDmalloc((size_t)k);
if(obj_name == NULL) {
h5tools_setstatus(EXIT_FAILURE);
ret = FAIL;
}
else {
HDmemset(obj_name, '\0', (size_t)k);
if(op_name[0] != '/') {
HDstrncat(obj_name, buf, (size_t)i + 1);
if(buf[i-1] != '/')
HDstrncat(obj_name, "/", (size_t)2);
}
HDstrncat(obj_name, op_name, (size_t)j + 1);
handle_attributes(oid, obj_name, NULL, 0, NULL);
HDfree(obj_name);
}
}
HDfree(obj_op_name);
handle_attributes(oid, obj_name, NULL, 0, NULL);
HDfree(obj_name);
}
}
HDfree(obj_op_name);
}
return ret;
} /* end attr_search() */
@ -1363,7 +1386,7 @@ attr_search(hid_t oid, const char *attr_name, const H5A_info_t H5_ATTR_UNUSED *a
static herr_t
obj_search(const char *path, const H5O_info_t *oi, const char H5_ATTR_UNUSED *already_visited, void *_op_data)
{
trav_handle_udata_t *handle_data = (trav_handle_udata_t*)_op_data;
trav_handle_udata_t *handle_data = (trav_handle_udata_t*)_op_data;
char *op_name = (char*)handle_data->op_name;
trav_attr_udata_t attr_data;
@ -1372,22 +1395,22 @@ obj_search(const char *path, const H5O_info_t *oi, const char H5_ATTR_UNUSED *al
H5Aiterate_by_name(handle_data->fid, path, H5_INDEX_NAME, H5_ITER_INC, NULL, attr_search, (void*)&attr_data, H5P_DEFAULT);
if(HDstrcmp(path, op_name)==0) {
switch(oi->type) {
case H5O_TYPE_GROUP:
handle_groups(handle_data->fid, path, NULL, 0, NULL);
break;
case H5O_TYPE_DATASET:
handle_datasets(handle_data->fid, path, NULL, 0, NULL);
break;
case H5O_TYPE_NAMED_DATATYPE:
handle_datatypes(handle_data->fid, path, NULL, 0, NULL);
break;
case H5O_TYPE_UNKNOWN:
case H5O_TYPE_NTYPES:
default:
error_msg("unknown object type value\n");
h5tools_setstatus(EXIT_FAILURE);
} /* end switch */
switch(oi->type) {
case H5O_TYPE_GROUP:
handle_groups(handle_data->fid, path, NULL, 0, NULL);
break;
case H5O_TYPE_DATASET:
handle_datasets(handle_data->fid, path, NULL, 0, NULL);
break;
case H5O_TYPE_NAMED_DATATYPE:
handle_datatypes(handle_data->fid, path, NULL, 0, NULL);
break;
case H5O_TYPE_UNKNOWN:
case H5O_TYPE_NTYPES:
default:
error_msg("unknown object type value\n");
h5tools_setstatus(EXIT_FAILURE);
} /* end switch */
}
return 0;
@ -1397,48 +1420,48 @@ static herr_t
lnk_search(const char *path, const H5L_info_t *li, void *_op_data)
{
int search_len;
int k;
int k;
char *search_name;
trav_handle_udata_t *handle_data = (trav_handle_udata_t*)_op_data;
trav_handle_udata_t *handle_data = (trav_handle_udata_t*)_op_data;
char *op_name = (char*)handle_data->op_name;
search_len = HDstrlen(op_name);
if(search_len > 0 && op_name[0] != '/') {
k = 2;
k = 2;
}
else
k = 1;
search_name = (char *)HDmalloc((size_t)(search_len + k));
search_name = (char *)HDmalloc((size_t)(search_len + k));
if(search_name == NULL) {
error_msg("creating temporary link\n");
h5tools_setstatus(EXIT_FAILURE);
error_msg("creating temporary link\n");
h5tools_setstatus(EXIT_FAILURE);
}
else {
if (k == 2) {
HDstrcpy(search_name, "/");
HDstrncat(search_name, op_name, (size_t)search_len + 1);
}
else
HDstrncpy(search_name, op_name, (size_t)search_len + 1);
search_name[search_len + k - 1] = '\0';
if (k == 2) {
HDstrcpy(search_name, "/");
HDstrncat(search_name, op_name, (size_t)search_len + 1);
}
else
HDstrncpy(search_name, op_name, (size_t)search_len + 1);
search_name[search_len + k - 1] = '\0';
if(HDstrcmp(path, search_name) == 0) {
switch(li->type) {
case H5L_TYPE_SOFT:
case H5L_TYPE_EXTERNAL:
handle_links(handle_data->fid, op_name, NULL, 0, NULL);
break;
if(HDstrcmp(path, search_name) == 0) {
switch(li->type) {
case H5L_TYPE_SOFT:
case H5L_TYPE_EXTERNAL:
handle_links(handle_data->fid, op_name, NULL, 0, NULL);
break;
case H5L_TYPE_HARD:
case H5L_TYPE_MAX:
case H5L_TYPE_ERROR:
default:
error_msg("unknown link type value\n");
h5tools_setstatus(EXIT_FAILURE);
break;
} /* end switch() */
}
HDfree(search_name);
case H5L_TYPE_HARD:
case H5L_TYPE_MAX:
case H5L_TYPE_ERROR:
default:
error_msg("unknown link type value\n");
h5tools_setstatus(EXIT_FAILURE);
break;
} /* end switch() */
}
HDfree(search_name);
}
return 0;
} /* end lnk_search() */
@ -1465,7 +1488,7 @@ handle_paths(hid_t fid, const char *path_name, void H5_ATTR_UNUSED * data, int H
hid_t gcpl_id;
unsigned crt_order_flags;
unsigned attr_crt_order_flags;
trav_handle_udata_t handle_udata; /* User data for traversal */
trav_handle_udata_t handle_udata; /* User data for traversal */
if ((gcpl_id = H5Gget_create_plist(gid)) < 0) {
error_msg("error in getting group creation property list ID\n");
@ -1489,12 +1512,12 @@ handle_paths(hid_t fid, const char *path_name, void H5_ATTR_UNUSED * data, int H
h5tools_setstatus(EXIT_FAILURE);
}
handle_udata.fid = fid;
handle_udata.op_name = (char*)path_name;
if(h5trav_visit(fid, "/", TRUE, TRUE, obj_search, lnk_search, &handle_udata) < 0) {
error_msg("error traversing information\n");
h5tools_setstatus(EXIT_FAILURE);
}
handle_udata.fid = fid;
handle_udata.op_name = (char*)path_name;
if(h5trav_visit(fid, "/", TRUE, TRUE, obj_search, lnk_search, &handle_udata) < 0) {
error_msg("error traversing information\n");
h5tools_setstatus(EXIT_FAILURE);
}
}
}
@ -1536,7 +1559,7 @@ handle_attributes(hid_t fid, const char *attr, void H5_ATTR_UNUSED * data, int H
/* find the last / */
while(j >= 0) {
if (attr[j] == '/' && (j==0 || (j>0 && attr[j-1]!='\\')))
if (attr[j] == '/' && (j==0 || (j>0 && attr[j-1]!='\\')))
break;
j--;
}
@ -1571,7 +1594,7 @@ handle_attributes(hid_t fid, const char *attr, void H5_ATTR_UNUSED * data, int H
string_dataformat.do_escape = display_escape;
outputformat = &string_dataformat;
attr_name = h5tools_str_replace(attr + j + 1, "\\/", "/");
attr_name = h5tools_str_replace(attr + j + 1, "\\/", "/");
/* handle error case: cannot open the object with the attribute */
if((oid = H5Oopen(fid, obj_name, H5P_DEFAULT)) < 0) {
@ -1627,7 +1650,7 @@ handle_attributes(hid_t fid, const char *attr, void H5_ATTR_UNUSED * data, int H
} /* end if */
HDfree(obj_name);
HDfree(attr_name);
HDfree(attr_name);
dump_indent -= COL;
return;
@ -1635,9 +1658,9 @@ error:
h5tools_setstatus(EXIT_FAILURE);
if(obj_name)
HDfree(obj_name);
if (attr_name)
HDfree(attr_name);
if (attr_name)
HDfree(attr_name);
H5E_BEGIN_TRY {
H5Oclose(oid);
@ -1672,10 +1695,24 @@ handle_datasets(hid_t fid, const char *dset, void *data, int pe, const char *dis
{
H5O_info_t oinfo;
hid_t dsetid;
hid_t dapl_id = H5P_DEFAULT; /* dataset access property list ID */
struct subset_t *sset = (struct subset_t *)data;
const char *real_name = display_name ? display_name : dset;
if((dsetid = H5Dopen2(fid, dset, H5P_DEFAULT)) < 0) {
if(display_data) {
if ((dapl_id = H5Pcreate(H5P_DATASET_ACCESS)) < 0) {
error_msg("error in creating default access property list ID\n");
}
if (display_vds_first) {
if(H5Pset_virtual_view(dapl_id, H5D_VDS_FIRST_MISSING) < 0)
error_msg("error in setting access property list ID, virtual_view\n");
}
if (vds_gap_size > 0) {
if(H5Pset_virtual_printf_gap(dapl_id, (hsize_t)vds_gap_size) < 0)
error_msg("error in setting access property list ID, virtual_printf_gap\n");
}
}
if((dsetid = H5Dopen2(fid, dset, dapl_id)) < 0) {
if (pe) {
handle_links(fid, dset, data, pe, display_name);
}
@ -1752,7 +1789,7 @@ handle_datasets(hid_t fid, const char *dset, void *data, int pe, const char *dis
h5tools_setstatus(EXIT_FAILURE);
return;
}
/*-------------------------------------------------------------------------
* check for block overlap
*-------------------------------------------------------------------------
@ -1785,7 +1822,7 @@ handle_datasets(hid_t fid, const char *dset, void *data, int pe, const char *dis
PRINTSTREAM(rawoutstream, "%s \"%s\"\n", HARDLINK, found_obj->objname);
indentation(dump_indent);
end_obj(h5tools_dump_header_format->datasetend, h5tools_dump_header_format->datasetblockend);
}
}
else {
found_obj->displayed = TRUE;
dump_indent += COL;
@ -1801,7 +1838,8 @@ handle_datasets(hid_t fid, const char *dset, void *data, int pe, const char *dis
dump_dataset(dsetid, real_name, sset);
dump_indent -= COL;
}
if (dapl_id != H5P_DEFAULT)
H5Pclose(dapl_id);
if(H5Dclose(dsetid) < 0)
h5tools_setstatus(EXIT_FAILURE);
}
@ -1884,11 +1922,11 @@ handle_links(hid_t fid, const char *links, void H5_ATTR_UNUSED * data, int H5_AT
if(H5Lget_info(fid, links, &linfo, H5P_DEFAULT) < 0) {
error_msg("unable to get link info from \"%s\"\n", links);
h5tools_setstatus(EXIT_FAILURE);
}
}
else if(linfo.type == H5L_TYPE_HARD) {
error_msg("\"%s\" is a hard link\n", links);
h5tools_setstatus(EXIT_FAILURE);
}
}
else {
char *buf = (char *)HDmalloc(linfo.u.val_size);
PRINTVALSTREAM(rawoutstream, "\n");
@ -1925,12 +1963,12 @@ handle_links(hid_t fid, const char *links, void H5_ATTR_UNUSED * data, int H5_AT
PRINTSTREAM(rawoutstream, "TARGETFILE \"%s\"\n", elink_file);
indentation(COL);
PRINTSTREAM(rawoutstream, "TARGETPATH \"%s\"\n", elink_path);
}
}
else {
error_msg("h5dump error: unable to unpack external link value for \"%s\"\n", links);
h5tools_setstatus(EXIT_FAILURE);
}
}
}
else {
error_msg("h5dump error: unable to get external link value for \"%s\"\n", links);
h5tools_setstatus(EXIT_FAILURE);

View File

@ -77,6 +77,8 @@ extern int enable_error_stack; /* re-enable error stack */
extern int disable_compact_subset; /* disable compact form of subset notation */
extern int display_packed_bits; /*print 1-8 byte numbers as packed bits*/
extern int include_attrs; /* Display attributes */
extern int display_vds_first; /* vds display to first missing */
extern int vds_gap_size; /* vds skip missing files */
/* sort parameters */
extern H5_index_t sort_by; /*sort_by [creation_order | name] */

View File

@ -98,6 +98,14 @@ $SRC_H5DUMP_TESTFILES/vds/5_a.h5
$SRC_H5DUMP_TESTFILES/vds/5_b.h5
$SRC_H5DUMP_TESTFILES/vds/5_c.h5
$SRC_H5DUMP_TESTFILES/vds/5_vds.h5
$SRC_H5DUMP_TESTFILES/vds/a.h5
$SRC_H5DUMP_TESTFILES/vds/b.h5
$SRC_H5DUMP_TESTFILES/vds/c.h5
$SRC_H5DUMP_TESTFILES/vds/d.h5
$SRC_H5DUMP_TESTFILES/vds/vds-percival-unlim-maxmin.h5
$SRC_H5DUMP_TESTFILES/vds/f-0.h5
$SRC_H5DUMP_TESTFILES/vds/f-3.h5
$SRC_H5DUMP_TESTFILES/vds/vds-eiger.h5
"
LIST_OTHER_TEST_FILES="
@ -113,6 +121,11 @@ $SRC_H5DUMP_TESTFILES/vds/tvds_layout-3_1.ddl
$SRC_H5DUMP_TESTFILES/vds/tvds_layout-3_2.ddl
$SRC_H5DUMP_TESTFILES/vds/tvds_layout-4.ddl
$SRC_H5DUMP_TESTFILES/vds/tvds_layout-5.ddl
$SRC_H5DUMP_TESTFILES/vds/vds-first.ddl
$SRC_H5DUMP_TESTFILES/vds/vds-gap1.ddl
$SRC_H5DUMP_TESTFILES/vds/vds-gap2.ddl
$SRC_H5DUMP_TESTFILES/vds/vds_layout-eiger.ddl
$SRC_H5DUMP_TESTFILES/vds/vds_layout-maxmin.ddl
"
LIST_ERROR_TEST_FILES="
@ -480,6 +493,9 @@ if test $USE_FILTER_DEFLATE = "yes" ; then
TOOLTEST tvds-3_2.ddl --enable-error-stack 3_2_vds.h5
TOOLTEST tvds-4.ddl --enable-error-stack 4_vds.h5
TOOLTEST tvds-5.ddl --enable-error-stack 5_vds.h5
TOOLTEST vds-first.ddl --vds-view-first-missing --enable-error-stack vds-percival-unlim-maxmin.h5
TOOLTEST vds-gap1.ddl -d /VDS-Eiger --vds-gap-size=1 --enable-error-stack vds-eiger.h5
TOOLTEST vds-gap2.ddl --vds-gap-size=2 --enable-error-stack vds-eiger.h5
fi
# Layout read
@ -490,6 +506,8 @@ if test $USE_FILTER_DEFLATE = "yes" ; then
TOOLTEST tvds_layout-3_2.ddl -p --enable-error-stack 3_2_vds.h5
TOOLTEST tvds_layout-4.ddl -p --enable-error-stack 4_vds.h5
TOOLTEST tvds_layout-5.ddl -p --enable-error-stack 5_vds.h5
TOOLTEST vds_layout-eiger.ddl -p --enable-error-stack vds-eiger.h5
TOOLTEST vds_layout-maxmin.ddl -p --enable-error-stack vds-percival-unlim-maxmin.h5
fi
# Clean up temporary files/directories

View File

@ -58,7 +58,7 @@ if (BUILD_TESTING)
target_link_libraries (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
H5_SET_LIB_OPTIONS (
${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TOOL_PLUGIN_LIB_NAME}
SHARED
SHARED ${HDF5_PACKAGE_SOVERSION}
HDF5_TOOL_PLUGIN_LIB_NAME_RELEASE
HDF5_TOOL_PLUGIN_LIB_NAME_DEBUG
)
@ -72,13 +72,13 @@ if (BUILD_TESTING)
TARGET ${HDF5_TOOL_PLUGIN_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
ARGS -E copy_if_different
"$<TARGET_FILE:${HDF5_TOOL_PLUGIN_LIB_TARGET}>"
"${CMAKE_BINARY_DIR}/plugins/$<TARGET_FILE_NAME:${HDF5_TOOL_PLUGIN_LIB_TARGET}>"
)
include (CMakeTests.cmake)
endif (BUILD_TESTING)
##############################################################################

View File

@ -61,7 +61,7 @@ if (BUILD_SHARED_LIBS)
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_TOOLS_LIBSH_TARGET}")
H5_SET_LIB_OPTIONS (
${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_TOOLS_LIB_NAME}
SHARED
SHARED ${HDF5_TOOLS_PACKAGE_SOVERSION}
HDF5_TOOLS_LIB_NAME_RELEASE
HDF5_TOOLS_LIB_NAME_DEBUG
)

View File

@ -25,6 +25,8 @@ usage: h5dump [OPTIONS] files
P can be the absolute path or just a relative path.
-A, --onlyattr Print the header and value of attributes
Optional value 0 suppresses printing attributes.
--vds-view-first-missing Set the VDS bounds to first missing mapped elements.
--vds-gap-size=N Set the missing file gap size, N=non-negative integers
--------------- Object Property Options ---------------
-i, --object-ids Print the object ids
-p, --properties Print dataset filters, storage layout and fill value

View File

@ -25,6 +25,8 @@ usage: h5dump [OPTIONS] files
P can be the absolute path or just a relative path.
-A, --onlyattr Print the header and value of attributes
Optional value 0 suppresses printing attributes.
--vds-view-first-missing Set the VDS bounds to first missing mapped elements.
--vds-gap-size=N Set the missing file gap size, N=non-negative integers
--------------- Object Property Options ---------------
-i, --object-ids Print the object ids
-p, --properties Print dataset filters, storage layout and fill value

View File

@ -25,6 +25,8 @@ usage: h5dump [OPTIONS] files
P can be the absolute path or just a relative path.
-A, --onlyattr Print the header and value of attributes
Optional value 0 suppresses printing attributes.
--vds-view-first-missing Set the VDS bounds to first missing mapped elements.
--vds-gap-size=N Set the missing file gap size, N=non-negative integers
--------------- Object Property Options ---------------
-i, --object-ids Print the object ids
-p, --properties Print dataset filters, storage layout and fill value

View File

@ -25,6 +25,8 @@ usage: h5dump [OPTIONS] files
P can be the absolute path or just a relative path.
-A, --onlyattr Print the header and value of attributes
Optional value 0 suppresses printing attributes.
--vds-view-first-missing Set the VDS bounds to first missing mapped elements.
--vds-gap-size=N Set the missing file gap size, N=non-negative integers
--------------- Object Property Options ---------------
-i, --object-ids Print the object ids
-p, --properties Print dataset filters, storage layout and fill value

View File

@ -25,6 +25,8 @@ usage: h5dump [OPTIONS] files
P can be the absolute path or just a relative path.
-A, --onlyattr Print the header and value of attributes
Optional value 0 suppresses printing attributes.
--vds-view-first-missing Set the VDS bounds to first missing mapped elements.
--vds-gap-size=N Set the missing file gap size, N=non-negative integers
--------------- Object Property Options ---------------
-i, --object-ids Print the object ids
-p, --properties Print dataset filters, storage layout and fill value

View File

@ -25,6 +25,8 @@ usage: h5dump [OPTIONS] files
P can be the absolute path or just a relative path.
-A, --onlyattr Print the header and value of attributes
Optional value 0 suppresses printing attributes.
--vds-view-first-missing Set the VDS bounds to first missing mapped elements.
--vds-gap-size=N Set the missing file gap size, N=non-negative integers
--------------- Object Property Options ---------------
-i, --object-ids Print the object ids
-p, --properties Print dataset filters, storage layout and fill value

View File

@ -25,6 +25,8 @@ usage: h5dump [OPTIONS] files
P can be the absolute path or just a relative path.
-A, --onlyattr Print the header and value of attributes
Optional value 0 suppresses printing attributes.
--vds-view-first-missing Set the VDS bounds to first missing mapped elements.
--vds-gap-size=N Set the missing file gap size, N=non-negative integers
--------------- Object Property Options ---------------
-i, --object-ids Print the object ids
-p, --properties Print dataset filters, storage layout and fill value

View File

@ -25,6 +25,8 @@ usage: h5dump [OPTIONS] files
P can be the absolute path or just a relative path.
-A, --onlyattr Print the header and value of attributes
Optional value 0 suppresses printing attributes.
--vds-view-first-missing Set the VDS bounds to first missing mapped elements.
--vds-gap-size=N Set the missing file gap size, N=non-negative integers
--------------- Object Property Options ---------------
-i, --object-ids Print the object ids
-p, --properties Print dataset filters, storage layout and fill value

BIN
tools/testfiles/vds/a.h5 Normal file

Binary file not shown.

BIN
tools/testfiles/vds/b.h5 Normal file

Binary file not shown.

BIN
tools/testfiles/vds/c.h5 Normal file

Binary file not shown.

BIN
tools/testfiles/vds/d.h5 Normal file

Binary file not shown.

BIN
tools/testfiles/vds/f-0.h5 Normal file

Binary file not shown.

BIN
tools/testfiles/vds/f-3.h5 Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,210 @@
HDF5 "vds-percival-unlim-maxmin.h5" {
GROUP "/" {
DATASET "VDS-Percival-unlim-maxmin" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 20, 10, 10 ) / ( H5S_UNLIMITED, 10, 10 ) }
DATA {
(0,0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(1,0,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,1,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,2,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,3,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,4,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,5,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,6,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,7,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,8,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,9,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(2,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(3,0,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,1,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,2,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,3,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,4,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,5,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,6,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,7,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,8,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,9,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(4,0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(5,0,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,1,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,2,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,3,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,4,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,5,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,6,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,7,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,8,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,9,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(6,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(7,0,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,1,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,2,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,3,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,4,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,5,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,6,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,7,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,8,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,9,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(8,0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(9,0,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,1,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,2,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,3,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,4,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,5,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,6,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,7,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,8,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,9,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(10,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(11,0,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,1,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,2,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,3,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,4,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,5,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,6,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,7,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,8,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,9,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(12,0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(13,0,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,1,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,2,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,3,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,4,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,5,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,6,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,7,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,8,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,9,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(14,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,0,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,1,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,2,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,3,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,4,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,5,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,6,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,7,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,8,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,9,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(16,0,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,1,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,2,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,3,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,4,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,5,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,6,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,7,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,8,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,9,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(17,0,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,1,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,2,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,3,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,4,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,5,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,6,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,7,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,8,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,9,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(18,0,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,1,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,2,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,3,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,4,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,5,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,6,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,7,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,8,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,9,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(19,0,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,1,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,2,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,3,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,4,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,5,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,6,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,7,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,8,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,9,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40
}
}
}
}

View File

@ -0,0 +1,58 @@
HDF5 "vds-eiger.h5" {
DATASET "/VDS-Eiger" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 5, 10, 10 ) / ( H5S_UNLIMITED, 10, 10 ) }
DATA {
(0,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
}
}

View File

@ -0,0 +1,210 @@
HDF5 "vds-eiger.h5" {
GROUP "/" {
DATASET "VDS-Eiger" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 20, 10, 10 ) / ( H5S_UNLIMITED, 10, 10 ) }
DATA {
(0,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(5,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(6,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(7,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(8,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(9,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(10,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(11,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(12,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(13,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(14,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(15,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(16,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(17,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(18,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(19,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
}
}
}
}

Binary file not shown.

View File

@ -0,0 +1,87 @@
HDF5 "vds-eiger.h5" {
GROUP "/" {
DATASET "VDS-Eiger" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 5, 10, 10 ) / ( H5S_UNLIMITED, 10, 10 ) }
STORAGE_LAYOUT {
MAPPING 0 {
VIRTUAL {
SELECTION REGULAR_HYPERSLAB {
START (0,0,0)
STRIDE (5,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (5,10,10)
}
}
SOURCE {
FILE "f-%b.h5"
DATASET "A"
SELECTION ALL
}
}
}
FILTERS {
NONE
}
FILLVALUE {
FILL_TIME H5D_FILL_TIME_IFSET
VALUE 0
}
ALLOCATION_TIME {
H5D_ALLOC_TIME_LATE
}
DATA {
(0,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(0,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(2,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(3,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(4,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
}
}
}

View File

@ -0,0 +1,422 @@
HDF5 "vds-percival-unlim-maxmin.h5" {
GROUP "/" {
DATASET "VDS-Percival-unlim-maxmin" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 32, 10, 10 ) / ( H5S_UNLIMITED, 10, 10 ) }
STORAGE_LAYOUT {
MAPPING 0 {
VIRTUAL {
SELECTION REGULAR_HYPERSLAB {
START (0,0,0)
STRIDE (4,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (1,10,10)
}
}
SOURCE {
FILE "a.h5"
DATASET "A"
SELECTION REGULAR_HYPERSLAB {
START (0,0,0)
STRIDE (1,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (1,10,10)
}
}
}
MAPPING 1 {
VIRTUAL {
SELECTION REGULAR_HYPERSLAB {
START (1,0,0)
STRIDE (4,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (1,10,10)
}
}
SOURCE {
FILE "b.h5"
DATASET "B"
SELECTION REGULAR_HYPERSLAB {
START (0,0,0)
STRIDE (1,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (1,10,10)
}
}
}
MAPPING 2 {
VIRTUAL {
SELECTION REGULAR_HYPERSLAB {
START (2,0,0)
STRIDE (4,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (1,10,10)
}
}
SOURCE {
FILE "c.h5"
DATASET "C"
SELECTION REGULAR_HYPERSLAB {
START (0,0,0)
STRIDE (1,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (1,10,10)
}
}
}
MAPPING 3 {
VIRTUAL {
SELECTION REGULAR_HYPERSLAB {
START (3,0,0)
STRIDE (4,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (1,10,10)
}
}
SOURCE {
FILE "d.h5"
DATASET "D"
SELECTION REGULAR_HYPERSLAB {
START (0,0,0)
STRIDE (1,1,1)
COUNT (H5S_UNLIMITED,1,1)
BLOCK (1,10,10)
}
}
}
}
FILTERS {
NONE
}
FILLVALUE {
FILL_TIME H5D_FILL_TIME_IFSET
VALUE 0
}
ALLOCATION_TIME {
H5D_ALLOC_TIME_LATE
}
DATA {
(0,0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(0,9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(1,0,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,1,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,2,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,3,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,4,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,5,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,6,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,7,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,8,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(1,9,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(2,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(2,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(3,0,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,1,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,2,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,3,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,4,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,5,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,6,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,7,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,8,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(3,9,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(4,0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(4,9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(5,0,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,1,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,2,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,3,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,4,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,5,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,6,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,7,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,8,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(5,9,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(6,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(6,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(7,0,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,1,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,2,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,3,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,4,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,5,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,6,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,7,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,8,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(7,9,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(8,0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(8,9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(9,0,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,1,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,2,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,3,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,4,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,5,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,6,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,7,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,8,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(9,9,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(10,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(10,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(11,0,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,1,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,2,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,3,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,4,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,5,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,6,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,7,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,8,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(11,9,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(12,0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(12,9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
(13,0,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,1,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,2,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,3,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,4,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,5,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,6,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,7,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,8,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(13,9,0): 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
(14,0,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,1,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,2,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,3,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,4,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,5,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,6,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,7,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,8,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(14,9,0): 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
(15,0,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,1,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,2,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,3,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,4,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,5,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,6,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,7,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,8,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(15,9,0): 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
(16,0,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,1,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,2,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,3,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,4,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,5,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,6,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,7,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,8,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(16,9,0): 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
(17,0,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,1,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,2,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,3,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,4,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,5,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,6,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,7,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,8,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(17,9,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(18,0,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,1,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,2,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,3,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,4,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,5,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,6,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,7,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,8,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(18,9,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(19,0,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,1,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,2,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,3,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,4,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,5,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,6,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,7,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,8,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(19,9,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(20,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(20,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(21,0,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,1,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,2,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,3,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,4,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,5,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,6,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,7,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,8,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(21,9,0): 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
(22,0,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,1,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,2,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,3,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,4,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,5,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,6,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,7,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,8,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(22,9,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(23,0,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,1,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,2,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,3,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,4,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,5,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,6,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,7,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,8,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(23,9,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(24,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(24,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(25,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(26,0,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,1,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,2,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,3,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,4,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,5,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,6,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,7,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,8,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(26,9,0): 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
(27,0,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,1,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,2,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,3,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,4,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,5,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,6,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,7,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,8,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(27,9,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(28,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(28,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(29,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,0,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,2,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,3,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,4,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,5,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,6,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,7,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,8,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(30,9,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(31,0,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,1,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,2,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,3,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,4,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,5,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,6,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,7,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,8,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
(31,9,0): 40, 40, 40, 40, 40, 40, 40, 40, 40, 40
}
}
}
}