summaryrefslogtreecommitdiffstats
path: root/testpar/t_mdset.c
diff options
context:
space:
mode:
Diffstat (limited to 'testpar/t_mdset.c')
-rw-r--r--testpar/t_mdset.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/testpar/t_mdset.c b/testpar/t_mdset.c
index 46ab44b..46e2117 100644
--- a/testpar/t_mdset.c
+++ b/testpar/t_mdset.c
@@ -96,7 +96,7 @@ void multiple_dset_write(char *filename, int ndatasets)
void multiple_group_write(char *filename, int ngroups)
{
int mpi_rank, mpi_size;
- int i, j, l, m;
+ int l, m;
char gname[64];
hid_t fid, gid, plist, memspace, filespace;
hssize_t chunk_origin[DIM];
@@ -283,12 +283,15 @@ int read_dataset(hid_t memspace, hid_t filespace, hid_t gid)
{
int i, j, n, mpi_rank, vrfy_errors=0;
char dname[32];
- DATATYPE outdata[SIZE][SIZE], indata[SIZE][SIZE];
+ DATATYPE *outdata, *indata;
hid_t did;
hsize_t block[DIM]={SIZE,SIZE};
MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
+ indata = (DATATYPE*)malloc(SIZE*SIZE*sizeof(DATATYPE));
+ outdata = (DATATYPE*)malloc(SIZE*SIZE*sizeof(DATATYPE));
+
for(n=0; n<NDATASET; n++) {
sprintf(dname, "dataset%d", n);
did = H5Dopen(gid, dname);
@@ -297,15 +300,22 @@ int read_dataset(hid_t memspace, hid_t filespace, hid_t gid)
H5Dread(did, H5T_NATIVE_INT, memspace, filespace, H5P_DEFAULT,
indata);
+ /* this is the original value */
for(i=0; i<SIZE; i++)
- for(j=0; j<SIZE; j++)
- outdata[i][j] = n*1000 + mpi_rank;
-
+ for(j=0; j<SIZE; j++) {
+ *outdata = n*1000 + mpi_rank;
+ outdata++;
+ }
+ outdata -= SIZE*SIZE;
+
vrfy_errors = dataset_vrfy(NULL, NULL, NULL, block, indata, outdata);
H5Dclose(did);
}
+ free(indata);
+ free(outdata);
+
return vrfy_errors;
}