diff options
author | jwsblokland <J.W.S.Blokland@XS4All.nl> | 2020-12-02 04:27:24 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-02 04:27:24 (GMT) |
commit | 82c0cb122f468c0d8d684da64a08acf50534bd02 (patch) | |
tree | 4b24401b926d5ed1792e7f8495ede8edd0d549b6 /test | |
parent | 7950dca75c353b5a8fe607b12f5195b3cfec76f4 (diff) | |
download | hdf5-82c0cb122f468c0d8d684da64a08acf50534bd02.zip hdf5-82c0cb122f468c0d8d684da64a08acf50534bd02.tar.gz hdf5-82c0cb122f468c0d8d684da64a08acf50534bd02.tar.bz2 |
(fix) H5Z_xform_create function and scientific notation (#144)
* (fix) H5Z_xform_create function and scientific notation
Implemented a more sophisticated check to support scientific notation
in the expression of the H5Zset_data_transform function.
* (fix) H5Z_xform_create and scientific notation: Added test.
Added a test to demonstrate that the parsing of expression
which includes scientific notation works correctly. Improved
inline comment.
Co-authored-by: Jan-Willem Blokland <Jan-Willem.Blokland@Shell.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/dtransform.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/dtransform.c b/test/dtransform.c index 191cc73..ab568da 100644 --- a/test/dtransform.c +++ b/test/dtransform.c @@ -581,6 +581,7 @@ test_specials(hid_t file) const char *special3 = "1000/x"; const char *special4 = "-x"; const char *special5 = "+x"; + const char *special6 = "2e+1*x"; TESTING("data transform of some special cases") @@ -705,6 +706,29 @@ test_specials(hid_t file) if (H5Dclose(dset_id) < 0) TEST_ERROR + /*----------------------------- + * Operation 6: 2e+1*x + *----------------------------*/ + if (H5Pset_data_transform(dxpl_id, special6) < 0) + TEST_ERROR; + + for (row = 0; row < ROWS; row++) + for (col = 0; col < COLS; col++) + data_res[row][col] = transformData[row][col] * 20; + + if ((dset_id = H5Dcreate2(file, "/special6", H5T_NATIVE_INT, dataspace, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) + TEST_ERROR + if (H5Dwrite(dset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl_id, transformData) < 0) + TEST_ERROR + if (H5Dread(dset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, read_buf) < 0) + TEST_ERROR + + COMPARE_INT(read_buf, data_res) + + if (H5Dclose(dset_id) < 0) + TEST_ERROR + if (H5Pclose(dxpl_id) < 0) TEST_ERROR if (H5Sclose(dataspace) < 0) |