summaryrefslogtreecommitdiffstats
path: root/examples/h5_subset.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/h5_subset.c')
-rw-r--r--examples/h5_subset.c131
1 files changed, 61 insertions, 70 deletions
diff --git a/examples/h5_subset.c b/examples/h5_subset.c
index ad2eaba..bd680c7 100644
--- a/examples/h5_subset.c
+++ b/examples/h5_subset.c
@@ -20,34 +20,32 @@
#define FILE "subset.h5"
#define DATASETNAME "IntArray"
-#define RANK 2
+#define RANK 2
-#define DIM0_SUB 3 /* subset dimensions */
-#define DIM1_SUB 4
+#define DIM0_SUB 3 /* subset dimensions */
+#define DIM1_SUB 4
-
-#define DIM0 8 /* size of dataset */
-#define DIM1 10
+#define DIM0 8 /* size of dataset */
+#define DIM1 10
int
-main (void)
+main(void)
{
- hsize_t dims[2], dimsm[2];
- int data[DIM0][DIM1]; /* data to write */
- int sdata[DIM0_SUB][DIM1_SUB]; /* subset to write */
- int rdata[DIM0][DIM1]; /* buffer for read */
-
- hid_t file_id, dataset_id; /* handles */
- hid_t dataspace_id, memspace_id;
+ hsize_t dims[2], dimsm[2];
+ int data[DIM0][DIM1]; /* data to write */
+ int sdata[DIM0_SUB][DIM1_SUB]; /* subset to write */
+ int rdata[DIM0][DIM1]; /* buffer for read */
- herr_t status;
+ hid_t file_id, dataset_id; /* handles */
+ hid_t dataspace_id, memspace_id;
- hsize_t count[2]; /* size of subset in the file */
- hsize_t offset[2]; /* subset offset in the file */
- hsize_t stride[2];
- hsize_t block[2];
- int i, j;
+ herr_t status;
+ hsize_t count[2]; /* size of subset in the file */
+ hsize_t offset[2]; /* subset offset in the file */
+ hsize_t stride[2];
+ hsize_t block[2];
+ int i, j;
/*****************************************************************
* Create a new file with default creation and access properties.*
@@ -55,53 +53,50 @@ main (void)
* and dataset. *
*****************************************************************/
- file_id = H5Fcreate (FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
-
- dims[0] = DIM0;
- dims[1] = DIM1;
- dataspace_id = H5Screate_simple (RANK, dims, NULL);
+ file_id = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
- dataset_id = H5Dcreate2 (file_id, DATASETNAME, H5T_STD_I32BE, dataspace_id,
- H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ dims[0] = DIM0;
+ dims[1] = DIM1;
+ dataspace_id = H5Screate_simple(RANK, dims, NULL);
+ dataset_id =
+ H5Dcreate2(file_id, DATASETNAME, H5T_STD_I32BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
for (j = 0; j < DIM0; j++) {
- for (i = 0; i < DIM1; i++)
- if (i< (DIM1/2))
- data[j][i] = 1;
+ for (i = 0; i < DIM1; i++)
+ if (i < (DIM1 / 2))
+ data[j][i] = 1;
else
- data[j][i] = 2;
+ data[j][i] = 2;
}
- status = H5Dwrite (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, data);
+ status = H5Dwrite(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data);
- printf ("\nData Written to File:\n");
- for (i = 0; i<DIM0; i++){
- for (j = 0; j<DIM1; j++)
- printf (" %i", data[i][j]);
- printf ("\n");
+ printf("\nData Written to File:\n");
+ for (i = 0; i < DIM0; i++) {
+ for (j = 0; j < DIM1; j++)
+ printf(" %i", data[i][j]);
+ printf("\n");
}
- status = H5Sclose (dataspace_id);
- status = H5Dclose (dataset_id);
- status = H5Fclose (file_id);
-
+ status = H5Sclose(dataspace_id);
+ status = H5Dclose(dataset_id);
+ status = H5Fclose(file_id);
/*****************************************************
* Reopen the file and dataset and write a subset of *
* values to the dataset.
*****************************************************/
- file_id = H5Fopen (FILE, H5F_ACC_RDWR, H5P_DEFAULT);
- dataset_id = H5Dopen2 (file_id, DATASETNAME, H5P_DEFAULT);
+ file_id = H5Fopen(FILE, H5F_ACC_RDWR, H5P_DEFAULT);
+ dataset_id = H5Dopen2(file_id, DATASETNAME, H5P_DEFAULT);
/* Specify size and shape of subset to write. */
offset[0] = 1;
offset[1] = 2;
- count[0] = DIM0_SUB;
- count[1] = DIM1_SUB;
+ count[0] = DIM0_SUB;
+ count[1] = DIM1_SUB;
stride[0] = 1;
stride[1] = 1;
@@ -112,40 +107,36 @@ main (void)
/* Create memory space with size of subset. Get file dataspace
and select subset from file dataspace. */
- dimsm[0] = DIM0_SUB;
- dimsm[1] = DIM1_SUB;
- memspace_id = H5Screate_simple (RANK, dimsm, NULL);
+ dimsm[0] = DIM0_SUB;
+ dimsm[1] = DIM1_SUB;
+ memspace_id = H5Screate_simple(RANK, dimsm, NULL);
- dataspace_id = H5Dget_space (dataset_id);
- status = H5Sselect_hyperslab (dataspace_id, H5S_SELECT_SET, offset,
- stride, count, block);
+ dataspace_id = H5Dget_space(dataset_id);
+ status = H5Sselect_hyperslab(dataspace_id, H5S_SELECT_SET, offset, stride, count, block);
/* Write a subset of data to the dataset, then read the
entire dataset back from the file. */
- printf ("\nWrite subset to file specifying:\n");
- printf (" offset=1x2 stride=1x1 count=3x4 block=1x1\n");
+ printf("\nWrite subset to file specifying:\n");
+ printf(" offset=1x2 stride=1x1 count=3x4 block=1x1\n");
for (j = 0; j < DIM0_SUB; j++) {
- for (i = 0; i < DIM1_SUB; i++)
- sdata[j][i] = 5;
+ for (i = 0; i < DIM1_SUB; i++)
+ sdata[j][i] = 5;
}
- status = H5Dwrite (dataset_id, H5T_NATIVE_INT, memspace_id,
- dataspace_id, H5P_DEFAULT, sdata);
+ status = H5Dwrite(dataset_id, H5T_NATIVE_INT, memspace_id, dataspace_id, H5P_DEFAULT, sdata);
- status = H5Dread (dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, rdata);
+ status = H5Dread(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata);
- printf ("\nData in File after Subset is Written:\n");
- for (i = 0; i<DIM0; i++){
- for (j = 0; j<DIM1; j++)
- printf (" %i", rdata[i][j]);
- printf ("\n");
+ printf("\nData in File after Subset is Written:\n");
+ for (i = 0; i < DIM0; i++) {
+ for (j = 0; j < DIM1; j++)
+ printf(" %i", rdata[i][j]);
+ printf("\n");
}
- status = H5Sclose (memspace_id);
- status = H5Sclose (dataspace_id);
- status = H5Dclose (dataset_id);
- status = H5Fclose (file_id);
-
+ status = H5Sclose(memspace_id);
+ status = H5Sclose(dataspace_id);
+ status = H5Dclose(dataset_id);
+ status = H5Fclose(file_id);
}