summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/h5diff/h5diff_common.c4
-rw-r--r--tools/lib/h5diff.h4
-rw-r--r--tools/lib/h5diff_array.c5701
-rw-r--r--tools/testfiles/h5diff_192.txt8
4 files changed, 2828 insertions, 2889 deletions
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index 42a1943..fb121a3 100644
--- a/tools/h5diff/h5diff_common.c
+++ b/tools/h5diff/h5diff_common.c
@@ -96,7 +96,7 @@ void parse_input(int argc, const char* argv[], const char** fname1, const char**
printf("<-d %s> is not a valid option\n", argv[i+1] );
usage();
}
- options->delta = (float) atof(argv[i+1]);
+ options->delta = atof(argv[i+1]);
i++; /* go to next */
}
else
@@ -114,7 +114,7 @@ void parse_input(int argc, const char* argv[], const char** fname1, const char**
printf("<-p %s> is not a valid option\n", argv[i+1] );
usage();
}
- options->percent = (float) atof(argv[i+1]);
+ options->percent = atof(argv[i+1]);
i++; /* go to next */
}
else
diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h
index ab873ae..e698770 100644
--- a/tools/lib/h5diff.h
+++ b/tools/lib/h5diff.h
@@ -28,9 +28,9 @@ typedef struct {
int m_report; /* report mode: print the data */
int m_verbose; /* verbose mode: print the data, list of objcets, warnings */
int d; /* delta, absolute value to compare */
- float delta; /* delta value */
+ double delta; /* delta value */
int p; /* relative error to compare*/
- float percent; /* relative error value */
+ double percent; /* relative error value */
int n; /* count, compare up to count */
hsize_t count; /* count value */
int err_stat; /* an error ocurred (1, error, 0, no error) */
diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c
index c45eff3..cc16a75 100644
--- a/tools/lib/h5diff_array.c
+++ b/tools/lib/h5diff_array.c
@@ -51,6 +51,15 @@
#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"
+
+/* values for FLT_EPSILON same as C Reference manual */
+#define H5DIFF_FLT_EPSILON .00001
+#define H5DIFF_DBL_EPSILON .000000001
+
+static hbool_t equal_float(float value, float expected);
+static hbool_t equal_double(double value, double expected);
+
+
/*-------------------------------------------------------------------------
* -p relative error formula
*
@@ -74,11 +83,36 @@ static int not_comparable;
if (A==0 && B==0) \
both_zero=1; \
if (A!=0) \
- per = (float)fabs( ((float)B - (float)A) / (float) A ); \
+ per = (double)ABS( ( double)(B-A) / (double)A ); \
+ else \
+ not_comparable=1; \
+ }
+
+
+#define PER_UNSIGN(A,B) { per=-1; \
+ not_comparable=0; \
+ both_zero=0; \
+ if (A==0 && B==0) \
+ both_zero=1; \
+ if (A!=0) \
+ per = (double) (B-A) / (double)A ; \
+ else \
+ not_comparable=1; \
+ }
+
+
+#define PER_FLOAT(A,B) { per=-1; \
+ not_comparable=0; \
+ both_zero=0; \
+ if (equal_double(A,B)) \
+ both_zero=1; \
+ if (!equal_double(A,0.0)) \
+ per = (double)ABS( ( double)(B-A) / (double)A ); \
else \
not_comparable=1; \
}
+
#define BOTH_ZERO(A,B) { both_zero=0; \
if (A==0 && B==0) \
both_zero=1; \
@@ -100,13 +134,6 @@ static int ull2float(unsigned long_long ull_value, float *f_value);
static hsize_t character_compare(unsigned char *mem1,unsigned char *mem2,hsize_t i,int rank,hsize_t *acc,hsize_t *pos,diff_opt_t *options,const char *obj1,const char *obj2,int *ph);
static hsize_t character_compare_opt(unsigned char *mem1,unsigned char *mem2,hsize_t i,int rank,hsize_t *acc,hsize_t *pos,diff_opt_t *options,const char *obj1,const char *obj2,int *ph);
-/* values for FLT_EPSILON same as C Reference manual */
-#define H5DIFF_FLT_EPSILON .00001
-#define H5DIFF_DBL_EPSILON .000000001
-
-static hbool_t equal_float(float value, float expected);
-static hbool_t equal_double(double value, double expected);
-
/*-------------------------------------------------------------------------
*
@@ -405,7 +432,7 @@ hsize_t diff_datum(void *_mem1,
int j;
hsize_t nelmts;
hsize_t ndims;
- size_t size;
+ size_t size=0;
int iszero1;
int iszero2;
H5G_obj_t obj1_type;
@@ -414,7 +441,8 @@ hsize_t diff_datum(void *_mem1,
hid_t obj2_id;
hsize_t nfound=0; /* differences found */
int ret=0; /* check return error */
- float f1, f2, per;
+ float f1, f2;
+ double per;
int both_zero;
type_size = H5Tget_size( m_type );
@@ -785,96 +813,90 @@ hsize_t diff_datum(void *_mem1,
*/
if (H5Tequal(m_type, H5T_NATIVE_SCHAR))
{
- char temp1_char;
- char temp2_char;
- assert(type_size==sizeof(char));
- memcpy(&temp1_char, mem1, sizeof(char));
- memcpy(&temp2_char, mem2, sizeof(char));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (abs(temp1_char-temp2_char) > options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_char,temp2_char);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
- fabs(temp1_char-temp2_char));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_char,temp2_char,
- abs(temp1_char-temp2_char),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_char,temp2_char);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
- fabs(temp1_char-temp2_char));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_char-temp2_char) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_char,temp2_char,
- abs(temp1_char-temp2_char),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_char != temp2_char)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char));
- }
- nfound++;
- }
-
+ char temp1_char;
+ char temp2_char;
+ assert(type_size==sizeof(char));
+ memcpy(&temp1_char, mem1, sizeof(char));
+ memcpy(&temp2_char, mem2, sizeof(char));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (ABS(temp1_char-temp2_char) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER(temp1_char,temp2_char);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_char,temp2_char,ABS(temp1_char-temp2_char),per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER(temp1_char,temp2_char);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_char-temp2_char) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_char,temp2_char,ABS(temp1_char-temp2_char),per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_char != temp2_char)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+ }
+ nfound++;
+ }
+
} /*H5T_NATIVE_SCHAR*/
/*-------------------------------------------------------------------------
@@ -883,97 +905,91 @@ hsize_t diff_datum(void *_mem1,
*/
else if (H5Tequal(m_type, H5T_NATIVE_UCHAR))
{
- unsigned char temp1_uchar;
- unsigned char temp2_uchar;
- assert(type_size==sizeof(unsigned char));
-
- memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
- memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (abs(temp1_uchar-temp2_uchar) > options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_uchar,temp2_uchar);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
- fabs(temp1_uchar-temp2_uchar));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,
- abs(temp1_uchar-temp2_uchar),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_uchar,temp2_uchar);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
- fabs(temp1_uchar-temp2_uchar));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_uchar-temp2_uchar) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,
- abs(temp1_uchar-temp2_uchar),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_uchar != temp2_uchar)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
- }
- nfound++;
- }
-
+ unsigned char temp1_uchar;
+ unsigned char temp2_uchar;
+ assert(type_size==sizeof(unsigned char));
+
+ memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+ memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (temp1_uchar-temp2_uchar > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar);
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER_UNSIGN(temp1_uchar,temp2_uchar);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar,per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER_UNSIGN(temp1_uchar,temp2_uchar);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_uchar-temp2_uchar > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar,per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_uchar != temp2_uchar)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar);
+ }
+ nfound++;
+ }
+
} /*H5T_NATIVE_UCHAR*/
@@ -984,98 +1000,92 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_SHORT))
{
- short temp1_short;
- short temp2_short;
- assert(type_size==sizeof(short));
-
- memcpy(&temp1_short, mem1, sizeof(short));
- memcpy(&temp2_short, mem2, sizeof(short));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (abs(temp1_short-temp2_short) > options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_short,temp2_short);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
- fabs(temp1_short-temp2_short));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_short,temp2_short,
- abs(temp1_short-temp2_short),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_short,temp2_short);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
- fabs(temp1_short-temp2_short));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_short-temp2_short) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_short,temp2_short,
- abs(temp1_short-temp2_short),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_short != temp2_short)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short));
- }
- nfound++;
- }
-
-
+ short temp1_short;
+ short temp2_short;
+ assert(type_size==sizeof(short));
+
+ memcpy(&temp1_short, mem1, sizeof(short));
+ memcpy(&temp2_short, mem2, sizeof(short));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (ABS(temp1_short-temp2_short) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER(temp1_short,temp2_short);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_short,temp2_short,ABS(temp1_short-temp2_short),per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER(temp1_short,temp2_short);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_short-temp2_short) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_short,temp2_short,ABS(temp1_short-temp2_short),per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_short != temp2_short)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+ }
+ nfound++;
+ }
+
+
} /*H5T_NATIVE_SHORT*/
/*-------------------------------------------------------------------------
@@ -1085,97 +1095,92 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_USHORT))
{
- unsigned short temp1_ushort;
- unsigned short temp2_ushort;
- assert(type_size==sizeof(short));
-
- memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
- memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (abs(temp1_ushort-temp2_ushort) > options->delta)
- {
-
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_ushort,temp2_ushort);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
- fabs(temp1_ushort-temp2_ushort));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_ushort,temp2_ushort,
- abs(temp1_ushort-temp2_ushort),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_ushort,temp2_ushort);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
- fabs(temp1_ushort-temp2_ushort));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_ushort-temp2_ushort) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_ushort,temp2_ushort,
- abs(temp1_ushort-temp2_ushort),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_ushort != temp2_ushort)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort));
- }
- nfound++;
- }
+ unsigned short temp1_ushort;
+ unsigned short temp2_ushort;
+ assert(type_size==sizeof(short));
+
+ memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+ memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if ( temp1_ushort-temp2_ushort > options->delta)
+ {
+
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_ushort,temp2_ushort,temp1_ushort-temp2_ushort);
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER_UNSIGN(temp1_ushort,temp2_ushort);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
+ ABS(temp1_ushort-temp2_ushort));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_ushort,temp2_ushort,temp1_ushort-temp2_ushort,per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER_UNSIGN(temp1_ushort,temp2_ushort);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,temp1_ushort-temp2_ushort);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_ushort-temp2_ushort > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_ushort,temp2_ushort,temp1_ushort-temp2_ushort,per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_ushort != temp2_ushort)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_ushort,temp2_ushort,temp1_ushort-temp2_ushort);
+ }
+ nfound++;
+ }
} /*H5T_NATIVE_USHORT*/
@@ -1186,97 +1191,90 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_INT))
{
- int temp1_int;
- int temp2_int;
- assert(type_size==sizeof(int));
-
- memcpy(&temp1_int, mem1, sizeof(int));
- memcpy(&temp2_int, mem2, sizeof(int));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (abs(temp1_int-temp2_int) > options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_int,temp2_int);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
- fabs(temp1_int-temp2_int));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_int,temp2_int,
- abs(temp1_int-temp2_int),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_int,temp2_int);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
- fabs(temp1_int-temp2_int));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_int-temp2_int) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_int,temp2_int,
- abs(temp1_int-temp2_int),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_int != temp2_int)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int));
- }
- nfound++;
- }
+ int temp1_int;
+ int temp2_int;
+ assert(type_size==sizeof(int));
+
+ memcpy(&temp1_int, mem1, sizeof(int));
+ memcpy(&temp2_int, mem2, sizeof(int));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (ABS(temp1_int-temp2_int) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER(temp1_int,temp2_int);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_int,temp2_int,ABS(temp1_int-temp2_int),per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER(temp1_int,temp2_int);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_int-temp2_int) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_int,temp2_int,ABS(temp1_int-temp2_int),per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_int != temp2_int)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+ }
+ nfound++;
+ }
} /*H5T_NATIVE_INT*/
@@ -1287,96 +1285,90 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_UINT))
{
- unsigned int temp1_uint;
- unsigned int temp2_uint;
- assert(type_size==sizeof(int));
-
- memcpy(&temp1_uint, mem1, sizeof(unsigned int));
- memcpy(&temp2_uint, mem2, sizeof(unsigned int));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (abs((int)(temp1_uint-temp2_uint)) > options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(UI_FORMAT,temp1_uint,temp2_uint,abs((int)(temp1_uint-temp2_uint)));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_uint,temp2_uint);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,
- fabs(temp1_uint-temp2_uint));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uint,temp2_uint,
- abs((int)(temp1_uint-temp2_uint)),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_uint,temp2_uint);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,
- fabs(temp1_uint-temp2_uint));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs((int)(temp1_uint-temp2_uint)) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uint,temp2_uint,
- abs((int)(temp1_uint-temp2_uint)),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_uint != temp2_uint)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(UI_FORMAT,temp1_uint,temp2_uint,abs((int)(temp1_uint-temp2_uint)));
- }
- nfound++;
- }
+ unsigned int temp1_uint;
+ unsigned int temp2_uint;
+ assert(type_size==sizeof(int));
+
+ memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+ memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if ( temp1_uint-temp2_uint > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(UI_FORMAT,temp1_uint,temp2_uint,temp1_uint-temp2_uint);
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER_UNSIGN(temp1_uint,temp2_uint);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,temp1_uint-temp2_uint);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uint,temp2_uint,temp1_uint-temp2_uint,per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER_UNSIGN(temp1_uint,temp2_uint);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,temp1_uint-temp2_uint);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && (temp1_uint-temp2_uint) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uint,temp2_uint,temp1_uint-temp2_uint,per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_uint != temp2_uint)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(UI_FORMAT,temp1_uint,temp2_uint,temp1_uint-temp2_uint);
+ }
+ nfound++;
+ }
} /*H5T_NATIVE_UINT*/
@@ -1387,96 +1379,93 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_LONG))
{
- long temp1_long;
- long temp2_long;
- assert(type_size==sizeof(long));
-
- memcpy(&temp1_long, mem1, sizeof(long));
- memcpy(&temp2_long, mem2, sizeof(long));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (labs(temp1_long-temp2_long) > (long)options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_long,temp2_long);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
- fabs(temp1_long-temp2_long));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P,temp1_long,temp2_long,
- labs(temp1_long-temp2_long),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_long,temp2_long);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
- fabs(temp1_long-temp2_long));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && labs(temp1_long-temp2_long) > (long)options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P,temp1_long,temp2_long,
- labs(temp1_long-temp2_long),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_long != temp2_long)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long));
- }
- nfound++;
- }
+ long temp1_long;
+ long temp2_long;
+ assert(type_size==sizeof(long));
+
+ memcpy(&temp1_long, mem1, sizeof(long));
+ memcpy(&temp2_long, mem2, sizeof(long));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (ABS(temp1_long-temp2_long) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER(temp1_long,temp2_long);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
+ ABS(temp1_long-temp2_long));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P,temp1_long,temp2_long,ABS(temp1_long-temp2_long),per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER(temp1_long,temp2_long);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_long-temp2_long) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P,temp1_long,temp2_long,
+ ABS(temp1_long-temp2_long),
+ per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_long != temp2_long)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+ }
+ nfound++;
+ }
} /*H5T_NATIVE_LONG*/
/*-------------------------------------------------------------------------
@@ -1486,98 +1475,92 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_ULONG))
{
- unsigned long temp1_ulong;
- unsigned long temp2_ulong;
- assert(type_size==sizeof(unsigned long));
-
- memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
- memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (labs((long)(temp1_ulong-temp2_ulong)) > (long)options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULI_FORMAT,temp1_ulong,temp2_ulong,labs((long)(temp1_ulong-temp2_ulong)));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_ulong,temp2_ulong);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,
- fabs(temp1_ulong-temp2_ulong));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULI_FORMAT_P,temp1_ulong,temp2_ulong,
- labs((long)(temp1_ulong-temp2_ulong)),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_ulong,temp2_ulong);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,
- fabs(temp1_ulong-temp2_ulong));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && labs((long)(temp1_ulong-temp2_ulong)) > (long)options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULI_FORMAT_P,temp1_ulong,temp2_ulong,
- labs((long)(temp1_ulong-temp2_ulong)),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_ulong != temp2_ulong)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULI_FORMAT,temp1_ulong,temp2_ulong,labs((long)(temp1_ulong-temp2_ulong)));
- }
- nfound++;
- }
-
-
+ unsigned long temp1_ulong;
+ unsigned long temp2_ulong;
+ assert(type_size==sizeof(unsigned long));
+
+ memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+ memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (temp1_ulong-temp2_ulong > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULI_FORMAT,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong);
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER_UNSIGN(temp1_ulong,temp2_ulong);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULI_FORMAT_P,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong,per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER_UNSIGN(temp1_ulong,temp2_ulong);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_ulong-temp2_ulong > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULI_FORMAT_P,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong,per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_ulong != temp2_ulong)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULI_FORMAT,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong);
+ }
+ nfound++;
+ }
+
+
} /*H5T_NATIVE_ULONG*/
/*-------------------------------------------------------------------------
@@ -1587,99 +1570,91 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_LLONG))
{
- long_long temp1_llong;
- long_long temp2_llong;
- assert(type_size==sizeof(long_long));
-
- memcpy(&temp1_llong, mem1, sizeof(long_long));
- memcpy(&temp2_llong, mem2, sizeof(long_long));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (labs((long)(temp1_llong-temp2_llong)) > (long)options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_llong,temp2_llong);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT_P,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_llong,temp2_llong);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && labs((long)(temp1_llong-temp2_llong)) > (long)options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT_P,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_llong != temp2_llong)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)));
- }
- nfound++;
- }
-
+ long_long temp1_llong;
+ long_long temp2_llong;
+ assert(type_size==sizeof(long_long));
+
+ memcpy(&temp1_llong, mem1, sizeof(long_long));
+ memcpy(&temp2_llong, mem2, sizeof(long_long));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (ABS(temp1_llong-temp2_llong) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER(temp1_llong,temp2_llong);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT_P,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong),per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER(temp1_llong,temp2_llong);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_llong-temp2_llong) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT_P,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong),per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_llong != temp2_llong)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+ }
+ nfound++;
+ }
+
} /*H5T_NATIVE_LLONG*/
/*-------------------------------------------------------------------------
@@ -1689,110 +1664,103 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_ULLONG))
{
- unsigned long_long temp1_ullong;
- unsigned long_long temp2_ullong;
- assert(type_size==sizeof(unsigned long_long));
-
- memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
- memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (labs((long)(temp1_ullong-temp2_ullong)) > (long)options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- ull2float(temp1_ullong,&f1);
- ull2float(temp2_ullong,&f2);
- PER(f1,f2);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
-
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT_P,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- ull2float(temp1_ullong,&f1);
- ull2float(temp2_ullong,&f2);
- PER(f1,f2);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && labs((long)(temp1_ullong-temp2_ullong)) > (long)options->delta )
- {
-
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT_P,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_ullong != temp2_ullong)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
- }
- nfound++;
- }
-
+ unsigned long_long temp1_ullong;
+ unsigned long_long temp2_ullong;
+ assert(type_size==sizeof(unsigned long_long));
+
+ memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
+ memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (temp1_ullong-temp2_ullong > (unsigned long_long)options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong);
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ ull2float(temp1_ullong,&f1);
+ ull2float(temp2_ullong,&f2);
+ PER_FLOAT(f1,f2);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT_P,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong,per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ ull2float(temp1_ullong,&f1);
+ ull2float(temp2_ullong,&f2);
+ PER_FLOAT(f1,f2);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_ullong-temp2_ullong > (unsigned long_long)options->delta )
+ {
+
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT_P,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong,per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_ullong != temp2_ullong)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong);
+ }
+ nfound++;
+ }
+
} /*H5T_NATIVE_ULLONG*/
break; /* H5T_INTEGER class */
+
case H5T_FLOAT:
/*-------------------------------------------------------------------------
@@ -1802,104 +1770,101 @@ hsize_t diff_datum(void *_mem1,
if (H5Tequal(m_type, H5T_NATIVE_FLOAT))
{
- float temp1_float;
- float temp2_float;
- assert(type_size==sizeof(float));
- memcpy(&temp1_float, mem1, sizeof(float));
- memcpy(&temp2_float, mem2, sizeof(float));
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (fabs(temp1_float-temp2_float) > options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
-
- PER(temp1_float,temp2_float);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
- fabs(temp1_float-temp2_float));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && fabs(temp1_float-temp2_float) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P,temp1_float,temp2_float,
- fabs(temp1_float-temp2_float),
- fabs(1-temp2_float/temp1_float));
- }
- nfound++;
- }
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- PER(temp1_float,temp2_float);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
- fabs(temp1_float-temp2_float));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P,temp1_float,temp2_float,
- fabs(temp1_float-temp2_float),
- fabs(1-temp2_float/temp1_float));
- }
- nfound++;
- }
- }
-
- else if (equal_float(temp1_float,temp2_float)==FALSE)
- {
-
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-
- parallel_print(SPACES);
- parallel_print(F_FORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float));
- }
- nfound++;
- }
+ float temp1_float;
+ float temp2_float;
+ assert(type_size==sizeof(float));
+ memcpy(&temp1_float, mem1, sizeof(float));
+ memcpy(&temp2_float, mem2, sizeof(float));
+
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (ABS(temp1_float-temp2_float) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER_FLOAT(temp1_float,temp2_float);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_float-temp2_float) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P,temp1_float,temp2_float,
+ ABS(temp1_float-temp2_float),
+ ABS(1-temp2_float/temp1_float));
+ }
+ nfound++;
+ }
+ }
+
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+
+ PER_FLOAT(temp1_float,temp2_float);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
+ ABS(temp1_float-temp2_float));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P,temp1_float,temp2_float,
+ ABS(temp1_float-temp2_float),
+ ABS(1-temp2_float/temp1_float));
+ }
+ nfound++;
+ }
+ }
+
+ else if (equal_float(temp1_float,temp2_float)==FALSE)
+ {
+
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+ }
+ nfound++;
+ }
+
} /*H5T_NATIVE_FLOAT*/
/*-------------------------------------------------------------------------
@@ -1909,102 +1874,102 @@ hsize_t diff_datum(void *_mem1,
else if (H5Tequal(m_type, H5T_NATIVE_DOUBLE))
{
- double temp1_double;
- double temp2_double;
- assert(type_size==sizeof(double));
-
- memcpy(&temp1_double, mem1, sizeof(double));
- memcpy(&temp2_double, mem2, sizeof(double));
- /* -d and !-p */
- if (options->d && !options->p)
- {
- if (fabs(temp1_double-temp2_double) > options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- PER(temp1_double,temp2_double);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
- fabs(temp1_double-temp2_double));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P,temp1_double,temp2_double,
- fabs(temp1_double-temp2_double),
- fabs(1-temp2_double/temp1_double));
- }
- nfound++;
- }
- }
-
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- PER(temp1_double,temp2_double);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
- fabs(temp1_double-temp2_double));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent &&
- fabs(temp1_double-temp2_double) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P,temp1_double,temp2_double,
- fabs(temp1_double-temp2_double),
- fabs(1-temp2_double/temp1_double));
- }
- nfound++;
- }
- }
-
- else if (equal_double(temp1_double,temp2_double)==FALSE)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double));
- }
- nfound++;
- }
+ double temp1_double;
+ double temp2_double;
+ assert(type_size==sizeof(double));
+
+ memcpy(&temp1_double, mem1, sizeof(double));
+ memcpy(&temp2_double, mem2, sizeof(double));
+ /* -d and !-p */
+ if (options->d && !options->p)
+ {
+ if (ABS(temp1_double-temp2_double) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT,temp1_double,temp2_double,ABS(temp1_double-temp2_double));
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+
+ PER_FLOAT(temp1_double,temp2_double);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
+ ABS(temp1_double-temp2_double));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P,temp1_double,temp2_double,
+ ABS(temp1_double-temp2_double),
+ ABS(1-temp2_double/temp1_double));
+ }
+ nfound++;
+ }
+ }
+
+
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+
+ PER_FLOAT(temp1_double,temp2_double);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
+ ABS(temp1_double-temp2_double));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent &&
+ ABS(temp1_double-temp2_double) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P,temp1_double,temp2_double,
+ ABS(temp1_double-temp2_double),
+ ABS(1-temp2_double/temp1_double));
+ }
+ nfound++;
+ }
+ }
+
+ else if (equal_double(temp1_double,temp2_double)==FALSE)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT,temp1_double,temp2_double,ABS(temp1_double-temp2_double));
+ }
+ nfound++;
+ }
} /*H5T_NATIVE_DOUBLE*/
@@ -2015,10 +1980,6 @@ hsize_t diff_datum(void *_mem1,
return nfound;
}
-
-
-
-
/*-------------------------------------------------------------------------
* Function: all_zero
*
@@ -2385,78 +2346,73 @@ hsize_t character_compare_opt(unsigned char *mem1,
const char *obj2,
int *ph)
{
-
- hsize_t nfound=0; /* differences found */
- unsigned char temp1_uchar;
- unsigned char temp2_uchar;
- float per;
- int both_zero;
-
- memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
- memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
- /* -d and !-p */
-
- if (options->d && !options->p)
- {
- if (abs(temp1_uchar-temp2_uchar) > options->delta)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
- }
- nfound++;
- }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- PER(temp1_uchar,temp2_uchar);
- if ( per > options->percent )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,
- abs(temp1_uchar-temp2_uchar),
- per);
- }
- nfound++;
- }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
- PER(temp1_uchar,temp2_uchar);
- if ( per > options->percent && abs(temp1_uchar-temp2_uchar) > options->delta )
- {
- if ( print_data(options) )
- {
- print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,
- abs(temp1_uchar-temp2_uchar),
- per);
- }
- nfound++;
- }
- }
- else if (temp1_uchar != temp2_uchar)
- {
- if ( print_data(options) )
- {
- print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
- }
- nfound++;
- }
-
- return nfound;
-
+ hsize_t nfound=0; /* differences found */
+ unsigned char temp1_uchar;
+ unsigned char temp2_uchar;
+ double per;
+ int both_zero;
+
+ memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+ memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+
+ /* -d and !-p */
+
+ if (options->d && !options->p)
+ {
+ if (temp1_uchar-temp2_uchar > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar);
+ }
+ nfound++;
+ }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+ PER_UNSIGN(temp1_uchar,temp2_uchar);
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar,per);
+ }
+ nfound++;
+ }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+ PER_UNSIGN(temp1_uchar,temp2_uchar);
+ if ( per > options->percent && temp1_uchar-temp2_uchar > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar,per);
+ }
+ nfound++;
+ }
+ }
+ else if (temp1_uchar != temp2_uchar)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar);
+ }
+ nfound++;
+ }
+
+ return nfound;
+
}
@@ -2482,149 +2438,149 @@ hsize_t diff_float(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- float temp1_float;
- float temp2_float;
- hsize_t i;
- float per;
- int both_zero;
-
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_float, mem1, sizeof(float));
- memcpy(&temp2_float, mem2, sizeof(float));
-
- if (fabs(temp1_float-temp2_float) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ float temp1_float;
+ float temp2_float;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float));
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_float, mem1, sizeof(float));
+ memcpy(&temp2_float, mem2, sizeof(float));
+
+ if (ABS(temp1_float-temp2_float) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(float);
+ mem2+=sizeof(float);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(float);
- mem2+=sizeof(float);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_float, mem1, sizeof(float));
- memcpy(&temp2_float, mem2, sizeof(float));
-
- PER(temp1_float,temp2_float);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
- fabs(temp1_float-temp2_float));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P,temp1_float,temp2_float,
- fabs(temp1_float-temp2_float),
- fabs(1-temp2_float/temp1_float));
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_float, mem1, sizeof(float));
+ memcpy(&temp2_float, mem2, sizeof(float));
+
+ PER_FLOAT(temp1_float,temp2_float);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
+ ABS(temp1_float-temp2_float));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P,temp1_float,temp2_float,
+ ABS(temp1_float-temp2_float),
+ ABS(1-temp2_float/temp1_float));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(float);
+ mem2+=sizeof(float);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(float);
- mem2+=sizeof(float);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_float, mem1, sizeof(float));
- memcpy(&temp2_float, mem2, sizeof(float));
-
- PER(temp1_float,temp2_float);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
- fabs(temp1_float-temp2_float));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && fabs(temp1_float-temp2_float) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P,temp1_float,temp2_float,
- fabs(temp1_float-temp2_float),
- fabs(1-temp2_float/temp1_float));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_float, mem1, sizeof(float));
+ memcpy(&temp2_float, mem2, sizeof(float));
+
+ PER_FLOAT(temp1_float,temp2_float);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
+ ABS(temp1_float-temp2_float));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_float-temp2_float) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P,temp1_float,temp2_float,
+ ABS(temp1_float-temp2_float),
+ ABS(1-temp2_float/temp1_float));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(float);
+ mem2+=sizeof(float);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(float);
- mem2+=sizeof(float);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_float, mem1, sizeof(float));
- memcpy(&temp2_float, mem2, sizeof(float));
-
- if (equal_float(temp1_float,temp2_float)==FALSE)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_float, mem1, sizeof(float));
+ memcpy(&temp2_float, mem2, sizeof(float));
+
+ if (equal_float(temp1_float,temp2_float)==FALSE)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(float);
+ mem2+=sizeof(float);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(float);
- mem2+=sizeof(float);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -2651,151 +2607,151 @@ hsize_t diff_double(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- double temp1_double;
- double temp2_double;
- hsize_t i;
- float per;
- int both_zero;
-
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_double, mem1, sizeof(double));
- memcpy(&temp2_double, mem2, sizeof(double));
-
- if (fabs(temp1_double-temp2_double) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ double temp1_double;
+ double temp2_double;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_double, mem1, sizeof(double));
+ memcpy(&temp2_double, mem2, sizeof(double));
+
+ if (ABS(temp1_double-temp2_double) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT,temp1_double,temp2_double,ABS(temp1_double-temp2_double));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(double);
+ mem2+=sizeof(double);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(double);
- mem2+=sizeof(double);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_double, mem1, sizeof(double));
- memcpy(&temp2_double, mem2, sizeof(double));
-
- PER(temp1_double,temp2_double);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
- fabs(temp1_double-temp2_double));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P,temp1_double,temp2_double,
- fabs(temp1_double-temp2_double),
- fabs(1-temp2_double/temp1_double));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_double, mem1, sizeof(double));
+ memcpy(&temp2_double, mem2, sizeof(double));
+
+ PER_FLOAT(temp1_double,temp2_double);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
+ ABS(temp1_double-temp2_double));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P,temp1_double,temp2_double,
+ ABS(temp1_double-temp2_double),
+ ABS(1-temp2_double/temp1_double));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(double);
+ mem2+=sizeof(double);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(double);
- mem2+=sizeof(double);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_double, mem1, sizeof(double));
- memcpy(&temp2_double, mem2, sizeof(double));
-
- PER(temp1_double,temp2_double);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
- fabs(temp1_double-temp2_double));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && fabs(temp1_double-temp2_double) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT_P,temp1_double,temp2_double,
- fabs(temp1_double-temp2_double),
- fabs(1-temp2_double/temp1_double));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_double, mem1, sizeof(double));
+ memcpy(&temp2_double, mem2, sizeof(double));
+
+ PER_FLOAT(temp1_double,temp2_double);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
+ ABS(temp1_double-temp2_double));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_double-temp2_double) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT_P,temp1_double,temp2_double,
+ ABS(temp1_double-temp2_double),
+ ABS(1-temp2_double/temp1_double));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(double);
+ mem2+=sizeof(double);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(double);
- mem2+=sizeof(double);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_double, mem1, sizeof(double));
- memcpy(&temp2_double, mem2, sizeof(double));
-
- if (equal_double(temp1_double,temp2_double)==FALSE)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(F_FORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_double, mem1, sizeof(double));
+ memcpy(&temp2_double, mem2, sizeof(double));
+
+ if (equal_double(temp1_double,temp2_double)==FALSE)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(F_FORMAT,temp1_double,temp2_double,ABS(temp1_double-temp2_double));
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(double);
+ mem2+=sizeof(double);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(double);
- mem2+=sizeof(double);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
/*-------------------------------------------------------------------------
@@ -2820,152 +2776,152 @@ hsize_t diff_schar(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- char temp1_char;
- char temp2_char;
- hsize_t i;
- float per;
- int both_zero;
-
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_char, mem1, sizeof(char));
- memcpy(&temp2_char, mem2, sizeof(char));
-
- if (abs(temp1_char-temp2_char) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ char temp1_char;
+ char temp2_char;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_char, mem1, sizeof(char));
+ memcpy(&temp2_char, mem2, sizeof(char));
+
+ if (ABS(temp1_char-temp2_char) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(char);
+ mem2+=sizeof(char);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(char);
- mem2+=sizeof(char);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_char, mem1, sizeof(char));
- memcpy(&temp2_char, mem2, sizeof(char));
-
- PER(temp1_char,temp2_char);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
- fabs(temp1_char-temp2_char));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_char,temp2_char,
- abs(temp1_char-temp2_char),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_char, mem1, sizeof(char));
+ memcpy(&temp2_char, mem2, sizeof(char));
+
+ PER(temp1_char,temp2_char);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
+ ABS(temp1_char-temp2_char));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_char,temp2_char,
+ ABS(temp1_char-temp2_char),
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(char);
+ mem2+=sizeof(char);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(char);
- mem2+=sizeof(char);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_char, mem1, sizeof(char));
- memcpy(&temp2_char, mem2, sizeof(char));
-
- PER(temp1_char,temp2_char);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
- fabs(temp1_char-temp2_char));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_char-temp2_char) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_char,temp2_char,
- abs(temp1_char-temp2_char),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_char, mem1, sizeof(char));
+ memcpy(&temp2_char, mem2, sizeof(char));
+
+ PER(temp1_char,temp2_char);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
+ ABS(temp1_char-temp2_char));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_char-temp2_char) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_char,temp2_char,
+ ABS(temp1_char-temp2_char),
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(char);
+ mem2+=sizeof(char);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(char);
- mem2+=sizeof(char);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_char, mem1, sizeof(char));
- memcpy(&temp2_char, mem2, sizeof(char));
-
- if (temp1_char != temp2_char)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_char, mem1, sizeof(char));
+ memcpy(&temp2_char, mem2, sizeof(char));
+
+ if (temp1_char != temp2_char)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(char);
+ mem2+=sizeof(char);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(char);
- mem2+=sizeof(char);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -2992,153 +2948,153 @@ hsize_t diff_uchar(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- unsigned char temp1_uchar;
- unsigned char temp2_uchar;
- hsize_t i;
- float per;
- int both_zero;
-
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
- memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
- if (abs(temp1_uchar-temp2_uchar) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ unsigned char temp1_uchar;
+ unsigned char temp2_uchar;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+ memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+
+ if (temp1_uchar-temp2_uchar > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned char);
+ mem2+=sizeof(unsigned char);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned char);
- mem2+=sizeof(unsigned char);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
- memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
- PER(temp1_uchar,temp2_uchar);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
- fabs(temp1_uchar-temp2_uchar));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,
- abs(temp1_uchar-temp2_uchar),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+ memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+
+ PER_UNSIGN(temp1_uchar,temp2_uchar);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
+ ABS(temp1_uchar-temp2_uchar));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,
+ temp1_uchar-temp2_uchar,
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned char);
+ mem2+=sizeof(unsigned char);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
}
- nfound++;
- }
- mem1+=sizeof(unsigned char);
- mem2+=sizeof(unsigned char);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
- memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
- PER(temp1_uchar,temp2_uchar);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
- fabs(temp1_uchar-temp2_uchar));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_uchar-temp2_uchar) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,
- abs(temp1_uchar-temp2_uchar),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+ memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+
+ PER_UNSIGN(temp1_uchar,temp2_uchar);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
+ ABS(temp1_uchar-temp2_uchar));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_uchar-temp2_uchar > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uchar,temp2_uchar,
+ temp1_uchar-temp2_uchar,
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned char);
+ mem2+=sizeof(unsigned char);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned char);
- mem2+=sizeof(unsigned char);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
- memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
- if (temp1_uchar != temp2_uchar)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+ memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+
+ if (temp1_uchar != temp2_uchar)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_uchar,temp2_uchar,temp1_uchar-temp2_uchar);
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(unsigned char);
+ mem2+=sizeof(unsigned char);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(unsigned char);
- mem2+=sizeof(unsigned char);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
/*-------------------------------------------------------------------------
@@ -3163,154 +3119,154 @@ hsize_t diff_short(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- short temp1_short;
- short temp2_short;
- hsize_t i;
- float per;
- int both_zero;
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_short, mem1, sizeof(short));
- memcpy(&temp2_short, mem2, sizeof(short));
-
- if (abs(temp1_short-temp2_short) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ short temp1_short;
+ short temp2_short;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_short, mem1, sizeof(short));
+ memcpy(&temp2_short, mem2, sizeof(short));
+
+ if (ABS(temp1_short-temp2_short) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(short);
+ mem2+=sizeof(short);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(short);
- mem2+=sizeof(short);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_short, mem1, sizeof(short));
- memcpy(&temp2_short, mem2, sizeof(short));
-
- PER(temp1_short,temp2_short);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
- fabs(temp1_short-temp2_short));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_short,temp2_short,
- abs(temp1_short-temp2_short),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_short, mem1, sizeof(short));
+ memcpy(&temp2_short, mem2, sizeof(short));
+
+ PER(temp1_short,temp2_short);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
+ ABS(temp1_short-temp2_short));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_short,temp2_short,
+ ABS(temp1_short-temp2_short),
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(short);
+ mem2+=sizeof(short);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+
}
- nfound++;
- }
- mem1+=sizeof(short);
- mem2+=sizeof(short);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
-
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_short, mem1, sizeof(short));
- memcpy(&temp2_short, mem2, sizeof(short));
-
- PER(temp1_short,temp2_short);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
- fabs(temp1_short-temp2_short));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_short-temp2_short) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_short,temp2_short,
- abs(temp1_short-temp2_short),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_short, mem1, sizeof(short));
+ memcpy(&temp2_short, mem2, sizeof(short));
+
+ PER(temp1_short,temp2_short);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
+ ABS(temp1_short-temp2_short));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_short-temp2_short) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_short,temp2_short,
+ ABS(temp1_short-temp2_short),
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(short);
+ mem2+=sizeof(short);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(short);
- mem2+=sizeof(short);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_short, mem1, sizeof(short));
- memcpy(&temp2_short, mem2, sizeof(short));
-
- if (temp1_short != temp2_short)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_short, mem1, sizeof(short));
+ memcpy(&temp2_short, mem2, sizeof(short));
+
+ if (temp1_short != temp2_short)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(short);
+ mem2+=sizeof(short);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(short);
- mem2+=sizeof(short);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -3336,154 +3292,154 @@ hsize_t diff_ushort(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- unsigned short temp1_ushort;
- unsigned short temp2_ushort;
- hsize_t i;
- float per;
- int both_zero;
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
- memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-
- if (abs(temp1_ushort-temp2_ushort) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ unsigned short temp1_ushort;
+ unsigned short temp2_ushort;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+ memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+
+ if (temp1_ushort-temp2_ushort > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_ushort,temp2_ushort,temp1_ushort-temp2_ushort);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned short);
+ mem2+=sizeof(unsigned short);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned short);
- mem2+=sizeof(unsigned short);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
- memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-
- PER(temp1_ushort,temp2_ushort);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
- fabs(temp1_ushort-temp2_ushort));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_ushort,temp2_ushort,
- abs(temp1_ushort-temp2_ushort),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+ memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+
+ PER_UNSIGN(temp1_ushort,temp2_ushort);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
+ ABS(temp1_ushort-temp2_ushort));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_ushort,temp2_ushort,
+ temp1_ushort-temp2_ushort,
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned short);
+ mem2+=sizeof(unsigned short);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned short);
- mem2+=sizeof(unsigned short);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
-
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
- memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-
- PER(temp1_ushort,temp2_ushort);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
- fabs(temp1_ushort-temp2_ushort));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_ushort-temp2_ushort) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_ushort,temp2_ushort,
- abs(temp1_ushort-temp2_ushort),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+ memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+
+ PER_UNSIGN(temp1_ushort,temp2_ushort);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
+ ABS(temp1_ushort-temp2_ushort));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_ushort-temp2_ushort > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_ushort,temp2_ushort,
+ temp1_ushort-temp2_ushort,
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned short);
+ mem2+=sizeof(unsigned short);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned short);
- mem2+=sizeof(unsigned short);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
- memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-
- if (temp1_ushort != temp2_ushort)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+ memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+
+ if (temp1_ushort != temp2_ushort)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_ushort,temp2_ushort,temp1_ushort-temp2_ushort);
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(unsigned short);
+ mem2+=sizeof(unsigned short);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(unsigned short);
- mem2+=sizeof(unsigned short);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -3510,154 +3466,154 @@ hsize_t diff_int(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- int temp1_int;
- int temp2_int;
- hsize_t i;
- float per;
- int both_zero;
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_int, mem1, sizeof(int));
- memcpy(&temp2_int, mem2, sizeof(int));
-
- if (abs(temp1_int-temp2_int) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ int temp1_int;
+ int temp2_int;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_int, mem1, sizeof(int));
+ memcpy(&temp2_int, mem2, sizeof(int));
+
+ if (ABS(temp1_int-temp2_int) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(int);
+ mem2+=sizeof(int);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(int);
- mem2+=sizeof(int);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_int, mem1, sizeof(int));
- memcpy(&temp2_int, mem2, sizeof(int));
-
- PER(temp1_int,temp2_int);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
- fabs(temp1_int-temp2_int));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_int,temp2_int,
- abs(temp1_int-temp2_int),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_int, mem1, sizeof(int));
+ memcpy(&temp2_int, mem2, sizeof(int));
+
+ PER(temp1_int,temp2_int);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
+ ABS(temp1_int-temp2_int));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_int,temp2_int,
+ ABS(temp1_int-temp2_int),
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(int);
+ mem2+=sizeof(int);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+
}
- nfound++;
- }
- mem1+=sizeof(int);
- mem2+=sizeof(int);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
-
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_int, mem1, sizeof(int));
- memcpy(&temp2_int, mem2, sizeof(int));
-
- PER(temp1_int,temp2_int);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
- fabs(temp1_int-temp2_int));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_int-temp2_int) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_int,temp2_int,
- abs(temp1_int-temp2_int),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_int, mem1, sizeof(int));
+ memcpy(&temp2_int, mem2, sizeof(int));
+
+ PER(temp1_int,temp2_int);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
+ ABS(temp1_int-temp2_int));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_int-temp2_int) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_int,temp2_int,
+ ABS(temp1_int-temp2_int),
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(int);
+ mem2+=sizeof(int);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(int);
- mem2+=sizeof(int);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_int, mem1, sizeof(int));
- memcpy(&temp2_int, mem2, sizeof(int));
-
- if (temp1_int != temp2_int)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_int, mem1, sizeof(int));
+ memcpy(&temp2_int, mem2, sizeof(int));
+
+ if (temp1_int != temp2_int)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(int);
+ mem2+=sizeof(int);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(int);
- mem2+=sizeof(int);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -3684,154 +3640,152 @@ hsize_t diff_uint(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- unsigned int temp1_uint;
- unsigned int temp2_uint;
- hsize_t i;
- float per;
- int both_zero;
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_uint, mem1, sizeof(unsigned int));
- memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-
- if (abs(temp1_uint-temp2_uint) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ unsigned int temp1_uint;
+ unsigned int temp2_uint;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_uint,temp2_uint,abs(temp1_uint-temp2_uint));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+ memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+
+ if (temp1_uint-temp2_uint > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_uint,temp2_uint,temp1_uint-temp2_uint);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned int);
+ mem2+=sizeof(unsigned int);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned int);
- mem2+=sizeof(unsigned int);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_uint, mem1, sizeof(unsigned int));
- memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-
- PER(temp1_uint,temp2_uint);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,
- fabs(temp1_uint-temp2_uint));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uint,temp2_uint,
- abs(temp1_uint-temp2_uint),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+ memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+
+ PER_UNSIGN(temp1_uint,temp2_uint);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,temp1_uint-temp2_uint);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uint,temp2_uint,
+ temp1_uint-temp2_uint,
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned int);
+ mem2+=sizeof(unsigned int);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned int);
- mem2+=sizeof(unsigned int);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
-
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_uint, mem1, sizeof(unsigned int));
- memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-
- PER(temp1_uint,temp2_uint);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,
- fabs(temp1_uint-temp2_uint));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && abs(temp1_uint-temp2_uint) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT_P,temp1_uint,temp2_uint,
- abs(temp1_uint-temp2_uint),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+ memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+
+ PER_UNSIGN(temp1_uint,temp2_uint);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,temp1_uint-temp2_uint);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_uint-temp2_uint > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT_P,temp1_uint,temp2_uint,
+ temp1_uint-temp2_uint,
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned int);
+ mem2+=sizeof(unsigned int);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned int);
- mem2+=sizeof(unsigned int);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_uint, mem1, sizeof(unsigned int));
- memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-
- if (temp1_uint != temp2_uint)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(I_FORMAT,temp1_uint,temp2_uint,abs(temp1_uint-temp2_uint));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+ memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+
+ if (temp1_uint != temp2_uint)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(I_FORMAT,temp1_uint,temp2_uint,temp1_uint-temp2_uint);
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(unsigned int);
+ mem2+=sizeof(unsigned int);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(unsigned int);
- mem2+=sizeof(unsigned int);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -3858,157 +3812,157 @@ hsize_t diff_long(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- long temp1_long;
- long temp2_long;
- hsize_t i;
- float per;
- int both_zero;
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_long, mem1, sizeof(long));
- memcpy(&temp2_long, mem2, sizeof(long));
-
- if (labs((long)(temp1_long-temp2_long)) > (long)options->delta)
+ hsize_t nfound=0; /* number of differences found */
+ long temp1_long;
+ long temp2_long;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- if ( print_data(options) )
- {
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long));
- }
- nfound++;
+
+ for ( i = 0; i < nelmts; i++)
+ {
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_long, mem1, sizeof(long));
+ memcpy(&temp2_long, mem2, sizeof(long));
+
+ if (ABS(temp1_long-temp2_long) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(long);
+ mem2+=sizeof(long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+ }
}
- mem1+=sizeof(long);
- mem2+=sizeof(long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
- }
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_long, mem1, sizeof(long));
- memcpy(&temp2_long, mem2, sizeof(long));
-
- PER(temp1_long,temp2_long);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
- fabs(temp1_long-temp2_long));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P,temp1_long,temp2_long,
- labs(temp1_long-temp2_long),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_long, mem1, sizeof(long));
+ memcpy(&temp2_long, mem2, sizeof(long));
+
+ PER(temp1_long,temp2_long);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
+ ABS(temp1_long-temp2_long));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P,temp1_long,temp2_long,
+ ABS(temp1_long-temp2_long),
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(long);
+ mem2+=sizeof(long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+
}
- nfound++;
- }
- mem1+=sizeof(long);
- mem2+=sizeof(long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
-
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_long, mem1, sizeof(long));
- memcpy(&temp2_long, mem2, sizeof(long));
-
- PER(temp1_long,temp2_long);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
- fabs(temp1_long-temp2_long));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && labs(temp1_long-temp2_long) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P,temp1_long,temp2_long,
- labs(temp1_long-temp2_long),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_long, mem1, sizeof(long));
+ memcpy(&temp2_long, mem2, sizeof(long));
+
+ PER(temp1_long,temp2_long);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
+ ABS(temp1_long-temp2_long));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_long-temp2_long) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P,temp1_long,temp2_long,
+ ABS(temp1_long-temp2_long),
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(long);
+ mem2+=sizeof(long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(long);
- mem2+=sizeof(long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_long, mem1, sizeof(long));
- memcpy(&temp2_long, mem2, sizeof(long));
-
- if (temp1_long != temp2_long)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_long, mem1, sizeof(long));
+ memcpy(&temp2_long, mem2, sizeof(long));
+
+ if (temp1_long != temp2_long)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(long);
+ mem2+=sizeof(long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(long);
- mem2+=sizeof(long);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -4036,160 +3990,158 @@ hsize_t diff_ulong(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- unsigned long temp1_ulong;
- unsigned long temp2_ulong;
- hsize_t i;
- float per;
- int both_zero;
-
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
- memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-
- if (labs((long)(temp1_ulong-temp2_ulong)) > (long)options->delta)
+ hsize_t nfound=0; /* number of differences found */
+ unsigned long temp1_ulong;
+ unsigned long temp2_ulong;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- if ( print_data(options) )
- {
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT,temp1_ulong,temp2_ulong,labs(temp1_ulong-temp2_ulong));
- }
- nfound++;
+
+ for ( i = 0; i < nelmts; i++)
+ {
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+ memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+
+ if (temp1_ulong-temp2_ulong > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned long);
+ mem2+=sizeof(unsigned long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+ }
+
}
- mem1+=sizeof(unsigned long);
- mem2+=sizeof(unsigned long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
-
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
- memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-
- PER(temp1_ulong,temp2_ulong);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,
- fabs(temp1_ulong-temp2_ulong));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P,temp1_ulong,temp2_ulong,
- labs(temp1_ulong-temp2_ulong),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+ memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+
+ PER_UNSIGN(temp1_ulong,temp2_ulong);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P,temp1_ulong,temp2_ulong,
+ temp1_ulong-temp2_ulong,
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned long);
+ mem2+=sizeof(unsigned long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned long);
- mem2+=sizeof(unsigned long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
-
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
- memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-
- PER(temp1_ulong,temp2_ulong);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,
- fabs(temp1_ulong-temp2_ulong));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && labs(temp1_ulong-temp2_ulong) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT_P,temp1_ulong,temp2_ulong,
- labs(temp1_ulong-temp2_ulong),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+ memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+
+ PER_UNSIGN(temp1_ulong,temp2_ulong);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_ulong-temp2_ulong > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT_P,temp1_ulong,temp2_ulong,
+ temp1_ulong-temp2_ulong,
+ per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned long);
+ mem2+=sizeof(unsigned long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned long);
- mem2+=sizeof(unsigned long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
- memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-
- if (temp1_ulong != temp2_ulong)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LI_FORMAT,temp1_ulong,temp2_ulong,labs(temp1_ulong-temp2_ulong));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+ memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+
+ if (temp1_ulong != temp2_ulong)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LI_FORMAT,temp1_ulong,temp2_ulong,temp1_ulong-temp2_ulong);
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(unsigned long);
+ mem2+=sizeof(unsigned long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(unsigned long);
- mem2+=sizeof(unsigned long);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -4216,156 +4168,148 @@ hsize_t diff_llong(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- long_long temp1_llong;
- long_long temp2_llong;
- hsize_t i;
- float per;
- int both_zero;
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_llong, mem1, sizeof(long_long));
- memcpy(&temp2_llong, mem2, sizeof(long_long));
-
- if (labs( (long) (temp1_llong-temp2_llong)) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ long_long temp1_llong;
+ long_long temp2_llong;
+ hsize_t i;
+ double per;
+ int both_zero;
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_llong, mem1, sizeof(long_long));
+ memcpy(&temp2_llong, mem2, sizeof(long_long));
+
+ if (ABS( temp1_llong-temp2_llong) > options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+ }
+ nfound++;
+ }
+ mem1+=sizeof(long_long);
+ mem2+=sizeof(long_long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(long_long);
- mem2+=sizeof(long_long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_llong, mem1, sizeof(long_long));
- memcpy(&temp2_llong, mem2, sizeof(long_long));
-
- PER(temp1_llong,temp2_llong);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT_P,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_llong, mem1, sizeof(long_long));
+ memcpy(&temp2_llong, mem2, sizeof(long_long));
+
+ PER(temp1_llong,temp2_llong);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT_P,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong),per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(long_long);
+ mem2+=sizeof(long_long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+
}
- nfound++;
- }
- mem1+=sizeof(long_long);
- mem2+=sizeof(long_long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
-
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_llong, mem1, sizeof(long_long));
- memcpy(&temp2_llong, mem2, sizeof(long_long));
-
- PER(temp1_llong,temp2_llong);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && labs((long)(temp1_llong-temp2_llong)) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT_P,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_llong, mem1, sizeof(long_long));
+ memcpy(&temp2_llong, mem2, sizeof(long_long));
+
+ PER(temp1_llong,temp2_llong);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && ABS(temp1_llong-temp2_llong) > options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT_P,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong),per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(long_long);
+ mem2+=sizeof(long_long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(long_long);
- mem2+=sizeof(long_long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_llong, mem1, sizeof(long_long));
- memcpy(&temp2_llong, mem2, sizeof(long_long));
-
- if (temp1_llong != temp2_llong)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(LLI_FORMAT,temp1_llong,temp2_llong,
- (long_long)labs((long)(temp1_llong-temp2_llong)));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_llong, mem1, sizeof(long_long));
+ memcpy(&temp2_llong, mem2, sizeof(long_long));
+
+ if (temp1_llong != temp2_llong)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(LLI_FORMAT,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(long_long);
+ mem2+=sizeof(long_long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(long_long);
- mem2+=sizeof(long_long);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -4393,160 +4337,153 @@ hsize_t diff_ullong(unsigned char *mem1,
int *ph)
{
- hsize_t nfound=0; /* number of differences found */
- unsigned long_long temp1_ullong;
- unsigned long_long temp2_ullong;
- hsize_t i;
- float f1, f2, per;
- int both_zero;
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
- memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
-
- if (labs((long)(temp1_ullong-temp2_ullong)) > options->delta)
- {
- if ( print_data(options) )
+ hsize_t nfound=0; /* number of differences found */
+ unsigned long_long temp1_ullong;
+ unsigned long_long temp2_ullong;
+ hsize_t i;
+ float f1, f2;
+ double per;
+ int both_zero;
+
+ /* -d and !-p */
+ if (options->d && !options->p)
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
+ memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+
+ if (temp1_ullong-temp2_ullong > (unsigned long_long)options->delta)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned long_long);
+ mem2+=sizeof(unsigned long_long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned long_long);
- mem2+=sizeof(unsigned long_long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
- memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
-
- ull2float(temp1_ullong,&f1);
- ull2float(temp2_ullong,&f2);
- PER(f1,f2);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent )
- {
- if ( print_data(options) )
+
+ /* !-d and -p */
+ else if (!options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT_P,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
+ memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+
+ ull2float(temp1_ullong,&f1);
+ ull2float(temp2_ullong,&f2);
+ PER_FLOAT(f1,f2);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT_P,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong,per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned long_long);
+ mem2+=sizeof(unsigned long_long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned long_long);
- mem2+=sizeof(unsigned long_long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
-
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
- memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
-
- ull2float(temp1_ullong,&f1);
- ull2float(temp2_ullong,&f2);
- PER(f1,f2);
-
- if (not_comparable && !both_zero) /* not comparable */
- {
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
- options->not_cmp=1;
- nfound++;
- }
-
- else
-
- if ( per > options->percent && labs((long)(temp1_ullong-temp2_ullong)) > options->delta )
- {
- if ( print_data(options) )
+
+ /* -d and -p */
+ else if ( options->d && options->p)
{
- print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT_P,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)),
- per);
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
+ memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+
+ ull2float(temp1_ullong,&f1);
+ ull2float(temp2_ullong,&f2);
+ PER_FLOAT(f1,f2);
+
+ if (not_comparable && !both_zero) /* not comparable */
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong);
+ options->not_cmp=1;
+ nfound++;
+ }
+
+ else
+
+ if ( per > options->percent && temp1_ullong-temp2_ullong> (unsigned long_long)options->delta )
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,1,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT_P,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong,per);
+ }
+ nfound++;
+ }
+ mem1+=sizeof(unsigned long_long);
+ mem2+=sizeof(unsigned long_long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ }
+
}
- nfound++;
- }
- mem1+=sizeof(unsigned long_long);
- mem2+=sizeof(unsigned long_long);
- if (options->n && nfound>=options->count)
- return nfound;
- }
-
- }
- else
- {
-
- for ( i = 0; i < nelmts; i++)
- {
- memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
- memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
-
- if (temp1_ullong != temp2_ullong)
- {
- if ( print_data(options) )
+ else
{
- print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
- parallel_print(SPACES);
- parallel_print(ULLI_FORMAT,temp1_ullong,temp2_ullong,
- (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
+
+ for ( i = 0; i < nelmts; i++)
+ {
+ memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
+ memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+
+ if (temp1_ullong != temp2_ullong)
+ {
+ if ( print_data(options) )
+ {
+ print_pos(ph,0,hyper_start+i,acc,pos,rank,obj1,obj2);
+ parallel_print(SPACES);
+ parallel_print(ULLI_FORMAT,temp1_ullong,temp2_ullong,temp1_ullong-temp2_ullong);
+ }
+ nfound++;
+ }
+
+ mem1+=sizeof(unsigned long_long);
+ mem2+=sizeof(unsigned long_long);
+ if (options->n && nfound>=options->count)
+ return nfound;
+ } /* nelmts */
+
}
- nfound++;
- }
-
- mem1+=sizeof(unsigned long_long);
- mem2+=sizeof(unsigned long_long);
- if (options->n && nfound>=options->count)
+
return nfound;
- } /* nelmts */
-
- }
-
- return nfound;
}
@@ -4572,7 +4509,7 @@ int ull2float(unsigned long_long ull_value, float *f_value)
size_t dst_size;
if((dxpl_id = H5Pcreate(H5P_DATASET_XFER))<0)
- goto error;
+ return -1;
src_size = H5Tget_size(H5T_NATIVE_ULLONG);
dst_size = H5Tget_size(H5T_NATIVE_FLOAT);
@@ -4616,8 +4553,10 @@ error:
*-------------------------------------------------------------------------
*/
+
+
static
-hbool_t equal_float(float value, float expected)
+hbool_t equal_double(double value, double expected)
{
int both_zero;
int is_zero;
@@ -4628,17 +4567,18 @@ hbool_t equal_float(float value, float expected)
IS_ZERO(expected)
if (is_zero)
- return(equal_float(expected,value));
+ return(equal_double(expected,value));
- if ( fabs( (value-expected) / expected) < H5DIFF_FLT_EPSILON)
+ if ( ABS( (value-expected) / expected) < H5DIFF_DBL_EPSILON)
return TRUE;
else
return FALSE;
}
+
static
-hbool_t equal_double(double value, double expected)
+hbool_t equal_float(float value, float expected)
{
int both_zero;
int is_zero;
@@ -4649,9 +4589,9 @@ hbool_t equal_double(double value, double expected)
IS_ZERO(expected)
if (is_zero)
- return(equal_double(expected,value));
+ return(equal_float(expected,value));
- if ( fabs( (value-expected) / expected) < H5DIFF_DBL_EPSILON)
+ if ( ABS( (value-expected) / expected) < H5DIFF_FLT_EPSILON)
return TRUE;
else
return FALSE;
@@ -4659,4 +4599,3 @@ hbool_t equal_double(double value, double expected)
}
-
diff --git a/tools/testfiles/h5diff_192.txt b/tools/testfiles/h5diff_192.txt
index 5108d1b..17fb3f3 100644
--- a/tools/testfiles/h5diff_192.txt
+++ b/tools/testfiles/h5diff_192.txt
@@ -4,8 +4,8 @@ Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5 -v -p 0.02 g1/dset
Dataset: </g1/dset7> and </g1/dset8>
position dset7 dset8 difference relative
------------------------------------------------------------------------
-[ 1 0 ] 100 103 3 0.030000
-[ 1 1 ] 100 104 4 0.040000
-[ 2 0 ] 100 150 50 0.500000
-[ 2 1 ] 100 200 100 1.000000
+[ 1 0 ] 100 103 -3 0.030000
+[ 1 1 ] 100 104 -4 0.040000
+[ 2 0 ] 100 150 -50 0.500000
+[ 2 1 ] 100 200 -100 1.000000
4 differences found