diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2000-11-16 17:49:26 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2000-11-16 17:49:26 (GMT) |
commit | 0593d9331414beabdd0d97b3a1e4d4d841b5309f (patch) | |
tree | beb71a2e5b34ac2572be58330d7d306da665adf6 /tools | |
parent | d197bf4f5209d1927719cc0fb4a2410a6b9930a4 (diff) | |
download | hdf5-0593d9331414beabdd0d97b3a1e4d4d841b5309f.zip hdf5-0593d9331414beabdd0d97b3a1e4d4d841b5309f.tar.gz hdf5-0593d9331414beabdd0d97b3a1e4d4d841b5309f.tar.bz2 |
[svn-r2950] Purpose:
Bug fix
Description:
The output of floating point dumps wasn't necessarily standard.
The h5ls utility does it in a better way.
Solution:
Changed the output parameters from %g to %1.*g and added the
appropriate FLT_DIG/DBL_DIG parameter for the `*' in the above.
Platforms tested:
Linux
Diffstat (limited to 'tools')
-rw-r--r-- | tools/h5dump.c | 4 | ||||
-rw-r--r-- | tools/h5tools.c | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/tools/h5dump.c b/tools/h5dump.c index 515e61c..f961555 100644 --- a/tools/h5dump.c +++ b/tools/h5dump.c @@ -47,8 +47,8 @@ static h5dump_t dataformat = { "%lu", /*fmt_ulong*/ NULL, /*fmt_llong*/ NULL, /*fmt_ullong*/ - "%g", /*fmt_double*/ - "%g", /*fmt_float*/ + "%1.*g", /*fmt_double*/ + "%1.*g", /*fmt_float*/ 0, /*ascii*/ 0, /*str_locale*/ diff --git a/tools/h5tools.c b/tools/h5tools.c index 2408470..293e403 100644 --- a/tools/h5tools.c +++ b/tools/h5tools.c @@ -713,10 +713,12 @@ h5dump_sprint(h5dump_str_t *str/*in,out*/, const h5dump_t *info, h5dump_str_append(str, OPT(info->fmt_raw, "%02x"), ucp_vp[i]); } else if (H5Tequal(type, H5T_NATIVE_DOUBLE)) { memcpy(&tempdouble, vp, sizeof(double)); - h5dump_str_append(str, OPT(info->fmt_double, "%g"), tempdouble); + h5dump_str_append(str, OPT(info->fmt_double, "%1.*g"), + DBL_DIG, tempdouble); } else if (H5Tequal(type, H5T_NATIVE_FLOAT)) { memcpy(&tempfloat, vp, sizeof(float)); - h5dump_str_append(str, OPT(info->fmt_double, "%g"), tempfloat); + h5dump_str_append(str, OPT(info->fmt_double, "%1.*g"), + FLT_DIG, tempfloat); } else if (info->ascii && (H5Tequal(type, H5T_NATIVE_SCHAR) || H5Tequal(type, H5T_NATIVE_UCHAR))) { @@ -757,8 +759,7 @@ h5dump_sprint(h5dump_str_t *str/*in,out*/, const h5dump_t *info, break; } } - - } else if (H5T_STRING==H5Tget_class(type)) { + } else if (H5T_STRING == H5Tget_class(type)) { unsigned int i; size = H5Tget_size(type); |