diff options
Diffstat (limited to 'examples/h5_cmprss.c')
-rw-r--r-- | examples/h5_cmprss.c | 250 |
1 files changed, 125 insertions, 125 deletions
diff --git a/examples/h5_cmprss.c b/examples/h5_cmprss.c index 4a2f982..8d365a3 100644 --- a/examples/h5_cmprss.c +++ b/examples/h5_cmprss.c @@ -1,125 +1,125 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
- * All rights reserved. *
- * *
- * This file is part of HDF5. The full HDF5 copyright notice, including *
- * terms governing use, modification, and redistribution, is contained in *
- * the files COPYING and Copyright.html. COPYING can be found at the root *
- * of the source code distribution tree; Copyright.html can be found at the *
- * root level of an installed copy of the electronic HDF5 document set and *
- * is linked from the top-level documents page. It can also be found at *
- * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/*
- * This example illustrates how to create a compressed dataset.
- * It is used in the HDF5 Tutorial.
- */
-
-#include "hdf5.h"
-
-#define FILE "cmprss.h5"
-#define RANK 2
-#define DIM0 100
-#define DIM1 20
-
-int main () {
-
- hid_t file_id, dataset_id, dataspace_id; /* identifiers */
- hid_t plist_id;
-
- size_t nelmts;
- unsigned flags, filter_info;
- H5Z_filter_t filter_type;
-
- herr_t status;
- hsize_t dims[2];
- hsize_t cdims[2];
-
- int idx;
- int i,j, numfilt;
- int buf[DIM0][DIM1];
- int rbuf [DIM0][DIM1];
-
- /* Uncomment these variables to use SZIP compression
- unsigned szip_options_mask;
- unsigned szip_pixels_per_block;
- */
-
- /* Create a file. */
- file_id = H5Fcreate (FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
-
-
- /* Create dataset "Compressed Data" in the group using absolute name. */
- dims[0] = DIM0;
- dims[1] = DIM1;
- dataspace_id = H5Screate_simple (RANK, dims, NULL);
-
- plist_id = H5Pcreate (H5P_DATASET_CREATE);
-
- /* Dataset must be chunked for compression */
- cdims[0] = 20;
- cdims[1] = 20;
- status = H5Pset_chunk (plist_id, 2, cdims);
-
- /* Set ZLIB / DEFLATE Compression using compression level 6.
- * To use SZIP Compression comment out these lines.
- */
- status = H5Pset_deflate (plist_id, 6);
-
- /* Uncomment these lines to set SZIP Compression
- szip_options_mask = H5_SZIP_NN_OPTION_MASK;
- szip_pixels_per_block = 16;
- status = H5Pset_szip (plist_id, szip_options_mask, szip_pixels_per_block);
- */
-
- dataset_id = H5Dcreate2 (file_id, "Compressed_Data", H5T_STD_I32BE,
- dataspace_id, H5P_DEFAULT, plist_id, H5P_DEFAULT);
-
- for (i = 0; i< DIM0; i++)
- for (j=0; j<DIM1; j++)
- buf[i][j] = i+j;
-
- status = H5Dwrite (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf);
-
- status = H5Sclose (dataspace_id);
- status = H5Dclose (dataset_id);
- status = H5Pclose (plist_id);
- status = H5Fclose (file_id);
-
- /* Now reopen the file and dataset in the file. */
- file_id = H5Fopen (FILE, H5F_ACC_RDWR, H5P_DEFAULT);
- dataset_id = H5Dopen2 (file_id, "Compressed_Data", H5P_DEFAULT);
-
- /* Retrieve filter information. */
- plist_id = H5Dget_create_plist (dataset_id);
-
- numfilt = H5Pget_nfilters (plist_id);
- printf ("Number of filters associated with dataset: %i\n", numfilt);
-
- for (i=0; i<numfilt; i++) {
- nelmts = 0;
- filter_type = H5Pget_filter2 (plist_id, 0, &flags, &nelmts, NULL, 0, NULL,
- &filter_info);
- printf ("Filter Type: ");
- switch (filter_type) {
- case H5Z_FILTER_DEFLATE:
- printf ("H5Z_FILTER_DEFLATE\n");
- break;
- case H5Z_FILTER_SZIP:
- printf ("H5Z_FILTER_SZIP\n");
- break;
- default:
- printf ("Other filter type included.\n");
- }
- }
-
- status = H5Dread (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, rbuf);
-
- status = H5Dclose (dataset_id);
- status = H5Pclose (plist_id);
- status = H5Fclose (file_id);
-}
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * This example illustrates how to create a compressed dataset. + * It is used in the HDF5 Tutorial. + */ + +#include "hdf5.h" + +#define FILE "cmprss.h5" +#define RANK 2 +#define DIM0 100 +#define DIM1 20 + +int main () { + + hid_t file_id, dataset_id, dataspace_id; /* identifiers */ + hid_t plist_id; + + size_t nelmts; + unsigned flags, filter_info; + H5Z_filter_t filter_type; + + herr_t status; + hsize_t dims[2]; + hsize_t cdims[2]; + + int idx; + int i,j, numfilt; + int buf[DIM0][DIM1]; + int rbuf [DIM0][DIM1]; + + /* Uncomment these variables to use SZIP compression + unsigned szip_options_mask; + unsigned szip_pixels_per_block; + */ + + /* Create a file. */ + file_id = H5Fcreate (FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + + + /* Create dataset "Compressed Data" in the group using absolute name. */ + dims[0] = DIM0; + dims[1] = DIM1; + dataspace_id = H5Screate_simple (RANK, dims, NULL); + + plist_id = H5Pcreate (H5P_DATASET_CREATE); + + /* Dataset must be chunked for compression */ + cdims[0] = 20; + cdims[1] = 20; + status = H5Pset_chunk (plist_id, 2, cdims); + + /* Set ZLIB / DEFLATE Compression using compression level 6. + * To use SZIP Compression comment out these lines. + */ + status = H5Pset_deflate (plist_id, 6); + + /* Uncomment these lines to set SZIP Compression + szip_options_mask = H5_SZIP_NN_OPTION_MASK; + szip_pixels_per_block = 16; + status = H5Pset_szip (plist_id, szip_options_mask, szip_pixels_per_block); + */ + + dataset_id = H5Dcreate2 (file_id, "Compressed_Data", H5T_STD_I32BE, + dataspace_id, H5P_DEFAULT, plist_id, H5P_DEFAULT); + + for (i = 0; i< DIM0; i++) + for (j=0; j<DIM1; j++) + buf[i][j] = i+j; + + status = H5Dwrite (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); + + status = H5Sclose (dataspace_id); + status = H5Dclose (dataset_id); + status = H5Pclose (plist_id); + status = H5Fclose (file_id); + + /* Now reopen the file and dataset in the file. */ + file_id = H5Fopen (FILE, H5F_ACC_RDWR, H5P_DEFAULT); + dataset_id = H5Dopen2 (file_id, "Compressed_Data", H5P_DEFAULT); + + /* Retrieve filter information. */ + plist_id = H5Dget_create_plist (dataset_id); + + numfilt = H5Pget_nfilters (plist_id); + printf ("Number of filters associated with dataset: %i\n", numfilt); + + for (i=0; i<numfilt; i++) { + nelmts = 0; + filter_type = H5Pget_filter2 (plist_id, 0, &flags, &nelmts, NULL, 0, NULL, + &filter_info); + printf ("Filter Type: "); + switch (filter_type) { + case H5Z_FILTER_DEFLATE: + printf ("H5Z_FILTER_DEFLATE\n"); + break; + case H5Z_FILTER_SZIP: + printf ("H5Z_FILTER_SZIP\n"); + break; + default: + printf ("Other filter type included.\n"); + } + } + + status = H5Dread (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, + H5P_DEFAULT, rbuf); + + status = H5Dclose (dataset_id); + status = H5Pclose (plist_id); + status = H5Fclose (file_id); +} |