diff options
author | Xiaowen Wu <wuxiaowe@ncsa.uiuc.edu> | 2005-04-29 20:19:49 (GMT) |
---|---|---|
committer | Xiaowen Wu <wuxiaowe@ncsa.uiuc.edu> | 2005-04-29 20:19:49 (GMT) |
commit | abe7368338f5700025b24dc14be377ca024b68a1 (patch) | |
tree | fb794d92b63ca2a146aa2b3ccc7b9f6c6df967ba | |
parent | bceba07ad22bdac386fe6ee7f6b225d2cf5bff42 (diff) | |
download | hdf5-abe7368338f5700025b24dc14be377ca024b68a1.zip hdf5-abe7368338f5700025b24dc14be377ca024b68a1.tar.gz hdf5-abe7368338f5700025b24dc14be377ca024b68a1.tar.bz2 |
[svn-r10698] Purpose:
Bug fix.
Description:
The scaleoffset filter checks the uppper limmit of span of values
before it is assigned. The check for floating-point data, which may
not be represented in the machine exactly as the user wanted, did
not consider this.
Solution:
Slight modification of check above.
Platforms tested:
heping
Misc. update:
-rw-r--r-- | src/H5Zscaleoffset.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/H5Zscaleoffset.c b/src/H5Zscaleoffset.c index b8f698b..3dfd7ac 100644 --- a/src/H5Zscaleoffset.c +++ b/src/H5Zscaleoffset.c @@ -290,17 +290,17 @@ H5Z_class_t H5Z_SCALEOFFSET[1] = {{ { \ if(sizeof(type)==sizeof(int)) { \ if(H5Z_scaleoffset_rnd(max*HDpow(10, D_val) - min*HDpow(10, D_val)) \ - > ~(unsigned int)0 - 2) { \ + >= ~(unsigned int)0 - 2) { \ *minbits = sizeof(int)*8; goto done; \ } \ } else if(sizeof(type)==sizeof(long)) { \ if(H5Z_scaleoffset_rnd(max*HDpow(10, D_val) - min*HDpow(10, D_val)) \ - > ~(unsigned long)0 - 2) { \ + >= ~(unsigned long)0 - 2) { \ *minbits = sizeof(long)*8; goto done; \ } \ } else if(sizeof(type)==sizeof(long_long)) { \ if(H5Z_scaleoffset_rnd(max*HDpow(10, D_val) - min*HDpow(10, D_val)) \ - > ~(unsigned long_long)0 - 2) { \ + >= ~(unsigned long_long)0 - 2) { \ *minbits = sizeof(long_long)*8; goto done; \ } \ } else \ |