mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-21 07:51:46 +08:00
b64aad457c
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for --use-system-epsilon option Description: Additional check in from the previous checkin r20384. Updated help page. Tested: jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
141 lines
7.6 KiB
Plaintext
141 lines
7.6 KiB
Plaintext
<-n -4> is not a valid option
|
|
usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
|
|
file1 File name of the first HDF5 file
|
|
file2 File name of the second HDF5 file
|
|
[obj1] Name of an HDF5 object, in absolute path
|
|
[obj2] Name of an HDF5 object, in absolute path
|
|
|
|
OPTIONS
|
|
-h, --help Print a usage message and exit.
|
|
-V, --version Print version number and exit.
|
|
-r, --report Report mode. Print differences.
|
|
-v --verbose Verbose mode. Print differences information and list
|
|
of objects.
|
|
-vN --verbose=N Verbose mode with level. Print differences and list
|
|
of objects.
|
|
Level of detail depends on value of N:
|
|
0 : Identical to '-v' or '--verbose'.
|
|
1 : All level 0 information plus one-line attribute
|
|
status summary.
|
|
2 : All level 1 information plus extended attribute
|
|
status report.
|
|
-q, --quiet Quiet mode. Do not produce output.
|
|
--follow-symlinks Follow symbolic links (soft links and external links)
|
|
and compare the links' target objects.
|
|
If symbolic link(s) with the same name exist in the
|
|
files being compared, then determine whether the
|
|
target of each link is an existing object (dataset,
|
|
group, or named datatype) or the link is a dangling
|
|
link (a soft or external link pointing to a target
|
|
object that does not yet exist).
|
|
- If both symbolic links are dangling links, they
|
|
are treated as being the same; by default, h5diff
|
|
returns an exit code of 0. If, however,
|
|
--no-dangling-links is used with --follow-symlinks,
|
|
this situation is treated as an error and h5diff
|
|
returns an exit code of 2.
|
|
- If only one of the two links is a dangling link,
|
|
they are treated as being different and h5diff
|
|
returns an exit code of 1. If, however,
|
|
--no-dangling-links is used with --follow-symlinks,
|
|
this situation is treated as an error and h5diff
|
|
returns an exit code of 2.
|
|
- If both symbolic links point to existing objects,
|
|
h5diff compares the two objects.
|
|
If any symbolic link specified in the call to h5diff
|
|
does not exist, h5diff treats it as an error and
|
|
returns an exit code of 2.
|
|
--no-dangling-links Must be used with --follow-symlinks option;
|
|
otherwise, h5diff shows error message and returns
|
|
an exit code of 2.
|
|
Check for any symbolic links (soft links or external
|
|
links) that do not resolve to an existing object
|
|
(dataset, group, or named datatype). If any
|
|
dangling link is found, this situation is treated as
|
|
an error and h5diff returns an exit code of 2.
|
|
-c, --compare List objects that are not comparable
|
|
-N, --nan Avoid NaNs detection
|
|
-n C, --count=C Print differences up to C number, C is a positive
|
|
integer.
|
|
-d D, --delta=D Print difference if (|a-b| > D), D is a positive
|
|
number.
|
|
-p R, --relative=R Print difference if (|(a-b)/b| > R), R is a positive
|
|
number.
|
|
--use-system-epsilon Print difference if (|a-b| > EPSILON), EPSILON is
|
|
a system epsilon value.
|
|
If the system epsilon is not defined, the below
|
|
predefined value will be used:
|
|
FLT_EPSILON = 1.19209E-07 for float
|
|
DBL_EPSILON = 2.22045E-16 for double
|
|
--exclude-path "path" Exclude the specified path to an object when
|
|
comparing files or groups. If a group is excluded,
|
|
all member objects will also be excluded.
|
|
The specified path is excluded wherever it occurs.
|
|
This flexibility enables the same option to exclude
|
|
either objects that exist only in one file or
|
|
common objects that are known to differ.
|
|
|
|
When comparing files, "path" is the absolute path to
|
|
the excluded object; when comparing groups, "path" is
|
|
similar to the relative path from the group to the
|
|
excluded object. This "path" can be taken from the
|
|
first section of the output of the --verbose option.
|
|
For example, if you are comparing the group /groupA
|
|
in two files and you want to exclude
|
|
/groupA/groupB/groupC in both files, the exclude
|
|
option would read as follows:
|
|
--exclude-path "/groupB/groupC"
|
|
|
|
If there are multiple paths to an object, only the
|
|
specified path(s) will be excluded; the comparison
|
|
will include any path not explicitly excluded.
|
|
This option can be used repeatedly to exclude
|
|
multiple paths.
|
|
|
|
Modes of output:
|
|
Default mode: print the number of differences found and where they occured
|
|
-r Report mode: print the above plus the differences
|
|
-v Verbose mode: print the above plus a list of objects and warnings
|
|
-q Quiet mode: do not print output
|
|
|
|
File comparison:
|
|
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
|
|
a comparison of the two files' root groups. That is, h5diff first compares
|
|
the names of root group members, generates a report of root group objects
|
|
that appear in only one file or in both files, and recursively compares
|
|
common objects.
|
|
|
|
Object comparison:
|
|
1) Groups
|
|
First compares the names of member objects (relative path, from the
|
|
specified group) and generates a report of objects that appear in only
|
|
one group or in both groups. Common objects are then compared recursively.
|
|
2) Datasets
|
|
Array rank and dimensions, datatypes, and data values are compared.
|
|
3) Datatypes
|
|
The comparison is based on the return value of H5Tequal.
|
|
4) Symbolic links
|
|
The paths to the target objects are compared.
|
|
(The option --follow-symlinks overrides the default behavior when
|
|
symbolic links are compared.).
|
|
|
|
Exit code:
|
|
0 if no differences, 1 if differences found, 2 if error
|
|
|
|
Examples of use:
|
|
1) h5diff file1 file2 /g1/dset1 /g1/dset2
|
|
Compares object '/g1/dset1' in file1 with '/g1/dset2' in file2
|
|
|
|
2) h5diff file1 file2 /g1/dset1
|
|
Compares object '/g1/dset1' in both files
|
|
|
|
3) h5diff file1 file2
|
|
Compares all objects in both files
|
|
|
|
Notes:
|
|
file1 and file2 can be the same file.
|
|
Use h5diff file1 file1 /g1/dset1 /g1/dset2 to compare
|
|
'/g1/dset1' and '/g1/dset2' in the same file
|
|
|
|
EXIT CODE: 1
|