[svn-r12815]

1) added a new parameter to the h5diff function diff_array that contains
the beginning position of the hyperslab, so that the total position in
the array is printed correctly when reading by hyperslabs.
2) added a new test to h5diff  that reads and diffs by hyperslabs. The
test reads a 1GB dataset, from which a 1KB hyperslab was written with
differences .
3) added the generation of 2 files to the generator program to test the
h5diff hyperslab read.
4) changed the h5diff binary pre-generated file names to be more
descriptive (e.g, instead of file1.h5, made it h5diff_basic1.h5)
5) changed the name of the h5repack options text file to info.h5repack
This commit is contained in:
Pedro Vicente Nunes 2006-10-25 15:38:28 -05:00
parent ea1047de51
commit 9d94440384
85 changed files with 2870 additions and 1684 deletions

View File

@ -1236,14 +1236,16 @@
./tools/testfiles/tall-2A.h5.xml
#test files for h5diff
./tools/testfiles/file1.h5
./tools/testfiles/file2.h5
./tools/testfiles/file3.h5
./tools/testfiles/file4.h5
./tools/testfiles/file5.h5
./tools/testfiles/file6.h5
./tools/testfiles/file7.h5
./tools/testfiles/file8.h5
./tools/testfiles/h5diff_dtypes.h5
./tools/testfiles/h5diff_dset1.h5
./tools/testfiles/h5diff_hyper1.h5
./tools/testfiles/h5diff_basic1.h5
./tools/testfiles/h5diff_dset2.h5
./tools/testfiles/h5diff_attr1.h5
./tools/testfiles/h5diff_hyper2.h5
./tools/testfiles/h5diff_basic2.h5
./tools/testfiles/h5diff_attr2.h5
./tools/testfiles/h5diff_types.h5
./tools/testfiles/h5diff_10.txt
./tools/testfiles/h5diff_11.txt
./tools/testfiles/h5diff_12.txt
@ -1306,6 +1308,9 @@
./tools/testfiles/h5diff_70.txt
./tools/testfiles/h5diff_80.txt
./tools/testfiles/h5diff_90.txt
./tools/testfiles/h5diff_100.txt
./tools/testfiles/info.h5repack
#test files for h5repack
./tools/testfiles/test0.h5
@ -1321,7 +1326,6 @@
./tools/testfiles/test_szip.h5
./tools/testfiles/test_nbit.h5
./tools/testfiles/test_scaleoffset.h5
./tools/testfiles/h5repack_info.txt
# jam utility and tests
./tools/h5jam/h5jam.c

View File

