home *** CD-ROM | disk | FTP | other *** search
-
-
- /* Program windows */
- /* This program writes out a 4D array in hdf format. */
- /* dimsizes={2,4,5,7} defines the dimension sizes of the output array. */
- /* windims={1,1,5,7} defines the dimension sizes of the slice (window). */
- /* dims={1,1,6,8} defines the dimension sizes of the input data array. */
- /* dims may be larger than windims. In this case, that actual data may */
- /* not be contiguous in the input data array. */
-
- main() {
-
- int rank=4;
- int i, j, ret;
- int dimsizes[4],dims[4], windims[4];
- float data[1][1][6][8];
-
- /* initialization */
-
- dimsizes[0] = 2;
- dimsizes[1] = 4;
- dimsizes[2] = 5;
- dimsizes[3] = 7;
-
- dims[0] = 1;
- dims[1] = 1;
- dims[2] = 6;
- dims[3] = 8;
-
- windims[0] = 1;
- windims[1] = 1;
- windims[2] = 5;
- windims[3] = 7;
-
- for (i=0; i<dims[2];i++)
- for (j=0; j<dims[3]; j++) data[0][0][i][j]=10.0*i+1.0*j;
-
- ret = DFSDsetdims(rank, dimsizes);
- if (ret != 0) {
- printf("Error in DFSDsetdims, error no= %d.\n",ret);
- }
-
- ret = DFSDstartslice("wstest.hdf");
- if (ret != 0) {
- printf("Error in DFSDstartslice, error = %d.\n", ret);
- }
-
- for (i=0;i<dimsizes[0]; i++)
- for (j=0; j<dimsizes[1]; j++) {
- ret = DFSDputslice(windims,data,dims);
- if (ret != 0) {
- printf("Error in DFSDputslice, ret=%d, i=%d, j=%d.\n",
- ret, i, j);
- }
- }
-
- printf("Calling DFSDendslice.\n");
- ret = DFSDendslice();
- if (ret != 0) {
- printf("Error in calling endslice, ret= %D.\n", ret);
- }
-
- }
-
-