summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5diff.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lib/h5diff.h')
-rw-r--r--tools/lib/h5diff.h155
1 files changed, 72 insertions, 83 deletions
diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h
index f44f653..b8a50da 100644
--- a/tools/lib/h5diff.h
+++ b/tools/lib/h5diff.h
@@ -27,8 +27,8 @@
* as it doesn't require interface change.
*------------------------------------------------------------------------*/
typedef struct {
- h5trav_type_t type[2];
- hbool_t is_same_trgobj;
+ h5trav_type_t type[2];
+ hbool_t is_same_trgobj;
} diff_args_t;
/*-------------------------------------------------------------------------
* command line options
@@ -36,12 +36,11 @@ typedef struct {
*/
/* linked list to keep exclude path list */
struct exclude_path_list {
- const char *obj_path;
- h5trav_type_t obj_type;
- struct exclude_path_list *next;
+ const char * obj_path;
+ h5trav_type_t obj_type;
+ struct exclude_path_list *next;
};
-
/* Enumeration value for keeping track of whether an error occurred or differences were found */
typedef enum {
H5DIFF_NO_ERR, /* No error occurred */
@@ -50,50 +49,49 @@ typedef enum {
} diff_err_t;
typedef struct {
- int mode_quiet; /* quiet mode: no output at all */
- int mode_report; /* report mode: print the data */
- int mode_verbose; /* verbose mode: print the data, list of objcets, warnings */
- int mode_verbose_level; /* control verbose details */
- int mode_list_not_cmp; /* list not comparable messages */
- int print_header; /* print header */
- int print_percentage; /* print percentage */
- int print_dims; /* print dimension index */
- int delta_bool; /* delta, absolute value to compare */
- double delta; /* delta value */
- int use_system_epsilon; /* flag to use system epsilon (1 or 0) */
- int percent_bool; /* relative error to compare*/
- double percent; /* relative error value */
- hbool_t follow_links; /* follow symbolic links */
- int no_dangle_links; /* return error when find dangling link */
- 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 exclude_path; /* exclude path to an object */
- int exclude_attr_path; /* exclude path to an object */
- struct exclude_path_list *exclude; /* keep exclude path list */
- struct exclude_path_list *exclude_attr; /* keep exclude attribute list */
- int count_bool; /* count, compare up to count */
- hsize_t count; /* count value */
- diff_err_t err_stat; /* an error ocurred (2, error, 1, differences, 0, no error) */
- hsize_t nelmts; /* total number of elements */
- hsize_t hs_nelmts; /* number of elements to read at a time*/
- int rank; /* dimensionality */
- size_t m_size; /* m_size for diff */
- hid_t m_tid; /* m_tid for diff */
- hsize_t dims[H5S_MAX_RANK]; /* dimensions of object */
- hsize_t p_min_idx[H5S_MAX_RANK]; /* min selected index */
- hsize_t p_max_idx[H5S_MAX_RANK]; /* max selected index */
- hsize_t acc[H5S_MAX_RANK]; /* accumulator position */
- hsize_t pos[H5S_MAX_RANK]; /* matrix position */
- hsize_t sm_pos[H5S_MAX_RANK]; /* stripmine position */
- char *obj_name[2]; /* name for object */
- struct subset_t *sset[2]; /* subsetting parameters */
- h5tools_vol_info_t vol_info[2]; /* VOL information for input file, output file */
- hbool_t custom_vol[2]; /* Using a custom input, output VOL? */
+ int mode_quiet; /* quiet mode: no output at all */
+ int mode_report; /* report mode: print the data */
+ int mode_verbose; /* verbose mode: print the data, list of objcets, warnings */
+ int mode_verbose_level; /* control verbose details */
+ int mode_list_not_cmp; /* list not comparable messages */
+ int print_header; /* print header */
+ int print_percentage; /* print percentage */
+ int print_dims; /* print dimension index */
+ int delta_bool; /* delta, absolute value to compare */
+ double delta; /* delta value */
+ int use_system_epsilon; /* flag to use system epsilon (1 or 0) */
+ int percent_bool; /* relative error to compare*/
+ double percent; /* relative error value */
+ hbool_t follow_links; /* follow symbolic links */
+ int no_dangle_links; /* return error when find dangling link */
+ 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 exclude_path; /* exclude path to an object */
+ int exclude_attr_path; /* exclude path to an object */
+ struct exclude_path_list *exclude; /* keep exclude path list */
+ struct exclude_path_list *exclude_attr; /* keep exclude attribute list */
+ int count_bool; /* count, compare up to count */
+ hsize_t count; /* count value */
+ diff_err_t err_stat; /* an error ocurred (2, error, 1, differences, 0, no error) */
+ hsize_t nelmts; /* total number of elements */
+ hsize_t hs_nelmts; /* number of elements to read at a time*/
+ int rank; /* dimensionality */
+ size_t m_size; /* m_size for diff */
+ hid_t m_tid; /* m_tid for diff */
+ hsize_t dims[H5S_MAX_RANK]; /* dimensions of object */
+ hsize_t p_min_idx[H5S_MAX_RANK]; /* min selected index */
+ hsize_t p_max_idx[H5S_MAX_RANK]; /* max selected index */
+ hsize_t acc[H5S_MAX_RANK]; /* accumulator position */
+ hsize_t pos[H5S_MAX_RANK]; /* matrix position */
+ hsize_t sm_pos[H5S_MAX_RANK]; /* stripmine position */
+ char * obj_name[2]; /* name for object */
+ struct subset_t * sset[2]; /* subsetting parameters */
+ h5tools_vol_info_t vol_info[2]; /* VOL information for input file, output file */
+ hbool_t custom_vol[2]; /* Using a custom input, output VOL? */
} diff_opt_t;
-
/*-------------------------------------------------------------------------
* public functions
*-------------------------------------------------------------------------
@@ -103,9 +101,11 @@ typedef struct {
extern "C" {
#endif
-H5TOOLS_DLL hsize_t h5diff(const char *fname1, const char *fname2, const char *objname1, const char *objname2, diff_opt_t *opts);
+H5TOOLS_DLL hsize_t h5diff(const char *fname1, const char *fname2, const char *objname1, const char *objname2,
+ diff_opt_t *opts);
-H5TOOLS_DLL hsize_t diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2, diff_opt_t *opts, diff_args_t *argdata);
+H5TOOLS_DLL hsize_t diff(hid_t file1_id, const char *path1, hid_t file2_id, const char *path2,
+ diff_opt_t *opts, diff_args_t *argdata);
#ifdef H5_HAVE_PARALLEL
H5TOOLS_DLL void phdiff_dismiss_workers(void);
@@ -116,38 +116,29 @@ H5TOOLS_DLL void print_manager_output(void);
}
#endif
-
-
/*-------------------------------------------------------------------------
* private functions
*-------------------------------------------------------------------------
*/
+hsize_t diff_dataset(hid_t file1_id, hid_t file2_id, const char *obj1_name, const char *obj2_name,
+ diff_opt_t *opts);
-hsize_t diff_dataset(hid_t file1_id, hid_t file2_id,
- const char *obj1_name, const char *obj2_name, diff_opt_t *opts);
+hsize_t diff_datasetid(hid_t dset1_id, hid_t dset2_id, const char *obj1_name, const char *obj2_name,
+ diff_opt_t *opts);
-hsize_t diff_datasetid(hid_t dset1_id, hid_t dset2_id,
- const char *obj1_name, const char *obj2_name, diff_opt_t *opts);
+hsize_t diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1, hid_t file2_id, const char *grp2,
+ trav_info_t *info2, trav_table_t *table, diff_opt_t *opts);
+hsize_t diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_t container2_id);
-hsize_t diff_match(hid_t file1_id, const char *grp1, trav_info_t *info1,
- hid_t file2_id, const char *grp2, trav_info_t *info2,
- trav_table_t *table, diff_opt_t *opts);
-
-hsize_t diff_array(void *_mem1, void *_mem2,
- diff_opt_t *opts, hid_t container1_id, hid_t container2_id);
-
-int diff_can_type(hid_t f_type1, hid_t f_type2, int rank1, int rank2,
- hsize_t *dims1, hsize_t *dims2, hsize_t *maxdim1, hsize_t *maxdim2,
- diff_opt_t *opts, int is_compound);
+int diff_can_type(hid_t f_type1, hid_t f_type2, int rank1, int rank2, hsize_t *dims1, hsize_t *dims2,
+ hsize_t *maxdim1, hsize_t *maxdim2, diff_opt_t *opts, int is_compound);
hsize_t diff_attr_data(hid_t attr1_id, hid_t attr2_id, const char *name1, const char *name2,
- const char *path1, const char *path2, diff_opt_t *opts);
-
-hsize_t diff_attr(hid_t loc1_id, hid_t loc2_id,
- const char *path1, const char *path2, diff_opt_t *opts);
+ const char *path1, const char *path2, diff_opt_t *opts);
+hsize_t diff_attr(hid_t loc1_id, hid_t loc2_id, const char *path1, const char *path2, diff_opt_t *opts);
/*-------------------------------------------------------------------------
* utility functions
@@ -157,18 +148,16 @@ hsize_t diff_attr(hid_t loc1_id, hid_t loc2_id,
/* in h5diff_util.c */
void print_found(hsize_t nfound);
void print_type(hid_t type);
-const char* diff_basename(const char *name);
-const char* get_type(h5trav_type_t type);
-const char* get_class(H5T_class_t tclass);
-const char* get_sign(H5T_sign_t sign);
-void print_dimensions (int rank, hsize_t *dims);
-herr_t match_up_memsize (hid_t f_tid1_id, hid_t f_tid2_id,
- hid_t *m_tid1, hid_t *m_tid2,
- size_t *m_size1, size_t *m_size2);
+const char *diff_basename(const char *name);
+const char *get_type(h5trav_type_t type);
+const char *get_class(H5T_class_t tclass);
+const char *get_sign(H5T_sign_t sign);
+void print_dimensions(int rank, hsize_t *dims);
+herr_t match_up_memsize(hid_t f_tid1_id, hid_t f_tid2_id, hid_t *m_tid1, hid_t *m_tid2, size_t *m_size1,
+ size_t *m_size2);
/* in h5diff.c */
-int print_objname(diff_opt_t *opts, hsize_t nfound);
-void do_print_objname (const char *OBJ, const char *path1, const char *path2, diff_opt_t * opts);
-void do_print_attrname (const char *attr, const char *path1, const char *path2);
-
-#endif /* H5DIFF_H__ */
+int print_objname(diff_opt_t *opts, hsize_t nfound);
+void do_print_objname(const char *OBJ, const char *path1, const char *path2, diff_opt_t *opts);
+void do_print_attrname(const char *attr, const char *path1, const char *path2);
+#endif /* H5DIFF_H__ */