summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5diff_array.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lib/h5diff_array.c')
-rw-r--r--tools/lib/h5diff_array.c2366
1 files changed, 1234 insertions, 1132 deletions
diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c
index 1a4c727..dbc6691 100644
--- a/tools/lib/h5diff_array.c
+++ b/tools/lib/h5diff_array.c
@@ -24,48 +24,52 @@
*-------------------------------------------------------------------------
*/
-#define F_FORMAT "%-15g %-15g %-15g\n"
+#define F_FORMAT "%-15g %-15g %-15g\n"
-#if H5_SIZEOF_LONG_DOUBLE !=0
-#define LD_FORMAT "%-15Lf %-15Lf %-15Lf\n"
+#if H5_SIZEOF_LONG_DOUBLE != 0
+#define LD_FORMAT "%-15Lf %-15Lf %-15Lf\n"
#endif
-#define I_FORMAT "%-15d %-15d %-15d\n"
-#define S_FORMAT "%-16s %-17s\n"
-#define UI_FORMAT "%-15u %-15u %-15u\n"
-#define LI_FORMAT "%-15ld %-15ld %-15ld\n"
-#define ULI_FORMAT "%-15lu %-15lu %-15lu\n"
-#define LLI_FORMAT "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d\n"
-#define ULLI_FORMAT "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u\n"
+#define I_FORMAT "%-15d %-15d %-15d\n"
+#define S_FORMAT "%-16s %-17s\n"
+#define UI_FORMAT "%-15u %-15u %-15u\n"
+#define LI_FORMAT "%-15ld %-15ld %-15ld\n"
+#define ULI_FORMAT "%-15lu %-15lu %-15lu\n"
+#define LLI_FORMAT "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d\n"
+#define ULLI_FORMAT "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u\n"
/* with -p option */
-#define F_FORMAT_P "%-15.10g %-15.10g %-15.10g %-14.10g\n"
+#define F_FORMAT_P "%-15.10g %-15.10g %-15.10g %-14.10g\n"
-#if H5_SIZEOF_LONG_DOUBLE !=0
-#define LD_FORMAT_P "%-15.10Lf %-15.10Lf %-15.10Lf %-14.10Lf\n"
+#if H5_SIZEOF_LONG_DOUBLE != 0
+#define LD_FORMAT_P "%-15.10Lf %-15.10Lf %-15.10Lf %-14.10Lf\n"
#endif
-#define I_FORMAT_P "%-15d %-15d %-15d %-14f\n"
-#define UI_FORMAT_P "%-15u %-15u %-15u %-14f\n"
-#define LI_FORMAT_P "%-15ld %-15ld %-15ld %-14f\n"
-#define ULI_FORMAT_P "%-15lu %-15lu %-15lu %-14f\n"
-#define LLI_FORMAT_P "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-14f\n"
-#define ULLI_FORMAT_P "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "d %-14f\n"
-#define SPACES " "
+#define I_FORMAT_P "%-15d %-15d %-15d %-14f\n"
+#define UI_FORMAT_P "%-15u %-15u %-15u %-14f\n"
+#define LI_FORMAT_P "%-15ld %-15ld %-15ld %-14f\n"
+#define ULI_FORMAT_P "%-15lu %-15lu %-15lu %-14f\n"
+#define LLI_FORMAT_P \
+ "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-14f\n"
+#define ULLI_FORMAT_P \
+ "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "d %-14f\n"
+#define SPACES " "
/* not comparable */
-#define F_FORMAT_P_NOTCOMP "%-15.10g %-15.10g %-15.10g not comparable\n"
+#define F_FORMAT_P_NOTCOMP "%-15.10g %-15.10g %-15.10g not comparable\n"
-#if H5_SIZEOF_LONG_DOUBLE !=0
-#define LD_FORMAT_P_NOTCOMP "%-15.10Lf %-15.10Lf %-15.10Lf not comparable\n"
+#if H5_SIZEOF_LONG_DOUBLE != 0
+#define LD_FORMAT_P_NOTCOMP "%-15.10Lf %-15.10Lf %-15.10Lf not comparable\n"
#endif
-#define I_FORMAT_P_NOTCOMP "%-15d %-15d %-15d not comparable\n"
-#define UI_FORMAT_P_NOTCOMP "%-15u %-15u %-15u not comparable\n"
-#define LI_FORMAT_P_NOTCOMP "%-15ld %-15ld %-15ld not comparable\n"
-#define ULI_FORMAT_P_NOTCOMP "%-15lu %-15lu %-15lu not comparable\n"
-#define LLI_FORMAT_P_NOTCOMP "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d not comparable\n"
-#define ULLI_FORMAT_P_NOTCOMP "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "d not comparable\n"
+#define I_FORMAT_P_NOTCOMP "%-15d %-15d %-15d not comparable\n"
+#define UI_FORMAT_P_NOTCOMP "%-15u %-15u %-15u not comparable\n"
+#define LI_FORMAT_P_NOTCOMP "%-15ld %-15ld %-15ld not comparable\n"
+#define ULI_FORMAT_P_NOTCOMP "%-15lu %-15lu %-15lu not comparable\n"
+#define LLI_FORMAT_P_NOTCOMP \
+ "%-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d %-15" H5_PRINTF_LL_WIDTH "d not comparable\n"
+#define ULLI_FORMAT_P_NOTCOMP \
+ "%-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "u %-15" H5_PRINTF_LL_WIDTH "d not comparable\n"
/* if system EPSILON is defined, use the system EPSILON; otherwise, use
constants that are close to most EPSILON values */
@@ -95,36 +99,38 @@
static hbool_t not_comparable;
-#define PER(A,B) { \
- per = -1; \
- not_comparable = FALSE; \
- both_zero = FALSE; \
- if(H5_DBL_ABS_EQUAL(0, (double)A) && H5_DBL_ABS_EQUAL(0, (double)B)) \
- both_zero = TRUE; \
- if(!H5_DBL_ABS_EQUAL(0, (double)A)) \
- per = (double)ABS((double)((B) - (A)) / (double)(A)); \
- else \
- not_comparable = TRUE; \
-}
-
-#define PER_UNSIGN(TYPE,A,B) { \
- per = -1; \
- not_comparable = FALSE; \
- both_zero = FALSE; \
- if(H5_DBL_ABS_EQUAL(0, (double)A) && H5_DBL_ABS_EQUAL(0, (double)B)) \
- both_zero = TRUE; \
- if(!H5_DBL_ABS_EQUAL(0, (double)A)) \
- per = ABS((double)((TYPE)((B) - (A))) / (double)(A)) ; \
- else \
- not_comparable = TRUE; \
-}
-
-#define PDIFF(a,b) (((b) > (a)) ? ((b) - (a)) : ((a) -(b)))
+#define PER(A, B) \
+ { \
+ per = -1; \
+ not_comparable = FALSE; \
+ both_zero = FALSE; \
+ if (H5_DBL_ABS_EQUAL(0, (double)A) && H5_DBL_ABS_EQUAL(0, (double)B)) \
+ both_zero = TRUE; \
+ if (!H5_DBL_ABS_EQUAL(0, (double)A)) \
+ per = (double)ABS((double)((B) - (A)) / (double)(A)); \
+ else \
+ not_comparable = TRUE; \
+ }
+
+#define PER_UNSIGN(TYPE, A, B) \
+ { \
+ per = -1; \
+ not_comparable = FALSE; \
+ both_zero = FALSE; \
+ if (H5_DBL_ABS_EQUAL(0, (double)A) && H5_DBL_ABS_EQUAL(0, (double)B)) \
+ both_zero = TRUE; \
+ if (!H5_DBL_ABS_EQUAL(0, (double)A)) \
+ per = ABS((double)((TYPE)((B) - (A))) / (double)(A)); \
+ else \
+ not_comparable = TRUE; \
+ }
+
+#define PDIFF(a, b) (((b) > (a)) ? ((b) - (a)) : ((a) - (b)))
typedef struct mcomp_t {
- unsigned n; /* number of members */
- hid_t *ids; /* member type id */
- size_t *offsets;
+ unsigned n; /* number of members */
+ hid_t * ids; /* member type id */
+ size_t * offsets;
struct mcomp_t **m; /* members */
} mcomp_t;
@@ -133,59 +139,65 @@ typedef struct mcomp_t {
*-------------------------------------------------------------------------
*/
static hbool_t all_zero(const void *_mem, size_t size);
-static int ull2float(unsigned long long ull_value, float *f_value);
+static int ull2float(unsigned long long ull_value, float *f_value);
static hsize_t character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t u, diff_opt_t *opts);
-static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno, diff_opt_t *opts);
+static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno,
+ diff_opt_t *opts);
static hbool_t equal_float(float value, float expected, diff_opt_t *opts);
static hbool_t equal_double(double value, double expected, diff_opt_t *opts);
-#if H5_SIZEOF_LONG_DOUBLE !=0
+#if H5_SIZEOF_LONG_DOUBLE != 0
static hbool_t equal_ldouble(long double value, long double expected, diff_opt_t *opts);
#endif
-static int print_data(diff_opt_t *opts);
+static int print_data(diff_opt_t *opts);
static void print_pos(diff_opt_t *opts, hsize_t elemtno, size_t u);
static void h5diff_print_char(char ch);
-static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, diff_opt_t *opts);
-static hsize_t diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts,
- hid_t container1_id, hid_t container2_id, mcomp_t *members);
+static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id,
+ diff_opt_t *opts);
+static hsize_t diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t container1_id,
+ hid_t container2_id, mcomp_t *members);
/* element diffs */
-static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-#if H5_SIZEOF_LONG_DOUBLE !=0
-static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
+static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+#if H5_SIZEOF_LONG_DOUBLE != 0
+static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
#endif
-static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
+static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
static hsize_t diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
-static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts);
+static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
+static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx,
+ diff_opt_t *opts);
/*-------------------------------------------------------------------------
* NaN detection
*-------------------------------------------------------------------------
*/
-#if H5_SIZEOF_LONG_DOUBLE !=0
-typedef enum dtype_t
-{
- FLT_FLOAT,
- FLT_DOUBLE,
- FLT_LDOUBLE
-}dtype_t;
+#if H5_SIZEOF_LONG_DOUBLE != 0
+typedef enum dtype_t { FLT_FLOAT, FLT_DOUBLE, FLT_LDOUBLE } dtype_t;
#else
-typedef enum dtype_t {
- FLT_FLOAT, FLT_DOUBLE
-} dtype_t;
+typedef enum dtype_t { FLT_FLOAT, FLT_DOUBLE } dtype_t;
#endif
-
/*-------------------------------------------------------------------------
* XCAO, 11/10/2010
* added to improve performance for compound datasets
@@ -205,209 +217,207 @@ static void close_member_types(mcomp_t *members);
hsize_t
diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_t container2_id)
{
- hsize_t nfound = 0; /* number of differences found */
- size_t size; /* size of datum */
- unsigned char *mem1 = (unsigned char*) _mem1;
- unsigned char *mem2 = (unsigned char*) _mem2;
- hsize_t i;
- mcomp_t members;
- H5T_class_t type_class;
+ hsize_t nfound = 0; /* number of differences found */
+ size_t size; /* size of datum */
+ unsigned char *mem1 = (unsigned char *)_mem1;
+ unsigned char *mem2 = (unsigned char *)_mem2;
+ hsize_t i;
+ mcomp_t members;
+ H5T_class_t type_class;
H5TOOLS_START_DEBUG(" - rank:%d hs_nelmts:%ld errstat:%d", opts->rank, opts->hs_nelmts, opts->err_stat);
opts->print_header = 1; /* enable print header */
/* get the size. */
- size = H5Tget_size(opts->m_tid);
+ size = H5Tget_size(opts->m_tid);
type_class = H5Tget_class(opts->m_tid);
/* Fast comparison first for atomic type by memcmp().
* It is OK not to list non-atomic type here because it will not be caught
* by the condition, but it gives more clarity for code planning
*/
- if (type_class != H5T_REFERENCE &&
- type_class != H5T_COMPOUND &&
- type_class != H5T_STRING &&
- type_class != H5T_VLEN &&
- HDmemcmp(mem1, mem2, size * opts->hs_nelmts) == 0) {
+ if (type_class != H5T_REFERENCE && type_class != H5T_COMPOUND && type_class != H5T_STRING &&
+ type_class != H5T_VLEN && HDmemcmp(mem1, mem2, size * opts->hs_nelmts) == 0) {
H5TOOLS_ENDDEBUG(":Fast comparison - errstat:%d", opts->err_stat);
return 0;
}
H5TOOLS_DEBUG("type_class:%d", type_class);
switch (type_class) {
- case H5T_NO_CLASS:
- case H5T_TIME:
- case H5T_NCLASSES:
- default:
- H5TOOLS_DEBUG("type_class:INVALID");
- HDassert(0);
- break;
+ case H5T_NO_CLASS:
+ case H5T_TIME:
+ case H5T_NCLASSES:
+ default:
+ H5TOOLS_DEBUG("type_class:INVALID");
+ HDassert(0);
+ break;
- /*-------------------------------------------------------------------------
- * float and integer atomic types
- *-------------------------------------------------------------------------
- */
- case H5T_FLOAT:
- H5TOOLS_DEBUG("type_class:H5T_FLOAT");
- if (H5Tequal(opts->m_tid, H5T_NATIVE_FLOAT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_float_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(float);
- mem2 += sizeof(float);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_DOUBLE)){
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_double_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(double);
- mem2 += sizeof(double);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
+ /*-------------------------------------------------------------------------
+ * float and integer atomic types
+ *-------------------------------------------------------------------------
+ */
+ case H5T_FLOAT:
+ H5TOOLS_DEBUG("type_class:H5T_FLOAT");
+ if (H5Tequal(opts->m_tid, H5T_NATIVE_FLOAT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_float_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(float);
+ mem2 += sizeof(float);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_DOUBLE)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_double_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(double);
+ mem2 += sizeof(double);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
#if H5_SIZEOF_LONG_DOUBLE != 0
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_LDOUBLE)) {
- for ( i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_ldouble_element(mem1, mem2, i, opts);
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_LDOUBLE)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_ldouble_element(mem1, mem2, i, opts);
- mem1 += sizeof(long double);
- mem2 += sizeof(long double);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
+ mem1 += sizeof(long double);
+ mem2 += sizeof(long double);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
#endif
- break;
-
- case H5T_INTEGER:
- H5TOOLS_DEBUG("type_class:H5T_INTEGER");
- if (H5Tequal(opts->m_tid, H5T_NATIVE_SCHAR)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_schar_element(mem1, mem2, i, opts);
- mem1 += sizeof(char);
- mem2 += sizeof(char);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_UCHAR)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_uchar_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(unsigned char);
- mem2 += sizeof(unsigned char);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_SHORT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_short_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(short);
- mem2 += sizeof(short);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_USHORT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_ushort_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(unsigned short);
- mem2 += sizeof(unsigned short);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_INT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_int_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(int);
- mem2 += sizeof(int);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_UINT)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_int_element(mem1, mem2, i, opts);
+ break;
+
+ case H5T_INTEGER:
+ H5TOOLS_DEBUG("type_class:H5T_INTEGER");
+ if (H5Tequal(opts->m_tid, H5T_NATIVE_SCHAR)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_schar_element(mem1, mem2, i, opts);
+ mem1 += sizeof(char);
+ mem2 += sizeof(char);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_UCHAR)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_uchar_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned char);
+ mem2 += sizeof(unsigned char);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_SHORT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_short_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(short);
+ mem2 += sizeof(short);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_USHORT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_ushort_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned short);
+ mem2 += sizeof(unsigned short);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_INT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_int_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(int);
+ mem2 += sizeof(int);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_UINT)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_int_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned int);
+ mem2 += sizeof(unsigned int);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_LONG)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_long_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(long);
+ mem2 += sizeof(long);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_ULONG)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_ulong_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned long);
+ mem2 += sizeof(unsigned long);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_LLONG)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_llong_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(long long);
+ mem2 += sizeof(long long);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ else if (H5Tequal(opts->m_tid, H5T_NATIVE_ULLONG)) {
+ for (i = 0; i < opts->hs_nelmts; i++) {
+ nfound += diff_ullong_element(mem1, mem2, i, opts);
+
+ mem1 += sizeof(unsigned long long);
+ mem2 += sizeof(unsigned long long);
+ if (opts->count_bool && nfound >= opts->count)
+ return nfound;
+ } /* nelmts */
+ }
+ break;
- mem1 += sizeof(unsigned int);
- mem2 += sizeof(unsigned int);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_LONG)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_long_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(long);
- mem2 += sizeof(long);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_ULONG)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_ulong_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(unsigned long);
- mem2 += sizeof(unsigned long);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_LLONG)) {
- for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_llong_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(long long);
- mem2 += sizeof(long long);
- if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- else if (H5Tequal(opts->m_tid, H5T_NATIVE_ULLONG)) {
+ /*-------------------------------------------------------------------------
+ * Other types than float and integer
+ *-------------------------------------------------------------------------
+ */
+ case H5T_COMPOUND:
+ case H5T_STRING:
+ case H5T_BITFIELD:
+ case H5T_OPAQUE:
+ case H5T_ENUM:
+ case H5T_ARRAY:
+ case H5T_VLEN:
+ case H5T_REFERENCE:
+ H5TOOLS_DEBUG("type_class:OTHER");
+ HDmemset(&members, 0, sizeof(mcomp_t));
+ get_member_types(opts->m_tid, &members);
for (i = 0; i < opts->hs_nelmts; i++) {
- nfound += diff_ullong_element(mem1, mem2, i, opts);
-
- mem1 += sizeof(unsigned long long);
- mem2 += sizeof(unsigned long long);
+ H5TOOLS_DEBUG("opts->pos[%ld]:%ld - nelmts:%ld", i, opts->pos[i], opts->hs_nelmts);
+ nfound += diff_datum(mem1 + i * size, mem2 + i * size, i, opts, container1_id, container2_id,
+ &members);
if (opts->count_bool && nfound >= opts->count)
- return nfound;
- } /* nelmts */
- }
- break;
-
- /*-------------------------------------------------------------------------
- * Other types than float and integer
- *-------------------------------------------------------------------------
- */
- case H5T_COMPOUND:
- case H5T_STRING:
- case H5T_BITFIELD:
- case H5T_OPAQUE:
- case H5T_ENUM:
- case H5T_ARRAY:
- case H5T_VLEN:
- case H5T_REFERENCE:
- H5TOOLS_DEBUG("type_class:OTHER");
- HDmemset(&members, 0, sizeof(mcomp_t));
- get_member_types(opts->m_tid, &members);
- for (i = 0; i < opts->hs_nelmts; i++) {
- H5TOOLS_DEBUG("opts->pos[%ld]:%ld - nelmts:%ld", i, opts->pos[i], opts->hs_nelmts);
- nfound += diff_datum(mem1 + i * size, mem2 + i * size, i, opts, container1_id, container2_id, &members);
- if (opts->count_bool && nfound >= opts->count)
- break;
- } /* i */
- close_member_types(&members);
+ break;
+ } /* i */
+ close_member_types(&members);
} /* switch */
H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat);
return nfound;
@@ -447,247 +457,237 @@ diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_
*-------------------------------------------------------------------------
*/
static hsize_t
-diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t container1_id, hid_t container2_id, mcomp_t *members)
+diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t container1_id,
+ hid_t container2_id, mcomp_t *members)
{
- unsigned char *mem1 = (unsigned char*) _mem1;
- unsigned char *mem2 = (unsigned char*) _mem2;
- size_t u;
- size_t type_size;
- H5T_sign_t type_sign;
- H5T_class_t type_class;
- size_t offset;
- unsigned nmembs;
- unsigned j;
- size_t size = 0;
- hbool_t iszero1;
- hbool_t iszero2;
- hsize_t nfound = 0; /* differences found */
- double per;
- hbool_t both_zero;
- diff_err_t ret_value = opts->err_stat;
+ unsigned char *mem1 = (unsigned char *)_mem1;
+ unsigned char *mem2 = (unsigned char *)_mem2;
+ size_t u;
+ size_t type_size;
+ H5T_sign_t type_sign;
+ H5T_class_t type_class;
+ size_t offset;
+ unsigned nmembs;
+ unsigned j;
+ size_t size = 0;
+ hbool_t iszero1;
+ hbool_t iszero2;
+ hsize_t nfound = 0; /* differences found */
+ double per;
+ hbool_t both_zero;
+ diff_err_t ret_value = opts->err_stat;
H5TOOLS_START_DEBUG("ph:%d elemtno:%d - errstat:%d", opts->print_header, elemtno, opts->err_stat);
- type_size = H5Tget_size(opts->m_tid);
+ type_size = H5Tget_size(opts->m_tid);
type_class = H5Tget_class(opts->m_tid);
/* Fast comparison first for atomic type by memcmp().
* It is OK not to list non-atomic type here because it will not be caught
* by the condition, but it gives more clarity for code planning
*/
- if (type_class != H5T_REFERENCE &&
- type_class != H5T_COMPOUND &&
- type_class != H5T_STRING &&
- type_class != H5T_VLEN &&
- HDmemcmp(mem1, mem2, type_size) == 0)
+ if (type_class != H5T_REFERENCE && type_class != H5T_COMPOUND && type_class != H5T_STRING &&
+ type_class != H5T_VLEN && HDmemcmp(mem1, mem2, type_size) == 0)
H5TOOLS_GOTO_DONE(opts->err_stat);
switch (H5Tget_class(opts->m_tid)) {
- case H5T_NO_CLASS:
- case H5T_TIME:
- case H5T_NCLASSES:
- default:
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Invalid type class");
- break;
+ case H5T_NO_CLASS:
+ case H5T_TIME:
+ case H5T_NCLASSES:
+ default:
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Invalid type class");
+ break;
- /*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
- case H5T_COMPOUND:
- H5TOOLS_DEBUG("H5T_COMPOUND");
- {
- diff_opt_t cmpd_opts;
+ /*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+ case H5T_COMPOUND:
+ H5TOOLS_DEBUG("H5T_COMPOUND");
+ {
+ diff_opt_t cmpd_opts;
- cmpd_opts = *opts;
- nmembs = members->n;
+ cmpd_opts = *opts;
+ nmembs = members->n;
- for (j = 0; j < nmembs; j++) {
- offset = members->offsets[j];
- cmpd_opts.m_tid = members->ids[j];
+ for (j = 0; j < nmembs; j++) {
+ offset = members->offsets[j];
+ cmpd_opts.m_tid = members->ids[j];
- nfound += diff_datum(mem1 + offset, mem2 + offset, elemtno, &cmpd_opts, container1_id, container2_id, members->m[j]);
+ nfound += diff_datum(mem1 + offset, mem2 + offset, elemtno, &cmpd_opts, container1_id,
+ container2_id, members->m[j]);
+ }
+ opts->err_stat = opts->err_stat | cmpd_opts.err_stat;
+ opts->print_header = cmpd_opts.print_header;
+ opts->not_cmp = cmpd_opts.not_cmp;
}
- opts->err_stat = opts->err_stat | cmpd_opts.err_stat;
- opts->print_header = cmpd_opts.print_header;
- opts->not_cmp = cmpd_opts.not_cmp;
- }
- break;
+ break;
- /*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
- case H5T_STRING:
- H5TOOLS_DEBUG("H5T_STRING");
- {
- char *s = NULL;
- char *sx = NULL;
- char *s1 = NULL;
- char *s2 = NULL;
- size_t size1;
- size_t size2;
- size_t sizex;
- size_t size_mtype = H5Tget_size(opts->m_tid);
- H5T_str_t pad = H5Tget_strpad(opts->m_tid);
-
- /* if variable length string */
- if (H5Tis_variable_str(opts->m_tid)) {
- H5TOOLS_DEBUG("H5T_STRING variable");
- /* Get pointer to first string */
- s1 = *(char **)((void *)mem1);
- if (s1)
- size1 = HDstrlen(s1);
- else
- size1 = 0;
-
- /* Get pointer to second string */
- s2 = *(char **)((void *)mem2);
- if (s2)
- size2 = HDstrlen(s2);
- else
- size2 = 0;
- }
- else if (H5T_STR_NULLTERM == pad) {
- H5TOOLS_DEBUG("H5T_STRING null term");
- /* Get pointer to first string */
- s1 = (char*) mem1;
- if (s1)
- size1 = HDstrlen(s1);
- else
- size1 = 0;
-
- if (size1 > size_mtype)
- size1 = size_mtype;
+ /*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+ case H5T_STRING:
+ H5TOOLS_DEBUG("H5T_STRING");
+ {
+ char * s = NULL;
+ char * sx = NULL;
+ char * s1 = NULL;
+ char * s2 = NULL;
+ size_t size1;
+ size_t size2;
+ size_t sizex;
+ size_t size_mtype = H5Tget_size(opts->m_tid);
+ H5T_str_t pad = H5Tget_strpad(opts->m_tid);
+
+ /* if variable length string */
+ if (H5Tis_variable_str(opts->m_tid)) {
+ H5TOOLS_DEBUG("H5T_STRING variable");
+ /* Get pointer to first string */
+ s1 = *(char **)((void *)mem1);
+ if (s1)
+ size1 = HDstrlen(s1);
+ else
+ size1 = 0;
+
+ /* Get pointer to second string */
+ s2 = *(char **)((void *)mem2);
+ if (s2)
+ size2 = HDstrlen(s2);
+ else
+ size2 = 0;
+ }
+ else if (H5T_STR_NULLTERM == pad) {
+ H5TOOLS_DEBUG("H5T_STRING null term");
+ /* Get pointer to first string */
+ s1 = (char *)mem1;
+ if (s1)
+ size1 = HDstrlen(s1);
+ else
+ size1 = 0;
+
+ if (size1 > size_mtype)
+ size1 = size_mtype;
- /* Get pointer to second string */
- s2 = (char*) mem2;
- if (s2)
- size2 = HDstrlen(s2);
- else
- size2 = 0;
+ /* Get pointer to second string */
+ s2 = (char *)mem2;
+ if (s2)
+ size2 = HDstrlen(s2);
+ else
+ size2 = 0;
+
+ if (size2 > size_mtype)
+ size2 = size_mtype;
+ }
+ else {
+ /* Get pointer to first string */
+ s1 = (char *)mem1;
+ size1 = size_mtype;
- if (size2 > size_mtype)
+ /* Get pointer to second string */
+ s2 = (char *)mem2;
size2 = size_mtype;
- }
- else {
- /* Get pointer to first string */
- s1 = (char *) mem1;
- size1 = size_mtype;
+ }
- /* Get pointer to second string */
- s2 = (char *) mem2;
- size2 = size_mtype;
- }
+ /*
+ * compare for shorter string
+ * TODO: this code need to be improved to handle the difference
+ * of length of strings.
+ * For now mimic the previous way.
+ */
+ H5TOOLS_DEBUG("string size:%d", size1);
+ H5TOOLS_DEBUG("string size:%d", size2);
+ if (size1 != size2) {
+ H5TOOLS_DEBUG("string sizes difference");
+ nfound++;
+ }
+ if (size1 < size2) {
+ size = size1;
+ s = s1;
+ sizex = size2;
+ sx = s2;
+ }
+ else {
+ size = size2;
+ s = s2;
+ sizex = size1;
+ sx = s1;
+ }
- /*
- * compare for shorter string
- * TODO: this code need to be improved to handle the difference
- * of length of strings.
- * For now mimic the previous way.
- */
- H5TOOLS_DEBUG("string size:%d", size1);
- H5TOOLS_DEBUG("string size:%d", size2);
- if (size1 != size2) {
- H5TOOLS_DEBUG("string sizes difference");
- nfound++;
- }
- if (size1 < size2) {
- size = size1;
- s = s1;
- sizex = size2;
- sx = s2;
+ /* check for NULL pointer for string */
+ if (s != NULL) {
+ /* try fast compare first */
+ if ((HDmemcmp(s, sx, size) == 0) && (size1 != size2)) {
+ for (u = size; u < sizex; u++)
+ character_compare(s + u, sx + u, elemtno, u, opts);
+ }
+ else
+ for (u = 0; u < size; u++)
+ nfound += character_compare(s + u, sx + u, elemtno, u, opts);
+ } /* end check for NULL pointer for string */
}
- else {
- size = size2;
- s = s2;
- sizex = size1;
- sx = s1;
- }
-
- /* check for NULL pointer for string */
- if (s != NULL) {
- /* try fast compare first */
- if ((HDmemcmp(s, sx, size) == 0) && (size1 != size2)) {
- for (u = size; u < sizex; u++)
- character_compare(s + u, sx + u, elemtno, u, opts);
- }
- else
- for (u = 0; u < size; u++)
- nfound += character_compare(s + u, sx + u, elemtno, u, opts);
- } /* end check for NULL pointer for string */
- }
- break;
+ break;
- /*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
- case H5T_BITFIELD:
- H5TOOLS_DEBUG("H5T_BITFIELD");
- /* byte-by-byte comparison */
- for (u = 0; u < type_size; u++)
- nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
- break;
+ /*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+ case H5T_BITFIELD:
+ H5TOOLS_DEBUG("H5T_BITFIELD");
+ /* byte-by-byte comparison */
+ for (u = 0; u < type_size; u++)
+ nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
+ break;
- /*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
- case H5T_OPAQUE:
- H5TOOLS_DEBUG("H5T_OPAQUE");
- /* byte-by-byte comparison */
- for (u = 0; u < type_size; u++)
- nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
- break;
+ /*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+ case H5T_OPAQUE:
+ H5TOOLS_DEBUG("H5T_OPAQUE");
+ /* byte-by-byte comparison */
+ for (u = 0; u < type_size; u++)
+ nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
+ break;
- /*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
- case H5T_ENUM:
- /* For enumeration types we compare the names instead of the
- * integer values. For each pair of elements being
- * compared, we convert both bit patterns to their corresponding
- * enumeration constant and do a string comparison
+ /*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
*/
- H5TOOLS_DEBUG("H5T_ENUM");
- {
- char enum_name1[1024];
- char enum_name2[1024];
- herr_t err1;
- herr_t err2;
-
- /* disable error reporting */
- H5E_BEGIN_TRY {
- /* If the enum value cannot be converted to a string
- * it is set to an error string for later output.
- */
- err1 = H5Tenum_nameof(opts->m_tid, mem1, enum_name1, sizeof enum_name1);
- if (err1 < 0)
- HDsnprintf(enum_name1, sizeof(enum_name1), "**INVALID VALUE**");
-
- err2 = H5Tenum_nameof(opts->m_tid, mem2, enum_name2, sizeof enum_name2);
- if (err2 < 0)
- HDsnprintf(enum_name2, sizeof(enum_name2), "**INVALID VALUE**");
-
- /* One or more bad enum values */
- if (err1 < 0 || err2 < 0) {
- /* If the two values cannot be converted to a string
- * (probably due to them being invalid enum values),
- * don't attempt to convert them - just report errors.
+ case H5T_ENUM:
+ /* For enumeration types we compare the names instead of the
+ * integer values. For each pair of elements being
+ * compared, we convert both bit patterns to their corresponding
+ * enumeration constant and do a string comparison
+ */
+ H5TOOLS_DEBUG("H5T_ENUM");
+ {
+ char enum_name1[1024];
+ char enum_name2[1024];
+ herr_t err1;
+ herr_t err2;
+
+ /* disable error reporting */
+ H5E_BEGIN_TRY
+ {
+ /* If the enum value cannot be converted to a string
+ * it is set to an error string for later output.
*/
- nfound += 1;
- opts->print_percentage = 0;
- print_pos(opts, elemtno, 0);
- if (print_data(opts)) {
- parallel_print(S_FORMAT, enum_name1, enum_name2);
- }
- }
- else {
- /* Both enum values were valid */
- if (HDstrcmp(enum_name1, enum_name2) != 0) {
- nfound = 1;
+ err1 = H5Tenum_nameof(opts->m_tid, mem1, enum_name1, sizeof enum_name1);
+ if (err1 < 0)
+ HDsnprintf(enum_name1, sizeof(enum_name1), "**INVALID VALUE**");
+
+ err2 = H5Tenum_nameof(opts->m_tid, mem2, enum_name2, sizeof enum_name2);
+ if (err2 < 0)
+ HDsnprintf(enum_name2, sizeof(enum_name2), "**INVALID VALUE**");
+
+ /* One or more bad enum values */
+ if (err1 < 0 || err2 < 0) {
+ /* If the two values cannot be converted to a string
+ * (probably due to them being invalid enum values),
+ * don't attempt to convert them - just report errors.
+ */
+ nfound += 1;
opts->print_percentage = 0;
print_pos(opts, elemtno, 0);
if (print_data(opts)) {
@@ -695,306 +695,349 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
}
}
else {
- for (u = 0; u < type_size; u++)
- nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
+ /* Both enum values were valid */
+ if (HDstrcmp(enum_name1, enum_name2) != 0) {
+ nfound = 1;
+ opts->print_percentage = 0;
+ print_pos(opts, elemtno, 0);
+ if (print_data(opts)) {
+ parallel_print(S_FORMAT, enum_name1, enum_name2);
+ }
+ }
+ else {
+ for (u = 0; u < type_size; u++)
+ nfound += character_compare_opt(mem1 + u, mem2 + u, elemtno, opts);
+ }
}
+ /* enable error reporting */
}
- /* enable error reporting */
- } H5E_END_TRY;
- }
- break;
+ H5E_END_TRY;
+ }
+ break;
- /*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
- case H5T_ARRAY:
- {
- hsize_t adims[H5S_MAX_RANK];
- int ndims;
+ /*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+ case H5T_ARRAY: {
+ hsize_t adims[H5S_MAX_RANK];
+ int ndims;
diff_opt_t arr_opts;
H5TOOLS_DEBUG("H5T_ARRAY ph=%d", opts->print_header);
arr_opts = *opts;
- H5TOOLS_DEBUG("Check opts: hs_nelmts:%ld to %ld rank:%d to %ld", opts->hs_nelmts, arr_opts.hs_nelmts, opts->rank, arr_opts.rank);
+ H5TOOLS_DEBUG("Check opts: hs_nelmts:%ld to %ld rank:%d to %ld", opts->hs_nelmts,
+ arr_opts.hs_nelmts, opts->rank, arr_opts.rank);
/* get the array's base datatype for each element */
arr_opts.m_tid = H5Tget_super(opts->m_tid);
- size = H5Tget_size(arr_opts.m_tid);
- ndims = H5Tget_array_ndims(opts->m_tid);
+ size = H5Tget_size(arr_opts.m_tid);
+ ndims = H5Tget_array_ndims(opts->m_tid);
H5Tget_array_dims2(opts->m_tid, adims);
HDassert(ndims >= 1 && ndims <= H5S_MAX_RANK);
H5TOOLS_DEBUG("attr ph=%d", arr_opts.print_header);
/* calculate the number of array elements */
- for (u = 0, arr_opts.hs_nelmts = 1; u < (unsigned) ndims; u++)
+ for (u = 0, arr_opts.hs_nelmts = 1; u < (unsigned)ndims; u++)
arr_opts.hs_nelmts *= adims[u];
for (u = 0; u < arr_opts.hs_nelmts; u++) {
- nfound += diff_datum(mem1 + u * size, mem2 + u * size, elemtno, &arr_opts, container1_id, container2_id, members);
+ nfound += diff_datum(mem1 + u * size, mem2 + u * size, elemtno, &arr_opts, container1_id,
+ container2_id, members);
}
- opts->err_stat = opts->err_stat | arr_opts.err_stat;
+ opts->err_stat = opts->err_stat | arr_opts.err_stat;
opts->print_header = arr_opts.print_header;
- opts->not_cmp = arr_opts.not_cmp;
+ opts->not_cmp = arr_opts.not_cmp;
H5Tclose(arr_opts.m_tid);
- }
- break;
+ } break;
- /*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- case H5T_REFERENCE:
- H5TOOLS_DEBUG("H5T_REFERENCE");
- iszero1 = all_zero(_mem1, H5Tget_size(opts->m_tid));
- iszero2 = all_zero(_mem2, H5Tget_size(opts->m_tid));
- if (iszero1 != iszero2) {
- nfound++;
- H5TOOLS_GOTO_DONE(opts->err_stat);
- }
- else if (!iszero1 && !iszero2) {
- hid_t obj1_id = H5I_INVALID_HID;
- hid_t obj2_id = H5I_INVALID_HID;
- diff_opt_t ref_opts;
+ /*-------------------------------------------------------------------------
+ * H5T_REFERENCE
+ *-------------------------------------------------------------------------
+ */
+ case H5T_REFERENCE:
+ H5TOOLS_DEBUG("H5T_REFERENCE");
+ iszero1 = all_zero(_mem1, H5Tget_size(opts->m_tid));
+ iszero2 = all_zero(_mem2, H5Tget_size(opts->m_tid));
+ if (iszero1 != iszero2) {
+ nfound++;
+ H5TOOLS_GOTO_DONE(opts->err_stat);
+ }
+ else if (!iszero1 && !iszero2) {
+ hid_t obj1_id = H5I_INVALID_HID;
+ hid_t obj2_id = H5I_INVALID_HID;
+ diff_opt_t ref_opts;
- /*-------------------------------------------------------------------------
- * H5T_STD_REF
- * Reference
- *-------------------------------------------------------------------------
- */
- ref_opts = *opts;
- ref_opts.obj_name[0] = NULL;
- ref_opts.obj_name[1] = NULL;
- if (H5Tequal(ref_opts.m_tid, H5T_STD_REF)) {
- /* if (type_size == H5R_STD_REF_SIZE) */
- hid_t region1_id = H5I_INVALID_HID;
- hid_t region2_id = H5I_INVALID_HID;
- H5R_ref_t *ref1_buf = (H5R_ref_t *)_mem1;
- H5R_ref_t *ref2_buf = (H5R_ref_t *)_mem2;
- H5O_type_t obj1_type = -1; /* Object type */
- H5O_type_t obj2_type = -1; /* Object type */
- H5R_type_t ref_type; /* Reference type */
-
- H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF");
- ref_type = H5Rget_type(ref1_buf);
- switch (ref_type) {
- case H5R_OBJECT1:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT1");
- if (H5Rget_obj_type3(ref1_buf, H5P_DEFAULT, &obj1_type) >= 0) {
- if (H5Rget_obj_type3(ref2_buf, H5P_DEFAULT, &obj2_type) >= 0) {
- /* check object type */
- if (obj1_type == obj2_type) {
- switch (obj1_type) {
- case H5O_TYPE_DATASET:
- if((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- nfound = diff_datasetid(obj1_id, obj2_id, opts->obj_name[0], opts->obj_name[1], &ref_opts);
- if(H5Dclose(obj2_id) < 0) {
+ /*-------------------------------------------------------------------------
+ * H5T_STD_REF
+ * Reference
+ *-------------------------------------------------------------------------
+ */
+ ref_opts = *opts;
+ ref_opts.obj_name[0] = NULL;
+ ref_opts.obj_name[1] = NULL;
+ if (H5Tequal(ref_opts.m_tid, H5T_STD_REF)) {
+ /* if (type_size == H5R_STD_REF_SIZE) */
+ hid_t region1_id = H5I_INVALID_HID;
+ hid_t region2_id = H5I_INVALID_HID;
+ H5R_ref_t *ref1_buf = (H5R_ref_t *)_mem1;
+ H5R_ref_t *ref2_buf = (H5R_ref_t *)_mem2;
+ H5O_type_t obj1_type = -1; /* Object type */
+ H5O_type_t obj2_type = -1; /* Object type */
+ H5R_type_t ref_type; /* Reference type */
+
+ H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF");
+ ref_type = H5Rget_type(ref1_buf);
+ switch (ref_type) {
+ case H5R_OBJECT1:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT1");
+ if (H5Rget_obj_type3(ref1_buf, H5P_DEFAULT, &obj1_type) >= 0) {
+ if (H5Rget_obj_type3(ref2_buf, H5P_DEFAULT, &obj2_type) >= 0) {
+ /* check object type */
+ if (obj1_type == obj2_type) {
+ switch (obj1_type) {
+ case H5O_TYPE_DATASET:
+ if ((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT,
+ H5P_DEFAULT)) >= 0) {
+ if ((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT,
+ H5P_DEFAULT)) >= 0) {
+ nfound = diff_datasetid(obj1_id, obj2_id,
+ opts->obj_name[0],
+ opts->obj_name[1], &ref_opts);
+ if (H5Dclose(obj2_id) < 0) {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Dclose H5R_OBJECT1 failed");
+ }
+ }
+ else {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Ropen_object object 2 failed");
+ }
+ if (H5Dclose(obj1_id) < 0) {
ref_opts.err_stat = H5DIFF_ERR;
H5TOOLS_INFO("H5Dclose H5R_OBJECT1 failed");
}
}
else {
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Ropen_object object 2 failed");
+ H5TOOLS_INFO("H5Ropen_object object 1 failed");
}
- if(H5Dclose(obj1_id) < 0) {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Dclose H5R_OBJECT1 failed");
- }
- }
- else {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Ropen_object object 1 failed");
- }
- break;
-
- case H5O_TYPE_GROUP:
- case H5O_TYPE_NAMED_DATATYPE:
- case H5O_TYPE_MAP:
- case H5O_TYPE_UNKNOWN:
- case H5O_TYPE_NTYPES:
- default:
- if (ref_opts.mode_verbose)
- parallel_print("Warning: Comparison not possible of object types referenced: <%s> and <%s>\n", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
- break;
- } /* end switch */
+ break;
+
+ case H5O_TYPE_GROUP:
+ case H5O_TYPE_NAMED_DATATYPE:
+ case H5O_TYPE_MAP:
+ case H5O_TYPE_UNKNOWN:
+ case H5O_TYPE_NTYPES:
+ default:
+ if (ref_opts.mode_verbose)
+ parallel_print("Warning: Comparison not possible of "
+ "object types referenced: <%s> and <%s>\n",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ break;
+ } /* end switch */
+ }
+ else {
+ parallel_print("Different object types referenced: <%s> and <%s>",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ ref_opts.err_stat = H5DIFF_ERR;
+ }
}
else {
- parallel_print("Different object types referenced: <%s> and <%s>", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Rget_obj_type3 object 2 failed");
}
}
else {
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Rget_obj_type3 object 2 failed");
+ H5TOOLS_INFO("H5Rget_obj_type3 object 1 failed");
}
- }
- else {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Rget_obj_type3 object 1 failed");
- }
- break;
- case H5R_DATASET_REGION1:
- H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION1");
- if((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((region1_id = H5Ropen_region(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((region2_id = H5Ropen_region(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- nfound = diff_region(obj1_id, obj2_id, region1_id, region2_id, &ref_opts);
- if(H5Sclose(region2_id) < 0)
+ break;
+ case H5R_DATASET_REGION1:
+ H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION1");
+ if ((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((region1_id = H5Ropen_region(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >=
+ 0) {
+ if ((region2_id =
+ H5Ropen_region(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ nfound = diff_region(obj1_id, obj2_id, region1_id, region2_id,
+ &ref_opts);
+ if (H5Sclose(region2_id) < 0)
+ H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION1 failed");
+ }
+ if (H5Sclose(region1_id) < 0)
H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION1 failed");
}
- if(H5Sclose(region1_id) < 0)
- H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION1 failed");
+ if (H5Dclose(obj2_id) < 0)
+ H5TOOLS_INFO("H5Oclose H5R_DATASET_REGION1 failed");
+ }
+ else {
+ H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION1 failed");
}
- if(H5Dclose(obj2_id) < 0)
+ if (H5Dclose(obj1_id) < 0)
H5TOOLS_INFO("H5Oclose H5R_DATASET_REGION1 failed");
}
else {
H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION1 failed");
}
- if(H5Dclose(obj1_id) < 0)
- H5TOOLS_INFO("H5Oclose H5R_DATASET_REGION1 failed");
- }
- else {
- H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION1 failed");
- }
- break;
- case H5R_OBJECT2:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT2");
- if (H5Rget_obj_type3(ref1_buf, H5P_DEFAULT, &obj1_type) >= 0) {
- if (H5Rget_obj_type3(ref2_buf, H5P_DEFAULT, &obj2_type) >= 0) {
- /* check object type */
- if (obj1_type == obj2_type) {
- if((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- switch (obj1_type) {
- case H5O_TYPE_DATASET:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : DATASET");
- nfound = diff_datasetid(obj1_id, obj2_id, opts->obj_name[0], opts->obj_name[1], &ref_opts);
- break;
-
- case H5O_TYPE_GROUP:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : GROUP");
- if (ref_opts.mode_verbose)
- parallel_print("Warning: Comparison not possible of group object types referenced: <%s> and <%s>\n", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
- break;
-
- case H5O_TYPE_NAMED_DATATYPE:
- H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : NAMED");
- if (ref_opts.mode_verbose)
- parallel_print("Warning: Comparison not possible of named datatypes object types referenced: <%s> and <%s>\n", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
- break;
-
- case H5O_TYPE_MAP:
- case H5O_TYPE_UNKNOWN:
- case H5O_TYPE_NTYPES:
- default:
- if (ref_opts.mode_verbose)
- parallel_print("Warning: Comparison not possible of object types referenced: <%s> and <%s>\n", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
- break;
- } /* end switch */
- if(H5Oclose(obj2_id) < 0) {
+ break;
+ case H5R_OBJECT2:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT2");
+ if (H5Rget_obj_type3(ref1_buf, H5P_DEFAULT, &obj1_type) >= 0) {
+ if (H5Rget_obj_type3(ref2_buf, H5P_DEFAULT, &obj2_type) >= 0) {
+ /* check object type */
+ if (obj1_type == obj2_type) {
+ if ((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >=
+ 0) {
+ if ((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT,
+ H5P_DEFAULT)) >= 0) {
+ switch (obj1_type) {
+ case H5O_TYPE_DATASET:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : DATASET");
+ nfound = diff_datasetid(obj1_id, obj2_id,
+ opts->obj_name[0],
+ opts->obj_name[1], &ref_opts);
+ break;
+
+ case H5O_TYPE_GROUP:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : GROUP");
+ if (ref_opts.mode_verbose)
+ parallel_print(
+ "Warning: Comparison not possible of group "
+ "object types referenced: <%s> and <%s>\n",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ break;
+
+ case H5O_TYPE_NAMED_DATATYPE:
+ H5TOOLS_DEBUG("ref_type is H5R_OBJECT2 : NAMED");
+ if (ref_opts.mode_verbose)
+ parallel_print("Warning: Comparison not possible "
+ "of named datatypes object types "
+ "referenced: <%s> and <%s>\n",
+ opts->obj_name[0],
+ opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ break;
+
+ case H5O_TYPE_MAP:
+ case H5O_TYPE_UNKNOWN:
+ case H5O_TYPE_NTYPES:
+ default:
+ if (ref_opts.mode_verbose)
+ parallel_print(
+ "Warning: Comparison not possible of object "
+ "types referenced: <%s> and <%s>\n",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
+ break;
+ } /* end switch */
+ if (H5Oclose(obj2_id) < 0) {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Oclose H5R_OBJECT2 failed");
+ }
+ }
+ else {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Ropen_object object 2 failed");
+ }
+ if (H5Oclose(obj1_id) < 0) {
ref_opts.err_stat = H5DIFF_ERR;
H5TOOLS_INFO("H5Oclose H5R_OBJECT2 failed");
}
}
else {
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Ropen_object object 2 failed");
- }
- if(H5Oclose(obj1_id) < 0) {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Oclose H5R_OBJECT2 failed");
+ H5TOOLS_INFO("H5Ropen_object object 1 failed");
}
}
else {
+ parallel_print("Different object types referenced: <%s> and <%s>",
+ opts->obj_name[0], opts->obj_name[1]);
+ ref_opts.not_cmp = 1;
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Ropen_object object 1 failed");
}
}
else {
- parallel_print("Different object types referenced: <%s> and <%s>", opts->obj_name[0], opts->obj_name[1]);
- ref_opts.not_cmp = 1;
ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Rget_obj_type3 object 2 failed");
}
}
else {
ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Rget_obj_type3 object 2 failed");
+ H5TOOLS_INFO("H5Rget_obj_type3 object 1 failed");
}
- }
- else {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Rget_obj_type3 object 1 failed");
- }
- break;
- case H5R_DATASET_REGION2:
- H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION2");
-
- /* if (obj_id < 0) - could mean that no reference was written do not throw failure */
- if((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
- H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 object 1 failed");
- }
- else {
- if((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- H5TOOLS_DEBUG("open_region - H5R_DATASET_REGION2");
- if((region1_id = H5Ropen_region(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if (h5tools_is_zero(ref1_buf, H5Tget_size(H5T_STD_REF))) {
- H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
- }
- else {
- if((region2_id = H5Ropen_region(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if (h5tools_is_zero(ref2_buf, H5Tget_size(H5T_STD_REF))) {
- H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
- }
- else {
- nfound = diff_region(obj1_id, obj2_id, region1_id, region2_id, &ref_opts);
- }
- if(H5Sclose(region2_id) < 0)
- H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
+ break;
+ case H5R_DATASET_REGION2:
+ H5TOOLS_DEBUG("ref_type is H5R_DATASET_REGION2");
+
+ /* if (obj_id < 0) - could mean that no reference was written do not throw failure
+ */
+ if ((obj1_id = H5Ropen_object(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
+ H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 object 1 failed");
+ }
+ else {
+ if ((obj2_id = H5Ropen_object(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ H5TOOLS_DEBUG("open_region - H5R_DATASET_REGION2");
+ if ((region1_id = H5Ropen_region(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >=
+ 0) {
+ if (h5tools_is_zero(ref1_buf, H5Tget_size(H5T_STD_REF))) {
+ H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
}
- else
- H5TOOLS_INFO("H5Ropen_region H5R_DATASET_REGION2 failed");
- } /* end else to if (h5tools_is_zero(... */
- if(H5Sclose(region1_id) < 0)
- H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
+ else {
+ if ((region2_id = H5Ropen_region(ref2_buf, H5P_DEFAULT,
+ H5P_DEFAULT)) >= 0) {
+ if (h5tools_is_zero(ref2_buf, H5Tget_size(H5T_STD_REF))) {
+ H5TOOLS_DEBUG("NULL H5R_DATASET_REGION2");
+ }
+ else {
+ nfound = diff_region(obj1_id, obj2_id, region1_id,
+ region2_id, &ref_opts);
+ }
+ if (H5Sclose(region2_id) < 0)
+ H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
+ }
+ else
+ H5TOOLS_INFO("H5Ropen_region H5R_DATASET_REGION2 failed");
+ } /* end else to if (h5tools_is_zero(... */
+ if (H5Sclose(region1_id) < 0)
+ H5TOOLS_INFO("H5Sclose H5R_DATASET_REGION2 failed");
+ }
+ else
+ H5TOOLS_ERROR(H5DIFF_ERR,
+ "H5Ropen_region H5R_DATASET_REGION2 failed");
+ if (H5Dclose(obj2_id) < 0) {
+ ref_opts.err_stat = H5DIFF_ERR;
+ H5TOOLS_INFO("H5Dclose H5R_DATASET_REGION2 failed");
+ }
+ }
+ else {
+ H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 object 2 failed");
}
- else
- H5TOOLS_ERROR(H5DIFF_ERR, "H5Ropen_region H5R_DATASET_REGION2 failed");
- if(H5Dclose(obj2_id) < 0) {
+ if (H5Dclose(obj1_id) < 0) {
ref_opts.err_stat = H5DIFF_ERR;
H5TOOLS_INFO("H5Dclose H5R_DATASET_REGION2 failed");
}
}
- else {
- H5TOOLS_INFO("H5Ropen_object H5R_DATASET_REGION2 object 2 failed");
- }
- if(H5Dclose(obj1_id) < 0) {
- ref_opts.err_stat = H5DIFF_ERR;
- H5TOOLS_INFO("H5Dclose H5R_DATASET_REGION2 failed");
- }
- }
- break;
- case H5R_ATTR:
- {
- char name1[ATTR_NAME_MAX];
- char name2[ATTR_NAME_MAX];
+ break;
+ case H5R_ATTR: {
+ char name1[ATTR_NAME_MAX];
+ char name2[ATTR_NAME_MAX];
H5TOOLS_DEBUG("ref_type is H5R_ATTR");
- if((obj1_id = H5Ropen_attr(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
- if((obj2_id = H5Ropen_attr(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((obj1_id = H5Ropen_attr(ref1_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
+ if ((obj2_id = H5Ropen_attr(ref2_buf, H5P_DEFAULT, H5P_DEFAULT)) >= 0) {
/* get name */
- if(H5Aget_name(obj1_id, (size_t)ATTR_NAME_MAX, name1) >= 0) {
+ if (H5Aget_name(obj1_id, (size_t)ATTR_NAME_MAX, name1) >= 0) {
/* get name */
- if(H5Aget_name(obj2_id, (size_t)ATTR_NAME_MAX, name2) >= 0) {
- H5TOOLS_DEBUG("H5R_ATTR diff_attr_data - name1=%s, name2=%s", name1, name2);
- nfound = diff_attr_data(obj1_id, obj2_id, name1, name2, opts->obj_name[0], opts->obj_name[1], &ref_opts);
+ if (H5Aget_name(obj2_id, (size_t)ATTR_NAME_MAX, name2) >= 0) {
+ H5TOOLS_DEBUG("H5R_ATTR diff_attr_data - name1=%s, name2=%s",
+ name1, name2);
+ nfound = diff_attr_data(obj1_id, obj2_id, name1, name2,
+ opts->obj_name[0], opts->obj_name[1],
+ &ref_opts);
}
else {
ref_opts.err_stat = H5DIFF_ERR;
@@ -1006,7 +1049,7 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
H5TOOLS_INFO("H5Aget_name first attribute failed");
}
- if(H5Aclose(obj2_id) < 0) {
+ if (H5Aclose(obj2_id) < 0) {
ref_opts.err_stat = H5DIFF_ERR;
H5TOOLS_INFO("H5Aclose H5R_ATTR failed");
}
@@ -1015,7 +1058,7 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
parallel_print("Warning: Cannot open referenced attribute2\n");
H5TOOLS_INFO("H5Ropen_attr object 2 failed");
}
- if(H5Aclose(obj1_id) < 0) {
+ if (H5Aclose(obj1_id) < 0) {
H5TOOLS_INFO("H5Aclose H5R_ATTR failed");
}
}
@@ -1023,51 +1066,50 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
parallel_print("Warning: Cannot open referenced attribute1\n");
H5TOOLS_INFO("H5Ropen_attr object 1 failed");
}
- }
- break;
- case H5R_BADTYPE:
- case H5R_MAXTYPE:
- default:
- break;
- } /* end switch */
- if(H5Rdestroy(ref2_buf) < 0)
- H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed");
- if(H5Rdestroy(ref1_buf) < 0)
- H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed");
- H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF complete nfound:%d - errstat:%d", nfound, ref_opts.err_stat);
- }
- /*-------------------------------------------------------------------------
- * H5T_STD_REF_DSETREG
- * Dataset region reference
- *-------------------------------------------------------------------------
- */
- else if (H5Tequal(ref_opts.m_tid, H5T_STD_REF_DSETREG)) {
- /* if (type_size == H5R_DSET_REG_REF_BUF_SIZE) */
- H5TOOLS_DEBUG("H5T_STD_REF_DSETREG");
- }/*dataset reference*/
-
- /*-------------------------------------------------------------------------
- * H5T_STD_REF_OBJ
- * Object references. get the type and OID of the referenced object
- *-------------------------------------------------------------------------
- */
- else if (H5Tequal(ref_opts.m_tid, H5T_STD_REF_OBJ)) {
- /* if (type_size == H5R_OBJ_REF_BUF_SIZE) */
- H5TOOLS_DEBUG("H5T_STD_REF_OBJ");
- }/*object reference*/
- opts->print_header = ref_opts.print_header;
- opts->not_cmp = ref_opts.not_cmp;
- opts->err_stat = ref_opts.err_stat | ret_value;
- }/*is zero*/
- H5TOOLS_DEBUG("H5T_REFERENCE complete");
- break;
+ } break;
+ case H5R_BADTYPE:
+ case H5R_MAXTYPE:
+ default:
+ break;
+ } /* end switch */
+ if (H5Rdestroy(ref2_buf) < 0)
+ H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed");
+ if (H5Rdestroy(ref1_buf) < 0)
+ H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed");
+ H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF complete nfound:%d - errstat:%d", nfound,
+ ref_opts.err_stat);
+ }
+ /*-------------------------------------------------------------------------
+ * H5T_STD_REF_DSETREG
+ * Dataset region reference
+ *-------------------------------------------------------------------------
+ */
+ else if (H5Tequal(ref_opts.m_tid, H5T_STD_REF_DSETREG)) {
+ /* if (type_size == H5R_DSET_REG_REF_BUF_SIZE) */
+ H5TOOLS_DEBUG("H5T_STD_REF_DSETREG");
+ } /*dataset reference*/
+
+ /*-------------------------------------------------------------------------
+ * H5T_STD_REF_OBJ
+ * Object references. get the type and OID of the referenced object
+ *-------------------------------------------------------------------------
+ */
+ else if (H5Tequal(ref_opts.m_tid, H5T_STD_REF_OBJ)) {
+ /* if (type_size == H5R_OBJ_REF_BUF_SIZE) */
+ H5TOOLS_DEBUG("H5T_STD_REF_OBJ");
+ } /*object reference*/
+ opts->print_header = ref_opts.print_header;
+ opts->not_cmp = ref_opts.not_cmp;
+ opts->err_stat = ref_opts.err_stat | ret_value;
+ } /*is zero*/
+ H5TOOLS_DEBUG("H5T_REFERENCE complete");
+ break;
- /*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
- case H5T_VLEN:
- {
+ /*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+ case H5T_VLEN: {
diff_opt_t vl_opts;
H5TOOLS_DEBUG("H5T_VLEN");
@@ -1075,169 +1117,171 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co
vl_opts = *opts;
/* get the VL sequences's base datatype for each element */
vl_opts.m_tid = H5Tget_super(opts->m_tid);
- size = H5Tget_size(vl_opts.m_tid);
+ size = H5Tget_size(vl_opts.m_tid);
/* get the number of sequence elements */
vl_opts.hs_nelmts = ((hvl_t *)((void *)mem1))->len;
for (j = 0; j < vl_opts.hs_nelmts; j++)
- nfound += diff_datum(((char *) (((hvl_t *)((void *)mem1))->p)) + j * size, ((char *) (((hvl_t *)((void *)mem2))->p)) + j * size, elemtno, /* Extra (void *) cast to quiet "cast to create alignment" warning - 2019/07/05, QAK */
- &vl_opts, container1_id, container2_id, members);
+ nfound += diff_datum(((char *)(((hvl_t *)((void *)mem1))->p)) + j * size,
+ ((char *)(((hvl_t *)((void *)mem2))->p)) + j * size,
+ elemtno, /* Extra (void *) cast to quiet "cast to create alignment"
+ warning - 2019/07/05, QAK */
+ &vl_opts, container1_id, container2_id, members);
opts->print_header = vl_opts.print_header;
- opts->not_cmp = vl_opts.not_cmp;
- opts->err_stat = opts->err_stat | vl_opts.err_stat;
+ opts->not_cmp = vl_opts.not_cmp;
+ opts->err_stat = opts->err_stat | vl_opts.err_stat;
H5Tclose(vl_opts.m_tid);
- }
- break;
+ } break;
- /*-------------------------------------------------------------------------
- * H5T_INTEGER
- *-------------------------------------------------------------------------
- */
- case H5T_INTEGER:
- H5TOOLS_DEBUG("H5T_INTEGER");
- type_sign = H5Tget_sign(opts->m_tid);
/*-------------------------------------------------------------------------
- * H5T_NATIVE_SCHAR
+ * H5T_INTEGER
*-------------------------------------------------------------------------
*/
- if (type_size == 1 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(char))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not char size");
- nfound += diff_schar_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_SCHAR*/
+ case H5T_INTEGER:
+ H5TOOLS_DEBUG("H5T_INTEGER");
+ type_sign = H5Tget_sign(opts->m_tid);
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_SCHAR
+ *-------------------------------------------------------------------------
+ */
+ if (type_size == 1 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(char))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not char size");
+ nfound += diff_schar_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_SCHAR*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_UCHAR
- *-------------------------------------------------------------------------
- */
- else if (type_size == 1 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned char))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned char size");
- nfound += diff_uchar_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_UCHAR*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_UCHAR
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 1 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned char))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned char size");
+ nfound += diff_uchar_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_UCHAR*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_SHORT
- *-------------------------------------------------------------------------
- */
- else if (type_size == 2 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(short))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not short size");
- nfound += diff_short_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_SHORT*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_SHORT
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 2 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(short))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not short size");
+ nfound += diff_short_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_SHORT*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_USHORT
- *-------------------------------------------------------------------------
- */
- else if (type_size == 2 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned short))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned short size");
- nfound += diff_ushort_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_USHORT*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_USHORT
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 2 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned short))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned short size");
+ nfound += diff_ushort_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_USHORT*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_INT
- *-------------------------------------------------------------------------
- */
- else if (type_size == 4 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(int))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not int size");
- nfound += diff_int_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_INT*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_INT
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 4 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(int))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not int size");
+ nfound += diff_int_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_INT*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_UINT
- *-------------------------------------------------------------------------
- */
- else if (type_size == 4 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned int))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned int size");
- nfound += diff_uint_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_UINT*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_UINT
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 4 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned int))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned int size");
+ nfound += diff_uint_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_UINT*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_LONG
- *-------------------------------------------------------------------------
- */
- else if (type_size == 8 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(long))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long size");
- nfound += diff_long_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_LONG*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_LONG
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 8 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(long))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long size");
+ nfound += diff_long_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_LONG*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_ULONG
- *-------------------------------------------------------------------------
- */
- else if (type_size == 8 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned long))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned long size");
- nfound += diff_ulong_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_ULONG*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_ULONG
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 8 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned long))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned long size");
+ nfound += diff_ulong_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_ULONG*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_LLONG
- *-------------------------------------------------------------------------
- */
- else if (type_size == 16 && type_sign != H5T_SGN_NONE) {
- if(type_size != sizeof(long long))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long long size");
- nfound += diff_llong_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_LLONG*/
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_LLONG
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 16 && type_sign != H5T_SGN_NONE) {
+ if (type_size != sizeof(long long))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long long size");
+ nfound += diff_llong_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_LLONG*/
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_ULLONG
- *-------------------------------------------------------------------------
- */
- else if (type_size == 16 && type_sign == H5T_SGN_NONE) {
- if(type_size != sizeof(unsigned long long))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned long long size");
- nfound += diff_ullong_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_ULLONG*/
- break; /* H5T_INTEGER class */
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_ULLONG
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 16 && type_sign == H5T_SGN_NONE) {
+ if (type_size != sizeof(unsigned long long))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not unsigned long long size");
+ nfound += diff_ullong_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_ULLONG*/
+ break; /* H5T_INTEGER class */
- /*-------------------------------------------------------------------------
- * H5T_FLOAT
- *-------------------------------------------------------------------------
- */
- case H5T_FLOAT:
/*-------------------------------------------------------------------------
- * H5T_NATIVE_FLOAT
+ * H5T_FLOAT
*-------------------------------------------------------------------------
*/
- H5TOOLS_DEBUG("H5T_FLOAT");
- if (type_size == 4) {
- if(type_size != sizeof(float))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not float size");
- nfound += diff_float_element(mem1, mem2, elemtno, opts);
- }
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_DOUBLE
- *-------------------------------------------------------------------------
- */
- else if (type_size == 8) {
- if(type_size != sizeof(double))
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not double size");
- nfound += diff_double_element(mem1, mem2, elemtno, opts);
- }
+ case H5T_FLOAT:
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_FLOAT
+ *-------------------------------------------------------------------------
+ */
+ H5TOOLS_DEBUG("H5T_FLOAT");
+ if (type_size == 4) {
+ if (type_size != sizeof(float))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not float size");
+ nfound += diff_float_element(mem1, mem2, elemtno, opts);
+ }
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_DOUBLE
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == 8) {
+ if (type_size != sizeof(double))
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not double size");
+ nfound += diff_double_element(mem1, mem2, elemtno, opts);
+ }
#if H5_SIZEOF_LONG_DOUBLE != H5_SIZEOF_DOUBLE
- /*-------------------------------------------------------------------------
- * H5T_NATIVE_LDOUBLE
- *-------------------------------------------------------------------------
- */
- else if (type_size == H5_SIZEOF_LONG_DOUBLE) {
- if(type_size != sizeof(long double)) {
- H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long double size");
- }
- nfound += diff_ldouble_element(mem1, mem2, elemtno, opts);
- } /*H5T_NATIVE_LDOUBLE*/
-#endif /* H5_SIZEOF_LONG_DOUBLE */
+ /*-------------------------------------------------------------------------
+ * H5T_NATIVE_LDOUBLE
+ *-------------------------------------------------------------------------
+ */
+ else if (type_size == H5_SIZEOF_LONG_DOUBLE) {
+ if (type_size != sizeof(long double)) {
+ H5TOOLS_GOTO_ERROR(H5DIFF_ERR, "Type size is not long double size");
+ }
+ nfound += diff_ldouble_element(mem1, mem2, elemtno, opts);
+ } /*H5T_NATIVE_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE */
- break; /* H5T_FLOAT class */
+ break; /* H5T_FLOAT class */
} /* switch */
@@ -1257,8 +1301,10 @@ done:
*-------------------------------------------------------------------------
*/
-static hbool_t all_zero(const void *_mem, size_t size) {
- const unsigned char *mem = (const unsigned char *) _mem;
+static hbool_t
+all_zero(const void *_mem, size_t size)
+{
+ const unsigned char *mem = (const unsigned char *)_mem;
while (size-- > 0)
if (mem[size])
@@ -1276,17 +1322,17 @@ static hbool_t all_zero(const void *_mem, size_t size) {
*-------------------------------------------------------------------------
*/
-static
-void print_region_block(int i, hsize_t *ptdata, int ndims) {
+static void
+print_region_block(int i, hsize_t *ptdata, int ndims)
+{
int j;
parallel_print(" ");
for (j = 0; j < ndims; j++)
- parallel_print("%s%lu", j ? "," : " (", (unsigned long) ptdata[i * 2 * ndims + j]);
+ parallel_print("%s%lu", j ? "," : " (", (unsigned long)ptdata[i * 2 * ndims + j]);
for (j = 0; j < ndims; j++)
- parallel_print("%s%lu", j ? "," : ")-(", (unsigned long) ptdata[i * 2 * ndims + j + ndims]);
+ parallel_print("%s%lu", j ? "," : ")-(", (unsigned long)ptdata[i * 2 * ndims + j + ndims]);
parallel_print(")");
-
}
/*-------------------------------------------------------------------------
@@ -1298,15 +1344,15 @@ void print_region_block(int i, hsize_t *ptdata, int ndims) {
*-------------------------------------------------------------------------
*/
-static
-void print_points(int i, hsize_t *ptdata, int ndims) {
+static void
+print_points(int i, hsize_t *ptdata, int ndims)
+{
int j;
parallel_print(" ");
for (j = 0; j < ndims; j++)
- parallel_print("%s%lu", j ? "," : "(", (unsigned long) (ptdata[i * ndims + j]));
+ parallel_print("%s%lu", j ? "," : "(", (unsigned long)(ptdata[i * ndims + j]));
parallel_print(")");
-
}
/*-------------------------------------------------------------------------
@@ -1318,7 +1364,8 @@ void print_points(int i, hsize_t *ptdata, int ndims) {
*-------------------------------------------------------------------------
*/
-static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, diff_opt_t *opts)
+static hsize_t
+diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, diff_opt_t *opts)
{
hssize_t nblocks1, npoints1;
@@ -1329,8 +1376,8 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
int ndims1;
int ndims2;
int i, j;
- hsize_t nfound_b = 0; /* block differences found */
- hsize_t nfound_p = 0; /* point differences found */
+ hsize_t nfound_b = 0; /* block differences found */
+ hsize_t nfound_p = 0; /* point differences found */
hsize_t ret_value = 0;
H5TOOLS_START_DEBUG("");
@@ -1343,13 +1390,15 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
* respectively. They do not currently know how to translate from one to
* the other.
*/
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
nblocks1 = H5Sget_select_hyper_nblocks(region1_id);
nblocks2 = H5Sget_select_hyper_nblocks(region2_id);
npoints1 = H5Sget_select_elem_npoints(region1_id);
npoints2 = H5Sget_select_elem_npoints(region2_id);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
H5TOOLS_DEBUG("blocks: 1=%ld-2=%ld", nblocks1, nblocks2);
H5TOOLS_DEBUG("points: 1=%ld-2=%ld", npoints1, npoints2);
@@ -1365,24 +1414,24 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
if (nblocks1 > 0) {
H5TOOLS_DEBUG("region compare blocks");
HDassert(ndims1 > 0);
- alloc_size = (hsize_t) nblocks1 * (unsigned) ndims1 * 2 * sizeof(ptdata1[0]);
- HDassert(alloc_size == (hsize_t)((size_t )alloc_size)); /*check for overflow*/
+ alloc_size = (hsize_t)nblocks1 * (unsigned)ndims1 * 2 * sizeof(ptdata1[0]);
+ HDassert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/
- if((ptdata1 = (hsize_t *) HDmalloc((size_t )alloc_size)) == NULL) {
+ if ((ptdata1 = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL) {
opts->err_stat = H5DIFF_ERR;
H5TOOLS_INFO("Buffer allocation failed");
}
else {
H5_CHECK_OVERFLOW(nblocks1, hssize_t, hsize_t);
- H5Sget_select_hyper_blocklist(region1_id, (hsize_t) 0, (hsize_t) nblocks1, ptdata1);
+ H5Sget_select_hyper_blocklist(region1_id, (hsize_t)0, (hsize_t)nblocks1, ptdata1);
- if((ptdata2 = (hsize_t *) HDmalloc((size_t )alloc_size)) == NULL) {
+ if ((ptdata2 = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL) {
opts->err_stat = H5DIFF_ERR;
H5TOOLS_INFO("Buffer allocation failed");
}
else {
H5_CHECK_OVERFLOW(nblocks2, hssize_t, hsize_t);
- H5Sget_select_hyper_blocklist(region2_id, (hsize_t) 0, (hsize_t) nblocks2, ptdata2);
+ H5Sget_select_hyper_blocklist(region2_id, (hsize_t)0, (hsize_t)nblocks2, ptdata2);
for (i = 0; i < nblocks1; i++) {
/* start coordinates and opposite corner */
@@ -1391,8 +1440,8 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
start1 = ptdata1[i * 2 * ndims1 + j];
start2 = ptdata2[i * 2 * ndims1 + j];
- end1 = ptdata1[i * 2 * ndims1 + j + ndims1];
- end2 = ptdata2[i * 2 * ndims1 + j + ndims1];
+ end1 = ptdata1[i * 2 * ndims1 + j + ndims1];
+ end2 = ptdata2[i * 2 * ndims1 + j + ndims1];
if (start1 != start2 || end1 != end2)
nfound_b++;
}
@@ -1401,7 +1450,7 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
/* print differences if found */
if (nfound_b && opts->mode_verbose) {
H5O_info2_t oi1, oi2;
- char *obj1_str = NULL, *obj2_str = NULL;
+ char * obj1_str = NULL, *obj2_str = NULL;
H5Oget_info3(obj1_id, &oi1, H5O_INFO_BASIC);
H5Oget_info3(obj2_id, &oi2, H5O_INFO_BASIC);
@@ -1411,7 +1460,7 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
H5Otoken_to_str(obj2_id, &oi2.token, &obj2_str);
parallel_print("Referenced dataset %s %s\n", obj1_str, obj2_str);
- parallel_print( "------------------------------------------------------------\n");
+ parallel_print("------------------------------------------------------------\n");
H5free_memory(obj1_str);
H5free_memory(obj2_str);
@@ -1437,24 +1486,24 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
*/
if (npoints1 > 0) {
H5TOOLS_DEBUG("region compare points");
- alloc_size = (hsize_t) npoints1 * (unsigned) ndims1 * sizeof(ptdata1[0]);
- HDassert(alloc_size == (hsize_t)((size_t )alloc_size)); /*check for overflow*/
+ alloc_size = (hsize_t)npoints1 * (unsigned)ndims1 * sizeof(ptdata1[0]);
+ HDassert(alloc_size == (hsize_t)((size_t)alloc_size)); /*check for overflow*/
- if((ptdata1 = (hsize_t *) HDmalloc((size_t )alloc_size)) == NULL) {
+ if ((ptdata1 = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL) {
opts->err_stat = H5DIFF_ERR;
H5TOOLS_INFO("Buffer allocation failed");
}
else {
H5_CHECK_OVERFLOW(npoints1, hssize_t, hsize_t);
- H5Sget_select_elem_pointlist(region1_id, (hsize_t) 0, (hsize_t) npoints1, ptdata1);
+ H5Sget_select_elem_pointlist(region1_id, (hsize_t)0, (hsize_t)npoints1, ptdata1);
- if((ptdata2 = (hsize_t *) HDmalloc((size_t )alloc_size)) == NULL) {
+ if ((ptdata2 = (hsize_t *)HDmalloc((size_t)alloc_size)) == NULL) {
opts->err_stat = H5DIFF_ERR;
H5TOOLS_INFO("Buffer allocation failed");
}
else {
H5_CHECK_OVERFLOW(npoints1, hssize_t, hsize_t);
- H5Sget_select_elem_pointlist(region2_id, (hsize_t) 0, (hsize_t) npoints2, ptdata2);
+ H5Sget_select_elem_pointlist(region2_id, (hsize_t)0, (hsize_t)npoints2, ptdata2);
for (i = 0; i < npoints1; i++) {
hsize_t pt1, pt2;
@@ -1471,7 +1520,7 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
parallel_print("Region points\n");
for (i = 0; i < npoints1; i++) {
hsize_t pt1, pt2;
- int diff_data = 0;
+ int diff_data = 0;
for (j = 0; j < ndims1; j++) {
pt1 = ptdata1[i * ndims1 + j];
@@ -1492,9 +1541,9 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
HDfree(ptdata2);
} /* else ptdata2 */
-#if defined (H5DIFF_DEBUG)
+#if defined(H5DIFF_DEBUG)
for (i = 0; i < npoints1; i++) {
- parallel_print("%sPt%lu: " , i ? "," : "", (unsigned long)i);
+ parallel_print("%sPt%lu: ", i ? "," : "", (unsigned long)i);
for (j = 0; j < ndims1; j++)
parallel_print("%s%lu", j ? "," : "(", (unsigned long)(ptdata1[i * ndims1 + j]));
@@ -1508,8 +1557,8 @@ static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t
} /* else ptdata1 */
}
- nfound_b = nfound_b / (unsigned) ndims1;
- nfound_p = nfound_p / (unsigned) ndims1;
+ nfound_b = nfound_b / (unsigned)ndims1;
+ nfound_p = nfound_p / (unsigned)ndims1;
ret_value = nfound_p + nfound_b;
@@ -1527,7 +1576,8 @@ done:
*-------------------------------------------------------------------------
*/
-static hsize_t character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t u, diff_opt_t *opts)
+static hsize_t
+character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t u, diff_opt_t *opts)
{
hsize_t nfound = 0; /* differences found */
char temp1_uchar;
@@ -1540,7 +1590,7 @@ static hsize_t character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t
if (temp1_uchar != temp2_uchar) {
if (print_data(opts)) {
opts->print_percentage = 0;
- opts->print_dims = 1;
+ opts->print_dims = 1;
print_pos(opts, elemtno, u);
parallel_print(" ");
h5diff_print_char(temp1_uchar);
@@ -1563,7 +1613,8 @@ static hsize_t character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t
*-------------------------------------------------------------------------
*/
-static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno, diff_opt_t *opts)
+static hsize_t
+character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno, diff_opt_t *opts)
{
hsize_t nfound = 0; /* differences found */
unsigned char temp1_uchar;
@@ -1578,7 +1629,7 @@ static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, h
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (PDIFF(temp1_uchar,temp2_uchar) > opts->delta) {
+ if (PDIFF(temp1_uchar, temp2_uchar) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elemtno, 0);
if (print_data(opts)) {
@@ -1602,7 +1653,7 @@ static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, h
/* -d and -p */
else if (opts->delta_bool && opts->percent_bool) {
PER_UNSIGN(signed char, temp1_uchar, temp2_uchar);
- if (per > opts->percent && PDIFF(temp1_uchar,temp2_uchar) > opts->delta) {
+ if (per > opts->percent && PDIFF(temp1_uchar, temp2_uchar) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elemtno, 0);
if (print_data(opts)) {
@@ -1630,18 +1681,19 @@ static hsize_t character_compare_opt(unsigned char *mem1, unsigned char *mem2, h
* Purpose: diff a single H5T_NATIVE_FLOAT type
*
* Return: number of differences found
-*
+ *
*-------------------------------------------------------------------------
*/
-static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
float temp1_float;
float temp2_float;
double per;
hbool_t both_zero = FALSE;
- hbool_t isnan1 = FALSE;
- hbool_t isnan2 = FALSE;
+ hbool_t isnan1 = FALSE;
+ hbool_t isnan2 = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -1666,11 +1718,12 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- if ((double) ABS(temp1_float - temp2_float) > opts->delta) {
+ if ((double)ABS(temp1_float - temp2_float) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
@@ -1680,15 +1733,16 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
}
/*-------------------------------------------------------------------------
- * !-d and -p
- *-------------------------------------------------------------------------
- */
+ * !-d and -p
+ *-------------------------------------------------------------------------
+ */
else if (!opts->delta_bool && opts->percent_bool) {
/*-------------------------------------------------------------------------
* detect NaNs
@@ -1706,7 +1760,8 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P_NOTCOMP, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT_P_NOTCOMP, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
@@ -1714,8 +1769,9 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P, (double) temp1_float, (double) temp2_float,
- (double) ABS(temp1_float - temp2_float), (double) ABS(1 - temp2_float / temp1_float));
+ parallel_print(F_FORMAT_P, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float),
+ (double)ABS(1 - temp2_float / temp1_float));
}
nfound++;
}
@@ -1725,15 +1781,16 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
}
/*-------------------------------------------------------------------------
- * -d and -p
- *-------------------------------------------------------------------------
- */
+ * -d and -p
+ *-------------------------------------------------------------------------
+ */
else if (opts->delta_bool && opts->percent_bool) {
/*-------------------------------------------------------------------------
* detect NaNs
@@ -1752,16 +1809,18 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P_NOTCOMP, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT_P_NOTCOMP, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
- else if (per > opts->percent && (double) ABS(temp1_float - temp2_float) > opts->delta) {
+ else if (per > opts->percent && (double)ABS(temp1_float - temp2_float) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P, (double) temp1_float, (double) temp2_float,
- (double) ABS(temp1_float - temp2_float), (double) ABS(1 - temp2_float / temp1_float));
+ parallel_print(F_FORMAT_P, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float),
+ (double)ABS(1 - temp2_float / temp1_float));
}
nfound++;
}
@@ -1771,21 +1830,23 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
}
/*-------------------------------------------------------------------------
- * no -d and -p
- *-------------------------------------------------------------------------
- */
+ * no -d and -p
+ *-------------------------------------------------------------------------
+ */
else {
if (equal_float(temp1_float, temp2_float, opts) == FALSE) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT, (double) temp1_float, (double) temp2_float, (double) ABS(temp1_float - temp2_float));
+ parallel_print(F_FORMAT, (double)temp1_float, (double)temp2_float,
+ (double)ABS(temp1_float - temp2_float));
}
nfound++;
}
@@ -1803,15 +1864,16 @@ static hsize_t diff_float_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
double temp1_double;
double temp2_double;
double per;
hbool_t both_zero = FALSE;
- hbool_t isnan1 = FALSE;
- hbool_t isnan2 = FALSE;
+ hbool_t isnan1 = FALSE;
+ hbool_t isnan2 = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -1819,14 +1881,14 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
HDmemcpy(&temp2_double, mem2, sizeof(double));
/*-------------------------------------------------------------------------
- * -d and !-p
- *-------------------------------------------------------------------------
- */
+ * -d and !-p
+ *-------------------------------------------------------------------------
+ */
if (opts->delta_bool && !opts->percent_bool) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
if (opts->do_nans) {
isnan1 = HDisnan(temp1_double);
isnan2 = HDisnan(temp2_double);
@@ -1834,7 +1896,7 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- if (ABS(temp1_double-temp2_double) > opts->delta) {
+ if (ABS(temp1_double - temp2_double) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -1855,14 +1917,14 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
}
/*-------------------------------------------------------------------------
- * !-d and -p
- *-------------------------------------------------------------------------
- */
+ * !-d and -p
+ *-------------------------------------------------------------------------
+ */
else if (!opts->delta_bool && opts->percent_bool) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
if (opts->do_nans) {
isnan1 = HDisnan(temp1_double);
isnan2 = HDisnan(temp2_double);
@@ -1875,7 +1937,8 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P_NOTCOMP, temp1_double, temp2_double, ABS(temp1_double - temp2_double));
+ parallel_print(F_FORMAT_P_NOTCOMP, temp1_double, temp2_double,
+ ABS(temp1_double - temp2_double));
}
nfound++;
}
@@ -1883,8 +1946,8 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P, temp1_double, temp2_double,
- ABS(temp1_double - temp2_double), ABS(1 - temp2_double / temp1_double));
+ parallel_print(F_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double),
+ ABS(1 - temp2_double / temp1_double));
}
nfound++;
}
@@ -1900,14 +1963,14 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
}
}
/*-------------------------------------------------------------------------
- * -d and -p
- *-------------------------------------------------------------------------
- */
+ * -d and -p
+ *-------------------------------------------------------------------------
+ */
else if (opts->delta_bool && opts->percent_bool) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
if (opts->do_nans) {
isnan1 = HDisnan(temp1_double);
isnan2 = HDisnan(temp2_double);
@@ -1917,20 +1980,21 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
if (!isnan1 && !isnan2) {
PER(temp1_double, temp2_double);
- if (not_comparable && !both_zero) {
+ if (not_comparable && !both_zero) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P_NOTCOMP, temp1_double, temp2_double, ABS(temp1_double - temp2_double));
+ parallel_print(F_FORMAT_P_NOTCOMP, temp1_double, temp2_double,
+ ABS(temp1_double - temp2_double));
}
nfound++;
}
- else if (per > opts->percent && ABS(temp1_double-temp2_double) > opts->delta) {
+ else if (per > opts->percent && ABS(temp1_double - temp2_double) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(F_FORMAT_P, temp1_double, temp2_double,
- ABS(temp1_double - temp2_double), ABS(1 - temp2_double / temp1_double));
+ parallel_print(F_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double),
+ ABS(1 - temp2_double / temp1_double));
}
nfound++;
}
@@ -1946,9 +2010,9 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
}
}
/*-------------------------------------------------------------------------
- * no -d and -p
- *-------------------------------------------------------------------------
- */
+ * no -d and -p
+ *-------------------------------------------------------------------------
+ */
else {
if (equal_double(temp1_double, temp2_double, opts) == FALSE) {
opts->print_percentage = 0;
@@ -1972,17 +2036,18 @@ static hsize_t diff_double_element(unsigned char *mem1, unsigned char *mem2, hsi
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-#if H5_SIZEOF_LONG_DOUBLE !=0
+#if H5_SIZEOF_LONG_DOUBLE != 0
-static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
long double temp1_double;
long double temp2_double;
double per;
hbool_t both_zero = FALSE;
- hbool_t isnan1 = FALSE;
- hbool_t isnan2 = FALSE;
+ hbool_t isnan1 = FALSE;
+ hbool_t isnan2 = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -2007,7 +2072,7 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- if (ABS(temp1_double-temp2_double) > opts->delta) {
+ if (ABS(temp1_double - temp2_double) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2042,13 +2107,14 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- PER(temp1_double,temp2_double);
+ PER(temp1_double, temp2_double);
if (not_comparable && !both_zero) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LD_FORMAT_P_NOTCOMP, temp1_double, temp2_double, ABS(temp1_double - temp2_double));
+ parallel_print(LD_FORMAT_P_NOTCOMP, temp1_double, temp2_double,
+ ABS(temp1_double - temp2_double));
}
nfound++;
}
@@ -2056,7 +2122,8 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LD_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double), ABS(1 - temp2_double / temp1_double));
+ parallel_print(LD_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double),
+ ABS(1 - temp2_double / temp1_double));
}
nfound++;
}
@@ -2087,21 +2154,23 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
/* both not NaN, do the comparison */
if (!isnan1 && !isnan2) {
- PER(temp1_double,temp2_double);
+ PER(temp1_double, temp2_double);
if (not_comparable && !both_zero) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LD_FORMAT_P_NOTCOMP, temp1_double, temp2_double, ABS(temp1_double - temp2_double));
+ parallel_print(LD_FORMAT_P_NOTCOMP, temp1_double, temp2_double,
+ ABS(temp1_double - temp2_double));
}
nfound++;
}
- else if (per > opts->percent && ABS(temp1_double-temp2_double) > opts->delta) {
+ else if (per > opts->percent && ABS(temp1_double - temp2_double) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LD_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double), ABS(1 - temp2_double / temp1_double));
+ parallel_print(LD_FORMAT_P, temp1_double, temp2_double, ABS(temp1_double - temp2_double),
+ ABS(1 - temp2_double / temp1_double));
}
nfound++;
}
@@ -2143,7 +2212,8 @@ static hsize_t diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hs
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
char temp1_char;
@@ -2157,7 +2227,7 @@ static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsiz
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (ABS(temp1_char-temp2_char) > opts->delta) {
+ if (ABS(temp1_char - temp2_char) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2230,7 +2300,8 @@ static hsize_t diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
unsigned char temp1_uchar;
@@ -2317,7 +2388,8 @@ static hsize_t diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
short temp1_short;
@@ -2404,7 +2476,8 @@ static hsize_t diff_short_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
unsigned short temp1_ushort;
@@ -2435,7 +2508,8 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(I_FORMAT_P_NOTCOMP, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort));
+ parallel_print(I_FORMAT_P_NOTCOMP, temp1_ushort, temp2_ushort,
+ PDIFF(temp1_ushort, temp2_ushort));
}
nfound++;
}
@@ -2443,7 +2517,8 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(I_FORMAT_P, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort), per);
+ parallel_print(I_FORMAT_P, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort),
+ per);
}
nfound++;
}
@@ -2456,7 +2531,8 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(I_FORMAT_P_NOTCOMP, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort));
+ parallel_print(I_FORMAT_P_NOTCOMP, temp1_ushort, temp2_ushort,
+ PDIFF(temp1_ushort, temp2_ushort));
}
nfound++;
}
@@ -2464,7 +2540,8 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(I_FORMAT_P, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort), per);
+ parallel_print(I_FORMAT_P, temp1_ushort, temp2_ushort, PDIFF(temp1_ushort, temp2_ushort),
+ per);
}
nfound++;
}
@@ -2489,9 +2566,10 @@ static hsize_t diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsi
* Purpose: diff a single H5T_NATIVE_INT type
*
* Return: number of differences found
- *-------------------------------------------------------------------------
+ *-------------------------------------------------------------------------
*/
-static hsize_t diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
int temp1_int;
@@ -2505,7 +2583,7 @@ static hsize_t diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_
HDmemcpy(&temp2_int, mem2, sizeof(int));
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (ABS(temp1_int-temp2_int) > opts->delta) {
+ if (ABS(temp1_int - temp2_int) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2578,13 +2656,14 @@ static hsize_t diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
- hsize_t nfound = 0; /* number of differences found */
+ hsize_t nfound = 0; /* number of differences found */
unsigned int temp1_uint;
unsigned int temp2_uint;
- double per;
- hbool_t both_zero = FALSE;
+ double per;
+ hbool_t both_zero = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -2634,7 +2713,7 @@ static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize
}
nfound++;
}
- else if (per > opts->percent && PDIFF(temp1_uint,temp2_uint) > opts->delta) {
+ else if (per > opts->percent && PDIFF(temp1_uint, temp2_uint) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2665,12 +2744,13 @@ static hsize_t diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
- long temp1_long;
- long temp2_long;
- double per;
+ long temp1_long;
+ long temp2_long;
+ double per;
hbool_t both_zero = FALSE;
H5TOOLS_START_DEBUG("delta_bool:%d - percent_bool:%d", opts->delta_bool, opts->percent_bool);
@@ -2679,7 +2759,7 @@ static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize
HDmemcpy(&temp2_long, mem2, sizeof(long));
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (ABS(temp1_long-temp2_long) > opts->delta) {
+ if (ABS(temp1_long - temp2_long) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2721,7 +2801,7 @@ static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize
}
nfound++;
}
- else if (per > opts->percent && ABS(temp1_long-temp2_long) > opts->delta) {
+ else if (per > opts->percent && ABS(temp1_long - temp2_long) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2752,7 +2832,8 @@ static hsize_t diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
unsigned long temp1_ulong;
@@ -2783,7 +2864,8 @@ static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULI_FORMAT_P_NOTCOMP, temp1_ulong, temp2_ulong, PDIFF(temp1_ulong, temp2_ulong));
+ parallel_print(ULI_FORMAT_P_NOTCOMP, temp1_ulong, temp2_ulong,
+ PDIFF(temp1_ulong, temp2_ulong));
}
nfound++;
}
@@ -2804,11 +2886,12 @@ static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULI_FORMAT_P_NOTCOMP, temp1_ulong, temp2_ulong, PDIFF(temp1_ulong, temp2_ulong));
+ parallel_print(ULI_FORMAT_P_NOTCOMP, temp1_ulong, temp2_ulong,
+ PDIFF(temp1_ulong, temp2_ulong));
}
nfound++;
}
- else if (per > opts->percent && PDIFF(temp1_ulong,temp2_ulong) > opts->delta) {
+ else if (per > opts->percent && PDIFF(temp1_ulong, temp2_ulong) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2839,7 +2922,8 @@ static hsize_t diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
long long temp1_llong;
@@ -2854,7 +2938,7 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (ABS( temp1_llong-temp2_llong) > opts->delta) {
+ if (ABS(temp1_llong - temp2_llong) > opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2871,7 +2955,8 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LLI_FORMAT_P_NOTCOMP, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong));
+ parallel_print(LLI_FORMAT_P_NOTCOMP, temp1_llong, temp2_llong,
+ ABS(temp1_llong - temp2_llong));
}
nfound++;
}
@@ -2879,7 +2964,7 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LLI_FORMAT_P, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong),per);
+ parallel_print(LLI_FORMAT_P, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong), per);
}
nfound++;
}
@@ -2892,15 +2977,16 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LLI_FORMAT_P_NOTCOMP, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong));
+ parallel_print(LLI_FORMAT_P_NOTCOMP, temp1_llong, temp2_llong,
+ ABS(temp1_llong - temp2_llong));
}
nfound++;
}
- else if (per > opts->percent && ABS(temp1_llong-temp2_llong) > opts->delta) {
+ else if (per > opts->percent && ABS(temp1_llong - temp2_llong) > opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(LLI_FORMAT_P, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong),per);
+ parallel_print(LLI_FORMAT_P, temp1_llong, temp2_llong, ABS(temp1_llong - temp2_llong), per);
}
nfound++;
}
@@ -2929,7 +3015,8 @@ static hsize_t diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsiz
* Return: number of differences found
*-------------------------------------------------------------------------
*/
-static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
+static hsize_t
+diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, diff_opt_t *opts)
{
hsize_t nfound = 0; /* number of differences found */
unsigned long long temp1_ullong;
@@ -2945,7 +3032,7 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
/* -d and !-p */
if (opts->delta_bool && !opts->percent_bool) {
- if (PDIFF(temp1_ullong,temp2_ullong) > (unsigned long long) opts->delta) {
+ if (PDIFF(temp1_ullong, temp2_ullong) > (unsigned long long)opts->delta) {
opts->print_percentage = 0;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
@@ -2964,7 +3051,8 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULLI_FORMAT_P_NOTCOMP, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong));
+ parallel_print(ULLI_FORMAT_P_NOTCOMP, temp1_ullong, temp2_ullong,
+ PDIFF(temp1_ullong, temp2_ullong));
}
nfound++;
}
@@ -2972,7 +3060,8 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULLI_FORMAT_P, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong,temp2_ullong), per);
+ parallel_print(ULLI_FORMAT_P, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong),
+ per);
}
nfound++;
}
@@ -2987,15 +3076,17 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULLI_FORMAT_P_NOTCOMP, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong));
+ parallel_print(ULLI_FORMAT_P_NOTCOMP, temp1_ullong, temp2_ullong,
+ PDIFF(temp1_ullong, temp2_ullong));
}
nfound++;
}
- else if (per > opts->percent && PDIFF(temp1_ullong,temp2_ullong) > (unsigned long long) opts->delta) {
+ else if (per > opts->percent && PDIFF(temp1_ullong, temp2_ullong) > (unsigned long long)opts->delta) {
opts->print_percentage = 1;
print_pos(opts, elem_idx, 0);
if (print_data(opts)) {
- parallel_print(ULLI_FORMAT_P, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong), per);
+ parallel_print(ULLI_FORMAT_P, temp1_ullong, temp2_ullong, PDIFF(temp1_ullong, temp2_ullong),
+ per);
}
nfound++;
}
@@ -3021,11 +3112,11 @@ static hsize_t diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsi
* Purpose: convert unsigned long long to float
*-------------------------------------------------------------------------
*/
-static
-int ull2float(unsigned long long ull_value, float *f_value)
+static int
+ull2float(unsigned long long ull_value, float *f_value)
{
hid_t dxpl_id = H5I_INVALID_HID;
- unsigned char *buf = NULL;
+ unsigned char *buf = NULL;
size_t src_size;
size_t dst_size;
int ret_value = 0;
@@ -3036,21 +3127,23 @@ int ull2float(unsigned long long ull_value, float *f_value)
src_size = H5Tget_size(H5T_NATIVE_ULLONG);
dst_size = H5Tget_size(H5T_NATIVE_FLOAT);
- if((buf = (unsigned char*) HDcalloc((size_t )1, MAX(src_size, dst_size))) == NULL)
+ if ((buf = (unsigned char *)HDcalloc((size_t)1, MAX(src_size, dst_size))) == NULL)
H5TOOLS_GOTO_ERROR(FAIL, "Could not allocate buffer for dims");
HDmemcpy(buf, &ull_value, src_size);
/* do conversion */
- if (H5Tconvert(H5T_NATIVE_ULLONG, H5T_NATIVE_FLOAT, (size_t) 1, buf, NULL, dxpl_id) < 0)
+ if (H5Tconvert(H5T_NATIVE_ULLONG, H5T_NATIVE_FLOAT, (size_t)1, buf, NULL, dxpl_id) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Tconvert failed");
HDmemcpy(f_value, buf, dst_size);
done:
- H5E_BEGIN_TRY {
+ H5E_BEGIN_TRY
+ {
H5Pclose(dxpl_id);
- } H5E_END_TRY;
+ }
+ H5E_END_TRY;
if (buf)
HDfree(buf);
@@ -3065,26 +3158,28 @@ done:
* Purpose: use a absolute error formula to deal with floating point uncertainty
*-------------------------------------------------------------------------
*/
-static hbool_t equal_double(double value, double expected, diff_opt_t *opts) {
+static hbool_t
+equal_double(double value, double expected, diff_opt_t *opts)
+{
if (opts->do_nans) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
hbool_t isnan1 = HDisnan(value);
hbool_t isnan2 = HDisnan(expected);
/*-------------------------------------------------------------------------
- * we consider NaN == NaN to be true
- *-------------------------------------------------------------------------
- */
+ * we consider NaN == NaN to be true
+ *-------------------------------------------------------------------------
+ */
if (isnan1 && isnan2)
return TRUE;
/*-------------------------------------------------------------------------
- * one is a NaN, do not compare but assume difference
- *-------------------------------------------------------------------------
- */
+ * one is a NaN, do not compare but assume difference
+ *-------------------------------------------------------------------------
+ */
if ((isnan1 && !isnan2) || (!isnan1 && isnan2))
return FALSE;
}
@@ -3110,9 +3205,9 @@ static hbool_t equal_double(double value, double expected, diff_opt_t *opts) {
*-------------------------------------------------------------------------
*/
-#if H5_SIZEOF_LONG_DOUBLE !=0
-static
-hbool_t equal_ldouble(long double value, long double expected, diff_opt_t *opts)
+#if H5_SIZEOF_LONG_DOUBLE != 0
+static hbool_t
+equal_ldouble(long double value, long double expected, diff_opt_t *opts)
{
if (opts->do_nans) {
/*-------------------------------------------------------------------------
@@ -3159,12 +3254,14 @@ hbool_t equal_ldouble(long double value, long double expected, diff_opt_t *opts)
* Purpose: use a absolute error formula to deal with floating point uncertainty
*-------------------------------------------------------------------------
*/
-static hbool_t equal_float(float value, float expected, diff_opt_t *opts) {
+static hbool_t
+equal_float(float value, float expected, diff_opt_t *opts)
+{
if (opts->do_nans) {
/*-------------------------------------------------------------------------
- * detect NaNs
- *-------------------------------------------------------------------------
- */
+ * detect NaNs
+ *-------------------------------------------------------------------------
+ */
hbool_t isnan1 = HDisnan(value);
hbool_t isnan2 = HDisnan(expected);
@@ -3197,7 +3294,6 @@ static hbool_t equal_float(float value, float expected, diff_opt_t *opts) {
return FALSE;
}
-
/*-------------------------------------------------------------------------
*
* Local functions
@@ -3211,8 +3307,8 @@ static hbool_t equal_float(float value, float expected, diff_opt_t *opts) {
* Purpose: print data only in report or verbose modes, and do not print in quiet mode
*-------------------------------------------------------------------------
*/
-static
-int print_data(diff_opt_t *opts)
+static int
+print_data(diff_opt_t *opts)
{
return ((opts->mode_report || opts->mode_verbose) && !opts->mode_quiet) ? 1 : 0;
}
@@ -3223,8 +3319,8 @@ int print_data(diff_opt_t *opts)
* Purpose: print header for difference
*-------------------------------------------------------------------------
*/
-static
-void print_header(diff_opt_t *opts)
+static void
+print_header(diff_opt_t *opts)
{
/* print header */
parallel_print("%-16s", "size:");
@@ -3234,16 +3330,14 @@ void print_header(diff_opt_t *opts)
parallel_print("\n");
if (opts->print_percentage) {
- parallel_print("%-15s %-15s %-15s %-15s %-15s\n", "position",
- opts->obj_name[0], opts->obj_name[1], "difference", "relative");
- parallel_print(
- "------------------------------------------------------------------------\n");
+ parallel_print("%-15s %-15s %-15s %-15s %-15s\n", "position", opts->obj_name[0], opts->obj_name[1],
+ "difference", "relative");
+ parallel_print("------------------------------------------------------------------------\n");
}
else {
- parallel_print("%-15s %-15s %-15s %-20s\n", "position",
- opts->obj_name[0], opts->obj_name[1], "difference");
- parallel_print(
- "------------------------------------------------------------\n");
+ parallel_print("%-15s %-15s %-15s %-20s\n", "position", opts->obj_name[0], opts->obj_name[1],
+ "difference");
+ parallel_print("------------------------------------------------------------\n");
}
}
@@ -3253,10 +3347,10 @@ void print_header(diff_opt_t *opts)
* Purpose: print in matrix notation, converting from an array index position
*-------------------------------------------------------------------------
*/
-static
-void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
+static void
+print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
{
- int i,j;
+ int i, j;
H5TOOLS_START_DEBUG(" -- idx:%ld", idx);
@@ -3269,7 +3363,7 @@ void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
} /* end print header */
H5TOOLS_DEBUG("rank=%d", opts->rank);
- if(opts->rank > 0) {
+ if (opts->rank > 0) {
hsize_t curr_pos = idx;
parallel_print("[ ");
@@ -3278,30 +3372,35 @@ void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
if (opts->sset[0] != NULL) {
/* Subsetting is used - calculate total position */
hsize_t elmnt_cnt = 1;
- hsize_t dim_cnt = 0; /* previous dim size */
- hsize_t str_cnt = 0; /* previous dim stride */
- hsize_t curr_idx = idx; /* calculated running position */
- hsize_t str_idx = 0;
- hsize_t blk_idx = 0;
- hsize_t cnt_idx = 0;
- hsize_t hs_idx = 0;
- j = opts->rank-1;
+ hsize_t dim_cnt = 0; /* previous dim size */
+ hsize_t str_cnt = 0; /* previous dim stride */
+ hsize_t curr_idx = idx; /* calculated running position */
+ hsize_t str_idx = 0;
+ hsize_t blk_idx = 0;
+ hsize_t cnt_idx = 0;
+ hsize_t hs_idx = 0;
+ j = opts->rank - 1;
do {
cnt_idx = opts->sset[0]->count.data[j]; /* Count value for current dim */
- H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - count:%ld", j, curr_pos, curr_idx, cnt_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - count:%ld", j,
+ curr_pos, curr_idx, cnt_idx);
blk_idx = opts->sset[0]->block.data[j]; /* Block value for current dim */
- H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - block:%ld", j, curr_pos, curr_idx, blk_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - block:%ld", j,
+ curr_pos, curr_idx, blk_idx);
hs_idx = cnt_idx * blk_idx; /* hyperslab area value for current dim */
- H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - hs:%ld", j, curr_pos, curr_idx, hs_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - hs:%ld", j, curr_pos,
+ curr_idx, hs_idx);
str_idx = opts->sset[0]->stride.data[j]; /* Stride value for current dim */
- H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - stride:%ld", j, curr_pos, curr_idx, str_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - stride:%ld", j,
+ curr_pos, curr_idx, str_idx);
elmnt_cnt *= opts->dims[j]; /* Total number of elements in dimension */
H5TOOLS_DEBUG("... sset loop:%d with elmnt_cnt:%ld", j, elmnt_cnt);
if (str_idx > blk_idx)
curr_idx += dim_cnt * (str_idx - blk_idx); /* */
else if (curr_idx >= hs_idx)
curr_idx += dim_cnt * str_cnt;
- H5TOOLS_DEBUG("... sset loop:%d with idx:%ld (curr_idx:%ld) - stride:%ld", j, idx, curr_idx, str_idx);
+ H5TOOLS_DEBUG("... sset loop:%d with idx:%ld (curr_idx:%ld) - stride:%ld", j, idx,
+ curr_idx, str_idx);
dim_cnt = elmnt_cnt; /* */
if (str_idx > blk_idx)
str_cnt = str_idx - blk_idx; /* */
@@ -3320,8 +3419,9 @@ void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
calc_acc_pos((unsigned)opts->rank, curr_pos, opts->acc, opts->pos);
for (i = 0; i < opts->rank; i++) {
- H5TOOLS_DEBUG("pos loop:%d with opts->pos=%ld opts->sm_pos=%ld", i, opts->pos[i], opts->sm_pos[i]);
- opts->pos[i] += (unsigned long) opts->sm_pos[i];
+ H5TOOLS_DEBUG("pos loop:%d with opts->pos=%ld opts->sm_pos=%ld", i, opts->pos[i],
+ opts->sm_pos[i]);
+ opts->pos[i] += (unsigned long)opts->sm_pos[i];
H5TOOLS_DEBUG("pos loop:%d with opts->pos=%ld", i, opts->pos[i]);
parallel_print(HSIZE_T_FORMAT, (unsigned long long)opts->pos[i]);
parallel_print(" ");
@@ -3350,36 +3450,37 @@ void print_pos(diff_opt_t *opts, hsize_t idx, size_t u)
* Purpose: Print a char
*-------------------------------------------------------------------------
*/
-static void h5diff_print_char(char ch)
+static void
+h5diff_print_char(char ch)
{
switch (ch) {
- case '"':
- parallel_print("\\\"");
- break;
- case '\\':
- parallel_print("\\\\");
- break;
- case '\b':
- parallel_print("\\b");
- break;
- case '\f':
- parallel_print("\\f");
- break;
- case '\n':
- parallel_print("\\n");
- break;
- case '\r':
- parallel_print("\\r");
- break;
- case '\t':
- parallel_print("\\t");
- break;
- default:
- if (isprint(ch))
- parallel_print("%c", ch);
- else
- parallel_print("\\%03o", ch);
- break;
+ case '"':
+ parallel_print("\\\"");
+ break;
+ case '\\':
+ parallel_print("\\\\");
+ break;
+ case '\b':
+ parallel_print("\\b");
+ break;
+ case '\f':
+ parallel_print("\\f");
+ break;
+ case '\n':
+ parallel_print("\\n");
+ break;
+ case '\r':
+ parallel_print("\\r");
+ break;
+ case '\t':
+ parallel_print("\\t");
+ break;
+ default:
+ if (isprint(ch))
+ parallel_print("%c", ch);
+ else
+ parallel_print("\\%03o", ch);
+ break;
}
}
@@ -3388,7 +3489,8 @@ static void h5diff_print_char(char ch)
* set up compound datatype structures.
*-------------------------------------------------------------------------
*/
-static void get_member_types(hid_t tid, mcomp_t *members)
+static void
+get_member_types(hid_t tid, mcomp_t *members)
{
int tclass;
unsigned u;
@@ -3407,16 +3509,16 @@ static void get_member_types(hid_t tid, mcomp_t *members)
if ((nmembs = H5Tget_nmembers(tid)) <= 0)
return;
- members->n = (unsigned) nmembs;
+ members->n = (unsigned)nmembs;
- members->ids = (hid_t *) HDcalloc((size_t )members->n, sizeof(hid_t));
- members->offsets = (size_t *) HDcalloc((size_t )members->n, sizeof(size_t));
- members->m = (mcomp_t **) HDcalloc((size_t )members->n, sizeof(mcomp_t *));
+ members->ids = (hid_t *)HDcalloc((size_t)members->n, sizeof(hid_t));
+ members->offsets = (size_t *)HDcalloc((size_t)members->n, sizeof(size_t));
+ members->m = (mcomp_t **)HDcalloc((size_t)members->n, sizeof(mcomp_t *));
for (u = 0; u < members->n; u++) {
- members->ids[u] = H5Tget_member_type(tid, u);
+ members->ids[u] = H5Tget_member_type(tid, u);
members->offsets[u] = H5Tget_member_offset(tid, u);
- members->m[u] = (mcomp_t *) HDmalloc(sizeof(mcomp_t));
+ members->m[u] = (mcomp_t *)HDmalloc(sizeof(mcomp_t));
HDmemset(members->m[u], 0, sizeof(mcomp_t));
get_member_types(members->ids[u], members->m[u]);
}
@@ -3430,7 +3532,8 @@ static void get_member_types(hid_t tid, mcomp_t *members)
* clean and close compound members.
*-------------------------------------------------------------------------
*/
-static void close_member_types(mcomp_t *members)
+static void
+close_member_types(mcomp_t *members)
{
unsigned u;
@@ -3449,4 +3552,3 @@ static void close_member_types(mcomp_t *members)
HDfree(members->ids);
HDfree(members->offsets);
}
-