summaryrefslogtreecommitdiffstats
path: root/tools/lib
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2009-01-26 20:39:32 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2009-01-26 20:39:32 (GMT)
commitd2dd85b598976e6a3227447f464dbd9dcbb01b96 (patch)
treecf88399f8142b05d53af1ae9730e551671b2113f /tools/lib
parent1197e992e94d823a1dea02ad91f42299df305dad (diff)
downloadhdf5-d2dd85b598976e6a3227447f464dbd9dcbb01b96.zip
hdf5-d2dd85b598976e6a3227447f464dbd9dcbb01b96.tar.gz
hdf5-d2dd85b598976e6a3227447f464dbd9dcbb01b96.tar.bz2
[svn-r16351] merge 16348
#1368 (E1) h5diff: implement "not comparable" messages. Implemented RFC. The new option is <-c, --compare List objects that are not comparable> added some test cases tested: windows, linux
Diffstat (limited to 'tools/lib')
-rw-r--r--tools/lib/h5diff.c6
-rw-r--r--tools/lib/h5diff.h3
-rw-r--r--tools/lib/h5diff_array.c54
-rw-r--r--tools/lib/h5diff_attr.c5
-rw-r--r--tools/lib/h5diff_dset.c123
5 files changed, 84 insertions, 107 deletions
diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c
index b1f9c40..57b8104 100644
--- a/tools/lib/h5diff.c
+++ b/tools/lib/h5diff.c
@@ -841,10 +841,12 @@ hsize_t diff_compare(hid_t file1_id,
/* objects are not the same type */
if (info1->paths[i].type != info2->paths[j].type)
{
- if (options->m_verbose)
- parallel_print("Comparison not possible: <%s> is of type %s and <%s> is of type %s\n",
+ if (options->m_verbose||options->m_list_not_cmp)
+ {
+ parallel_print("<%s> is of type %s and <%s> is of type %s\n",
obj1_name, get_type(info1->paths[i].type), obj2_name,
get_type(info2->paths[j].type));
+ }
options->not_cmp=1;
return 0;
}
diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h
index 3a50c86..e3dae01 100644
--- a/tools/lib/h5diff.h
+++ b/tools/lib/h5diff.h
@@ -35,10 +35,11 @@ typedef struct {
int n; /* count, compare up to count */
hsize_t count; /* count value */
int err_stat; /* an error ocurred (1, error, 0, no error) */
- int cmn_objs; /* do we have comparable objects */
+ int cmn_objs; /* do we have common objects */
int not_cmp; /* are the objects comparable */
int contents; /* equal contents */
int do_nans; /* consider Nans while diffing floats */
+ int m_list_not_cmp; /* list not comparable messages */
} diff_opt_t;
diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c
index 79fefef..93096b4 100644
--- a/tools/lib/h5diff_array.c
+++ b/tools/lib/h5diff_array.c
@@ -832,7 +832,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
}
- options->not_cmp=1;
nfound++;
}
@@ -862,7 +861,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
}
- options->not_cmp=1;
nfound++;
}
@@ -931,7 +929,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
}
- options->not_cmp=1;
nfound++;
}
@@ -961,7 +958,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
}
- options->not_cmp=1;
nfound++;
}
@@ -1032,7 +1028,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
}
- options->not_cmp=1;
nfound++;
}
@@ -1062,7 +1057,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
}
- options->not_cmp=1;
nfound++;
}
@@ -1135,7 +1129,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
PDIFF(temp1_ushort,temp2_ushort));
}
- options->not_cmp=1;
nfound++;
}
@@ -1165,7 +1158,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,PDIFF(temp1_ushort,temp2_ushort));
}
- options->not_cmp=1;
nfound++;
}
@@ -1235,7 +1227,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
}
- options->not_cmp=1;
nfound++;
}
@@ -1265,7 +1256,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
}
- options->not_cmp=1;
nfound++;
}
@@ -1335,7 +1325,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
}
- options->not_cmp=1;
nfound++;
}
@@ -1365,7 +1354,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
}
- options->not_cmp=1;
nfound++;
}
@@ -1436,7 +1424,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
ABS(temp1_long-temp2_long));
}
- options->not_cmp=1;
nfound++;
}
@@ -1466,7 +1453,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
}
- options->not_cmp=1;
nfound++;
}
@@ -1537,7 +1523,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
}
- options->not_cmp=1;
nfound++;
}
@@ -1567,7 +1552,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
}
- options->not_cmp=1;
nfound++;
}
@@ -1638,7 +1622,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
}
- options->not_cmp=1;
nfound++;
}
@@ -1668,7 +1651,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
}
- options->not_cmp=1;
nfound++;
}
@@ -1740,7 +1722,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,PDIFF(temp1_ullong,temp2_ullong));
}
- options->not_cmp=1;
nfound++;
}
@@ -1773,7 +1754,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,PDIFF(temp1_ullong,temp2_ullong));
}
- options->not_cmp=1;
nfound++;
}
@@ -1900,7 +1880,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(SPACES);
parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
}
- options->not_cmp=1;
nfound++;
}
@@ -1954,7 +1933,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
ABS(temp1_float-temp2_float));
}
- options->not_cmp=1;
nfound++;
}
@@ -2078,7 +2056,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
ABS(temp1_double-temp2_double));
}
- options->not_cmp=1;
nfound++;
}
@@ -2131,7 +2108,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
ABS(temp1_double-temp2_double));
}
- options->not_cmp=1;
nfound++;
}
@@ -2258,7 +2234,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(LD_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
ABS(temp1_double-temp2_double));
}
- options->not_cmp=1;
nfound++;
}
@@ -2311,7 +2286,6 @@ hsize_t diff_datum(void *_mem1,
parallel_print(LD_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
ABS(temp1_double-temp2_double));
}
- options->not_cmp=1;
nfound++;
}
@@ -2864,7 +2838,6 @@ hsize_t diff_float(unsigned char *mem1,
parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
ABS(temp1_float-temp2_float));
}
- options->not_cmp=1;
nfound++;
}
@@ -2926,7 +2899,6 @@ hsize_t diff_float(unsigned char *mem1,
parallel_print(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
ABS(temp1_float-temp2_float));
}
- options->not_cmp=1;
nfound++;
}
@@ -3074,7 +3046,6 @@ hsize_t diff_double(unsigned char *mem1,
parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
ABS(temp1_double-temp2_double));
}
- options->not_cmp=1;
nfound++;
}
@@ -3119,7 +3090,6 @@ hsize_t diff_double(unsigned char *mem1,
parallel_print(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
ABS(temp1_double-temp2_double));
}
- options->not_cmp=1;
nfound++;
}
@@ -3253,7 +3223,6 @@ hsize_t diff_ldouble(unsigned char *mem1,
parallel_print(LD_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
ABS(temp1_double-temp2_double));
}
- options->not_cmp=1;
nfound++;
}
@@ -3298,7 +3267,6 @@ hsize_t diff_ldouble(unsigned char *mem1,
parallel_print(LD_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
ABS(temp1_double-temp2_double));
}
- options->not_cmp=1;
nfound++;
}
@@ -3431,7 +3399,6 @@ hsize_t diff_schar(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
ABS(temp1_char-temp2_char));
}
- options->not_cmp=1;
nfound++;
}
@@ -3476,7 +3443,6 @@ hsize_t diff_schar(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
ABS(temp1_char-temp2_char));
}
- options->not_cmp=1;
nfound++;
}
@@ -3611,7 +3577,6 @@ hsize_t diff_uchar(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
PDIFF(temp1_uchar,temp2_uchar));
}
- options->not_cmp=1;
nfound++;
}
@@ -3656,7 +3621,6 @@ hsize_t diff_uchar(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
PDIFF(temp1_uchar,temp2_uchar));
}
- options->not_cmp=1;
nfound++;
}
@@ -3788,7 +3752,6 @@ hsize_t diff_short(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
ABS(temp1_short-temp2_short));
}
- options->not_cmp=1;
nfound++;
}
@@ -3835,7 +3798,6 @@ hsize_t diff_short(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
ABS(temp1_short-temp2_short));
}
- options->not_cmp=1;
nfound++;
}
@@ -3968,7 +3930,6 @@ hsize_t diff_ushort(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
PDIFF(temp1_ushort,temp2_ushort));
}
- options->not_cmp=1;
nfound++;
}
@@ -4015,7 +3976,6 @@ hsize_t diff_ushort(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
PDIFF(temp1_ushort,temp2_ushort));
}
- options->not_cmp=1;
nfound++;
}
@@ -4149,7 +4109,6 @@ hsize_t diff_int(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
ABS(temp1_int-temp2_int));
}
- options->not_cmp=1;
nfound++;
}
@@ -4196,7 +4155,6 @@ hsize_t diff_int(unsigned char *mem1,
parallel_print(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
ABS(temp1_int-temp2_int));
}
- options->not_cmp=1;
nfound++;
}
@@ -4329,7 +4287,6 @@ hsize_t diff_uint(unsigned char *mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
}
- options->not_cmp=1;
nfound++;
}
@@ -4375,7 +4332,6 @@ hsize_t diff_uint(unsigned char *mem1,
parallel_print(SPACES);
parallel_print(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
}
- options->not_cmp=1;
nfound++;
}
@@ -4512,7 +4468,6 @@ hsize_t diff_long(unsigned char *mem1,
parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
ABS(temp1_long-temp2_long));
}
- options->not_cmp=1;
nfound++;
}
@@ -4559,7 +4514,6 @@ hsize_t diff_long(unsigned char *mem1,
parallel_print(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
ABS(temp1_long-temp2_long));
}
- options->not_cmp=1;
nfound++;
}
@@ -4699,7 +4653,6 @@ hsize_t diff_ulong(unsigned char *mem1,
parallel_print(SPACES);
parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
}
- options->not_cmp=1;
nfound++;
}
@@ -4745,7 +4698,6 @@ hsize_t diff_ulong(unsigned char *mem1,
parallel_print(SPACES);
parallel_print(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
}
- options->not_cmp=1;
nfound++;
}
@@ -4878,7 +4830,6 @@ hsize_t diff_llong(unsigned char *mem1,
parallel_print(SPACES);
parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
}
- options->not_cmp=1;
nfound++;
}
@@ -4922,7 +4873,6 @@ hsize_t diff_llong(unsigned char *mem1,
parallel_print(SPACES);
parallel_print(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
}
- options->not_cmp=1;
nfound++;
}
@@ -5056,7 +5006,6 @@ hsize_t diff_ullong(unsigned char *mem1,
parallel_print(SPACES);
parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,PDIFF(temp1_ullong,temp2_ullong));
}
- options->not_cmp=1;
nfound++;
}
@@ -5102,7 +5051,6 @@ hsize_t diff_ullong(unsigned char *mem1,
parallel_print(SPACES);
parallel_print(ULLI_FORMAT_P_NOTCOMP,temp1_ullong,temp2_ullong,PDIFF(temp1_ullong,temp2_ullong));
}
- options->not_cmp=1;
nfound++;
}
@@ -5450,6 +5398,8 @@ my_isnan(dtype_t type, void *val)
double x;
HDmemcpy(&x, val, sizeof(double));
retval = (x!=x);
+ //printf("x=%g retval =%d\n", x,retval);
+
#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE && H5_SIZEOF_LONG_DOUBLE!=0
}
else if (FLT_LDOUBLE==type)
diff --git a/tools/lib/h5diff_attr.c b/tools/lib/h5diff_attr.c
index 6dec22b..747b12c 100644
--- a/tools/lib/h5diff_attr.c
+++ b/tools/lib/h5diff_attr.c
@@ -150,11 +150,6 @@ hsize_t diff_attr(hid_t loc1_id,
options)!=1)
{
- if (options->m_verbose)
- printf("Comparison not possible for attribute <%s>\n",
- name1);
-
- options->not_cmp=1;
if (H5Tclose(ftype1_id)<0)
goto error;
diff --git a/tools/lib/h5diff_dset.c b/tools/lib/h5diff_dset.c
index 212f089..d36c65c 100644
--- a/tools/lib/h5diff_dset.c
+++ b/tools/lib/h5diff_dset.c
@@ -44,7 +44,7 @@ hsize_t diff_dataset( hid_t file1_id,
hid_t dcpl1 = -1;
hid_t dcpl2 = -1;
hsize_t nfound = 0;
-
+
/*-------------------------------------------------------------------------
* open the handles
*-------------------------------------------------------------------------
@@ -102,7 +102,8 @@ hsize_t diff_dataset( hid_t file1_id,
H5Dclose(did2);
/* enable error reporting */
} H5E_END_TRY;
-
+
+
return nfound;
error:
@@ -206,7 +207,7 @@ hsize_t diff_datasetid( hid_t did1,
hsize_t storage_size1;
hsize_t storage_size2;
hsize_t nfound=0; /* number of differences found */
- int cmp=1; /* do diff or not */
+ int can_compare=1; /* do diff or not */
void *buf1=NULL;
void *buf2=NULL;
void *sm_buf1=NULL;
@@ -265,9 +266,9 @@ hsize_t diff_datasetid( hid_t did1,
if (storage_size1==0 || storage_size2==0)
{
- if (options->m_verbose && obj1_name && obj2_name)
+ if ( (options->m_verbose||options->m_list_not_cmp) && obj1_name && obj2_name)
parallel_print("<%s> or <%s> are empty datasets\n", obj1_name, obj2_name);
- cmp=0;
+ can_compare=0;
options->not_cmp=1;
}
@@ -288,8 +289,7 @@ hsize_t diff_datasetid( hid_t did1,
obj2_name,
options)!=1)
{
- cmp=0;
- options->not_cmp=1;
+ can_compare=0;
}
/*-------------------------------------------------------------------------
@@ -314,12 +314,13 @@ hsize_t diff_datasetid( hid_t did1,
sign2=H5Tget_sign(m_tid2);
if ( sign1 != sign2 )
{
- if (options->m_verbose && obj1_name) {
- parallel_print("Comparison not supported: <%s> has sign %s ", obj1_name, get_sign(sign1));
+ if ((options->m_verbose||options->m_list_not_cmp) && obj1_name && obj2_name)
+ {
+ parallel_print("<%s> has sign %s ", obj1_name, get_sign(sign1));
parallel_print("and <%s> has sign %s\n", obj2_name, get_sign(sign2));
}
- cmp=0;
+ can_compare=0;
options->not_cmp=1;
}
@@ -327,7 +328,7 @@ hsize_t diff_datasetid( hid_t did1,
* only attempt to compare if possible
*-------------------------------------------------------------------------
*/
- if (cmp)
+ if (can_compare ) /* it is possible to compare */
{
/*-------------------------------------------------------------------------
@@ -543,7 +544,7 @@ hsize_t diff_datasetid( hid_t did1,
}
} /* hyperslab read */
- }/*cmp*/
+ }/*can_compare*/
/*-------------------------------------------------------------------------
* compare attributes
@@ -669,6 +670,7 @@ int diff_can_type( hid_t f_tid1, /* file data type */
int maxdim_diff=0; /* maximum dimensions are different */
int dim_diff=0; /* current dimensions are different */
int i;
+ int can_compare = 1; /* return value */
/*-------------------------------------------------------------------------
* check for the same class
@@ -683,13 +685,15 @@ int diff_can_type( hid_t f_tid1, /* file data type */
if ( tclass1 != tclass2 )
{
- if (options->m_verbose && obj1_name)
+ if ( (options->m_verbose||options->m_list_not_cmp) && obj1_name && obj2_name)
{
- printf("Comparison not possible: <%s> is of class %s and <%s> is of class %s\n",
+ parallel_print("<%s> is of class %s and <%s> is of class %s\n",
obj1_name, get_class(tclass1),
obj2_name, get_class(tclass2) );
}
- return 0;
+ can_compare = 0;
+ options->not_cmp = 1;
+ return can_compare;
}
/*-------------------------------------------------------------------------
@@ -714,10 +718,16 @@ int diff_can_type( hid_t f_tid1, /* file data type */
break;
default: /*H5T_TIME */
- if (options->m_verbose && obj1_name )
- printf("Comparison not supported: <%s> and <%s> are of class %s\n",
- obj1_name,obj2_name,get_class(tclass2) );
- return 0;
+
+
+ if ( (options->m_verbose||options->m_list_not_cmp) && obj1_name && obj2_name)
+ {
+ parallel_print("<%s> and <%s> are of class %s\n",
+ obj1_name,obj2_name,get_class(tclass2) );
+ }
+ can_compare = 0;
+ options->not_cmp = 1;
+ return can_compare;
}
/*-------------------------------------------------------------------------
@@ -725,21 +735,26 @@ int diff_can_type( hid_t f_tid1, /* file data type */
*-------------------------------------------------------------------------
*/
- if ( (H5Tequal(f_tid1, f_tid2)==0) && options->m_verbose && obj1_name)
+ if ( (H5Tequal(f_tid1, f_tid2)==0) &&
+ (options->m_verbose) && obj1_name && obj2_name)
{
H5T_class_t cl = H5Tget_class(f_tid1);
-
- printf("Warning: different storage datatype\n");
+
+
+ parallel_print("Warning: different storage datatype\n");
if ( cl == H5T_INTEGER || cl == H5T_FLOAT )
{
- printf("<%s> has file datatype ", obj1_name);
+ parallel_print("<%s> has file datatype ", obj1_name);
print_type(f_tid1);
- printf("\n");
- printf("<%s> has file datatype ", obj2_name);
+ parallel_print("\n");
+ parallel_print("<%s> has file datatype ", obj2_name);
print_type(f_tid2);
- printf("\n");
+ parallel_print("\n");
}
+
+
+
}
/*-------------------------------------------------------------------------
@@ -749,18 +764,23 @@ int diff_can_type( hid_t f_tid1, /* file data type */
if ( rank1 != rank2 )
{
- if (options->m_verbose && obj1_name) {
- printf("Comparison not supported: <%s> has rank %d, dimensions ", obj1_name, rank1);
+
+ if ( (options->m_verbose||options->m_list_not_cmp) && obj1_name && obj2_name)
+ {
+ parallel_print("<%s> has rank %d, dimensions ", obj1_name, rank1);
print_dimensions(rank1,dims1);
- printf(", max dimensions ");
+ parallel_print(", max dimensions ");
print_dimensions(rank1,maxdim1);
- printf("\n" );
- printf("<%s> has rank %d, dimensions ", obj2_name, rank2);
+ parallel_print("\n" );
+ parallel_print("<%s> has rank %d, dimensions ", obj2_name, rank2);
print_dimensions(rank2,dims2);
- printf(", max dimensions ");
+ parallel_print(", max dimensions ");
print_dimensions(rank2,maxdim2);
}
- return 0;
+
+ can_compare = 0;
+ options->not_cmp = 1;
+ return can_compare;
}
/*-------------------------------------------------------------------------
@@ -787,20 +807,29 @@ int diff_can_type( hid_t f_tid1, /* file data type */
if (dim_diff==1)
{
- if (options->m_verbose && obj1_name) {
- printf("Comparison not supported: <%s> has rank %d, dimensions ", obj1_name, rank1);
+ if ( (options->m_verbose||options->m_list_not_cmp) && obj1_name && obj2_name)
+ {
+ parallel_print("<%s> has rank %d, dimensions ", obj1_name, rank1);
print_dimensions(rank1,dims1);
- if (maxdim1 && maxdim2) {
- printf(", max dimensions ");
+ if (maxdim1 && maxdim2)
+ {
+ parallel_print(", max dimensions ");
print_dimensions(rank1,maxdim1);
- printf("\n" );
- printf("<%s> has rank %d, dimensions ", obj2_name, rank2);
+ parallel_print("\n" );
+ parallel_print("<%s> has rank %d, dimensions ", obj2_name, rank2);
print_dimensions(rank2,dims2);
- printf(", max dimensions ");
+ parallel_print(", max dimensions ");
print_dimensions(rank2,maxdim2);
}
}
- return 0;
+
+
+ can_compare = 0;
+ options->not_cmp = 1;
+ return can_compare;
+
+
+
}
/*-------------------------------------------------------------------------
@@ -810,17 +839,17 @@ int diff_can_type( hid_t f_tid1, /* file data type */
if (maxdim1 && maxdim2 && maxdim_diff==1 && obj1_name )
{
if (options->m_verbose) {
- printf( "Warning: different maximum dimensions\n");
- printf("<%s> has max dimensions ", obj1_name);
+ parallel_print( "Warning: different maximum dimensions\n");
+ parallel_print("<%s> has max dimensions ", obj1_name);
print_dimensions(rank1,maxdim1);
- printf("\n");
- printf("<%s> has max dimensions ", obj2_name);
+ parallel_print("\n");
+ parallel_print("<%s> has max dimensions ", obj2_name);
print_dimensions(rank2,maxdim2);
- printf("\n");
+ parallel_print("\n");
}
}
- return 1;
+ return can_compare;
}