summaryrefslogtreecommitdiffstats
path: root/test/chunk.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-08-10 18:15:14 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-08-10 18:15:14 (GMT)
commit9754e9373b731856dbf61fdb9c99501f452ca552 (patch)
tree0bb99d2caf87b9ec8e4dfd2a52bf03b5c7d06055 /test/chunk.c
parent1d0b2915c2d492ecf35b83ff65287d5d95bf5f7c (diff)
downloadhdf5-9754e9373b731856dbf61fdb9c99501f452ca552.zip
hdf5-9754e9373b731856dbf61fdb9c99501f452ca552.tar.gz
hdf5-9754e9373b731856dbf61fdb9c99501f452ca552.tar.bz2
[svn-r584] Changes since 19980806
---------------------- ./doc/html/Datatypes.html ./doc/html/H5.format.html ./src/H5.c ./src/H5Odtype.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./test/dtypes.c Changed the values of the H5T_str_t type in order to make a distinction between C's null terminated strings and strings which are not null terminated. The string character set and padding method are saved to the hdf5 file instead of using defaults. Added conversion function from one fixed-length string type to another. ./test/chunk.c Fixed to work with new filter API
Diffstat (limited to 'test/chunk.c')
-rw-r--r--test/chunk.c64
1 files changed, 16 insertions, 48 deletions
diff --git a/test/chunk.c b/test/chunk.c
index 73cb07c..60a8850 100644
--- a/test/chunk.c
+++ b/test/chunk.c
@@ -7,13 +7,8 @@
*
* Purpose: Checks the effect of various I/O request sizes and raw data
* cache sizes. Performance depends on the amount of data read
- * from disk, and we use a trick to get that number: a
- * compress/uncompress pair that counts the amount of data read.
- * Since the data itself is not important, the compression just
- * removes a byte and uncompression adds some byte of arbitrary
- * value. The change in size is necessary or the library will
- * not store the data as compressed and thus not call the
- * uncompression method.
+ * from disk and we use a filter to get that number.
+
*/
#include <assert.h>
#include <hdf5.h>
@@ -34,7 +29,7 @@
#define LINESPOINTS "lines"
#define CH_SIZE 100 /*squared in terms of bytes */
#define DS_SIZE 20 /*squared in terms of chunks */
-#define ZMETHNO H5Z_USERDEF_MIN
+#define FILTER_COUNTER 305
#define READ 0
#define WRITE 1
#define MIN(X,Y) ((X)<(Y)?(X):(Y))
@@ -62,9 +57,9 @@ static hid_t fapl_g = -1;
/*-------------------------------------------------------------------------
- * Function: count_c
+ * Function: counter
*
- * Purpose: A bogus compression method that just removes the last byte.
+ * Purpose: Count number of bytes but don't do anything.
*
* Return: Success: src_nbytes-1
*
@@ -78,41 +73,12 @@ static hid_t fapl_g = -1;
*-------------------------------------------------------------------------
*/
static size_t
-count_c (unsigned int __unused__ flags, size_t __unused__ cd_size,
- const void __unused__ *client_data, size_t src_nbytes,
- const void *src, size_t __unused__ dst_nbytes, void *dst/*out*/)
-{
- memcpy (dst, src, src_nbytes-1);
- nio_g += src_nbytes;
- return src_nbytes-1;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: count_u
- *
- * Purpose: A bogus unompress method that just adds a zero to the end.
- *
- * Return: Success: src_nbytes+1
- *
- * Failure: never fails
- *
- * Programmer: Robb Matzke
- * Thursday, May 14, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static size_t
-count_u (unsigned int __unused__ flags, size_t __unused__ cd_size,
- const void __unused__ *client_data, size_t src_nbytes,
- const void *src, size_t __unused__ dst_nbytes, void *dst/*out*/)
+counter (unsigned __unused__ flags, size_t __unused__ cd_nelmts,
+ const unsigned __unused__ *cd_values, size_t nbytes,
+ size_t __unused__ *buf_size, void __unused__ **buf)
{
- memcpy (dst, src, src_nbytes);
- ((char*)dst)[src_nbytes] = 0;
- nio_g += src_nbytes+1;
- return src_nbytes+1;
+ nio_g += nbytes;
+ return nbytes;
}
@@ -151,8 +117,8 @@ create_dataset (void)
dcpl = H5Pcreate (H5P_DATASET_CREATE);
size[0] = size[1] = CH_SIZE;
H5Pset_chunk (dcpl, 2, size);
- H5Zregister (ZMETHNO, "counter", count_c, count_u);
- H5Pset_compression (dcpl, ZMETHNO, 0, 0, NULL);
+ H5Zregister (FILTER_COUNTER, "counter", counter);
+ H5Pset_filter (dcpl, FILTER_COUNTER, 0, 0, NULL);
/* The dataset */
dset = H5Dcreate (file, "dset", H5T_NATIVE_CHAR, space, dcpl);
@@ -214,7 +180,8 @@ test_rowmaj (int op, hsize_t cache_size, hsize_t io_size)
hs_offset[1] = j;
hs_size[1] = MIN (io_size, CH_SIZE*DS_SIZE-j);
mem_space = H5Screate_simple (2, hs_size, hs_size);
- H5Sselect_hyperslab (file_space, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL);
+ H5Sselect_hyperslab (file_space, H5S_SELECT_SET, hs_offset,
+ NULL, hs_size, NULL);
if (READ==op) {
H5Dread (dset, H5T_NATIVE_CHAR, mem_space, file_space,
@@ -274,7 +241,8 @@ test_diag (int op, hsize_t cache_size, hsize_t io_size, hsize_t offset)
hs_offset[0] = hs_offset[1] = i;
hs_size[0] = hs_size[1] = MIN (io_size, CH_SIZE*DS_SIZE-i);
mem_space = H5Screate_simple (2, hs_size, hs_size);
- H5Sselect_hyperslab (file_space, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL);
+ H5Sselect_hyperslab (file_space, H5S_SELECT_SET, hs_offset, NULL,
+ hs_size, NULL);
if (READ==op) {
H5Dread (dset, H5T_NATIVE_CHAR, mem_space, file_space,
H5P_DEFAULT, buf);