diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-11-16 19:51:39 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-11-16 19:51:39 (GMT) |
commit | edbd77302fe8395ed140ce44be34fec69af1d137 (patch) | |
tree | fff05052c30461b41e2bc4af16a928fb58756e1d /tools/lib/h5diff.h | |
parent | 22a72b911eda2f413691eed0ef2862025827a858 (diff) | |
download | hdf5-edbd77302fe8395ed140ce44be34fec69af1d137.zip hdf5-edbd77302fe8395ed140ce44be34fec69af1d137.tar.gz hdf5-edbd77302fe8395ed140ce44be34fec69af1d137.tar.bz2 |
[svn-r9533] Purpose:
enhanced performance for h5diff
Description:
the comparison cycle for the 2 buffers read from file was using a compare function
where the type must be checked for each datum (e.g due to recursive calls in compound types)
for atomic types this checking can be avoided
Solution:
introduced cycles for each one of the atomic integer and float class types
Platforms tested:
linux
aix
solaris
Misc. update:
Diffstat (limited to 'tools/lib/h5diff.h')
-rw-r--r-- | tools/lib/h5diff.h | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h index 1ef3c87..b4ec0b5 100644 --- a/tools/lib/h5diff.h +++ b/tools/lib/h5diff.h @@ -238,4 +238,140 @@ 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); + +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); + +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); + +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); + +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); + +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); + +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); + +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); + +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); + +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); + +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); + +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); + + + + #endif /* H5DIFF_H__ */ |