summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/h5tools.c174
1 files changed, 1 insertions, 173 deletions
diff --git a/tools/h5tools.c b/tools/h5tools.c
index 2eca598..1ecd067 100644
--- a/tools/h5tools.c
+++ b/tools/h5tools.c
@@ -37,12 +37,7 @@ static void display_string(hsize_t hs_nelmts, hid_t p_type,
static void display_compound_data(hsize_t hs_nelmts, hid_t p_type,
unsigned char *sm_buf, size_t p_type_nbytes,
hsize_t p_nelmts, hsize_t elmtno);
-#if 0
-static void display_reference_data(hsize_t hs_nelmts, hid_t p_type,
- unsigned char *sm_buf, size_t p_type_nbytes,
- hsize_t p_nelmts, hsize_t dim_n_size,
- hsize_t elmtno, hid_t container);
-#endif
+
int h5dump_attr(hid_t oid, hid_t ptype);
int print_data(hid_t oid, hid_t _p_type, int obj_data);
@@ -2249,173 +2244,6 @@ int nmembs, i, j, k, ndims, perm[4];
}
}
-#if 0
-/*-------------------------------------------------------------------------
- * Function: h5dump_simple
- *
- * Purpose: Print some values from a dataset or an attribute with a
- * simple data space.
- *
- * Return: Success: 0
- *
- * Failure: -1
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static int
-h5dump_simple(hid_t oid, hid_t p_type, int obj_data)
-{
- hid_t f_space; /*file data space */
- int ndims; /*dimensionality */
- hsize_t elmtno, i; /*counters */
- int carry; /*counter carry value */
- hssize_t zero[8]; /*vector of zeros */
-
- /* Print info */
- hsize_t p_min_idx[8]; /*min selected index */
- hsize_t p_max_idx[8]; /*max selected index */
- size_t p_type_nbytes; /*size of memory type */
- hsize_t p_nelmts; /*total selected elmts */
-
- /* Stripmine info */
- hsize_t sm_size[8]; /*stripmine size */
- hsize_t sm_nbytes; /*bytes per stripmine */
- hsize_t sm_nelmts; /*elements per stripmine*/
- unsigned char *sm_buf; /*buffer for raw data */
- hid_t sm_space; /*stripmine data space */
-
- /* Hyperslab info */
- hssize_t hs_offset[8]; /*starting offset */
- hsize_t hs_size[8]; /*size this pass */
- hsize_t hs_nelmts; /*elements in request */
- hsize_t dim_n_size;
-
-
- if (obj_data == DATASET_DATA)
- f_space = H5Dget_space(oid);
- else
- f_space = H5Aget_space(oid);
-
- /*
- * Check that everything looks okay. The dimensionality must not be too
- * great and the dimensionality of the items selected for printing must
- * match the dimensionality of the dataset.
- */
-
- ndims = H5Sget_simple_extent_ndims(f_space);
-
- if ((size_t)ndims>NELMTS(sm_size)) return -1;
-
- /* Assume entire data space to be printed */
- for (i=0; i<(hsize_t)ndims; i++) p_min_idx[i] = 0;
- H5Sget_simple_extent_dims(f_space, p_max_idx, NULL);
- for (i=0, p_nelmts=1; i<(hsize_t)ndims; i++) {
- p_nelmts *= p_max_idx[i]-p_min_idx[i];
- }
- if (0==p_nelmts) return 0; /*nothing to print*/
-
- /*
- * Determine the strip mine size and allocate a buffer. The strip mine is
- * a hyperslab whose size is manageable.
- */
- p_type_nbytes = H5Tget_size(p_type);
- for (i=ndims, sm_nbytes=p_type_nbytes; i>0; --i) {
- sm_size[i-1] = MIN (p_max_idx[i-1]-p_min_idx[i-1],
- H5DUMP_BUFSIZE/sm_nbytes);
- sm_nbytes *= sm_size[i-1];
- assert(sm_nbytes>0);
- }
- sm_buf = malloc(sm_nbytes);
- sm_nelmts = sm_nbytes/p_type_nbytes;
- sm_space = H5Screate_simple(1, &sm_nelmts, NULL);
-
- /* The stripmine loop */
- memset(hs_offset, 0, sizeof hs_offset);
- memset(zero, 0, sizeof zero);
-
-
- for (elmtno=0; elmtno<p_nelmts; elmtno+=hs_nelmts) {
-
-
- /* Calculate the hyperslab size */
- if (ndims > 0) {
- for (i=0, hs_nelmts=1; i<(hsize_t)ndims; i++) {
- hs_size[i] = MIN(sm_size[i], p_max_idx[i]-hs_offset[i]);
- hs_nelmts *= hs_size[i];
- }
- H5Sselect_hyperslab(f_space, H5S_SELECT_SET, hs_offset, NULL,
- hs_size, NULL);
- H5Sselect_hyperslab(sm_space, H5S_SELECT_SET, zero, NULL,
- &hs_nelmts, NULL);
- dim_n_size = p_max_idx[ndims-1];
- } else {
- H5Sselect_all(f_space);
- H5Sselect_all(sm_space);
- hs_nelmts = 1;
- dim_n_size = 1;
- }
-
- if (obj_data == DATASET_DATA) {
- if (H5Dread(oid, p_type, sm_space, f_space, H5P_DEFAULT, sm_buf) <0)
- return -1;
- } else {
- if (H5Aread(oid, p_type, sm_buf) < 0)
- return -1;
- }
-
- /* Print the data */
- switch (H5Tget_class(p_type)) {
- case H5T_INTEGER:
- display_numeric_data (hs_nelmts, p_type, sm_buf, p_type_nbytes,
- p_nelmts, dim_n_size, elmtno, -1);
- break;
-
- case H5T_FLOAT:
- display_numeric_data (hs_nelmts, p_type, sm_buf, p_type_nbytes,
- p_nelmts, dim_n_size, elmtno, -1);
- break;
-
- case H5T_TIME:
- break;
-
- case H5T_STRING:
- display_string (hs_nelmts, p_type, sm_buf, p_type_nbytes,
- p_nelmts, dim_n_size, elmtno);
- break;
-
- case H5T_BITFIELD:
- break;
-
- case H5T_OPAQUE:
- break;
-
- case H5T_COMPOUND:
- compound_data = 1;
- display_compound_data (hs_nelmts, p_type, sm_buf, p_type_nbytes, p_nelmts, elmtno);
- compound_data = 0;
- break;
-
- default: break;
- }
-
- /* Calculate the next hyperslab offset */
- for (i=ndims, carry=1; i>0 && carry; --i) {
- hs_offset[i-1] += hs_size[i-1];
- if (hs_offset[i-1]==(hssize_t)p_max_idx[i-1]) {
- hs_offset[i-1] = p_min_idx[i-1];
- } else {
- carry = 0;
- }
- }
- }
-
- H5Sclose(sm_space);
- H5Sclose(f_space);
- return 0;
-}
-#endif
/*-------------------------------------------------------------------------
* Function: print_data
*