diff options
Diffstat (limited to 'test/tarray.c')
-rw-r--r-- | test/tarray.c | 1164 |
1 files changed, 593 insertions, 571 deletions
diff --git a/test/tarray.c b/test/tarray.c index e643fb0..ba0982f 100644 --- a/test/tarray.c +++ b/test/tarray.c @@ -12,59 +12,57 @@ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /*********************************************************** -* -* Test program: tarray -* -* Test the Array Datatype functionality -* -*************************************************************/ + * + * Test program: tarray + * + * Test the Array Datatype functionality + * + *************************************************************/ #include "testhdf5.h" #include "H5srcdir.h" -#define FILENAME "tarray1.h5" -#define TESTFILE "tarrold.h5" +#define FILENAME "tarray1.h5" +#define TESTFILE "tarrold.h5" /* 1-D array datatype */ -#define ARRAY1_RANK 1 -#define ARRAY1_DIM1 4 +#define ARRAY1_RANK 1 +#define ARRAY1_DIM1 4 /* 3-D array datatype */ -#define ARRAY2_RANK 3 -#define ARRAY2_DIM1 3 -#define ARRAY2_DIM2 4 -#define ARRAY2_DIM3 5 +#define ARRAY2_RANK 3 +#define ARRAY2_DIM1 3 +#define ARRAY2_DIM2 4 +#define ARRAY2_DIM3 5 /* 2-D array datatype */ -#define ARRAY3_RANK 2 -#define ARRAY3_DIM1 6 -#define ARRAY3_DIM2 3 +#define ARRAY3_RANK 2 +#define ARRAY3_DIM1 6 +#define ARRAY3_DIM2 3 /* 1-D dataset with fixed dimensions */ -#define SPACE1_RANK 1 -#define SPACE1_DIM1 4 +#define SPACE1_RANK 1 +#define SPACE1_DIM1 4 /* Parameters used with the test_array_bkg() test */ -#define FIELDNAME "ArrayofStructures" -#define LENGTH 5 -#define ALEN 10 -#define RANK 1 -#define NMAX 100 +#define FIELDNAME "ArrayofStructures" +#define LENGTH 5 +#define ALEN 10 +#define RANK 1 +#define NMAX 100 /* Struct used with test_array_bkg() test */ -typedef struct -{ - int nsubfields; - char *name[NMAX]; - size_t offset[NMAX]; - hid_t datatype[NMAX]; +typedef struct { + int nsubfields; + char * name[NMAX]; + size_t offset[NMAX]; + hid_t datatype[NMAX]; } CmpDTSinfo; /* Forward declarations for custom vlen memory manager functions */ void *test_array_alloc_custom(size_t size, void *info); -void test_array_free_custom(void *mem, void *info); - +void test_array_free_custom(void *mem, void *info); /*------------------------------------------------------------------------- * Function: test_array_atomic_1d @@ -79,25 +77,25 @@ void test_array_free_custom(void *mem, void *info); static void test_array_atomic_1d(void) { - int wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - int rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1; /* Datatype ID */ - hsize_t sdims1[] = {SPACE1_DIM1}; - hsize_t tdims1[] = {ARRAY1_DIM1}; - int ndims; /* Array rank for reading */ - hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ - int i,j; /* counting variables */ - herr_t ret; /* Generic return value */ + int wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + int rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1; /* Datatype ID */ + hsize_t sdims1[] = {SPACE1_DIM1}; + hsize_t tdims1[] = {ARRAY1_DIM1}; + int ndims; /* Array rank for reading */ + hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ + int i, j; /* counting variables */ + herr_t ret; /* Generic return value */ /* Output message about test being performed */ MESSAGE(5, ("Testing 1-D Array of Atomic Datatypes Functionality\n")); /* Allocate and initialize array data to write */ - for(i = 0; i < SPACE1_DIM1; i++) - for(j = 0; j < ARRAY1_DIM1; j++) + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) wdata[i][j] = i * 10 + j; /* Create file */ @@ -136,7 +134,6 @@ test_array_atomic_1d(void) ret = H5Fclose(fid1); CHECK(ret, FAIL, "H5Fclose"); - /* Re-open file */ fid1 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT); CHECK(fid1, FAIL, "H5Fopen"); @@ -146,7 +143,7 @@ test_array_atomic_1d(void) CHECK(dataset, FAIL, "H5Dopen2"); /* Get the datatype */ - tid1 = H5Dget_type (dataset); + tid1 = H5Dget_type(dataset); CHECK(tid1, FAIL, "H5Dget_type"); /* Check the array rank */ @@ -158,9 +155,10 @@ test_array_atomic_1d(void) CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i = 0; i < ndims; i++) - if(rdims1[i] != tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ @@ -169,10 +167,11 @@ test_array_atomic_1d(void) CHECK(ret, FAIL, "H5Dread"); /* Compare data read in */ - for(i = 0; i < SPACE1_DIM1; i++) - for(j = 0; j < ARRAY1_DIM1; j++) - if(wdata[i][j] != rdata[i][j]) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d]=%d, rdata[%d][%d]=%d\n", (int)i, (int)j, (int)wdata[i][j], (int)i, (int)j, (int)rdata[i][j]); + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) + if (wdata[i][j] != rdata[i][j]) { + TestErrPrintf("Array data information doesn't match!, wdata[%d][%d]=%d, rdata[%d][%d]=%d\n", + (int)i, (int)j, (int)wdata[i][j], (int)i, (int)j, (int)rdata[i][j]); continue; } /* end if */ @@ -189,7 +188,6 @@ test_array_atomic_1d(void) CHECK(ret, FAIL, "H5Fclose"); } /* end test_array_atomic_1d() */ - /*------------------------------------------------------------------------- * Function: test_array_funcs * @@ -203,48 +201,46 @@ test_array_atomic_1d(void) static void test_array_funcs(void) { - hid_t type; /* Datatype ID */ - hsize_t tdims1[] = {ARRAY1_DIM1}; - size_t size; - H5T_pad_t inpad; - H5T_norm_t norm; - H5T_cset_t cset; - H5T_str_t strpad; - herr_t ret; /* Generic return value */ + hid_t type; /* Datatype ID */ + hsize_t tdims1[] = {ARRAY1_DIM1}; + size_t size; + H5T_pad_t inpad; + H5T_norm_t norm; + H5T_cset_t cset; + H5T_str_t strpad; + herr_t ret; /* Generic return value */ /* Create a datatype to refer to */ type = H5Tarray_create2(H5T_IEEE_F32BE, ARRAY1_RANK, tdims1); CHECK(type, FAIL, "H5Tarray_create2"); - size=H5Tget_precision(type); + size = H5Tget_precision(type); CHECK(size, 0, "H5Tget_precision"); - size=H5Tget_size(type); + size = H5Tget_size(type); CHECK(size, 0, "H5Tget_size"); - size=H5Tget_ebias(type); + size = H5Tget_ebias(type); CHECK(size, 0, "H5Tget_ebias"); - ret=H5Tset_pad(type, H5T_PAD_ZERO, H5T_PAD_ONE); + ret = H5Tset_pad(type, H5T_PAD_ZERO, H5T_PAD_ONE); CHECK(ret, FAIL, "H5Tset_pad"); - inpad=H5Tget_inpad(type); + inpad = H5Tget_inpad(type); CHECK(inpad, FAIL, "H5Tget_inpad"); - norm=H5Tget_norm(type); + norm = H5Tget_norm(type); CHECK(norm, FAIL, "H5Tget_norm"); - ret=H5Tset_offset(type, (size_t)16); + ret = H5Tset_offset(type, (size_t)16); CHECK(ret, FAIL, "H5Tset_offset"); - H5E_BEGIN_TRY { - cset=H5Tget_cset(type); - } H5E_END_TRY; + H5E_BEGIN_TRY { cset = H5Tget_cset(type); } + H5E_END_TRY; VERIFY(cset, FAIL, "H5Tget_cset"); - H5E_BEGIN_TRY { - strpad=H5Tget_strpad(type); - } H5E_END_TRY; + H5E_BEGIN_TRY { strpad = H5Tget_strpad(type); } + H5E_END_TRY; VERIFY(strpad, FAIL, "H5Tget_strpad"); /* Close datatype */ @@ -252,7 +248,6 @@ test_array_funcs(void) CHECK(ret, FAIL, "H5Tclose"); } /* end test_array_funcs() */ - /*------------------------------------------------------------------------- * Function: test_array_atomic_3d * @@ -266,27 +261,27 @@ test_array_funcs(void) static void test_array_atomic_3d(void) { - int wdata[SPACE1_DIM1][ARRAY2_DIM1][ARRAY2_DIM2][ARRAY2_DIM3]; /* Information to write */ - int rdata[SPACE1_DIM1][ARRAY2_DIM1][ARRAY2_DIM2][ARRAY2_DIM3]; /* Information read in */ - hid_t fid; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid; /* Dataspace ID */ - hid_t tid; /* Datatype ID */ - hsize_t sdims1[] = {SPACE1_DIM1}; - hsize_t tdims2[] = {ARRAY2_DIM1,ARRAY2_DIM2,ARRAY2_DIM3}; - int ndims; /* Array rank for reading */ - hsize_t rdims2[H5S_MAX_RANK]; /* Array dimensions for reading */ - int i,j,k,l; /* counting variables */ - herr_t ret; /* Generic return value */ + int wdata[SPACE1_DIM1][ARRAY2_DIM1][ARRAY2_DIM2][ARRAY2_DIM3]; /* Information to write */ + int rdata[SPACE1_DIM1][ARRAY2_DIM1][ARRAY2_DIM2][ARRAY2_DIM3]; /* Information read in */ + hid_t fid; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid; /* Dataspace ID */ + hid_t tid; /* Datatype ID */ + hsize_t sdims1[] = {SPACE1_DIM1}; + hsize_t tdims2[] = {ARRAY2_DIM1, ARRAY2_DIM2, ARRAY2_DIM3}; + int ndims; /* Array rank for reading */ + hsize_t rdims2[H5S_MAX_RANK]; /* Array dimensions for reading */ + int i, j, k, l; /* counting variables */ + herr_t ret; /* Generic return value */ /* Output message about test being performed */ MESSAGE(5, ("Testing 3-D Array of Atomic Datatypes Functionality\n")); /* Allocate and initialize array data to write */ - for(i = 0; i < SPACE1_DIM1; i++) - for(j = 0; j < ARRAY2_DIM1; j++) - for(k = 0; k < ARRAY2_DIM2; k++) - for(l = 0; l < ARRAY2_DIM3; l++) + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY2_DIM1; j++) + for (k = 0; k < ARRAY2_DIM2; k++) + for (l = 0; l < ARRAY2_DIM3; l++) wdata[i][j][k][l] = i * 1000 + j * 100 + k * 10 + l; /* Create file */ @@ -325,7 +320,6 @@ test_array_atomic_3d(void) ret = H5Fclose(fid); CHECK(ret, FAIL, "H5Fclose"); - /* Re-open file */ fid = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT); CHECK(fid, FAIL, "H5Fopen"); @@ -335,7 +329,7 @@ test_array_atomic_3d(void) CHECK(dataset, FAIL, "H5Dopen2"); /* Get the datatype */ - tid = H5Dget_type (dataset); + tid = H5Dget_type(dataset); CHECK(tid, FAIL, "H5Dget_type"); /* Check the array rank */ @@ -347,9 +341,10 @@ test_array_atomic_3d(void) CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i = 0; i < ndims; i++) - if(rdims2[i] != tdims2[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims2[%d]=%d, tdims2[%d]=%d\n", (int)i, (int)rdims2[i], (int)i, (int)tdims2[i]); + for (i = 0; i < ndims; i++) + if (rdims2[i] != tdims2[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims2[%d]=%d, tdims2[%d]=%d\n", + (int)i, (int)rdims2[i], (int)i, (int)tdims2[i]); continue; } /* end if */ @@ -358,12 +353,15 @@ test_array_atomic_3d(void) CHECK(ret, FAIL, "H5Dread"); /* Compare data read in */ - for(i = 0; i < SPACE1_DIM1; i++) - for(j = 0; j < ARRAY2_DIM1; j++) - for(k = 0; k < ARRAY2_DIM2; k++) - for(l = 0; l < ARRAY2_DIM3; l++) - if(wdata[i][j][k][l] != rdata[i][j][k][l]) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d][%d][%d]=%d, rdata[%d][%d][%d][%d]=%d\n", (int)i, (int)j, (int)k, (int)l, (int)wdata[i][j][k][l], (int)i, (int)j, (int)k, (int)l, (int)rdata[i][j][k][l]); + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY2_DIM1; j++) + for (k = 0; k < ARRAY2_DIM2; k++) + for (l = 0; l < ARRAY2_DIM3; l++) + if (wdata[i][j][k][l] != rdata[i][j][k][l]) { + TestErrPrintf("Array data information doesn't match!, wdata[%d][%d][%d][%d]=%d, " + "rdata[%d][%d][%d][%d]=%d\n", + (int)i, (int)j, (int)k, (int)l, (int)wdata[i][j][k][l], (int)i, (int)j, + (int)k, (int)l, (int)rdata[i][j][k][l]); continue; } /* end if */ @@ -381,7 +379,6 @@ test_array_atomic_3d(void) } /* end test_array_atomic_3d() */ - /*------------------------------------------------------------------------- * Function: test_array_array_atomic * @@ -395,31 +392,31 @@ test_array_atomic_3d(void) static void test_array_array_atomic(void) { - int wdata[SPACE1_DIM1][ARRAY1_DIM1][ARRAY3_DIM1][ARRAY3_DIM2]; /* Information to write */ - int rdata[SPACE1_DIM1][ARRAY1_DIM1][ARRAY3_DIM1][ARRAY3_DIM2]; /* Information read in */ - hid_t fid; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid; /* Dataspace ID */ - hid_t tid1; /* 1-D array Datatype ID */ - hid_t tid2; /* 2-D array Datatype ID */ - hsize_t sdims1[] = {SPACE1_DIM1}; - hsize_t tdims1[] = {ARRAY1_DIM1}; - hsize_t tdims2[] = {ARRAY3_DIM1,ARRAY3_DIM2}; - int ndims1; /* Array rank for reading */ - int ndims2; /* Array rank for reading */ - hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ - hsize_t rdims2[H5S_MAX_RANK]; /* Array dimensions for reading */ - int i,j,k,l; /* counting variables */ - herr_t ret; /* Generic return value */ + int wdata[SPACE1_DIM1][ARRAY1_DIM1][ARRAY3_DIM1][ARRAY3_DIM2]; /* Information to write */ + int rdata[SPACE1_DIM1][ARRAY1_DIM1][ARRAY3_DIM1][ARRAY3_DIM2]; /* Information read in */ + hid_t fid; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid; /* Dataspace ID */ + hid_t tid1; /* 1-D array Datatype ID */ + hid_t tid2; /* 2-D array Datatype ID */ + hsize_t sdims1[] = {SPACE1_DIM1}; + hsize_t tdims1[] = {ARRAY1_DIM1}; + hsize_t tdims2[] = {ARRAY3_DIM1, ARRAY3_DIM2}; + int ndims1; /* Array rank for reading */ + int ndims2; /* Array rank for reading */ + hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ + hsize_t rdims2[H5S_MAX_RANK]; /* Array dimensions for reading */ + int i, j, k, l; /* counting variables */ + herr_t ret; /* Generic return value */ /* Output message about test being performed */ MESSAGE(5, ("Testing 1-D Array 2-D Arrays of Atomic Datatypes Functionality\n")); /* Allocate and initialize array data to write */ - for(i = 0; i < SPACE1_DIM1; i++) - for(j = 0; j < ARRAY1_DIM1; j++) - for(k = 0; k < ARRAY3_DIM1; k++) - for(l = 0; l < ARRAY3_DIM2; l++) + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) + for (k = 0; k < ARRAY3_DIM1; k++) + for (l = 0; l < ARRAY3_DIM2; l++) wdata[i][j][k][l] = i * 1000 + j * 100 + k * 10 + l; /* Create file */ @@ -464,7 +461,6 @@ test_array_array_atomic(void) ret = H5Fclose(fid); CHECK(ret, FAIL, "H5Fclose"); - /* Re-open file */ fid = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT); CHECK(fid, FAIL, "H5Fopen"); @@ -486,9 +482,10 @@ test_array_array_atomic(void) CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i = 0; i < ndims1; i++) - if(rdims1[i] != tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); + for (i = 0; i < ndims1; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ @@ -505,9 +502,10 @@ test_array_array_atomic(void) CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i = 0; i < ndims2; i++) - if(rdims2[i] != tdims2[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims2[%d]=%d, tdims2[%d]=%d\n", (int)i, (int)rdims2[i], (int)i, (int)tdims2[i]); + for (i = 0; i < ndims2; i++) + if (rdims2[i] != tdims2[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims2[%d]=%d, tdims2[%d]=%d\n", + (int)i, (int)rdims2[i], (int)i, (int)tdims2[i]); continue; } /* end if */ @@ -516,12 +514,15 @@ test_array_array_atomic(void) CHECK(ret, FAIL, "H5Dread"); /* Compare data read in */ - for(i = 0; i < SPACE1_DIM1; i++) - for(j = 0; j < ARRAY1_DIM1; j++) - for(k = 0; k < ARRAY3_DIM1; k++) - for(l = 0; l < ARRAY3_DIM2; l++) - if(wdata[i][j][k][l] != rdata[i][j][k][l]) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d][%d][%d]=%d, rdata[%d][%d][%d][%d]=%d\n", (int)i, (int)j, (int)k, (int)l, (int)wdata[i][j][k][l], (int)i, (int)j, (int)k, (int)l, (int)rdata[i][j][k][l]); + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) + for (k = 0; k < ARRAY3_DIM1; k++) + for (l = 0; l < ARRAY3_DIM2; l++) + if (wdata[i][j][k][l] != rdata[i][j][k][l]) { + TestErrPrintf("Array data information doesn't match!, wdata[%d][%d][%d][%d]=%d, " + "rdata[%d][%d][%d][%d]=%d\n", + (int)i, (int)j, (int)k, (int)l, (int)wdata[i][j][k][l], (int)i, (int)j, + (int)k, (int)l, (int)rdata[i][j][k][l]); continue; } /* end if */ @@ -540,7 +541,6 @@ test_array_array_atomic(void) CHECK(ret, FAIL, "H5Fclose"); } /* end test_array_array_atomic() */ - /*------------------------------------------------------------------------- * Function: test_array_compound_atomic * @@ -554,35 +554,35 @@ test_array_array_atomic(void) static void test_array_compound_atomic(void) { - typedef struct { /* Typedef for compound datatype */ - int i; + typedef struct { /* Typedef for compound datatype */ + int i; float f; } s1_t; - s1_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - s1_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1; /* Array Datatype ID */ - hid_t tid2; /* Compound Datatype ID */ - hsize_t sdims1[] = {SPACE1_DIM1}; - hsize_t tdims1[] = {ARRAY1_DIM1}; - int ndims; /* Array rank for reading */ - hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ - int nmemb; /* Number of compound members */ - char *mname; /* Name of compound field */ - size_t off; /* Offset of compound field */ - hid_t mtid; /* Datatype ID for field */ - int i,j; /* counting variables */ - herr_t ret; /* Generic return value */ + s1_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + s1_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1; /* Array Datatype ID */ + hid_t tid2; /* Compound Datatype ID */ + hsize_t sdims1[] = {SPACE1_DIM1}; + hsize_t tdims1[] = {ARRAY1_DIM1}; + int ndims; /* Array rank for reading */ + hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ + int nmemb; /* Number of compound members */ + char * mname; /* Name of compound field */ + size_t off; /* Offset of compound field */ + hid_t mtid; /* Datatype ID for field */ + int i, j; /* counting variables */ + herr_t ret; /* Generic return value */ /* Output message about test being performed */ MESSAGE(5, ("Testing 1-D Array of Compound Atomic Datatypes Functionality\n")); /* Initialize array data to write */ - for(i = 0; i < SPACE1_DIM1; i++) - for(j = 0; j < ARRAY1_DIM1; j++) { + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) { wdata[i][j].i = i * 10 + j; wdata[i][j].f = (float)i * 2.5F + (float)j; } /* end for */ @@ -639,7 +639,6 @@ test_array_compound_atomic(void) ret = H5Fclose(fid1); CHECK(ret, FAIL, "H5Fclose"); - /* Re-open file */ fid1 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT); CHECK(fid1, FAIL, "H5Fopen"); @@ -654,31 +653,32 @@ test_array_compound_atomic(void) /* Check the array rank */ ndims = H5Tget_array_ndims(tid1); - VERIFY(ndims,ARRAY1_RANK,"H5Tget_array_ndims"); + VERIFY(ndims, ARRAY1_RANK, "H5Tget_array_ndims"); /* Get the array dimensions */ ret = H5Tget_array_dims2(tid1, rdims1); CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i = 0; i < ndims; i++) - if(rdims1[i] != tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ /* Get the compound datatype */ - tid2 = H5Tget_super (tid1); + tid2 = H5Tget_super(tid1); CHECK(tid2, FAIL, "H5Tget_super"); /* Check the number of members */ nmemb = H5Tget_nmembers(tid2); - VERIFY(nmemb,2,"H5Tget_nmembers"); + VERIFY(nmemb, 2, "H5Tget_nmembers"); /* Check the 1st field's name */ mname = H5Tget_member_name(tid2, 0); CHECK_PTR(mname, "H5Tget_member_name"); - if(HDstrcmp(mname, "i") != 0) + if (HDstrcmp(mname, "i") != 0) TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); H5free_memory(mname); @@ -689,7 +689,7 @@ test_array_compound_atomic(void) /* Check the 1st field's datatype */ mtid = H5Tget_member_type(tid2, 0); CHECK(mtid, FAIL, "H5Tget_member_type"); - if((ret = H5Tequal(mtid,H5T_NATIVE_INT)) <= 0) + if ((ret = H5Tequal(mtid, H5T_NATIVE_INT)) <= 0) TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); @@ -697,7 +697,7 @@ test_array_compound_atomic(void) /* Check the 2nd field's name */ mname = H5Tget_member_name(tid2, 1); CHECK_PTR(mname, "H5Tget_member_name"); - if(HDstrcmp(mname, "f") != 0) + if (HDstrcmp(mname, "f") != 0) TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); H5free_memory(mname); @@ -708,7 +708,7 @@ test_array_compound_atomic(void) /* Check the 2nd field's datatype */ mtid = H5Tget_member_type(tid2, 1); CHECK(mtid, FAIL, "H5Tget_member_type"); - if((ret = H5Tequal(mtid, H5T_NATIVE_FLOAT)) <= 0) + if ((ret = H5Tequal(mtid, H5T_NATIVE_FLOAT)) <= 0) TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); @@ -722,17 +722,21 @@ test_array_compound_atomic(void) CHECK(ret, FAIL, "H5Dread"); /* Compare data read in */ - for(i = 0; i < SPACE1_DIM1; i++) - for(j = 0; j < ARRAY1_DIM1; j++) { - if(wdata[i][j].i != rdata[i][j].i) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].i=%d, rdata[%d][%d].i=%d\n", (int)i, (int)j, (int)wdata[i][j].i, (int)i, (int)j, (int)rdata[i][j].i); + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) { + if (wdata[i][j].i != rdata[i][j].i) { + TestErrPrintf( + "Array data information doesn't match!, wdata[%d][%d].i=%d, rdata[%d][%d].i=%d\n", (int)i, + (int)j, (int)wdata[i][j].i, (int)i, (int)j, (int)rdata[i][j].i); continue; } /* end if */ - if(!H5_FLT_ABS_EQUAL(wdata[i][j].f, rdata[i][j].f)) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].f=%f, rdata[%d][%d].f=%f\n", (int)i, (int)j, (double)wdata[i][j].f, (int)i, (int)j, (double)rdata[i][j].f); + if (!H5_FLT_ABS_EQUAL(wdata[i][j].f, rdata[i][j].f)) { + TestErrPrintf( + "Array data information doesn't match!, wdata[%d][%d].f=%f, rdata[%d][%d].f=%f\n", (int)i, + (int)j, (double)wdata[i][j].f, (int)i, (int)j, (double)rdata[i][j].f); continue; } /* end if */ - } /* end for */ + } /* end for */ /* Close Datatype */ ret = H5Tclose(tid1); @@ -747,7 +751,6 @@ test_array_compound_atomic(void) CHECK(ret, FAIL, "H5Fclose"); } /* end test_array_compound_atomic() */ - /*------------------------------------------------------------------------- * Function: test_array_compound_array * @@ -761,39 +764,39 @@ test_array_compound_atomic(void) static void test_array_compound_array(void) { - typedef struct { /* Typedef for compound datatype */ - int i; + typedef struct { /* Typedef for compound datatype */ + int i; float f[ARRAY1_DIM1]; } s1_t; - s1_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - s1_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1; /* Array Datatype ID */ - hid_t tid2; /* Compound Datatype ID */ - hid_t tid3; /* Nested Array Datatype ID */ + s1_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + s1_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1; /* Array Datatype ID */ + hid_t tid2; /* Compound Datatype ID */ + hid_t tid3; /* Nested Array Datatype ID */ hsize_t sdims1[] = {SPACE1_DIM1}; hsize_t tdims1[] = {ARRAY1_DIM1}; - int ndims; /* Array rank for reading */ - hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ - int nmemb; /* Number of compound members */ - char *mname; /* Name of compound field */ - size_t off; /* Offset of compound field */ - hid_t mtid; /* Datatype ID for field */ - H5T_class_t mclass; /* Datatype class for field */ - int i,j,k; /* counting variables */ - herr_t ret; /* Generic return value */ + int ndims; /* Array rank for reading */ + hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ + int nmemb; /* Number of compound members */ + char * mname; /* Name of compound field */ + size_t off; /* Offset of compound field */ + hid_t mtid; /* Datatype ID for field */ + H5T_class_t mclass; /* Datatype class for field */ + int i, j, k; /* counting variables */ + herr_t ret; /* Generic return value */ /* Output message about test being performed */ MESSAGE(5, ("Testing 1-D Array of Compound Array Datatypes Functionality\n")); /* Initialize array data to write */ - for(i=0; i<SPACE1_DIM1; i++) - for(j=0; j<ARRAY1_DIM1; j++) { - wdata[i][j].i=i*10+j; - for(k=0; k<ARRAY1_DIM1; k++) + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) { + wdata[i][j].i = i * 10 + j; + for (k = 0; k < ARRAY1_DIM1; k++) wdata[i][j].f[k] = (float)i * 10.0F + (float)j * 2.5F + (float)k; } /* end for */ @@ -810,7 +813,7 @@ test_array_compound_array(void) CHECK(tid2, FAIL, "H5Tcreate"); /* Insert integer field */ - ret = H5Tinsert (tid2, "i", HOFFSET(s1_t,i), H5T_NATIVE_INT); + ret = H5Tinsert(tid2, "i", HOFFSET(s1_t, i), H5T_NATIVE_INT); CHECK(ret, FAIL, "H5Tinsert"); /* Create an array of floats datatype */ @@ -857,7 +860,6 @@ test_array_compound_array(void) ret = H5Fclose(fid1); CHECK(ret, FAIL, "H5Fclose"); - /* Re-open file */ fid1 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT); CHECK(fid1, FAIL, "H5Fopen"); @@ -867,98 +869,100 @@ test_array_compound_array(void) CHECK(dataset, FAIL, "H5Dopen2"); /* Get the datatype */ - tid1 = H5Dget_type (dataset); + tid1 = H5Dget_type(dataset); CHECK(tid1, FAIL, "H5Dget_type"); /* Check the array rank */ - ndims=H5Tget_array_ndims(tid1); - VERIFY(ndims,ARRAY1_RANK,"H5Tget_array_ndims"); + ndims = H5Tget_array_ndims(tid1); + VERIFY(ndims, ARRAY1_RANK, "H5Tget_array_ndims"); /* Get the array dimensions */ ret = H5Tget_array_dims2(tid1, rdims1); CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i=0; i<ndims; i++) - if(rdims1[i]!=tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n",(int)i,(int)rdims1[i],(int)i,(int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ /* Get the compound datatype */ - tid2 = H5Tget_super (tid1); + tid2 = H5Tget_super(tid1); CHECK(tid2, FAIL, "H5Tget_super"); /* Check the number of members */ - nmemb=H5Tget_nmembers(tid2); - VERIFY(nmemb,2,"H5Tget_nmembers"); + nmemb = H5Tget_nmembers(tid2); + VERIFY(nmemb, 2, "H5Tget_nmembers"); /* Check the 1st field's name */ - mname=H5Tget_member_name(tid2,0); + mname = H5Tget_member_name(tid2, 0); CHECK_PTR(mname, "H5Tget_member_name"); - if(HDstrcmp(mname,"i")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); + if (HDstrcmp(mname, "i") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); H5free_memory(mname); /* Check the 1st field's offset */ - off=H5Tget_member_offset(tid2,0); - VERIFY(off, HOFFSET(s1_t,i), "H5Tget_member_offset"); + off = H5Tget_member_offset(tid2, 0); + VERIFY(off, HOFFSET(s1_t, i), "H5Tget_member_offset"); /* Check the 1st field's datatype */ - mtid=H5Tget_member_type(tid2,0); + mtid = H5Tget_member_type(tid2, 0); CHECK(mtid, FAIL, "H5Tget_member_type"); - if((ret=H5Tequal(mtid,H5T_NATIVE_INT))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); - ret=H5Tclose(mtid); + if ((ret = H5Tequal(mtid, H5T_NATIVE_INT)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); + ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); /* Check the 2nd field's name */ - mname=H5Tget_member_name(tid2,1); + mname = H5Tget_member_name(tid2, 1); CHECK_PTR(mname, "H5Tget_member_name"); - if(HDstrcmp(mname,"f")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); + if (HDstrcmp(mname, "f") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); H5free_memory(mname); /* Check the 2nd field's offset */ - off=H5Tget_member_offset(tid2,1); - VERIFY(off, HOFFSET(s1_t,f), "H5Tget_member_offset"); + off = H5Tget_member_offset(tid2, 1); + VERIFY(off, HOFFSET(s1_t, f), "H5Tget_member_offset"); /* Check the 2nd field's datatype */ - mtid=H5Tget_member_type(tid2,1); + mtid = H5Tget_member_type(tid2, 1); CHECK(mtid, FAIL, "H5Tget_member_type"); /* Get the 2nd field's class */ - mclass=H5Tget_class(mtid); + mclass = H5Tget_class(mtid); VERIFY(mclass, H5T_ARRAY, "H5Tget_class"); /* Check the array rank */ - ndims=H5Tget_array_ndims(mtid); - VERIFY(ndims,ARRAY1_RANK,"H5Tget_array_ndims"); + ndims = H5Tget_array_ndims(mtid); + VERIFY(ndims, ARRAY1_RANK, "H5Tget_array_ndims"); /* Get the array dimensions */ ret = H5Tget_array_dims2(mtid, rdims1); CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i=0; i<ndims; i++) - if(rdims1[i]!=tdims1[i]) { - TestErrPrintf("Nested array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n",(int)i,(int)rdims1[i],(int)i,(int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Nested array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ /* Check the nested array's datatype */ - tid3=H5Tget_super(mtid); + tid3 = H5Tget_super(mtid); CHECK(tid3, FAIL, "H5Tget_super"); - if((ret=H5Tequal(tid3,H5T_NATIVE_FLOAT))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); + if ((ret = H5Tequal(tid3, H5T_NATIVE_FLOAT)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); /* Close the array's base type datatype */ - ret=H5Tclose(tid3); + ret = H5Tclose(tid3); CHECK(mtid, FAIL, "H5Tclose"); /* Close the member datatype */ - ret=H5Tclose(mtid); + ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); /* Close Compound Datatype */ @@ -966,23 +970,28 @@ test_array_compound_array(void) CHECK(ret, FAIL, "H5Tclose"); /* Read dataset from disk */ - ret=H5Dread(dataset,tid1,H5S_ALL,H5S_ALL,H5P_DEFAULT,rdata); + ret = H5Dread(dataset, tid1, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata); CHECK(ret, FAIL, "H5Dread"); /* Compare data read in */ - for(i=0; i<SPACE1_DIM1; i++) { - for(j=0; j<ARRAY1_DIM1; j++) { - if(wdata[i][j].i!=rdata[i][j].i) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].i=%d, rdata[%d][%d].i=%d\n",(int)i,(int)j,(int)wdata[i][j].i,(int)i,(int)j,(int)rdata[i][j].i); + for (i = 0; i < SPACE1_DIM1; i++) { + for (j = 0; j < ARRAY1_DIM1; j++) { + if (wdata[i][j].i != rdata[i][j].i) { + TestErrPrintf( + "Array data information doesn't match!, wdata[%d][%d].i=%d, rdata[%d][%d].i=%d\n", (int)i, + (int)j, (int)wdata[i][j].i, (int)i, (int)j, (int)rdata[i][j].i); continue; } /* end if */ - for(k=0; k<ARRAY1_DIM1; k++) - if(!H5_FLT_ABS_EQUAL(wdata[i][j].f[k],rdata[i][j].f[k])) { - TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].f[%d]=%f, rdata[%d][%d].f[%d]=%f\n",(int)i,(int)j,(int)k,(double)wdata[i][j].f[k],(int)i,(int)j,(int)k,(double)rdata[i][j].f[k]); + for (k = 0; k < ARRAY1_DIM1; k++) + if (!H5_FLT_ABS_EQUAL(wdata[i][j].f[k], rdata[i][j].f[k])) { + TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].f[%d]=%f, " + "rdata[%d][%d].f[%d]=%f\n", + (int)i, (int)j, (int)k, (double)wdata[i][j].f[k], (int)i, (int)j, (int)k, + (double)rdata[i][j].f[k]); continue; } /* end if */ - } /* end for */ - } /* end for */ + } /* end for */ + } /* end for */ /* Close Datatype */ ret = H5Tclose(tid1); @@ -1026,9 +1035,9 @@ test_array_compound_array(void) void * test_array_alloc_custom(size_t size, void *info) { - void *ret_value = NULL; /* Pointer to return */ - size_t *mem_used = (size_t *)info; /* Pointer to the memory used */ - size_t extra; /* Extra space needed */ + void * ret_value = NULL; /* Pointer to return */ + size_t *mem_used = (size_t *)info; /* Pointer to the memory used */ + size_t extra; /* Extra space needed */ /* * This weird contortion is required on the DEC Alpha to keep the @@ -1036,7 +1045,7 @@ test_array_alloc_custom(size_t size, void *info) */ extra = MAX(sizeof(void *), sizeof(size_t)); - if((ret_value = HDmalloc(extra+size)) != NULL) { + if ((ret_value = HDmalloc(extra + size)) != NULL) { *(size_t *)ret_value = size; *mem_used += size; } /* end if */ @@ -1045,7 +1054,6 @@ test_array_alloc_custom(size_t size, void *info) return ret_value; } /* end test_array_alloc_custom() */ - /*------------------------------------------------------------------------- * Function: test_array_free_custom * @@ -1062,9 +1070,9 @@ test_array_alloc_custom(size_t size, void *info) void test_array_free_custom(void *_mem, void *info) { - unsigned char *mem = NULL; /* Pointer to mem to be freed */ - size_t *mem_used = (size_t *)info; /* Pointer to the memory used */ - size_t extra; /* Extra space needed */ + unsigned char *mem = NULL; /* Pointer to mem to be freed */ + size_t * mem_used = (size_t *)info; /* Pointer to the memory used */ + size_t extra; /* Extra space needed */ /* * This weird contortion is required on the DEC Alpha to keep the @@ -1072,7 +1080,7 @@ test_array_free_custom(void *_mem, void *info) */ extra = MAX(sizeof(void *), sizeof(size_t)); - if(_mem != NULL) { + if (_mem != NULL) { mem = ((unsigned char *)_mem) - extra; *mem_used -= *(size_t *)((void *)mem); HDfree(mem); @@ -1081,7 +1089,6 @@ test_array_free_custom(void *_mem, void *info) return; } /* end test_array_free_custom() */ - /*------------------------------------------------------------------------- * Function: test_array_vlen_atomic * @@ -1095,35 +1102,35 @@ test_array_free_custom(void *_mem, void *info) static void test_array_vlen_atomic(void) { - hvl_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - hvl_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1; /* Array Datatype ID */ - hid_t tid2; /* VL Datatype ID */ - hid_t tid3; /* Atomic Datatype ID */ + hvl_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + hvl_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1; /* Array Datatype ID */ + hid_t tid2; /* VL Datatype ID */ + hid_t tid3; /* Atomic Datatype ID */ hsize_t sdims1[] = {SPACE1_DIM1}; hsize_t tdims1[] = {ARRAY1_DIM1}; - int ndims; /* Array rank for reading */ - hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ - H5T_class_t mclass; /* Datatype class for VL */ - hid_t xfer_pid; /* Dataset transfer property list ID */ - hsize_t size; /* Number of bytes which will be used */ - size_t mem_used=0; /* Memory used during allocation */ - int i,j,k; /* counting variables */ - herr_t ret; /* Generic return value */ + int ndims; /* Array rank for reading */ + hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ + H5T_class_t mclass; /* Datatype class for VL */ + hid_t xfer_pid; /* Dataset transfer property list ID */ + hsize_t size; /* Number of bytes which will be used */ + size_t mem_used = 0; /* Memory used during allocation */ + int i, j, k; /* counting variables */ + herr_t ret; /* Generic return value */ /* Output message about test being performed */ MESSAGE(5, ("Testing 1-D Array of Atomic Variable-Length Datatypes Functionality\n")); /* Initialize array data to write */ - for(i=0; i<SPACE1_DIM1; i++) - for(j=0; j<ARRAY1_DIM1; j++) { - wdata[i][j].p=HDmalloc((size_t)(i+j+1) * sizeof(unsigned int)); - wdata[i][j].len = (size_t)(i+j+1); - for(k=0; k<(i+j+1); k++) - ((unsigned int *)wdata[i][j].p)[k] = (unsigned int)(i*100+j*10+k); + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) { + wdata[i][j].p = HDmalloc((size_t)(i + j + 1) * sizeof(unsigned int)); + wdata[i][j].len = (size_t)(i + j + 1); + for (k = 0; k < (i + j + 1); k++) + ((unsigned int *)wdata[i][j].p)[k] = (unsigned int)(i * 100 + j * 10 + k); } /* end for */ /* Create file */ @@ -1170,7 +1177,6 @@ test_array_vlen_atomic(void) ret = H5Fclose(fid1); CHECK(ret, FAIL, "H5Fclose"); - /* Re-open file */ fid1 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT); CHECK(fid1, FAIL, "H5Fopen"); @@ -1180,45 +1186,46 @@ test_array_vlen_atomic(void) CHECK(dataset, FAIL, "H5Dopen2"); /* Get the dataspace */ - sid1 = H5Dget_space (dataset); + sid1 = H5Dget_space(dataset); CHECK(sid1, FAIL, "H5Dget_space"); /* Get the datatype */ - tid1 = H5Dget_type (dataset); + tid1 = H5Dget_type(dataset); CHECK(tid1, FAIL, "H5Dget_type"); /* Check the array rank */ - ndims=H5Tget_array_ndims(tid1); - VERIFY(ndims,ARRAY1_RANK,"H5Tget_array_ndims"); + ndims = H5Tget_array_ndims(tid1); + VERIFY(ndims, ARRAY1_RANK, "H5Tget_array_ndims"); /* Get the array dimensions */ ret = H5Tget_array_dims2(tid1, rdims1); CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i=0; i<ndims; i++) - if(rdims1[i]!=tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n",(int)i,(int)rdims1[i],(int)i,(int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ /* Get the VL datatype */ - tid2 = H5Tget_super (tid1); + tid2 = H5Tget_super(tid1); CHECK(tid2, FAIL, "H5Tget_super"); /* Get the 2nd field's class */ - mclass=H5Tget_class(tid2); + mclass = H5Tget_class(tid2); VERIFY(mclass, H5T_VLEN, "H5Tget_class"); /* Check the VL datatype's base type */ - tid3=H5Tget_super(tid2); + tid3 = H5Tget_super(tid2); CHECK(tid3, FAIL, "H5Tget_super"); - if((ret=H5Tequal(tid3,H5T_NATIVE_UINT))<=0) - TestErrPrintf("VL base datatype is incorrect!, ret=%d\n",(int)ret); + if ((ret = H5Tequal(tid3, H5T_NATIVE_UINT)) <= 0) + TestErrPrintf("VL base datatype is incorrect!, ret=%d\n", (int)ret); /* Close the array's base type datatype */ - ret=H5Tclose(tid3); + ret = H5Tclose(tid3); CHECK(ret, FAIL, "H5Tclose"); /* Close VL Datatype */ @@ -1226,56 +1233,61 @@ test_array_vlen_atomic(void) CHECK(ret, FAIL, "H5Tclose"); /* Change to the custom memory allocation routines for reading VL data */ - xfer_pid=H5Pcreate(H5P_DATASET_XFER); + xfer_pid = H5Pcreate(H5P_DATASET_XFER); CHECK(xfer_pid, FAIL, "H5Pcreate"); - ret=H5Pset_vlen_mem_manager(xfer_pid,test_array_alloc_custom,&mem_used,test_array_free_custom,&mem_used); + ret = H5Pset_vlen_mem_manager(xfer_pid, test_array_alloc_custom, &mem_used, test_array_free_custom, + &mem_used); CHECK(ret, FAIL, "H5Pset_vlen_mem_manager"); /* Make certain the correct amount of memory will be used */ - ret=H5Dvlen_get_buf_size(dataset,tid1,sid1,&size); + ret = H5Dvlen_get_buf_size(dataset, tid1, sid1, &size); CHECK(ret, FAIL, "H5Dvlen_get_buf_size"); /* # elements allocated = (1 + 2 + 3 + 4) + (2 + 3 + 4 + 5) + * (3 + 4 + 5 + 6) + (4 + 5 + 6 + 7) = 64 elements */ - VERIFY(size,64*sizeof(unsigned int),"H5Dvlen_get_buf_size"); + VERIFY(size, 64 * sizeof(unsigned int), "H5Dvlen_get_buf_size"); /* Read dataset from disk */ - ret=H5Dread(dataset,tid1,H5S_ALL,H5S_ALL,xfer_pid,rdata); + ret = H5Dread(dataset, tid1, H5S_ALL, H5S_ALL, xfer_pid, rdata); CHECK(ret, FAIL, "H5Dread"); /* Make certain the correct amount of memory has been used */ /* # elements allocated = (1 + 2 + 3 + 4) + (2 + 3 + 4 + 5) + * (3 + 4 + 5 + 6) + (4 + 5 + 6 + 7) = 64 elements */ - VERIFY(mem_used,64*sizeof(unsigned int),"H5Dread"); + VERIFY(mem_used, 64 * sizeof(unsigned int), "H5Dread"); /* Compare data read in */ - for(i=0; i<SPACE1_DIM1; i++) { - for(j=0; j<ARRAY1_DIM1; j++) { - if(wdata[i][j].len!=rdata[i][j].len) { - TestErrPrintf("VL data length don't match!, wdata[%d][%d].len=%d, rdata[%d][%d].len=%d\n",(int)i,(int)j,(int)wdata[i][j].len,(int)i,(int)j,(int)rdata[i][j].len); + for (i = 0; i < SPACE1_DIM1; i++) { + for (j = 0; j < ARRAY1_DIM1; j++) { + if (wdata[i][j].len != rdata[i][j].len) { + TestErrPrintf("VL data length don't match!, wdata[%d][%d].len=%d, rdata[%d][%d].len=%d\n", + (int)i, (int)j, (int)wdata[i][j].len, (int)i, (int)j, (int)rdata[i][j].len); continue; } /* end if */ - for(k=0; k<(int)rdata[i][j].len; k++) { - if( ((unsigned int *)wdata[i][j].p)[k] != ((unsigned int *)rdata[i][j].p)[k] ) { - TestErrPrintf("VL data values don't match!, wdata[%d][%d].p[%d]=%d, rdata[%d][%d].p[%d]=%d\n",(int)i,(int)j,(int)k, (int)((unsigned int *)wdata[i][j].p)[k], (int)i,(int)j,(int)k, (int)((unsigned int *)rdata[i][j].p)[k]); + for (k = 0; k < (int)rdata[i][j].len; k++) { + if (((unsigned int *)wdata[i][j].p)[k] != ((unsigned int *)rdata[i][j].p)[k]) { + TestErrPrintf( + "VL data values don't match!, wdata[%d][%d].p[%d]=%d, rdata[%d][%d].p[%d]=%d\n", + (int)i, (int)j, (int)k, (int)((unsigned int *)wdata[i][j].p)[k], (int)i, (int)j, + (int)k, (int)((unsigned int *)rdata[i][j].p)[k]); continue; } /* end if */ - } /* end for */ - } /* end for */ - } /* end for */ + } /* end for */ + } /* end for */ + } /* end for */ /* Reclaim the read VL data */ - ret=H5Treclaim(tid1,sid1,xfer_pid,rdata); + ret = H5Treclaim(tid1, sid1, xfer_pid, rdata); CHECK(ret, FAIL, "H5Treclaim"); /* Make certain the VL memory has been freed */ - VERIFY(mem_used,0,"H5Treclaim"); + VERIFY(mem_used, 0, "H5Treclaim"); /* Reclaim the write VL data */ - ret=H5Treclaim(tid1,sid1,H5P_DEFAULT,wdata); + ret = H5Treclaim(tid1, sid1, H5P_DEFAULT, wdata); CHECK(ret, FAIL, "H5Treclaim"); /* Close dataset transfer property list */ @@ -1296,7 +1308,6 @@ test_array_vlen_atomic(void) } /* end test_array_vlen_atomic() */ - /*------------------------------------------------------------------------- * Function: test_array_vlen_array * @@ -1310,37 +1321,38 @@ test_array_vlen_atomic(void) static void test_array_vlen_array(void) { - hvl_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - hvl_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1; /* Array Datatype ID */ - hid_t tid2; /* VL Datatype ID */ - hid_t tid3; /* Nested Array Datatype ID */ - hid_t tid4; /* Atomic Datatype ID */ + hvl_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + hvl_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information read in */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1; /* Array Datatype ID */ + hid_t tid2; /* VL Datatype ID */ + hid_t tid3; /* Nested Array Datatype ID */ + hid_t tid4; /* Atomic Datatype ID */ hsize_t sdims1[] = {SPACE1_DIM1}; hsize_t tdims1[] = {ARRAY1_DIM1}; - int ndims; /* Array rank for reading */ - hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ - H5T_class_t mclass; /* Datatype class for VL */ - hid_t xfer_pid; /* Dataset transfer property list ID */ - hsize_t size; /* Number of bytes which will be used */ - size_t mem_used=0; /* Memory used during allocation */ - int i,j,k,l; /* Index variables */ - herr_t ret; /* Generic return value */ + int ndims; /* Array rank for reading */ + hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ + H5T_class_t mclass; /* Datatype class for VL */ + hid_t xfer_pid; /* Dataset transfer property list ID */ + hsize_t size; /* Number of bytes which will be used */ + size_t mem_used = 0; /* Memory used during allocation */ + int i, j, k, l; /* Index variables */ + herr_t ret; /* Generic return value */ /* Output message about test being performed */ MESSAGE(5, ("Testing 1-D Array of 1-D Array Variable-Length Datatypes Functionality\n")); /* Initialize array data to write */ - for(i=0; i<SPACE1_DIM1; i++) - for(j=0; j<ARRAY1_DIM1; j++) { - wdata[i][j].p = HDmalloc((size_t)(i+j+1) * sizeof(unsigned int) * (size_t)ARRAY1_DIM1); - wdata[i][j].len = (size_t)(i+j+1); - for(k=0; k<(i+j+1); k++) - for(l=0; l<ARRAY1_DIM1; l++) - ((unsigned int *)wdata[i][j].p)[k*ARRAY1_DIM1+l] = (unsigned int)(i*1000+j*100+k*10+l); + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) { + wdata[i][j].p = HDmalloc((size_t)(i + j + 1) * sizeof(unsigned int) * (size_t)ARRAY1_DIM1); + wdata[i][j].len = (size_t)(i + j + 1); + for (k = 0; k < (i + j + 1); k++) + for (l = 0; l < ARRAY1_DIM1; l++) + ((unsigned int *)wdata[i][j].p)[k * ARRAY1_DIM1 + l] = + (unsigned int)(i * 1000 + j * 100 + k * 10 + l); } /* Create file */ @@ -1395,7 +1407,6 @@ test_array_vlen_array(void) ret = H5Fclose(fid1); CHECK(ret, FAIL, "H5Fclose"); - /* Re-open file */ fid1 = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT); CHECK(fid1, FAIL, "H5Fopen"); @@ -1405,73 +1416,74 @@ test_array_vlen_array(void) CHECK(dataset, FAIL, "H5Dopen2"); /* Get the dataspace */ - sid1 = H5Dget_space (dataset); + sid1 = H5Dget_space(dataset); CHECK(sid1, FAIL, "H5Dget_space"); /* Get the datatype */ - tid1 = H5Dget_type (dataset); + tid1 = H5Dget_type(dataset); CHECK(tid1, FAIL, "H5Dget_type"); /* Check the array rank */ - ndims=H5Tget_array_ndims(tid1); - VERIFY(ndims,ARRAY1_RANK,"H5Tget_array_ndims"); + ndims = H5Tget_array_ndims(tid1); + VERIFY(ndims, ARRAY1_RANK, "H5Tget_array_ndims"); /* Get the array dimensions */ ret = H5Tget_array_dims2(tid1, rdims1); CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i=0; i<ndims; i++) - if(rdims1[i]!=tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n",(int)i,(int)rdims1[i],(int)i,(int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ /* Get the VL datatype */ - tid2 = H5Tget_super (tid1); + tid2 = H5Tget_super(tid1); CHECK(tid2, FAIL, "H5Tget_super"); /* Get the VL datatype's class */ - mclass=H5Tget_class(tid2); + mclass = H5Tget_class(tid2); VERIFY(mclass, H5T_VLEN, "H5Tget_class"); /* Check the VL datatype's base type */ - tid3=H5Tget_super(tid2); + tid3 = H5Tget_super(tid2); CHECK(tid3, FAIL, "H5Tget_super"); /* Get the nested array datatype's class */ - mclass=H5Tget_class(tid3); + mclass = H5Tget_class(tid3); VERIFY(mclass, H5T_ARRAY, "H5Tget_class"); /* Check the array rank */ - ndims=H5Tget_array_ndims(tid3); - VERIFY(ndims,ARRAY1_RANK,"H5Tget_array_ndims"); + ndims = H5Tget_array_ndims(tid3); + VERIFY(ndims, ARRAY1_RANK, "H5Tget_array_ndims"); /* Get the array dimensions */ ret = H5Tget_array_dims2(tid3, rdims1); CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i=0; i<ndims; i++) - if(rdims1[i]!=tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n",(int)i,(int)rdims1[i],(int)i,(int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ /* Check the array's base type */ - tid4=H5Tget_super(tid3); + tid4 = H5Tget_super(tid3); CHECK(tid4, FAIL, "H5Tget_super"); - - if((ret=H5Tequal(tid4,H5T_NATIVE_UINT))<=0) - TestErrPrintf("VL base datatype is incorrect!, ret=%d\n",(int)ret); + if ((ret = H5Tequal(tid4, H5T_NATIVE_UINT)) <= 0) + TestErrPrintf("VL base datatype is incorrect!, ret=%d\n", (int)ret); /* Close the array's base type datatype */ - ret=H5Tclose(tid4); + ret = H5Tclose(tid4); CHECK(ret, FAIL, "H5Tclose"); /* Close the nested array datatype */ - ret=H5Tclose(tid3); + ret = H5Tclose(tid3); CHECK(ret, FAIL, "H5Tclose"); /* Close VL Datatype */ @@ -1479,58 +1491,66 @@ test_array_vlen_array(void) CHECK(ret, FAIL, "H5Tclose"); /* Change to the custom memory allocation routines for reading VL data */ - xfer_pid=H5Pcreate(H5P_DATASET_XFER); + xfer_pid = H5Pcreate(H5P_DATASET_XFER); CHECK(xfer_pid, FAIL, "H5Pcreate"); - ret=H5Pset_vlen_mem_manager(xfer_pid,test_array_alloc_custom,&mem_used,test_array_free_custom,&mem_used); + ret = H5Pset_vlen_mem_manager(xfer_pid, test_array_alloc_custom, &mem_used, test_array_free_custom, + &mem_used); CHECK(ret, FAIL, "H5Pset_vlen_mem_manager"); /* Make certain the correct amount of memory will be used */ - ret=H5Dvlen_get_buf_size(dataset,tid1,sid1,&size); + ret = H5Dvlen_get_buf_size(dataset, tid1, sid1, &size); CHECK(ret, FAIL, "H5Dvlen_get_buf_size"); /* # elements allocated = (1 + 2 + 3 + 4) + (2 + 3 + 4 + 5) + * (3 + 4 + 5 + 6) + (4 + 5 + 6 + 7) = 64*ARRAY1_DIM1 elements */ - VERIFY(size,64*(sizeof(unsigned int)*ARRAY1_DIM1),"H5Dvlen_get_buf_size"); + VERIFY(size, 64 * (sizeof(unsigned int) * ARRAY1_DIM1), "H5Dvlen_get_buf_size"); /* Read dataset from disk */ - ret=H5Dread(dataset,tid1,H5S_ALL,H5S_ALL,xfer_pid,rdata); + ret = H5Dread(dataset, tid1, H5S_ALL, H5S_ALL, xfer_pid, rdata); CHECK(ret, FAIL, "H5Dread"); /* Make certain the correct amount of memory has been used */ /* # elements allocated = (1 + 2 + 3 + 4) + (2 + 3 + 4 + 5) + * (3 + 4 + 5 + 6) + (4 + 5 + 6 + 7) = 64*ARRAY1_DIM1 elements */ - VERIFY(mem_used,64*(sizeof(unsigned int)*ARRAY1_DIM1),"H5Dread"); + VERIFY(mem_used, 64 * (sizeof(unsigned int) * ARRAY1_DIM1), "H5Dread"); /* Compare data read in */ - for(i=0; i<SPACE1_DIM1; i++) { - for(j=0; j<ARRAY1_DIM1; j++) { - if(wdata[i][j].len!=rdata[i][j].len) { - TestErrPrintf("VL data length don't match!, wdata[%d][%d].len=%d, rdata[%d][%d].len=%d\n",(int)i,(int)j,(int)wdata[i][j].len,(int)i,(int)j,(int)rdata[i][j].len); + for (i = 0; i < SPACE1_DIM1; i++) { + for (j = 0; j < ARRAY1_DIM1; j++) { + if (wdata[i][j].len != rdata[i][j].len) { + TestErrPrintf("VL data length don't match!, wdata[%d][%d].len=%d, rdata[%d][%d].len=%d\n", + (int)i, (int)j, (int)wdata[i][j].len, (int)i, (int)j, (int)rdata[i][j].len); continue; } /* end if */ - for(k=0; k<(int)rdata[i][j].len; k++) { - for(l=0; l<ARRAY1_DIM1; l++) { - if( ((unsigned int *)wdata[i][j].p)[k*ARRAY1_DIM1+l] != ((unsigned int *)rdata[i][j].p)[k*ARRAY1_DIM1+l] ) { - TestErrPrintf("VL data values don't match!, wdata[%d][%d].p[%d][%d]=%d, rdata[%d][%d].p[%d][%d]=%d\n",(int)i,(int)j,(int)k,(int)l, (int)((unsigned int *)wdata[i][j].p)[k*ARRAY1_DIM1+l], (int)i,(int)j,(int)k,(int)l, (int)((unsigned int *)rdata[i][j].p)[k*ARRAY1_DIM1+l]); + for (k = 0; k < (int)rdata[i][j].len; k++) { + for (l = 0; l < ARRAY1_DIM1; l++) { + if (((unsigned int *)wdata[i][j].p)[k * ARRAY1_DIM1 + l] != + ((unsigned int *)rdata[i][j].p)[k * ARRAY1_DIM1 + l]) { + TestErrPrintf("VL data values don't match!, wdata[%d][%d].p[%d][%d]=%d, " + "rdata[%d][%d].p[%d][%d]=%d\n", + (int)i, (int)j, (int)k, (int)l, + (int)((unsigned int *)wdata[i][j].p)[k * ARRAY1_DIM1 + l], (int)i, + (int)j, (int)k, (int)l, + (int)((unsigned int *)rdata[i][j].p)[k * ARRAY1_DIM1 + l]); continue; } /* end if */ - } /* end for */ - } /* end for */ - } /* end for */ - } /* end for */ + } /* end for */ + } /* end for */ + } /* end for */ + } /* end for */ /* Reclaim the read VL data */ - ret=H5Treclaim(tid1,sid1,xfer_pid,rdata); + ret = H5Treclaim(tid1, sid1, xfer_pid, rdata); CHECK(ret, FAIL, "H5Treclaim"); /* Make certain the VL memory has been freed */ - VERIFY(mem_used,0,"H5Treclaim"); + VERIFY(mem_used, 0, "H5Treclaim"); /* Reclaim the write VL data */ - ret=H5Treclaim(tid1,sid1,H5P_DEFAULT,wdata); + ret = H5Treclaim(tid1, sid1, H5P_DEFAULT, wdata); CHECK(ret, FAIL, "H5Treclaim"); /* Close dataset transfer property list */ @@ -1551,7 +1571,6 @@ test_array_vlen_array(void) } /* end test_array_vlen_array() */ - /*------------------------------------------------------------------------- * Function: test_array_bkg * @@ -1566,35 +1585,35 @@ test_array_vlen_array(void) static void test_array_bkg(void) { - herr_t status = -1; + herr_t status = -1; - hid_t fid, array_dt; - hid_t space; - hid_t type; - hid_t dataset; + hid_t fid, array_dt; + hid_t space; + hid_t type; + hid_t dataset; - hsize_t dim[] = {LENGTH}; - hsize_t dima[] = {ALEN}; + hsize_t dim[] = {LENGTH}; + hsize_t dima[] = {ALEN}; - int i, j; - unsigned ndims[3] = {1,1,1}; + int i, j; + unsigned ndims[3] = {1, 1, 1}; typedef struct { - int a[ALEN]; - float b[ALEN]; - double c[ALEN]; + int a[ALEN]; + float b[ALEN]; + double c[ALEN]; } CmpField; - CmpField cf[LENGTH]; - CmpField cfr[LENGTH]; - CmpDTSinfo *dtsinfo = NULL; + CmpField cf[LENGTH]; + CmpField cfr[LENGTH]; + CmpDTSinfo *dtsinfo = NULL; typedef struct { - float b[ALEN]; + float b[ALEN]; } fld_t; - fld_t fld[LENGTH]; - fld_t fldr[LENGTH]; + fld_t fld[LENGTH]; + fld_t fldr[LENGTH]; /* Output message about test being performed */ MESSAGE(5, ("Testing Partial I/O of Array Fields in Compound Datatype Functionality\n")); @@ -1610,8 +1629,7 @@ test_array_bkg(void) cf[i].b[j] = 100.0F * ((float)i + 1.0F) + 0.01F * (float)j; cf[i].c[j] = (double)(100.0F * ((float)i + 1.0F) + 0.02F * (float)j); } /* end for */ - } /* end for */ - + } /* end for */ /* Set the number of data members */ /* ------------------------------ */ @@ -1619,9 +1637,9 @@ test_array_bkg(void) /* Initialize the offsets */ /* ----------------------- */ - dtsinfo->offset[0] = HOFFSET(CmpField, a); - dtsinfo->offset[1] = HOFFSET(CmpField, b); - dtsinfo->offset[2] = HOFFSET(CmpField, c); + dtsinfo->offset[0] = HOFFSET(CmpField, a); + dtsinfo->offset[1] = HOFFSET(CmpField, b); + dtsinfo->offset[2] = HOFFSET(CmpField, c); /* Initialize the data type IDs */ /* ---------------------------- */ @@ -1629,17 +1647,15 @@ test_array_bkg(void) dtsinfo->datatype[1] = H5T_NATIVE_FLOAT; dtsinfo->datatype[2] = H5T_NATIVE_DOUBLE; - /* Initialize the names of data members */ /* ------------------------------------ */ for (i = 0; i < dtsinfo->nsubfields; i++) - dtsinfo->name[i] = (char *)HDcalloc((size_t)20, sizeof(char)); + dtsinfo->name[i] = (char *)HDcalloc((size_t)20, sizeof(char)); HDstrcpy(dtsinfo->name[0], "One"); HDstrcpy(dtsinfo->name[1], "Two"); HDstrcpy(dtsinfo->name[2], "Three"); - /* Create file */ /* ----------- */ fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -1647,22 +1663,21 @@ test_array_bkg(void) /* Create data space */ /* ----------------- */ - space = H5Screate_simple(RANK, dim, NULL); + space = H5Screate_simple(RANK, dim, NULL); CHECK(space, FAIL, "H5Screate_simple"); /* Create the memory data type */ /* --------------------------- */ - type = H5Tcreate(H5T_COMPOUND, sizeof(CmpField)); + type = H5Tcreate(H5T_COMPOUND, sizeof(CmpField)); CHECK(type, FAIL, "H5Tcreate"); - /* Add members to the compound data type */ /* -------------------------------------- */ - for ( i = 0; i < dtsinfo->nsubfields; i++) { + for (i = 0; i < dtsinfo->nsubfields; i++) { array_dt = H5Tarray_create2(dtsinfo->datatype[i], ndims[i], dima); CHECK(array_dt, FAIL, "H5Tarray_create2"); - status = H5Tinsert (type, dtsinfo->name[i], dtsinfo->offset[i], array_dt); + status = H5Tinsert(type, dtsinfo->name[i], dtsinfo->offset[i], array_dt); CHECK(status, FAIL, "H5Tinsert"); status = H5Tclose(array_dt); @@ -1686,28 +1701,29 @@ test_array_bkg(void) /* ------------------- */ for (i = 0; i < LENGTH; i++) { for (j = 0; j < ALEN; j++) { - if(cf[i].a[j]!=cfr[i].a[j]) { - TestErrPrintf("Field a data doesn't match, cf[%d].a[%d]=%d, cfr[%d].a[%d]=%d\n",(int)i,(int)j,(int)cf[i].a[j],(int)i,(int)j,(int)cfr[i].a[j]); + if (cf[i].a[j] != cfr[i].a[j]) { + TestErrPrintf("Field a data doesn't match, cf[%d].a[%d]=%d, cfr[%d].a[%d]=%d\n", (int)i, + (int)j, (int)cf[i].a[j], (int)i, (int)j, (int)cfr[i].a[j]); continue; } /* end if */ - if(!H5_FLT_ABS_EQUAL(cf[i].b[j],cfr[i].b[j])) { - TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].b[j],(int)i,(int)j,(double)cfr[i].b[j]); + if (!H5_FLT_ABS_EQUAL(cf[i].b[j], cfr[i].b[j])) { + TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n", (int)i, + (int)j, (double)cf[i].b[j], (int)i, (int)j, (double)cfr[i].b[j]); continue; } /* end if */ - if(!H5_DBL_ABS_EQUAL(cf[i].c[j],cfr[i].c[j])) { - TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].c[j],(int)i,(int)j,(double)cfr[i].c[j]); + if (!H5_DBL_ABS_EQUAL(cf[i].c[j], cfr[i].c[j])) { + TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n", (int)i, + (int)j, (double)cf[i].c[j], (int)i, (int)j, (double)cfr[i].c[j]); continue; } /* end if */ - } /* end for */ - } /* end for */ - + } /* end for */ + } /* end for */ /* Release memory resources */ /* ------------------------ */ for (i = 0; i < dtsinfo->nsubfields; i++) HDfree(dtsinfo->name[i]); - /* Release IDs */ /* ----------- */ status = H5Tclose(type); @@ -1722,7 +1738,6 @@ test_array_bkg(void) status = H5Fclose(fid); CHECK(status, FAIL, "H5Fclose"); - /******************************/ /* Reopen the file and update */ /******************************/ @@ -1739,33 +1754,34 @@ test_array_bkg(void) array_dt = H5Tarray_create2(H5T_NATIVE_FLOAT, 1, dima); CHECK(array_dt, FAIL, "H5Tarray_create2"); - status = H5Tinsert (type, "Two", HOFFSET(fld_t, b), array_dt); + status = H5Tinsert(type, "Two", HOFFSET(fld_t, b), array_dt); CHECK(status, FAIL, "H5Tinsert"); /* Initialize the data to overwrite */ /* -------------------------------- */ - for (i=0; i< LENGTH; i++) + for (i = 0; i < LENGTH; i++) for (j = 0; j < ALEN; j++) cf[i].b[j] = fld[i].b[j] = 1.313F; - status = H5Dwrite (dataset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, fld); + status = H5Dwrite(dataset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, fld); CHECK(status, FAIL, "H5Dwrite"); /* Read just the field changed */ - status = H5Dread (dataset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, fldr); + status = H5Dread(dataset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, fldr); CHECK(status, FAIL, "H5Dread"); - for (i=0; i< LENGTH; i++) + for (i = 0; i < LENGTH; i++) for (j = 0; j < ALEN; j++) - if(!H5_FLT_ABS_EQUAL(fld[i].b[j],fldr[i].b[j])) { - TestErrPrintf("Field data doesn't match, fld[%d].b[%d]=%f, fldr[%d].b[%d]=%f\n",(int)i,(int)j,(double)fld[i].b[j],(int)i,(int)j,(double)fldr[i].b[j]); + if (!H5_FLT_ABS_EQUAL(fld[i].b[j], fldr[i].b[j])) { + TestErrPrintf("Field data doesn't match, fld[%d].b[%d]=%f, fldr[%d].b[%d]=%f\n", (int)i, + (int)j, (double)fld[i].b[j], (int)i, (int)j, (double)fldr[i].b[j]); continue; } /* end if */ - status = H5Tclose (type); + status = H5Tclose(type); CHECK(status, FAIL, "H5Tclose"); - status = H5Tclose (array_dt); + status = H5Tclose(array_dt); CHECK(status, FAIL, "H5Tclose"); type = H5Dget_type(dataset); @@ -1779,25 +1795,28 @@ test_array_bkg(void) /* ------------------- */ for (i = 0; i < LENGTH; i++) { for (j = 0; j < ALEN; j++) { - if(cf[i].a[j]!=cfr[i].a[j]) { - TestErrPrintf("Field a data doesn't match, cf[%d].a[%d]=%d, cfr[%d].a[%d]=%d\n",(int)i,(int)j,(int)cf[i].a[j],(int)i,(int)j,(int)cfr[i].a[j]); + if (cf[i].a[j] != cfr[i].a[j]) { + TestErrPrintf("Field a data doesn't match, cf[%d].a[%d]=%d, cfr[%d].a[%d]=%d\n", (int)i, + (int)j, (int)cf[i].a[j], (int)i, (int)j, (int)cfr[i].a[j]); continue; } /* end if */ - if(!H5_FLT_ABS_EQUAL(cf[i].b[j],cfr[i].b[j])) { - TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].b[j],(int)i,(int)j,(double)cfr[i].b[j]); + if (!H5_FLT_ABS_EQUAL(cf[i].b[j], cfr[i].b[j])) { + TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n", (int)i, + (int)j, (double)cf[i].b[j], (int)i, (int)j, (double)cfr[i].b[j]); continue; } /* end if */ - if(!H5_DBL_ABS_EQUAL(cf[i].c[j],cfr[i].c[j])) { - TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].c[j],(int)i,(int)j,(double)cfr[i].c[j]); + if (!H5_DBL_ABS_EQUAL(cf[i].c[j], cfr[i].c[j])) { + TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n", (int)i, + (int)j, (double)cf[i].c[j], (int)i, (int)j, (double)cfr[i].c[j]); continue; } /* end if */ - } /* end for */ - } /* end for */ + } /* end for */ + } /* end for */ status = H5Dclose(dataset); CHECK(status, FAIL, "H5Dclose"); - status = H5Tclose (type); + status = H5Tclose(type); CHECK(status, FAIL, "H5Tclose"); status = H5Fclose(fid); @@ -1816,10 +1835,9 @@ test_array_bkg(void) type = H5Dget_type(dataset); CHECK(type, FAIL, "H5Dget_type"); - /* Reset the data to read in */ /* ------------------------- */ - HDmemset(cfr, 0, sizeof(CmpField)*LENGTH); + HDmemset(cfr, 0, sizeof(CmpField) * LENGTH); status = H5Dread(dataset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, cfr); CHECK(status, FAIL, "H5Dread"); @@ -1828,25 +1846,28 @@ test_array_bkg(void) /* ------------------- */ for (i = 0; i < LENGTH; i++) { for (j = 0; j < ALEN; j++) { - if(cf[i].a[j]!=cfr[i].a[j]) { - TestErrPrintf("Field a data doesn't match, cf[%d].a[%d]=%d, cfr[%d].a[%d]=%d\n",(int)i,(int)j,(int)cf[i].a[j],(int)i,(int)j,(int)cfr[i].a[j]); + if (cf[i].a[j] != cfr[i].a[j]) { + TestErrPrintf("Field a data doesn't match, cf[%d].a[%d]=%d, cfr[%d].a[%d]=%d\n", (int)i, + (int)j, (int)cf[i].a[j], (int)i, (int)j, (int)cfr[i].a[j]); continue; } /* end if */ - if(!H5_FLT_ABS_EQUAL(cf[i].b[j],cfr[i].b[j])) { - TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].b[j],(int)i,(int)j,(double)cfr[i].b[j]); + if (!H5_FLT_ABS_EQUAL(cf[i].b[j], cfr[i].b[j])) { + TestErrPrintf("Field b data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n", (int)i, + (int)j, (double)cf[i].b[j], (int)i, (int)j, (double)cfr[i].b[j]); continue; } /* end if */ - if(!H5_DBL_ABS_EQUAL(cf[i].c[j],cfr[i].c[j])) { - TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n",(int)i,(int)j,(double)cf[i].c[j],(int)i,(int)j,(double)cfr[i].c[j]); + if (!H5_DBL_ABS_EQUAL(cf[i].c[j], cfr[i].c[j])) { + TestErrPrintf("Field c data doesn't match, cf[%d].b[%d]=%f, cfr[%d].b[%d]=%f\n", (int)i, + (int)j, (double)cf[i].c[j], (int)i, (int)j, (double)cfr[i].c[j]); continue; } /* end if */ - } /* end for */ - } /* end for */ + } /* end for */ + } /* end for */ status = H5Dclose(dataset); CHECK(status, FAIL, "H5Dclose"); - status = H5Tclose (type); + status = H5Tclose(type); CHECK(status, FAIL, "H5Tclose"); status = H5Fclose(fid); @@ -1855,7 +1876,6 @@ test_array_bkg(void) HDfree(dtsinfo); } /* end test_array_bkg() */ - /*------------------------------------------------------------------------- * Function: test_compat * @@ -1873,20 +1893,20 @@ static void test_compat(void) { const char *testfile = H5_get_srcdir_filename(TESTFILE); /* Corrected test file name */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t tid1; /* Array Datatype ID */ - hid_t tid2; /* Datatype ID */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t tid1; /* Array Datatype ID */ + hid_t tid2; /* Datatype ID */ hsize_t tdims1[] = {ARRAY1_DIM1}; - int ndims; /* Array rank for reading */ - hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ - H5T_class_t mclass; /* Datatype class for VL */ - int nmemb; /* Number of compound members */ - char *mname; /* Name of compound field */ - size_t off; /* Offset of compound field */ - hid_t mtid; /* Datatype ID for field */ - int i; /* Index variables */ - herr_t ret; /* Generic return value */ + int ndims; /* Array rank for reading */ + hsize_t rdims1[H5S_MAX_RANK]; /* Array dimensions for reading */ + H5T_class_t mclass; /* Datatype class for VL */ + int nmemb; /* Number of compound members */ + char * mname; /* Name of compound field */ + size_t off; /* Offset of compound field */ + hid_t mtid; /* Datatype ID for field */ + int i; /* Index variables */ + herr_t ret; /* Generic return value */ /* Output message about test being performed */ MESSAGE(5, ("Testing Array Datatypes Compatibility Functionality\n")); @@ -1906,78 +1926,78 @@ test_compat(void) CHECK_I(fid1, "H5Fopen"); /* Only try to proceed if the file is around */ - if (fid1 >= 0){ + if (fid1 >= 0) { /* Open the first dataset (with no array fields) */ dataset = H5Dopen2(fid1, "Dataset1", H5P_DEFAULT); CHECK_I(dataset, "H5Dopen2"); /* Get the datatype */ - tid1=H5Dget_type(dataset); + tid1 = H5Dget_type(dataset); CHECK_I(tid1, "H5Dget_type"); /* Verify datatype class */ - mclass=H5Tget_class(tid1); + mclass = H5Tget_class(tid1); VERIFY(mclass, H5T_COMPOUND, "H5Tget_class"); /* Get the number of compound datatype fields */ - nmemb=H5Tget_nmembers(tid1); - VERIFY(nmemb,3,"H5Tget_nmembers"); + nmemb = H5Tget_nmembers(tid1); + VERIFY(nmemb, 3, "H5Tget_nmembers"); /* Check the 1st field's name */ - mname=H5Tget_member_name(tid1,0); + mname = H5Tget_member_name(tid1, 0); CHECK_PTR(mname, "H5Tget_member_name"); - if(HDstrcmp(mname,"i")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); + if (HDstrcmp(mname, "i") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); H5free_memory(mname); /* Check the 1st field's offset */ - off=H5Tget_member_offset(tid1,0); + off = H5Tget_member_offset(tid1, 0); VERIFY(off, 0, "H5Tget_member_offset"); /* Check the 1st field's datatype */ - mtid=H5Tget_member_type(tid1,0); + mtid = H5Tget_member_type(tid1, 0); CHECK(mtid, FAIL, "H5Tget_member_type"); - if((ret=H5Tequal(mtid,H5T_STD_I16LE))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); - ret=H5Tclose(mtid); + if ((ret = H5Tequal(mtid, H5T_STD_I16LE)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); + ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); /* Check the 2nd field's name */ - mname=H5Tget_member_name(tid1,1); + mname = H5Tget_member_name(tid1, 1); CHECK_PTR(mname, "H5Tget_member_name"); - if(HDstrcmp(mname,"f")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); + if (HDstrcmp(mname, "f") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); H5free_memory(mname); /* Check the 2nd field's offset */ - off=H5Tget_member_offset(tid1,1); + off = H5Tget_member_offset(tid1, 1); VERIFY(off, 4, "H5Tget_member_offset"); /* Check the 2nd field's datatype */ - mtid=H5Tget_member_type(tid1,1); + mtid = H5Tget_member_type(tid1, 1); CHECK(mtid, FAIL, "H5Tget_member_type"); - if((ret=H5Tequal(mtid,H5T_IEEE_F32LE))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); - ret=H5Tclose(mtid); + if ((ret = H5Tequal(mtid, H5T_IEEE_F32LE)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); + ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); /* Check the 3rd field's name */ - mname=H5Tget_member_name(tid1,2); + mname = H5Tget_member_name(tid1, 2); CHECK_PTR(mname, "H5Tget_member_name"); - if(HDstrcmp(mname,"l")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); + if (HDstrcmp(mname, "l") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); H5free_memory(mname); /* Check the 3rd field's offset */ - off=H5Tget_member_offset(tid1,2); + off = H5Tget_member_offset(tid1, 2); VERIFY(off, 8, "H5Tget_member_offset"); /* Check the 3rd field's datatype */ - mtid=H5Tget_member_type(tid1,2); + mtid = H5Tget_member_type(tid1, 2); CHECK(mtid, FAIL, "H5Tget_member_type"); - if((ret=H5Tequal(mtid,H5T_STD_I32LE))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); - ret=H5Tclose(mtid); + if ((ret = H5Tequal(mtid, H5T_STD_I32LE)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); + ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); /* Close the datatype */ @@ -1988,149 +2008,154 @@ test_compat(void) ret = H5Dclose(dataset); CHECK_I(ret, "H5Dclose"); - /* Open the second dataset (with array fields) */ dataset = H5Dopen2(fid1, "Dataset2", H5P_DEFAULT); CHECK_I(dataset, "H5Dopen2"); /* Get the datatype */ - tid1=H5Dget_type(dataset); + tid1 = H5Dget_type(dataset); CHECK_I(tid1, "H5Dget_type"); /* Verify datatype class */ - mclass=H5Tget_class(tid1); + mclass = H5Tget_class(tid1); VERIFY(mclass, H5T_COMPOUND, "H5Tget_class"); /* Get the number of compound datatype fields */ - nmemb=H5Tget_nmembers(tid1); - VERIFY(nmemb,4,"H5Tget_nmembers"); + nmemb = H5Tget_nmembers(tid1); + VERIFY(nmemb, 4, "H5Tget_nmembers"); /* Check the 1st field's name */ - mname=H5Tget_member_name(tid1,0); + mname = H5Tget_member_name(tid1, 0); CHECK_PTR(mname, "H5Tget_member_name"); - if(mname && HDstrcmp(mname,"i")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); - if(mname) H5free_memory(mname); + if (mname && HDstrcmp(mname, "i") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); + if (mname) + H5free_memory(mname); /* Check the 1st field's offset */ - off=H5Tget_member_offset(tid1,0); + off = H5Tget_member_offset(tid1, 0); VERIFY(off, 0, "H5Tget_member_offset"); /* Check the 1st field's datatype */ - mtid=H5Tget_member_type(tid1,0); + mtid = H5Tget_member_type(tid1, 0); CHECK(mtid, FAIL, "H5Tget_member_type"); - if((ret=H5Tequal(mtid,H5T_STD_I16LE))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); - ret=H5Tclose(mtid); + if ((ret = H5Tequal(mtid, H5T_STD_I16LE)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); + ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); /* Check the 2nd field's name */ - mname=H5Tget_member_name(tid1,1); + mname = H5Tget_member_name(tid1, 1); CHECK_PTR(mname, "H5Tget_member_name"); - if(mname && HDstrcmp(mname,"f")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); - if(mname) H5free_memory(mname); + if (mname && HDstrcmp(mname, "f") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); + if (mname) + H5free_memory(mname); /* Check the 2nd field's offset */ - off=H5Tget_member_offset(tid1,1); + off = H5Tget_member_offset(tid1, 1); VERIFY(off, 4, "H5Tget_member_offset"); /* Check the 2nd field's datatype */ - mtid=H5Tget_member_type(tid1,1); + mtid = H5Tget_member_type(tid1, 1); CHECK(mtid, FAIL, "H5Tget_member_type"); /* Verify datatype class */ - mclass=H5Tget_class(mtid); + mclass = H5Tget_class(mtid); VERIFY(mclass, H5T_ARRAY, "H5Tget_class"); /* Check the array rank */ - ndims=H5Tget_array_ndims(mtid); - VERIFY(ndims,ARRAY1_RANK,"H5Tget_array_ndims"); + ndims = H5Tget_array_ndims(mtid); + VERIFY(ndims, ARRAY1_RANK, "H5Tget_array_ndims"); /* Get the array dimensions */ ret = H5Tget_array_dims2(mtid, rdims1); CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i=0; i<ndims; i++) - if(rdims1[i]!=tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n",(int)i,(int)rdims1[i],(int)i,(int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ /* Check the array's base datatype */ - tid2=H5Tget_super(mtid); + tid2 = H5Tget_super(mtid); CHECK(tid2, FAIL, "H5Tget_super"); - if((ret=H5Tequal(tid2,H5T_IEEE_F32LE))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); - ret=H5Tclose(tid2); + if ((ret = H5Tequal(tid2, H5T_IEEE_F32LE)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); + ret = H5Tclose(tid2); CHECK(ret, FAIL, "H5Tclose"); - ret=H5Tclose(mtid); + ret = H5Tclose(mtid); CHECK(ret, FAIL, "H5Tclose"); /* Check the 3rd field's name */ - mname=H5Tget_member_name(tid1,2); + mname = H5Tget_member_name(tid1, 2); CHECK_PTR(mname, "H5Tget_member_name"); - if(mname && HDstrcmp(mname,"l")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); - if(mname) H5free_memory(mname); + if (mname && HDstrcmp(mname, "l") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); + if (mname) + H5free_memory(mname); /* Check the 3rd field's offset */ - off=H5Tget_member_offset(tid1,2); + off = H5Tget_member_offset(tid1, 2); VERIFY(off, 20, "H5Tget_member_offset"); /* Check the 3rd field's datatype */ - mtid=H5Tget_member_type(tid1,2); + mtid = H5Tget_member_type(tid1, 2); CHECK(mtid, FAIL, "H5Tget_member_type"); /* Verify datatype class */ - mclass=H5Tget_class(mtid); + mclass = H5Tget_class(mtid); VERIFY(mclass, H5T_ARRAY, "H5Tget_class"); /* Check the array rank */ - ndims=H5Tget_array_ndims(mtid); - VERIFY(ndims,ARRAY1_RANK,"H5Tget_array_ndims"); + ndims = H5Tget_array_ndims(mtid); + VERIFY(ndims, ARRAY1_RANK, "H5Tget_array_ndims"); /* Get the array dimensions */ ret = H5Tget_array_dims2(mtid, rdims1); CHECK(ret, FAIL, "H5Tget_array_dims2"); /* Check the array dimensions */ - for(i=0; i<ndims; i++) - if(rdims1[i]!=tdims1[i]) { - TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n",(int)i,(int)rdims1[i],(int)i,(int)tdims1[i]); + for (i = 0; i < ndims; i++) + if (rdims1[i] != tdims1[i]) { + TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%d, tdims1[%d]=%d\n", + (int)i, (int)rdims1[i], (int)i, (int)tdims1[i]); continue; } /* end if */ /* Check the array's base datatype */ - tid2=H5Tget_super(mtid); + tid2 = H5Tget_super(mtid); CHECK(tid2, FAIL, "H5Tget_super"); - if((ret=H5Tequal(tid2,H5T_STD_I32LE))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); - ret=H5Tclose(tid2); + if ((ret = H5Tequal(tid2, H5T_STD_I32LE)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); + ret = H5Tclose(tid2); CHECK(ret, FAIL, "H5Tclose"); - ret=H5Tclose(mtid); + ret = H5Tclose(mtid); CHECK(ret, FAIL, "H5Tclose"); /* Check the 4th field's name */ - mname=H5Tget_member_name(tid1,3); + mname = H5Tget_member_name(tid1, 3); CHECK_PTR(mname, "H5Tget_member_name"); - if(mname && HDstrcmp(mname,"d")!=0) - TestErrPrintf("Compound field name doesn't match!, mname=%s\n",mname); - if(mname) H5free_memory(mname); + if (mname && HDstrcmp(mname, "d") != 0) + TestErrPrintf("Compound field name doesn't match!, mname=%s\n", mname); + if (mname) + H5free_memory(mname); /* Check the 4th field's offset */ - off=H5Tget_member_offset(tid1,3); + off = H5Tget_member_offset(tid1, 3); VERIFY(off, 36, "H5Tget_member_offset"); /* Check the 4th field's datatype */ - mtid=H5Tget_member_type(tid1,3); + mtid = H5Tget_member_type(tid1, 3); CHECK(mtid, FAIL, "H5Tget_member_type"); - if((ret=H5Tequal(mtid,H5T_IEEE_F64LE))<=0) - TestErrPrintf("Compound data type is incorrect!, ret=%d\n",(int)ret); - ret=H5Tclose(mtid); + if ((ret = H5Tequal(mtid, H5T_IEEE_F64LE)) <= 0) + TestErrPrintf("Compound data type is incorrect!, ret=%d\n", (int)ret); + ret = H5Tclose(mtid); CHECK(mtid, FAIL, "H5Tclose"); /* Close the datatype */ @@ -2146,11 +2171,10 @@ test_compat(void) CHECK_I(ret, "H5Fclose"); } /* end if */ else - HDprintf("***cannot open the pre-created compound datatype test file (%s)\n",testfile); + HDprintf("***cannot open the pre-created compound datatype test file (%s)\n", testfile); } /* end test_compat() */ - /*------------------------------------------------------------------------- * Function: test_array * @@ -2167,22 +2191,21 @@ test_array(void) MESSAGE(5, ("Testing Array Datatypes\n")); /* These tests use the same file... */ - test_array_atomic_1d(); /* Test 1-D array of atomic datatypes */ - test_array_atomic_3d(); /* Test 3-D array of atomic datatypes */ - test_array_array_atomic(); /* Test 1-D array of 2-D arrays of atomic datatypes */ - test_array_compound_atomic(); /* Test 1-D array of compound datatypes (with no array fields) */ - test_array_compound_array(); /* Test 1-D array of compound datatypes (with array fields) */ - test_array_vlen_atomic(); /* Test 1-D array of atomic VL datatypes */ - test_array_vlen_array(); /* Test 1-D array of 1-D array VL datatypes */ - test_array_funcs(); /* Test type functions with array types */ + test_array_atomic_1d(); /* Test 1-D array of atomic datatypes */ + test_array_atomic_3d(); /* Test 3-D array of atomic datatypes */ + test_array_array_atomic(); /* Test 1-D array of 2-D arrays of atomic datatypes */ + test_array_compound_atomic(); /* Test 1-D array of compound datatypes (with no array fields) */ + test_array_compound_array(); /* Test 1-D array of compound datatypes (with array fields) */ + test_array_vlen_atomic(); /* Test 1-D array of atomic VL datatypes */ + test_array_vlen_array(); /* Test 1-D array of 1-D array VL datatypes */ + test_array_funcs(); /* Test type functions with array types */ - test_array_bkg(); /* Read compound datatype with array fields and background fields read */ + test_array_bkg(); /* Read compound datatype with array fields and background fields read */ /* This test uses a custom file */ - test_compat(); /* Test compatibility changes for compound datatype fields */ - -} /* end test_array() */ + test_compat(); /* Test compatibility changes for compound datatype fields */ +} /* end test_array() */ /*------------------------------------------------------------------------- * Function: cleanup_array @@ -2201,4 +2224,3 @@ cleanup_array(void) { remove(FILENAME); } /* end cleanup_array() */ - |