summaryrefslogtreecommitdiffstats
path: root/test/gen_deflate.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2002-11-20 13:27:30 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2002-11-20 13:27:30 (GMT)
commit1dd1c78825edd75ae01b1916ff591a3cabd7302a (patch)
tree221a946d5607e8a6f1aaf13e57b279236a96cf2c /test/gen_deflate.c
parentc244ca03693e45d94939abc335efa8ebedad4f59 (diff)
downloadhdf5-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.c101
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;
+}
+