diff options
Diffstat (limited to 'tools/lib')
-rw-r--r-- | tools/lib/h5diff.c | 11 | ||||
-rw-r--r-- | tools/lib/h5diff.h | 8 | ||||
-rw-r--r-- | tools/lib/h5diff_array.c | 90 | ||||
-rw-r--r-- | tools/lib/h5diff_dset.c | 37 | ||||
-rw-r--r-- | tools/lib/h5diff_util.c | 29 |
5 files changed, 85 insertions, 90 deletions
diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c index 2f850a6..d770769 100644 --- a/tools/lib/h5diff.c +++ b/tools/lib/h5diff.c @@ -60,12 +60,11 @@ print_objname (diff_opt_t * options, hsize_t nfound) void do_print_objname (const char *OBJ, const char *path1, const char *path2) { - parallel_print("%s:\n<%s> and <%s> ", OBJ, path1, path2); + parallel_print("%-7s: <%s> and <%s>\n", OBJ, path1, path2); } - #ifdef H5_HAVE_PARALLEL /*------------------------------------------------------------------------- * Function: phdiff_dismiss_workers @@ -930,7 +929,7 @@ hsize_t diff (hid_t file1_id, { if (print_objname (options, (hsize_t)1)) do_print_objname ("dataset", path1, path2); - nfound = diff_dataset (file1_id, file2_id, path1, path2, options, 1); + nfound = diff_dataset (file1_id, file2_id, path1, path2, options); /* always print the number of differences found */ print_found(nfound); } @@ -944,14 +943,14 @@ hsize_t diff (hid_t file1_id, { /* shut up temporarily */ options->m_quiet = 1; - nfound = diff_dataset (file1_id, file2_id, path1, path2, options, 0); + nfound = diff_dataset (file1_id, file2_id, path1, path2, options); /* print again */ options->m_quiet = 0; if (nfound) { if (print_objname (options, nfound)) do_print_objname ("dataset", path1, path2); - nfound = diff_dataset (file1_id, file2_id, path1, path2, options, 1); + nfound = diff_dataset (file1_id, file2_id, path1, path2, options); /* print the number of differences found only when found this is valid for the default mode and report mode */ print_found(nfound); @@ -964,7 +963,7 @@ hsize_t diff (hid_t file1_id, */ else { - nfound = diff_dataset (file1_id, file2_id, path1, path2, options, 0); + nfound = diff_dataset (file1_id, file2_id, path1, path2, options); } } /*else verbose */ diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h index 95fc400..d154fc8 100644 --- a/tools/lib/h5diff.h +++ b/tools/lib/h5diff.h @@ -76,15 +76,13 @@ hsize_t diff_dataset( hid_t file1_id, hid_t file2_id, const char *obj1_name, const char *obj2_name, - diff_opt_t *options, - int print_dims); + diff_opt_t *options); hsize_t diff_datasetid( hid_t dset1_id, hid_t dset2_id, const char *obj1_name, const char *obj2_name, - diff_opt_t *options, - int print_dims); + diff_opt_t *options); hsize_t diff( hid_t file1_id, const char *path1, @@ -160,7 +158,7 @@ const char* diff_basename(const char *name); const char* get_type(int type); const char* get_class(H5T_class_t tclass); const char* get_sign(H5T_sign_t sign); -void print_dims( int r, hsize_t *d ); +void print_dimensions (int rank, hsize_t *dims); int print_objname(diff_opt_t *options, hsize_t nfound); void do_print_objname (const char *OBJ, const char *path1, const char *path2); diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c index bf26370..3467116 100644 --- a/tools/lib/h5diff_array.c +++ b/tools/lib/h5diff_array.c @@ -152,6 +152,7 @@ int print_data(diff_opt_t *options) * *------------------------------------------------------------------------- */ + static void print_pos( int *ph, /* print header */ int pp, /* print percentage */ @@ -163,47 +164,53 @@ void print_pos( int *ph, /* print header */ const char *obj1, const char *obj2 ) { - int i; - - /* print header */ - if ( *ph==1 ) - { - *ph=0; - - if (pp) - { - parallel_print("%-15s %-15s %-15s %-15s %-15s\n", - "position", - (obj1!=NULL) ? obj1 : " ", - (obj2!=NULL) ? obj2 : " ", - "difference", - "relative"); - parallel_print("------------------------------------------------------------------------\n"); - } - else - { - parallel_print("%-15s %-15s %-15s %-20s\n", - "position", - (obj1!=NULL) ? obj1 : " ", - (obj2!=NULL) ? obj2 : " ", - "difference"); - parallel_print("------------------------------------------------------------\n"); - } - } - - for ( i = 0; i < rank; i++) - { - pos[i] = curr_pos/acc[i]; - curr_pos -= acc[i]*pos[i]; - } - assert( curr_pos == 0 ); + int i; + + /* print header */ + if ( *ph==1 ) + { + *ph=0; - parallel_print("[ " ); - for ( i = 0; i < rank; i++) - { - parallel_print("%"H5_PRINTF_LL_WIDTH"u ", (unsigned long_long)pos[i]); - } - parallel_print("]" ); + parallel_print("%-16s","size:"); + print_dimensions (rank,dims); + parallel_print("%-11s",""); + print_dimensions (rank,dims); + parallel_print("\n"); + + if (pp) + { + parallel_print("%-15s %-15s %-15s %-15s %-15s\n", + "position", + (obj1!=NULL) ? obj1 : " ", + (obj2!=NULL) ? obj2 : " ", + "difference", + "relative"); + parallel_print("------------------------------------------------------------------------\n"); + } + else + { + parallel_print("%-15s %-15s %-15s %-20s\n", + "position", + (obj1!=NULL) ? obj1 : " ", + (obj2!=NULL) ? obj2 : " ", + "difference"); + parallel_print("------------------------------------------------------------\n"); + } + } /* end print header */ + + for ( i = 0; i < rank; i++) + { + pos[i] = curr_pos/acc[i]; + curr_pos -= acc[i]*pos[i]; + } + assert( curr_pos == 0 ); + + parallel_print("[ " ); + for ( i = 0; i < rank; i++) + { + parallel_print("%"H5_PRINTF_LL_WIDTH"u ", (unsigned long_long)pos[i]); + } + parallel_print("]" ); } @@ -789,8 +796,7 @@ hsize_t diff_datum(void *_mem1, obj2_id, NULL, NULL, - options, - 0); + options); break; default: parallel_print("Warning: Comparison not possible of object types referenced: <%s> and <%s>", diff --git a/tools/lib/h5diff_dset.c b/tools/lib/h5diff_dset.c index e913e79..993a00f 100644 --- a/tools/lib/h5diff_dset.c +++ b/tools/lib/h5diff_dset.c @@ -61,8 +61,7 @@ hsize_t diff_dataset( hid_t file1_id, hid_t file2_id, const char *obj1_name, const char *obj2_name, - diff_opt_t *options, - int print_dims) + diff_opt_t *options) { hid_t did1=-1; hid_t did2=-1; @@ -110,8 +109,7 @@ hsize_t diff_dataset( hid_t file1_id, did2, obj1_name, obj2_name, - options, - print_dims); + options); } /*------------------------------------------------------------------------- * close @@ -160,8 +158,7 @@ hsize_t diff_datasetid( hid_t did1, hid_t did2, const char *obj1_name, const char *obj2_name, - diff_opt_t *options, - int print_dims) + diff_opt_t *options) { hid_t sid1=-1; hid_t sid2=-1; @@ -231,14 +228,6 @@ hsize_t diff_datasetid( hid_t did1, if ( (f_tid2 = H5Dget_type(did2)) < 0 ) goto error; - - /*------------------------------------------------------------------------- - * print dimensions - *------------------------------------------------------------------------- - */ - if (print_dims) - print_size (rank1, dims1); - /*------------------------------------------------------------------------- * check for empty datasets *------------------------------------------------------------------------- @@ -726,14 +715,14 @@ int diff_can_type( hid_t f_tid1, /* file data type */ { if (options->m_verbose && obj1_name) { printf("Comparison not supported: <%s> has rank %d, dimensions ", obj1_name, rank1); - print_dims(rank1,dims1); + print_dimensions(rank1,dims1); printf(", max dimensions "); - print_dims(rank1,maxdim1); + print_dimensions(rank1,maxdim1); printf("\n" ); printf("<%s> has rank %d, dimensions ", obj2_name, rank2); - print_dims(rank2,dims2); + print_dimensions(rank2,dims2); printf(", max dimensions "); - print_dims(rank2,maxdim2); + print_dimensions(rank2,maxdim2); } return 0; } @@ -764,15 +753,15 @@ int diff_can_type( hid_t f_tid1, /* file data type */ { if (options->m_verbose && obj1_name) { printf("Comparison not supported: <%s> has rank %d, dimensions ", obj1_name, rank1); - print_dims(rank1,dims1); + print_dimensions(rank1,dims1); if (maxdim1 && maxdim2) { printf(", max dimensions "); - print_dims(rank1,maxdim1); + print_dimensions(rank1,maxdim1); printf("\n" ); printf("<%s> has rank %d, dimensions ", obj2_name, rank2); - print_dims(rank2,dims2); + print_dimensions(rank2,dims2); printf(", max dimensions "); - print_dims(rank2,maxdim2); + print_dimensions(rank2,maxdim2); } } return 0; @@ -787,10 +776,10 @@ int diff_can_type( hid_t f_tid1, /* file data type */ if (options->m_verbose) { printf( "Warning: different maximum dimensions\n"); printf("<%s> has max dimensions ", obj1_name); - print_dims(rank1,maxdim1); + print_dimensions(rank1,maxdim1); printf("\n"); printf("<%s> has max dimensions ", obj2_name); - print_dims(rank2,maxdim2); + print_dimensions(rank2,maxdim2); printf("\n"); } } diff --git a/tools/lib/h5diff_util.c b/tools/lib/h5diff_util.c index eaaf35b..bd8207f 100644 --- a/tools/lib/h5diff_util.c +++ b/tools/lib/h5diff_util.c @@ -90,27 +90,30 @@ void parallel_print(const char* format, ...) va_end(ap); } - /*------------------------------------------------------------------------- - * Function: print_dims - * - * Purpose: print dimensions + * Function: print_dimensions * - * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu - * - * Date: May 9, 2003 + * Purpose: print dimensions * *------------------------------------------------------------------------- */ -void print_dims( int r, hsize_t *d ) +void +print_dimensions (int rank, hsize_t *dims) { - int i; - parallel_print("[ " ); - for ( i=0; i<r; i++ ) - parallel_print("%"H5_PRINTF_LL_WIDTH"u ",(unsigned long_long)d[i] ); - parallel_print("] " ); + int i; + + parallel_print("[" ); + for ( i = 0; i < rank-1; i++) + { + parallel_print("%"H5_PRINTF_LL_WIDTH"u", (unsigned long_long)dims[i]); + parallel_print("x"); + } + parallel_print("%"H5_PRINTF_LL_WIDTH"u", (unsigned long_long)dims[rank-1]); + parallel_print("]" ); + } + /*------------------------------------------------------------------------- * Function: print_type * |