@ -285,7 +285,7 @@ int check_f_input( const char *str )
*/
void usage(void)
{
printf("Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] \n");
printf("usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] \n");
printf("\n");
printf("file1 File name of the first HDF5 file\n");
printf("file2 File name of the second HDF5 file\n");

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,23 @@
# Pedro Vicente Nunes, 10/25/2005
# Added test #9
###############################################################################
## test file names
###############################################################################
FILE1=h5diff_basic1.h5
FILE2=h5diff_basic2.h5
FILE3=h5diff_types.h5
FILE4=h5diff_dtypes.h5
FILE5=h5diff_attr1.h5
FILE6=h5diff_attr2.h5
FILE7=h5diff_dset1.h5
FILE8=h5diff_dset2.h5
FILE9=h5diff_hyper1.h5
FILE10=h5diff_hyper2.h5
H5DIFF=h5diff # The tool name
H5DIFF_BIN=`pwd`/$H5DIFF # The path of the tool binary
@ -240,47 +257,47 @@ SKIP() {
##############################################################################
##############################################################################
### T H E T E S T S ###
### T H E T E S T S ###
##############################################################################
##############################################################################
# ##############################################################################
# ############################################################################
# # Common usage
# ##############################################################################
# ############################################################################
# 1.0
TOOLTEST h5diff_10.txt -h
# 1.1 normal mode
TOOLTEST h5diff_11.txt file1.h5 file2.h5
TOOLTEST h5diff_11.txt $FILE1 $FILE2
# 1.2 normal mode with objects
TOOLTEST h5diff_12.txt file1.h5 file2.h5 g1/dset1 g1/dset2
TOOLTEST h5diff_12.txt $FILE1 $FILE2 g1/dset1 g1/dset2
# 1.3 report mode
TOOLTEST h5diff_13.txt file1.h5 file2.h5 -r
TOOLTEST h5diff_13.txt $FILE1 $FILE2 -r
# 1.4 report mode with objects
TOOLTEST h5diff_14.txt file1.h5 file2.h5 -r g1/dset1 g1/dset2
TOOLTEST h5diff_14.txt $FILE1 $FILE2 -r g1/dset1 g1/dset2
# 1.5 with -d
TOOLTEST h5diff_15.txt file1.h5 file2.h5 -r -d 5 g1/dset3 g1/dset4
TOOLTEST h5diff_15.txt $FILE1 $FILE2 -r -d 5 g1/dset3 g1/dset4
# 1.6 with -p
TOOLTEST h5diff_16.txt file1.h5 file2.h5 -r -p 0.05 g1/dset3 g1/dset4
TOOLTEST h5diff_16.txt $FILE1 $FILE2 -r -p 0.05 g1/dset3 g1/dset4
# 1.7 verbose mode
TOOLTEST h5diff_17.txt file1.h5 file2.h5 -v
TOOLTEST h5diff_17.txt $FILE1 $FILE2 -v
# 1.8 quiet mode
TOOLTEST h5diff_18.txt file1.h5 file2.h5 -q
TOOLTEST h5diff_18.txt $FILE1 $FILE2 -q
# 1.9.1 with -p (int)
TOOLTEST h5diff_191.txt file1.h5 file1.h5 -v -p 0.02 g1/dset5 g1/dset6
TOOLTEST h5diff_191.txt $FILE1 $FILE1 -v -p 0.02 g1/dset5 g1/dset6
# 1.9.2 with -p (unsigned long_long)
TOOLTEST h5diff_192.txt file1.h5 file1.h5 -v -p 0.02 g1/dset7 g1/dset8
TOOLTEST h5diff_192.txt $FILE1 $FILE1 -v -p 0.02 g1/dset7 g1/dset8
# ##############################################################################
@ -288,68 +305,68 @@ TOOLTEST h5diff_192.txt file1.h5 file1.h5 -v -p 0.02 g1/dset7 g1/dset8
# ##############################################################################
# 2.0
TOOLTEST h5diff_20.txt file3.h5 file3.h5 -v dset g1
TOOLTEST h5diff_20.txt $FILE3 $FILE3 -v dset g1
# 2.1
TOOLTEST h5diff_21.txt file3.h5 file3.h5 -v dset l1
TOOLTEST h5diff_21.txt $FILE3 $FILE3 -v dset l1
# 2.2
TOOLTEST h5diff_22.txt file3.h5 file3.h5 -v dset t1
TOOLTEST h5diff_22.txt $FILE3 $FILE3 -v dset t1
# ##############################################################################
# # compare groups, types, links (no differences and differences)
# ##############################################################################
# 2.3
TOOLTEST h5diff_23.txt file3.h5 file3.h5 -v g1 g1
TOOLTEST h5diff_23.txt $FILE3 $FILE3 -v g1 g1
# 2.4
TOOLTEST h5diff_24.txt file3.h5 file3.h5 -v t1 t1
TOOLTEST h5diff_24.txt $FILE3 $FILE3 -v t1 t1
# 2.5
TOOLTEST h5diff_25.txt file3.h5 file3.h5 -v l1 l1
TOOLTEST h5diff_25.txt $FILE3 $FILE3 -v l1 l1
# 2.6
TOOLTEST h5diff_26.txt file3.h5 file3.h5 -v g1 g2
TOOLTEST h5diff_26.txt $FILE3 $FILE3 -v g1 g2
# 2.7
TOOLTEST h5diff_27.txt file3.h5 file3.h5 -v t1 t2
TOOLTEST h5diff_27.txt $FILE3 $FILE3 -v t1 t2
# 2.8
TOOLTEST h5diff_28.txt file3.h5 file3.h5 -v l1 l2
TOOLTEST h5diff_28.txt $FILE3 $FILE3 -v l1 l2
# ##############################################################################
# # Dataset types
# # Dataset datatypes
# ##############################################################################
# 5.0
TOOLTEST h5diff_50.txt file4.h5 file4.h5 -v dset0a dset0b
TOOLTEST h5diff_50.txt $FILE4 $FILE4 -v dset0a dset0b
# 5.1
TOOLTEST h5diff_51.txt file4.h5 file4.h5 -v dset1a dset1b
TOOLTEST h5diff_51.txt $FILE4 $FILE4 -v dset1a dset1b
# 5.2
TOOLTEST h5diff_52.txt file4.h5 file4.h5 -v dset2a dset2b
TOOLTEST h5diff_52.txt $FILE4 $FILE4 -v dset2a dset2b
# 5.3
TOOLTEST h5diff_53.txt file4.h5 file4.h5 -v dset3a dset4b
TOOLTEST h5diff_53.txt $FILE4 $FILE4 -v dset3a dset4b
# 5.4
TOOLTEST h5diff_54.txt file4.h5 file4.h5 -v dset4a dset4b
TOOLTEST h5diff_54.txt $FILE4 $FILE4 -v dset4a dset4b
# 5.5
TOOLTEST h5diff_55.txt file4.h5 file4.h5 -v dset5a dset5b
TOOLTEST h5diff_55.txt $FILE4 $FILE4 -v dset5a dset5b
# 5.6
TOOLTEST h5diff_56.txt file4.h5 file4.h5 -v dset6a dset6b
TOOLTEST h5diff_56.txt $FILE4 $FILE4 -v dset6a dset6b
# 5.7
TOOLTEST h5diff_57.txt file4.h5 file4.h5 -v dset7a dset7b
TOOLTEST h5diff_57.txt $FILE4 $FILE4 -v dset7a dset7b
# 5.8 (region reference)
TOOLTEST h5diff_58.txt file7.h5 file8.h5 -v refreg
TOOLTEST h5diff_58.txt $FILE7 $FILE8 -v refreg
# ##############################################################################
# # Error messages
@ -357,41 +374,41 @@ TOOLTEST h5diff_58.txt file7.h5 file8.h5 -v refreg
# 6.0: Check if the command line number of arguments is less than 3
TOOLTEST h5diff_600.txt file1.h5
TOOLTEST h5diff_600.txt $FILE1
# 6.1: Check for invalid options
TOOLTEST h5diff_601.txt file1.h5 file2.h5 -x
TOOLTEST h5diff_601.txt $FILE1 $FILE2 -x
# ##############################################################################
# # -d
# ##############################################################################
# 6.2: no value
TOOLTEST h5diff_602.txt file1.h5 file2.h5 -d g1/dset3 g1/dset4
TOOLTEST h5diff_602.txt $FILE1 $FILE2 -d g1/dset3 g1/dset4
# 6.3: negative value
TOOLTEST h5diff_603.txt file1.h5 file2.h5 -d -4 g1/dset3 g1/dset4
TOOLTEST h5diff_603.txt $FILE1 $FILE2 -d -4 g1/dset3 g1/dset4
# 6.4: zero
TOOLTEST h5diff_604.txt file1.h5 file2.h5 -d 0 g1/dset3 g1/dset4
TOOLTEST h5diff_604.txt $FILE1 $FILE2 -d 0 g1/dset3 g1/dset4
# 6.5: non number
TOOLTEST h5diff_605.txt file1.h5 file2.h5 -d u g1/dset3 g1/dset4
TOOLTEST h5diff_605.txt $FILE1 $FILE2 -d u g1/dset3 g1/dset4
# 6.6: hexadecimal
TOOLTEST h5diff_606.txt file1.h5 file2.h5 -d 0x1 g1/dset3 g1/dset4
TOOLTEST h5diff_606.txt $FILE1 $FILE2 -d 0x1 g1/dset3 g1/dset4
# 6.7: string
TOOLTEST h5diff_607.txt file1.h5 file2.h5 -d "1" g1/dset3 g1/dset4
TOOLTEST h5diff_607.txt $FILE1 $FILE2 -d "1" g1/dset3 g1/dset4
# 6.8: repeated option
TOOLTEST h5diff_608.txt file1.h5 file2.h5 -d 1 -d 2 g1/dset3 g1/dset4
TOOLTEST h5diff_608.txt $FILE1 $FILE2 -d 1 -d 2 g1/dset3 g1/dset4
# 6.9: number larger than biggest difference
TOOLTEST h5diff_609.txt file1.h5 file2.h5 -d 200 g1/dset3 g1/dset4
TOOLTEST h5diff_609.txt $FILE1 $FILE2 -d 200 g1/dset3 g1/dset4
# 6.10: number smaller than smallest difference
TOOLTEST h5diff_610.txt file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4
TOOLTEST h5diff_610.txt $FILE1 $FILE2 -d 1 g1/dset3 g1/dset4
# ##############################################################################
@ -400,31 +417,31 @@ TOOLTEST h5diff_610.txt file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4
# 6.11: no value
TOOLTEST h5diff_611.txt file1.h5 file2.h5 -r -p g1/dset3 g1/dset4
TOOLTEST h5diff_611.txt $FILE1 $FILE2 -r -p g1/dset3 g1/dset4
# 6.12: negative value
TOOLTEST h5diff_612.txt file1.h5 file2.h5 -p -4 g1/dset3 g1/dset4
TOOLTEST h5diff_612.txt $FILE1 $FILE2 -p -4 g1/dset3 g1/dset4
# 6.13: zero
TOOLTEST h5diff_613.txt file1.h5 file2.h5 -p 0 g1/dset3 g1/dset4
TOOLTEST h5diff_613.txt $FILE1 $FILE2 -p 0 g1/dset3 g1/dset4
# 6.14: non number
TOOLTEST h5diff_614.txt file1.h5 file2.h5 -p u g1/dset3 g1/dset4
TOOLTEST h5diff_614.txt $FILE1 $FILE2 -p u g1/dset3 g1/dset4
# 6.15: hexadecimal
TOOLTEST h5diff_615.txt file1.h5 file2.h5 -p 0x1 g1/dset3 g1/dset4
TOOLTEST h5diff_615.txt $FILE1 $FILE2 -p 0x1 g1/dset3 g1/dset4
# 6.16: string
TOOLTEST h5diff_616.txt file1.h5 file2.h5 -p "0.21" g1/dset3 g1/dset4
TOOLTEST h5diff_616.txt $FILE1 $FILE2 -p "0.21" g1/dset3 g1/dset4
# 6.17: repeated option
TOOLTEST h5diff_617.txt file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4
TOOLTEST h5diff_617.txt $FILE1 $FILE2 -p 0.21 -p 0.22 g1/dset3 g1/dset4
# 6.18: number larger than biggest difference
TOOLTEST h5diff_618.txt file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4
TOOLTEST h5diff_618.txt $FILE1 $FILE2 -p 2 g1/dset3 g1/dset4
# 6.19: number smaller than smallest difference
TOOLTEST h5diff_619.txt file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4
TOOLTEST h5diff_619.txt $FILE1 $FILE2 -p 0.005 g1/dset3 g1/dset4
@ -434,31 +451,31 @@ TOOLTEST h5diff_619.txt file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4
# 6.20: no value
TOOLTEST h5diff_620.txt file1.h5 file2.h5 -n g1/dset3 g1/dset4
TOOLTEST h5diff_620.txt $FILE1 $FILE2 -n g1/dset3 g1/dset4
# 6.21: negative value
TOOLTEST h5diff_621.txt file1.h5 file2.h5 -n -4 g1/dset3 g1/dset4
TOOLTEST h5diff_621.txt $FILE1 $FILE2 -n -4 g1/dset3 g1/dset4
# 6.22: zero
TOOLTEST h5diff_622.txt file1.h5 file2.h5 -n 0 g1/dset3 g1/dset4
TOOLTEST h5diff_622.txt $FILE1 $FILE2 -n 0 g1/dset3 g1/dset4
# 6.23: non number
TOOLTEST h5diff_623.txt file1.h5 file2.h5 -n u g1/dset3 g1/dset4
TOOLTEST h5diff_623.txt $FILE1 $FILE2 -n u g1/dset3 g1/dset4
# 6.24: hexadecimal
TOOLTEST h5diff_624.txt file1.h5 file2.h5 -n 0x1 g1/dset3 g1/dset4
TOOLTEST h5diff_624.txt $FILE1 $FILE2 -n 0x1 g1/dset3 g1/dset4
# 6.25: string
TOOLTEST h5diff_625.txt file1.h5 file2.h5 -n "2" g1/dset3 g1/dset4
TOOLTEST h5diff_625.txt $FILE1 $FILE2 -n "2" g1/dset3 g1/dset4
# 6.26: repeated option
TOOLTEST h5diff_626.txt file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4
TOOLTEST h5diff_626.txt $FILE1 $FILE2 -n 2 -n 3 g1/dset3 g1/dset4
# 6.27: number larger than biggest difference
TOOLTEST h5diff_627.txt file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4
TOOLTEST h5diff_627.txt $FILE1 $FILE2 -n 200 g1/dset3 g1/dset4
# 6.28: number smaller than smallest difference
TOOLTEST h5diff_628.txt file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4
TOOLTEST h5diff_628.txt $FILE1 $FILE2 -n 1 g1/dset3 g1/dset4
# ##############################################################################
# 6.29 non valid files
@ -470,17 +487,21 @@ TOOLTEST h5diff_629.txt file1.h6 file2.h6
# 7. attributes
# ##############################################################################
TOOLTEST h5diff_70.txt file5.h5 file6.h5 -v
TOOLTEST h5diff_70.txt $FILE5 $FILE6 -v
# ##############################################################################
# 8. all dataset datatypes
# ##############################################################################
TOOLTEST h5diff_80.txt file7.h5 file8.h5 -v
TOOLTEST h5diff_80.txt $FILE7 $FILE8 -v
# 9. compare a file with itself
TOOLTEST h5diff_90.txt file1.h5 file1.h5
TOOLTEST h5diff_90.txt $FILE1 $FILE1
# 10. read by hyperslab, print indexes
TOOLTEST h5diff_100.txt $FILE9 $FILE10 -v
# ##############################################################################
# # END

View File

@ -30,6 +30,9 @@ H5DIFF_BIN=`pwd`/$H5DIFF # The path of the h5diff tool binary
H5DETECTSZIP=testh5repack_detect_szip # The tool name
H5DETECTSZIP_BIN=`pwd`/$H5DETECTSZIP # The path of the tool binary
INFO_FILE=../testfiles/info.h5repack
nerrors=0
verbose=yes
@ -366,7 +369,7 @@ else
fi
#file
arg="test4.h5 -e ../testfiles/h5repack_info.txt"
arg="test4.h5 -e $INFO_FILE"
if test $USE_FILTER_DEFLATE != "yes" ; then
SKIP $arg
else

View File

@ -115,6 +115,7 @@ hsize_t diff_match( hid_t file1_id,
hsize_t diff_array( void *_mem1,
void *_mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *dims,
diff_opt_t *options,
@ -161,29 +162,8 @@ const char* get_sign(H5T_sign_t sign);
void print_dims( int r, hsize_t *d );
int print_objname(diff_opt_t *options, hsize_t nfound);
hsize_t diff_native_uchar(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);
hsize_t diff_char(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);
hsize_t diff_datum(void *_mem1,
void *_mem2,
hid_t m_type,
@ -201,136 +181,148 @@ hsize_t diff_datum(void *_mem1,
hsize_t diff_float(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_double(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_schar(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_uchar(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_short(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_ushort(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_int(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_uint(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_long(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_ulong(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_llong(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
hsize_t diff_ullong(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
diff_opt_t *options,
const char *obj1,
const char *obj2,
int *ph);

View File

@ -17,7 +17,6 @@
#include "ph5diff.h"
#include "H5private.h"
/*-------------------------------------------------------------------------
* printf formatting
*-------------------------------------------------------------------------
@ -43,26 +42,45 @@
#define ULLI_FORMAT_P "%-15"H5_PRINTF_LL_WIDTH"u %-15"H5_PRINTF_LL_WIDTH"u %-15"H5_PRINTF_LL_WIDTH"d %-14f\n"
#define SPACES " "
/*-------------------------------------------------------------------------
* -p relative error formula
*-------------------------------------------------------------------------
*/
#define PER(A,B) { per = -1; \
if (A!=0) \
per = (float)fabs(1-( (float)B / (float)A )); \
}
/* local functions */
/*-------------------------------------------------------------------------
* local prototypes
*-------------------------------------------------------------------------
*/
static void close_obj(H5G_obj_t obj_type, hid_t obj_id);
static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id,
hid_t region1_id, hid_t region2_id, diff_opt_t *options);
static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id,hid_t region1_id, hid_t region2_id, diff_opt_t *options);
static hbool_t is_zero(const void *_mem, size_t size);
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);
#ifdef NOT_YET
#define EPSILON .0000001
static hbool_t equal_float(float value, float expected);
#define F_FORMAT_P_NOTCOMP "%-15.10g %-15.10g %-15.10g not comparable\n"
#endif
/*-------------------------------------------------------------------------
*
* Local functions
*
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: print_data
*
* Purpose: print data only in report or verbose modes,
* and do not print in quiet mode
* Purpose: print data only in report or verbose modes, and do not print in quiet mode
*-------------------------------------------------------------------------
*/
static
@ -148,6 +166,7 @@ void print_pos( int *ph, /* print header */
hsize_t diff_array( void *_mem1,
void *_mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *dims,
diff_opt_t *options,
@ -211,33 +230,33 @@ hsize_t diff_array( void *_mem1,
case H5T_FLOAT:
if (H5Tequal(m_type, H5T_NATIVE_FLOAT))
nfound=diff_float(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_float(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_DOUBLE))
nfound=diff_double(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_double(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
break;
case H5T_INTEGER:
if (H5Tequal(m_type, H5T_NATIVE_SCHAR))
nfound=diff_schar(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_schar(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_UCHAR))
nfound=diff_uchar(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_uchar(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_SHORT))
nfound=diff_short(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_short(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_USHORT))
nfound=diff_ushort(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_ushort(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_INT))
nfound=diff_int(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_int(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_UINT))
nfound=diff_uint(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_uint(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_LONG))
nfound=diff_long(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_long(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_ULONG))
nfound=diff_ulong(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_ulong(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_LLONG))
nfound=diff_llong(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_llong(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
else if (H5Tequal(m_type, H5T_NATIVE_ULLONG))
nfound=diff_ullong(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
nfound=diff_ullong(mem1,mem2,nelmts,hyper_start,rank,acc,pos,options,name1,name2,&ph);
break;
@ -417,7 +436,7 @@ hsize_t diff_datum(void *_mem1,
/* check for NULL pointer for string */
if(s!=NULL)
for (u=0; u<size && (s[u] || pad!=H5T_STR_NULLTERM); u++)
nfound+=diff_char(
nfound+=character_compare(
mem1 + u,
mem2 + u, /* offset */
i, /* index position */
@ -440,7 +459,7 @@ hsize_t diff_datum(void *_mem1,
{
/* byte-by-byte comparison */
for (u=0; u<type_size; u++)
nfound+=diff_native_uchar(
nfound+=character_compare_opt(
mem1 + u,
mem2 + u, /* offset */
i, /* index position */
@ -463,7 +482,7 @@ hsize_t diff_datum(void *_mem1,
/* byte-by-byte comparison */
for (u=0; u<type_size; u++)
nfound+=diff_native_uchar(
nfound+=character_compare_opt(
mem1 + u,
mem2 + u, /* offset */
i, /* index position */
@ -513,7 +532,7 @@ hsize_t diff_datum(void *_mem1,
else
{
for (u=0; u<type_size; u++)
nfound+=diff_native_uchar(
nfound+=character_compare_opt(
mem1 + u,
mem2 + u, /* offset */
i, /* index position */
@ -1619,47 +1638,6 @@ hsize_t diff_datum(void *_mem1,
}
/*-------------------------------------------------------------------------
* Function: diff_char
*
* Purpose: do a byte-by-byte comparison and print in char format
*
* Return: number of differences found
*
*-------------------------------------------------------------------------
*/
hsize_t diff_char(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)
{
hsize_t nfound=0; /* differences found */
unsigned char temp1_uchar;
unsigned char temp2_uchar;
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,i,acc,pos,rank,obj1,obj2);
parallel_print(SPACES);
parallel_print(C_FORMAT,temp1_uchar,temp2_uchar);
}
nfound++;
}
return nfound;
}
@ -1965,7 +1943,51 @@ hsize_t diff_region(hid_t obj1_id,
/*-------------------------------------------------------------------------
* Function: diff_native_uchar
* Function: character_compare
*
* Purpose: do a byte-by-byte comparison and print in char format
*
* Return: number of differences found
*
*-------------------------------------------------------------------------
*/
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)
{
hsize_t nfound=0; /* differences found */
unsigned char temp1_uchar;
unsigned char temp2_uchar;
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,i,acc,pos,rank,obj1,obj2);
parallel_print(SPACES);
parallel_print(C_FORMAT,temp1_uchar,temp2_uchar);
}
nfound++;
}
return nfound;
}
/*-------------------------------------------------------------------------
* Function: character_compare_opt
*
* Purpose: do a byte-by-byte comparison and print in numerical format
*
@ -1974,7 +1996,7 @@ hsize_t diff_region(hid_t obj1_id,
*-------------------------------------------------------------------------
*/
hsize_t diff_native_uchar(unsigned char *mem1,
hsize_t character_compare_opt(unsigned char *mem1,
unsigned char *mem2,
hsize_t i,
int rank,
@ -2071,6 +2093,7 @@ hsize_t diff_native_uchar(unsigned char *mem1,
hsize_t diff_float(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -2099,7 +2122,7 @@ hsize_t diff_float(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2121,11 +2144,25 @@ hsize_t diff_float(unsigned char *mem1,
memcpy(&temp2_float, mem2, sizeof(float));
PER(temp1_float,temp2_float);
#ifdef NOT_YET
if (per==-1) /* 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;
}
else
#endif
if ( per > options->percent )
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2150,11 +2187,25 @@ hsize_t diff_float(unsigned char *mem1,
memcpy(&temp2_float, mem2, sizeof(float));
PER(temp1_float,temp2_float);
#ifdef NOT_YET
if (per==-1) /* 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;
}
else
#endif
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);
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),
@ -2180,7 +2231,7 @@ hsize_t diff_float(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2212,6 +2263,7 @@ hsize_t diff_float(unsigned char *mem1,
hsize_t diff_double(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -2241,7 +2293,7 @@ hsize_t diff_double(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2268,7 +2320,7 @@ hsize_t diff_double(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2297,7 +2349,7 @@ hsize_t diff_double(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2323,7 +2375,7 @@ hsize_t diff_double(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2353,6 +2405,7 @@ hsize_t diff_double(unsigned char *mem1,
hsize_t diff_schar(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -2382,7 +2435,7 @@ hsize_t diff_schar(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2409,7 +2462,7 @@ hsize_t diff_schar(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2438,7 +2491,7 @@ hsize_t diff_schar(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2465,7 +2518,7 @@ hsize_t diff_schar(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2497,6 +2550,7 @@ hsize_t diff_schar(unsigned char *mem1,
hsize_t diff_uchar(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -2526,7 +2580,7 @@ hsize_t diff_uchar(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2554,7 +2608,7 @@ hsize_t diff_uchar(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2583,7 +2637,7 @@ hsize_t diff_uchar(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2610,7 +2664,7 @@ hsize_t diff_uchar(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2640,6 +2694,7 @@ hsize_t diff_uchar(unsigned char *mem1,
hsize_t diff_short(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -2669,7 +2724,7 @@ hsize_t diff_short(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2697,7 +2752,7 @@ hsize_t diff_short(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2728,7 +2783,7 @@ hsize_t diff_short(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2755,7 +2810,7 @@ hsize_t diff_short(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2786,6 +2841,7 @@ hsize_t diff_short(unsigned char *mem1,
hsize_t diff_ushort(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -2814,7 +2870,7 @@ hsize_t diff_ushort(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2842,7 +2898,7 @@ hsize_t diff_ushort(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2873,7 +2929,7 @@ hsize_t diff_ushort(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -2900,7 +2956,7 @@ hsize_t diff_ushort(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2932,6 +2988,7 @@ hsize_t diff_ushort(unsigned char *mem1,
hsize_t diff_int(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -2960,7 +3017,7 @@ hsize_t diff_int(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -2988,7 +3045,7 @@ hsize_t diff_int(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -3019,7 +3076,7 @@ hsize_t diff_int(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -3046,7 +3103,7 @@ hsize_t diff_int(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -3078,6 +3135,7 @@ hsize_t diff_int(unsigned char *mem1,
hsize_t diff_uint(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -3106,7 +3164,7 @@ hsize_t diff_uint(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -3134,7 +3192,7 @@ hsize_t diff_uint(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -3165,7 +3223,7 @@ hsize_t diff_uint(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -3192,7 +3250,7 @@ hsize_t diff_uint(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -3224,6 +3282,7 @@ hsize_t diff_uint(unsigned char *mem1,
hsize_t diff_long(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -3255,7 +3314,7 @@ hsize_t diff_long(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -3283,7 +3342,7 @@ hsize_t diff_long(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -3314,7 +3373,7 @@ hsize_t diff_long(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -3341,7 +3400,7 @@ hsize_t diff_long(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -3374,6 +3433,7 @@ hsize_t diff_long(unsigned char *mem1,
hsize_t diff_ulong(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -3406,7 +3466,7 @@ hsize_t diff_ulong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -3436,7 +3496,7 @@ hsize_t diff_ulong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -3467,7 +3527,7 @@ hsize_t diff_ulong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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),
@ -3494,7 +3554,7 @@ hsize_t diff_ulong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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));
}
@ -3526,6 +3586,7 @@ hsize_t diff_ulong(unsigned char *mem1,
hsize_t diff_llong(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -3554,7 +3615,7 @@ hsize_t diff_llong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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)));
@ -3583,7 +3644,7 @@ hsize_t diff_llong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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)),
@ -3614,7 +3675,7 @@ hsize_t diff_llong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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)),
@ -3641,7 +3702,7 @@ hsize_t diff_llong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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)));
@ -3675,6 +3736,7 @@ hsize_t diff_llong(unsigned char *mem1,
hsize_t diff_ullong(unsigned char *mem1,
unsigned char *mem2,
hsize_t nelmts,
hsize_t hyper_start,
int rank,
hsize_t *acc,
hsize_t *pos,
@ -3703,7 +3765,7 @@ hsize_t diff_ullong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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)));
@ -3734,7 +3796,7 @@ hsize_t diff_ullong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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)),
@ -3767,7 +3829,7 @@ hsize_t diff_ullong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
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)),
@ -3794,7 +3856,7 @@ hsize_t diff_ullong(unsigned char *mem1,
{
if ( print_data(options) )
{
print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
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)));
@ -3864,3 +3926,33 @@ error:
return -1;
}
/*-------------------------------------------------------------------------
* Function: equal_float
*
* Purpose: use a relative error formula to deal with floating point
* uncertainty
*
* Programmer: pvn
* October 24, 2006
*
* Modifications:
*
*-------------------------------------------------------------------------
*/
#ifdef NOT_YET
static
hbool_t equal_float(float value, float expected)
{
if ( fabs( (value-expected) / expected) < EPSILON)
return TRUE;
else
return FALSE;
}
#endif

View File

@ -203,6 +203,7 @@ int diff_attr(hid_t loc1_id,
nfound = diff_array(buf1,
buf2,
nelmts1,
0,
rank1,
dims1,
options,
@ -224,6 +225,7 @@ int diff_attr(hid_t loc1_id,
nfound = diff_array(buf1,
buf2,
nelmts1,
0,
rank1,
dims1,
options,
@ -240,6 +242,7 @@ int diff_attr(hid_t loc1_id,
nfound = diff_array(buf1,
buf2,
nelmts1,
0,
rank1,
dims1,
options,
@ -257,6 +260,7 @@ int diff_attr(hid_t loc1_id,
nfound = diff_array(buf1,
buf2,
nelmts1,
0,
rank1,
dims1,
options,

View File

@ -395,7 +395,7 @@ hsize_t diff_datasetid( hid_t did1,
*/
need = (size_t)(nelmts1*m_size1); /* bytes needed */
if ( need < H5TOOLS_MALLOCSIZE )
if ( need < H5TOOLS_MALLOCSIZE)
{
buf1 = HDmalloc(need);
buf2 = HDmalloc(need);
@ -412,6 +412,7 @@ hsize_t diff_datasetid( hid_t did1,
nfound = diff_array(buf1,
buf2,
nelmts1,
0,
rank1,
dims1,
options,
@ -501,18 +502,20 @@ hsize_t diff_datasetid( hid_t did1,
if ( H5Dread(did2,m_tid2,sm_space,sid2,H5P_DEFAULT,sm_buf2) < 0 )
goto error;
/* array diff */
nfound = diff_array(sm_buf1,
sm_buf2,
hs_nelmts,
rank1,
dims1,
options,
name1,
name2,
m_tid1,
did1,
did2);
/* get array differences. in the case of hyperslab read, increment the number of differences
found in each hyperslab and pass the position at the beggining for printing */
nfound += diff_array(sm_buf1,
sm_buf2,
hs_nelmts,
elmtno,
rank1,
dims1,
options,
name1,
name2,
m_tid1,
did1,
did2);
/* reclaim any VL memory, if necessary */
if(vl_data)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +1,7 @@
#############################
Expected output for 'h5diff -h'
#############################
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5'
#############################
Dataset: </g1/dset1> and </g1/dset1>
4 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 g1/dset1 g1/dset2'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 g1/dset1 g1/dset2'
#############################
Dataset: </g1/dset1> and </g1/dset2>
4 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -r'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r'
#############################
Dataset: </g1/dset1> and </g1/dset1>
position dset1 dset1 difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -r g1/dset1 g1/dset2'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r g1/dset1 g1/dset2'
#############################
Dataset: </g1/dset1> and </g1/dset2>
position dset1 dset2 difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -r -d 5 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r -d 5 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
position dset3 dset4 difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -r -p 0.05 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r -p 0.05 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
position dset3 dset4 difference relative

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -v'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -v'
#############################
file1 file2

View File

@ -1,3 +1,3 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -q'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -q'
#############################

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file1.h5 -v -p 0.02 g1/dset5 g1/dset6'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5 -v -p 0.02 g1/dset5 g1/dset6'
#############################
Dataset: </g1/dset5> and </g1/dset6>
position dset5 dset6 difference relative

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file1.h5 -v -p 0.02 g1/dset7 g1/dset8'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5 -v -p 0.02 g1/dset7 g1/dset8'
#############################
Dataset: </g1/dset7> and </g1/dset8>
position dset7 dset8 difference relative

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v dset g1'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v dset g1'
#############################
Comparison not possible: </dset> is of type H5G_DATASET and </g1> is of type H5G_GROUP
--------------------------------

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v dset l1'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v dset l1'
#############################
Comparison not possible: </dset> is of type H5G_DATASET and </l1> is of type H5G_LINK
--------------------------------

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v dset t1'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v dset t1'
#############################
Comparison not possible: </dset> is of type H5G_DATASET and </t1> is of type H5G_TYPE
--------------------------------

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v g1 g1'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v g1 g1'
#############################
Group: </g1> and </g1>
0 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v t1 t1'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v t1 t1'
#############################
Datatype: </t1> and </t1>
0 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v l1 l1'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v l1 l1'
#############################
Soft Link: </l1> and </l1>
0 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v g1 g2'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v g1 g2'
#############################
Group: </g1> and </g2>
1 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v t1 t2'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v t1 t2'
#############################
Datatype: </t1> and </t2>
1 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file3.h5 file3.h5 -v l1 l2'
Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v l1 l2'
#############################
Soft Link: </l1> and </l2>
1 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file4.h5 file4.h5 -v dset0a dset0b'
Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset0a dset0b'
#############################
Dataset: </dset0a> and </dset0b>
warning: different storage datatype

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file4.h5 file4.h5 -v dset1a dset1b'
Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset1a dset1b'
#############################
Dataset: </dset1a> and </dset1b>
position dset1a dset1b difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file4.h5 file4.h5 -v dset2a dset2b'
Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset2a dset2b'
#############################
Dataset: </dset2a> and </dset2b>
position dset2a dset2b difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file4.h5 file4.h5 -v dset3a dset4b'
Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset3a dset4b'
#############################
Dataset: </dset3a> and </dset4b>
position dset3a dset4b difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file4.h5 file4.h5 -v dset4a dset4b'
Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset4a dset4b'
#############################
Dataset: </dset4a> and </dset4b>
position dset4a dset4b difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file4.h5 file4.h5 -v dset5a dset5b'
Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset5a dset5b'
#############################
Dataset: </dset5a> and </dset5b>
position dset5a dset5b difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file4.h5 file4.h5 -v dset6a dset6b'
Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset6a dset6b'
#############################
Dataset: </dset6a> and </dset6b>
position dset6a dset6b difference

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file4.h5 file4.h5 -v dset7a dset7b'
Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset7a dset7b'
#############################
Dataset: </dset7a> and </dset7b>
warning: different storage datatype

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file7.h5 file8.h5 -v refreg'
Expected output for 'h5diff h5diff_dset1.h5 h5diff_dset2.h5 -v refreg'
#############################
Dataset: </refreg> and </refreg>
Referenced dataset 5888 5888
Referenced dataset 5904 5904
------------------------------------------------------------
Region blocks
block #0 (2,2)-(7,7) (0,0)-(2,2)

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5'
Expected output for 'h5diff h5diff_basic1.h5'
#############################
Number of arguments is only 2
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -x'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -x'
#############################
-x is an invalid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d g1/dset3 g1/dset4'
#############################
<-d g1/dset3> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d -4 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d -4 g1/dset3 g1/dset4'
#############################
Not a valid -d option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d 0 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 0 g1/dset3 g1/dset4'
#############################
<-d 0> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d u g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d u g1/dset3 g1/dset4'
#############################
<-d u> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d 0x1 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 0x1 g1/dset3 g1/dset4'
#############################
<-d 0x1> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 1 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d 1 -d 2 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 1 -d 2 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found

View File

@ -1,3 +1,3 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d 200 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 200 g1/dset3 g1/dset4'
#############################

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 1 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -r -p g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r -p g1/dset3 g1/dset4'
#############################
<-p g1/dset3> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p -4 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p -4 g1/dset3 g1/dset4'
#############################
Not a valid -p option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p 0 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0 g1/dset3 g1/dset4'
#############################
<-p 0> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p u g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p u g1/dset3 g1/dset4'
#############################
<-p u> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p 0x1 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0x1 g1/dset3 g1/dset4'
#############################
<-p 0x1> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p 0.21 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0.21 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
2 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
2 differences found

View File

@ -1,3 +1,3 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 2 g1/dset3 g1/dset4'
#############################

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0.005 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n g1/dset3 g1/dset4'
#############################
<-n g1/dset3> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n -4 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n -4 g1/dset3 g1/dset4'
#############################
Not a valid -n option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n 0 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 0 g1/dset3 g1/dset4'
#############################
<-n 0> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n u g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n u g1/dset3 g1/dset4'
#############################
<-n u> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,8 +1,8 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n 0x1 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 0x1 g1/dset3 g1/dset4'
#############################
<-n 0x1> is not a valid option
Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n 2 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 2 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
2 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 2 -n 3 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
3 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 200 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 1 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
1 differences found

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file5.h5 file6.h5 -v'
Expected output for 'h5diff h5diff_attr1.h5 h5diff_attr2.h5 -v'
#############################
file1 file2

View File

@ -1,5 +1,5 @@
#############################
Expected output for 'h5diff file7.h5 file8.h5 -v'
Expected output for 'h5diff h5diff_dset1.h5 h5diff_dset2.h5 -v'
#############################
file1 file2
@ -715,7 +715,7 @@ position vlen3D vlen3D difference
[ 3 2 1 ] 59 0 59
59 differences found
Dataset: </refreg> and </refreg>
Referenced dataset 5888 5888
Referenced dataset 5904 5904
------------------------------------------------------------
Region blocks
block #0 (2,2)-(7,7) (0,0)-(2,2)

View File

@ -1,3 +1,3 @@
#############################
Expected output for 'h5diff file1.h5 file1.h5'
Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5'
#############################

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.