summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorjwsblokland <J.W.S.Blokland@XS4All.nl>2020-12-02 04:27:24 (GMT)
committerGitHub <noreply@github.com>2020-12-02 04:27:24 (GMT)
commit82c0cb122f468c0d8d684da64a08acf50534bd02 (patch)
tree4b24401b926d5ed1792e7f8495ede8edd0d549b6 /test
parent7950dca75c353b5a8fe607b12f5195b3cfec76f4 (diff)
downloadhdf5-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.c24
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)