[svn-r465] Replaced old H5Sset_hyperslab with new H5Sselect_hyperslab calls.

Tested on O2K.
This commit is contained in:
Albert Cheng 1998-07-07 17:28:39 -05:00
parent 5f85a202e2
commit 2d5b096590
2 changed files with 58 additions and 44 deletions

View File

@ -252,7 +252,7 @@ dataset_writeInd(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* create a memory dataspace independently */
@ -348,7 +348,7 @@ dataset_readInd(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "");
/* create a memory dataspace independently */
@ -483,7 +483,7 @@ dataset_writeAll(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* create a memory dataspace independently */
@ -530,7 +530,7 @@ dataset_writeAll(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* create a memory dataspace independently */
@ -656,7 +656,7 @@ dataset_readAll(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* create a memory dataspace independently */
@ -699,7 +699,7 @@ dataset_readAll(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* create a memory dataspace independently */
@ -816,8 +816,7 @@ extend_writeInd(char *filename)
/* --------------------------
* Define the dimensions of the overall datasets
* and the slabs local to the MPI process.
* Define the dimensions of the overall datasets and create them.
* ------------------------- */
/* set up dataset storage chunk sizes and creation property list */
@ -828,7 +827,6 @@ extend_writeInd(char *filename)
ret = H5Pset_chunk(dataset_pl, RANK, chunk_dims);
VRFY((ret != FAIL), "H5Pset_chunk succeeded");
/* setup dimensionality object */
/* start out with no rows, extend it later. */
dims[0] = dims[1] = 0;
@ -843,13 +841,14 @@ extend_writeInd(char *filename)
dataset2 = H5Dcreate(fid, DATASETNAME2, H5T_NATIVE_INT, sid, dataset_pl);
VRFY((dataset2 != FAIL), "H5Dcreate succeeded");
/* extend dataset1 only */
dims[0] = DIM1;
dims[1] = DIM2;
ret = H5Dextend (dataset1, dims);
VRFY((ret != FAIL), "H5Dextend succeeded");
/* release resource */
H5Sclose(sid);
/* -------------------------
* Test writing to dataset1
* -------------------------*/
/* set up dimensions of the slab this process accesses */
slab_set(mpi_rank, mpi_size, start, count, stride, BYROW);
@ -857,21 +856,35 @@ extend_writeInd(char *filename)
dataset_fill(start, count, stride, &data_array1[0][0]);
MESG("data_array initialized");
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* create a memory dataspace independently */
mem_dataspace = H5Screate_simple (RANK, count, NULL);
VRFY((mem_dataspace != FAIL), "");
/* Extend its current dim sizes before writing */
dims[0] = DIM1;
dims[1] = DIM2;
ret = H5Dextend (dataset1, dims);
VRFY((ret != FAIL), "H5Dextend succeeded");
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* write data independently */
ret = H5Dwrite(dataset1, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
H5P_DEFAULT, data_array1);
VRFY((ret != FAIL), "H5Dwrite succeeded");
/* release resource */
H5Sclose(file_dataspace);
H5Sclose(mem_dataspace);
/* -------------------------
* Test writing to dataset2
* -------------------------*/
/* set up dimensions of the slab this process accesses */
slab_set(mpi_rank, mpi_size, start, count, stride, BYCOL);
@ -879,11 +892,11 @@ extend_writeInd(char *filename)
dataset_fill(start, count, stride, &data_array1[0][0]);
MESG("data_array initialized");
/* release resource */
H5Sclose(file_dataspace);
H5Sclose(mem_dataspace);
/* create a memory dataspace independently */
mem_dataspace = H5Screate_simple (RANK, count, NULL);
VRFY((mem_dataspace != FAIL), "");
#ifdef DISABLE
/* Try write to dataset2 without extending it first. Should fail. */
/* first turn off auto error reporting */
H5Eget_auto(&old_func, &old_client_data);
@ -892,11 +905,21 @@ extend_writeInd(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset2);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
VRFY((ret == FAIL), "H5Sset_hyperslab failed as expected");
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* write data independently. Should fail. */
ret = H5Dwrite(dataset2, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
H5P_DEFAULT, data_array1);
VRFY((ret == FAIL), "H5Dwrite failed as expected");
/* restore auto error reporting */
H5Eset_auto(old_func, old_client_data);
H5Sclose(file_dataspace);
#else
/* Skip test because H5Dwrite is not failing as expected */
printf("Skip test of write before extend\n");
#endif
/* Extend dataset2 and try again. Should succeed. */
dims[0] = DIM1;
@ -905,28 +928,22 @@ extend_writeInd(char *filename)
VRFY((ret != FAIL), "H5Dextend succeeded");
/* create a file dataspace independently */
H5Sclose(file_dataspace);
file_dataspace = H5Dget_space (dataset2);
VRFY((file_dataspace != FAIL), "H5Dget_space succeeded");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "H5Sset_hyperslab succeeded");
/* create a memory dataspace independently */
mem_dataspace = H5Screate_simple (RANK, count, NULL);
VRFY((mem_dataspace != FAIL), "");
/* write data independently */
ret = H5Dwrite(dataset2, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
H5P_DEFAULT, data_array1);
VRFY((ret != FAIL), "H5Dwrite succeeded");
/* release resource */
ret=H5Sclose(file_dataspace);
VRFY((ret != FAIL), "H5Sclose succeeded");
ret=H5Sclose(mem_dataspace);
VRFY((ret != FAIL), "H5Sclose succeeded");
/* --------------------------
* close all requested resources
* ------------------------- */
/* release dataspace ID */
H5Sclose(file_dataspace);
H5Sclose(mem_dataspace);
/* close dataset collectively */
ret=H5Dclose(dataset1);
@ -934,9 +951,6 @@ extend_writeInd(char *filename)
ret=H5Dclose(dataset2);
VRFY((ret != FAIL), "H5Dclose2 succeeded");
/* release all IDs created */
H5Sclose(sid);
/* close the file collectively */
H5Fclose(fid);
}
@ -1022,7 +1036,7 @@ extend_readInd(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset1);
VRFY((file_dataspace != FAIL), "");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "");
/* create a memory dataspace independently */
@ -1053,7 +1067,7 @@ extend_readInd(char *filename)
/* create a file dataspace independently */
file_dataspace = H5Dget_space (dataset2);
VRFY((file_dataspace != FAIL), "");
ret=H5Sset_hyperslab(file_dataspace, start, count, stride);
ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, NULL);
VRFY((ret != FAIL), "");
/* create a memory dataspace independently */

View File

@ -22,7 +22,7 @@
} \
} \
else{ \
printf("*** Assertion failed (%s) at line %4d in %s\n", \
printf("*** PHDF5 Assertion failed (%s) at line %4d in %s\n", \
mesg, (int)__LINE__, __FILE__); \
nerrors++; \
H5Eprint (stdout); \