diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2002-11-20 13:27:30 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2002-11-20 13:27:30 (GMT) |
commit | 1dd1c78825edd75ae01b1916ff591a3cabd7302a (patch) | |
tree | 221a946d5607e8a6f1aaf13e57b279236a96cf2c /test/gen_deflate.c | |
parent | c244ca03693e45d94939abc335efa8ebedad4f59 (diff) | |
download | hdf5-1dd1c78825edd75ae01b1916ff591a3cabd7302a.zip hdf5-1dd1c78825edd75ae01b1916ff591a3cabd7302a.tar.gz hdf5-1dd1c78825edd75ae01b1916ff591a3cabd7302a.tar.bz2 |
[svn-r6117] Purpose:
New files
Description:
Add test file for "missing filter" test in dsets.c
Add test file generator code.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir)
Diffstat (limited to 'test/gen_deflate.c')
-rw-r--r-- | test/gen_deflate.c | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/test/gen_deflate.c b/test/gen_deflate.c new file mode 100644 index 0000000..03ca54d --- /dev/null +++ b/test/gen_deflate.c @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2000 NCSA + * All rights reserved. + * + * Programmer: Quincey Koziol <koziol@ncsa.uiuc.edu> + * Thursday, November 14, 2002 + * + * Purpose: Create a dataset compressed with the deflate filter. + * This program is used to create the test file `tdeflate.h5' which has + * a dataset compressed with the "deflate" I/O filter. This dataset will + * be used to verify the correct behavior of the library when a filter is + * not available for a dataset which requires it. + */ +#include "hdf5.h" + +#define TESTFILE "deflate.h5" + +/* 2-D dataset with fixed dimensions */ +#define SPACE_RANK 2 +#define SPACE_DIM1 100 +#define SPACE_DIM2 200 +#define CHUNK_DIM1 50 +#define CHUNK_DIM2 50 + +/* Dataset data */ +int data[SPACE_DIM1][SPACE_DIM2]; + + +/*------------------------------------------------------------------------- + * Function: main + * + * Purpose: + * + * Return: Success: + * + * Failure: + * + * Programmer: Quincey Koziol + * Thursday, November 14, 2002 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +int +main(void) +{ + hid_t file, space, dset, dcpl; + hsize_t dims[SPACE_RANK]={SPACE_DIM1,SPACE_DIM2}; + hsize_t chunk_dims[SPACE_RANK]={CHUNK_DIM1,CHUNK_DIM2}; + size_t i,j; /* Local index variables */ + + /* Initialize the data */ + /* (Try for something easily compressible) */ + for(i=0; i<SPACE_DIM1; i++) + for(j=0; j<SPACE_DIM2; j++) + data[i][j]=j%5; + + /* Create the file */ + file = H5Fcreate(TESTFILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + if(file<0) + printf("file<0!\n"); + + /* Create the dataspace */ + space = H5Screate_simple(SPACE_RANK, dims, NULL); + if(space<0) + printf("space<0!\n"); + + /* Create the dataset creation property list */ + dcpl = H5Pcreate(H5P_DATASET_CREATE); + if(dcpl<0) + printf("dcpl<0!\n"); + + /* Set up for deflated data */ + if(H5Pset_chunk(dcpl, 2, chunk_dims)<0) + printf("H5Pset_chunk() failed!\n"); + if(H5Pset_deflate(dcpl, 9)<0) + printf("H5Pset_deflate() failed!\n"); + + /* Create the compressed dataset */ + dset = H5Dcreate(file, "Dataset1", H5T_NATIVE_INT, space, dcpl); + if(dset<0) + printf("dset<0!\n"); + + /* Write the data to the dataset */ + if(H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data)<0) + printf("H5Dwrite() failed!\n"); + + /* Close everything */ + if(H5Pclose(dcpl)<0) + printf("H5Pclose() failed!\n"); + if(H5Dclose(dset)<0) + printf("H5Dclose() failed!\n"); + if(H5Sclose(space)<0) + printf("H5Sclose() failed!\n"); + if(H5Fclose(file)<0) + printf("H5Fclose() failed!\n"); + + return 0; +} + |