diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-11-16 19:50:19 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-11-16 19:50:19 (GMT) |
commit | 47b5f7878e1a26172d880b91a602a557e9198483 (patch) | |
tree | 4f874e8f62ff953b86b47e209b1d398125fe2ad3 /tools/lib/h5diff.h | |
parent | 4c5f24f220bb8fcd9434228eb60d050a64cfc909 (diff) | |
download | hdf5-47b5f7878e1a26172d880b91a602a557e9198483.zip hdf5-47b5f7878e1a26172d880b91a602a557e9198483.tar.gz hdf5-47b5f7878e1a26172d880b91a602a557e9198483.tar.bz2 |
[svn-r9532] 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 | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h index 57e8f66..4caf60f 100644 --- a/tools/lib/h5diff.h +++ b/tools/lib/h5diff.h @@ -238,4 +238,139 @@ 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__ */ |