diff options
Diffstat (limited to 'tools/test')
55 files changed, 15414 insertions, 15674 deletions
diff --git a/tools/test/h5copy/dynlib_copy.c b/tools/test/h5copy/dynlib_copy.c index 571452e..97bd1f5 100644 --- a/tools/test/h5copy/dynlib_copy.c +++ b/tools/test/h5copy/dynlib_copy.c @@ -17,25 +17,33 @@ #include <stdio.h> #include "H5PLextern.h" -#define H5Z_FILTER_DYNLIBUD 300 -#define MULTIPLIER 3 +#define H5Z_FILTER_DYNLIBUD 300 +#define MULTIPLIER 3 -static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf); +static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, + size_t nbytes, size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_DYNLIBUD[1] = {{ H5Z_CLASS_T_VERS, /* H5Z_class_t version */ H5Z_FILTER_DYNLIBUD, /* Filter id number */ 1, 1, /* Encoding and decoding enabled */ - "dynlibud", /* Filter name for debugging */ + "dynlibud", /* Filter name for debugging */ NULL, /* The "can apply" callback */ NULL, /* The "set local" callback */ - (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ + (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ }}; -H5PL_type_t H5PLget_plugin_type(void) {return H5PL_TYPE_FILTER;} -const void *H5PLget_plugin_info(void) {return H5Z_DYNLIBUD;} +H5PL_type_t +H5PLget_plugin_type(void) +{ + return H5PL_TYPE_FILTER; +} +const void * +H5PLget_plugin_info(void) +{ + return H5Z_DYNLIBUD; +} /*------------------------------------------------------------------------- * Function: H5Z_filter_dynlibud @@ -51,39 +59,37 @@ const void *H5PLget_plugin_info(void) {return H5Z_DYNLIBUD;} *------------------------------------------------------------------------- */ static size_t -H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, - size_t *buf_size, void **buf) +H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, size_t nbytes, + size_t *buf_size, void **buf) { - char *int_ptr = (char *)*buf; /* Pointer to the data values */ - size_t buf_left = *buf_size; /* Amount of data buffer left to process */ + char * int_ptr = (char *)*buf; /* Pointer to the data values */ + size_t buf_left = *buf_size; /* Amount of data buffer left to process */ /* Check for the correct number of parameters */ - if(cd_nelmts > 0) - return(0); + if (cd_nelmts > 0) + return (0); /* Assignment to eliminate unused parameter warning. */ cd_values = cd_values; - if(flags & H5Z_FLAG_REVERSE) { /*read*/ + if (flags & H5Z_FLAG_REVERSE) { /*read*/ /* Subtract the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = temp - MULTIPLIER; + *int_ptr = temp - MULTIPLIER; int_ptr++; buf_left -= sizeof(*int_ptr); - } /* end while */ - } /* end if */ + } /* end while */ + } /* end if */ else { /*write*/ /* Add the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = temp + MULTIPLIER; + *int_ptr = temp + MULTIPLIER; int_ptr++; buf_left -= sizeof(*int_ptr); } /* end while */ - } /* end else */ + } /* end else */ return nbytes; } /* end H5Z_filter_dynlibud() */ - diff --git a/tools/test/h5copy/h5copygentest.c b/tools/test/h5copy/h5copygentest.c index 2a8a575..1327e0f 100644 --- a/tools/test/h5copy/h5copygentest.c +++ b/tools/test/h5copy/h5copygentest.c @@ -18,35 +18,34 @@ #include "H5private.h" /* HDF file names */ -#define HDF_FILE1 "h5copytst.h5" -#define HDF_FILE1_NEW "h5copytst_new.h5" -#define HDF_FILE2 "h5copy_ref.h5" -#define HDF_EXT_SRC_FILE "h5copy_extlinks_src.h5" -#define HDF_EXT_TRG_FILE "h5copy_extlinks_trg.h5" +#define HDF_FILE1 "h5copytst.h5" +#define HDF_FILE1_NEW "h5copytst_new.h5" +#define HDF_FILE2 "h5copy_ref.h5" +#define HDF_EXT_SRC_FILE "h5copy_extlinks_src.h5" +#define HDF_EXT_TRG_FILE "h5copy_extlinks_trg.h5" /* objects in HDF_FILE1 */ -#define DATASET_SIMPLE "simple" -#define DATASET_CHUNK "chunk" -#define DATASET_COMPACT "compact" -#define DATASET_COMPOUND "compound" -#define DATASET_COMPRESSED "compressed" -#define DATASET_NAMED_VL "named_vl" -#define DATASET_NESTED_VL "nested_vl" -#define DATASET_ATTR "dset_attr" -#define ATTR "attr" -#define GROUP_EMPTY "grp_empty" -#define GROUP_DATASETS "grp_dsets" -#define GROUP_NESTED "grp_nested" -#define GROUP_ATTR "grp_attr" +#define DATASET_SIMPLE "simple" +#define DATASET_CHUNK "chunk" +#define DATASET_COMPACT "compact" +#define DATASET_COMPOUND "compound" +#define DATASET_COMPRESSED "compressed" +#define DATASET_NAMED_VL "named_vl" +#define DATASET_NESTED_VL "nested_vl" +#define DATASET_ATTR "dset_attr" +#define ATTR "attr" +#define GROUP_EMPTY "grp_empty" +#define GROUP_DATASETS "grp_dsets" +#define GROUP_NESTED "grp_nested" +#define GROUP_ATTR "grp_attr" /* Obj reference */ -#define OBJ_REF_DS "Dset1" +#define OBJ_REF_DS "Dset1" #define OBJ_REF_GRP "Group" /* Region reference */ #define REG_REF_DS1 "Dset_REGREF" #define REG_REF_DS2 "Dset2" - /*------------------------------------------------------------------------- * Function: gent_simple * @@ -54,11 +53,12 @@ * *------------------------------------------------------------------------- */ -static void gent_simple(hid_t loc_id) +static void +gent_simple(hid_t loc_id) { hid_t sid, did; hsize_t dims[1] = {6}; - int buf[6] = {1,2,3,4,5,6}; + int buf[6] = {1, 2, 3, 4, 5, 6}; /* create dataspace */ sid = H5Screate_simple(1, dims, NULL); @@ -81,12 +81,13 @@ static void gent_simple(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_chunked(hid_t loc_id) +static void +gent_chunked(hid_t loc_id) { hid_t sid, did, pid; - hsize_t dims[1] = {6}; + hsize_t dims[1] = {6}; hsize_t chunk_dims[1] = {2}; - int buf[6] = {1,2,3,4,5,6}; + int buf[6] = {1, 2, 3, 4, 5, 6}; /* create dataspace */ sid = H5Screate_simple(1, dims, NULL); @@ -107,7 +108,6 @@ static void gent_chunked(hid_t loc_id) H5Pclose(pid); } - /*------------------------------------------------------------------------- * Function: gent_compact * @@ -115,18 +115,19 @@ static void gent_chunked(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_compact(hid_t loc_id) +static void +gent_compact(hid_t loc_id) { hid_t sid, did, pid; hsize_t dims[1] = {6}; - int buf[6] = {1,2,3,4,5,6}; + int buf[6] = {1, 2, 3, 4, 5, 6}; /* create dataspace */ sid = H5Screate_simple(1, dims, NULL); /* create property plist */ pid = H5Pcreate(H5P_DATASET_CREATE); - H5Pset_layout (pid,H5D_COMPACT); + H5Pset_layout(pid, H5D_COMPACT); /* create dataset */ did = H5Dcreate2(loc_id, DATASET_COMPACT, H5T_NATIVE_INT, sid, H5P_DEFAULT, pid, H5P_DEFAULT); @@ -140,7 +141,6 @@ static void gent_compact(hid_t loc_id) H5Pclose(pid); } - /*------------------------------------------------------------------------- * Function: gent_compound * @@ -148,10 +148,10 @@ static void gent_compact(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_compound(hid_t loc_id) +static void +gent_compound(hid_t loc_id) { - typedef struct s_t - { + typedef struct s_t { char str1[20]; char str2[20]; } s_t; @@ -167,8 +167,8 @@ static void gent_compound(hid_t loc_id) tid_s = H5Tcopy(H5T_C_S1); H5Tset_size(tid_s, 20); - H5Tinsert(tid_c, "str1", HOFFSET(s_t,str1), tid_s); - H5Tinsert(tid_c, "str2", HOFFSET(s_t,str2), tid_s); + H5Tinsert(tid_c, "str1", HOFFSET(s_t, str1), tid_s); + H5Tinsert(tid_c, "str2", HOFFSET(s_t, str2), tid_s); /* create dataset */ did = H5Dcreate2(loc_id, DATASET_COMPOUND, tid_c, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -190,12 +190,13 @@ static void gent_compound(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_compressed(hid_t loc_id) +static void +gent_compressed(hid_t loc_id) { hid_t sid, did, pid; - hsize_t dims[1] = {6}; + hsize_t dims[1] = {6}; hsize_t chunk_dims[1] = {2}; - int buf[6] = {1,2,3,4,5,6}; + int buf[6] = {1, 2, 3, 4, 5, 6}; /* create dataspace */ sid = H5Screate_simple(1, dims, NULL); @@ -205,7 +206,7 @@ static void gent_compressed(hid_t loc_id) H5Pset_chunk(pid, 1, chunk_dims); /* set the deflate filter */ -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) H5Pset_deflate(pid, 1); #endif @@ -221,7 +222,6 @@ static void gent_compressed(hid_t loc_id) H5Pclose(pid); } - /*------------------------------------------------------------------------- * Function: gent_named_vl * @@ -230,20 +230,21 @@ static void gent_compressed(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_named_vl(hid_t loc_id) +static void +gent_named_vl(hid_t loc_id) { hid_t sid, did, tid; hsize_t dims[1] = {2}; hvl_t buf[2]; /* allocate and initialize VL dataset to write */ - buf[0].len = 1; - buf[0].p = HDmalloc( 1 * sizeof(int)); - ((int *)buf[0].p)[0]=1; - buf[1].len = 2; - buf[1].p = HDmalloc( 2 * sizeof(int)); - ((int *)buf[1].p)[0]=2; - ((int *)buf[1].p)[1]=3; + buf[0].len = 1; + buf[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf[0].p)[0] = 1; + buf[1].len = 2; + buf[1].p = HDmalloc(2 * sizeof(int)); + ((int *)buf[1].p)[0] = 2; + ((int *)buf[1].p)[1] = 3; /* create dataspace */ sid = H5Screate_simple(1, dims, NULL); @@ -261,13 +262,12 @@ static void gent_named_vl(hid_t loc_id) H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); /* close */ - H5Treclaim(tid,sid,H5P_DEFAULT,buf); + H5Treclaim(tid, sid, H5P_DEFAULT, buf); H5Sclose(sid); H5Dclose(did); H5Tclose(tid); } - /*------------------------------------------------------------------------- * Function: gent_nested_vl * @@ -275,28 +275,29 @@ static void gent_named_vl(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_nested_vl(hid_t loc_id) +static void +gent_nested_vl(hid_t loc_id) { hid_t sid, did, tid1, tid2; hsize_t dims[1] = {2}; hvl_t buf[2]; - hvl_t *tvl; + hvl_t * tvl; /* allocate and initialize VL dataset to write */ - buf[0].len = 1; - buf[0].p = HDmalloc( 1 * sizeof(hvl_t)); - tvl = (hvl_t *)buf[0].p; - tvl->p = HDmalloc( 1 * sizeof(int) ); - tvl->len = 1; - ((int *)tvl->p)[0]=1; - - buf[1].len = 1; - buf[1].p = HDmalloc( 1 * sizeof(hvl_t)); - tvl = (hvl_t *)buf[1].p; - tvl->p = HDmalloc( 2 * sizeof(int) ); - tvl->len = 2; - ((int *)tvl->p)[0]=2; - ((int *)tvl->p)[1]=3; + buf[0].len = 1; + buf[0].p = HDmalloc(1 * sizeof(hvl_t)); + tvl = (hvl_t *)buf[0].p; + tvl->p = HDmalloc(1 * sizeof(int)); + tvl->len = 1; + ((int *)tvl->p)[0] = 1; + + buf[1].len = 1; + buf[1].p = HDmalloc(1 * sizeof(hvl_t)); + tvl = (hvl_t *)buf[1].p; + tvl->p = HDmalloc(2 * sizeof(int)); + tvl->len = 2; + ((int *)tvl->p)[0] = 2; + ((int *)tvl->p)[1] = 3; /* create dataspace */ sid = H5Screate_simple(1, dims, NULL); @@ -314,14 +315,13 @@ static void gent_nested_vl(hid_t loc_id) H5Dwrite(did, tid2, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); /* close */ - H5Treclaim(tid2,sid,H5P_DEFAULT,buf); + H5Treclaim(tid2, sid, H5P_DEFAULT, buf); H5Sclose(sid); H5Dclose(did); H5Tclose(tid1); H5Tclose(tid2); } - /*------------------------------------------------------------------------- * Function: gent_att_compound_vlstr * @@ -331,22 +331,23 @@ static void gent_nested_vl(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_att_compound_vlstr(hid_t loc_id) +static void +gent_att_compound_vlstr(hid_t loc_id) { typedef struct { /* Compound structure for the attribute */ - int i; + int i; const char *v; } s1; - hsize_t dim[1] = {1}; /* Dimension size */ - hid_t sid = H5I_INVALID_HID; /* Dataspace ID */ - hid_t tid = H5I_INVALID_HID; /* Datatype ID */ - hid_t aid = H5I_INVALID_HID; /* Attribute ID */ - hid_t did = H5I_INVALID_HID; /* Dataset ID */ - hid_t gid = H5I_INVALID_HID; /* Group ID */ - hid_t vl_str_tid = H5I_INVALID_HID; /* Variable length datatype ID */ - hid_t cmpd_tid = H5I_INVALID_HID; /* Compound datatype ID */ - hid_t null_sid = H5I_INVALID_HID; /* Null dataspace ID */ - s1 buf; /* Buffer */ + hsize_t dim[1] = {1}; /* Dimension size */ + hid_t sid = H5I_INVALID_HID; /* Dataspace ID */ + hid_t tid = H5I_INVALID_HID; /* Datatype ID */ + hid_t aid = H5I_INVALID_HID; /* Attribute ID */ + hid_t did = H5I_INVALID_HID; /* Dataset ID */ + hid_t gid = H5I_INVALID_HID; /* Group ID */ + hid_t vl_str_tid = H5I_INVALID_HID; /* Variable length datatype ID */ + hid_t cmpd_tid = H5I_INVALID_HID; /* Compound datatype ID */ + hid_t null_sid = H5I_INVALID_HID; /* Null dataspace ID */ + s1 buf; /* Buffer */ buf.i = 9; buf.v = "ThisIsAString"; @@ -409,7 +410,8 @@ static void gent_att_compound_vlstr(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_datasets(hid_t loc_id) +static void +gent_datasets(hid_t loc_id) { gent_simple(loc_id); gent_chunked(loc_id); @@ -427,9 +429,10 @@ static void gent_datasets(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_empty_group(hid_t loc_id) +static void +gent_empty_group(hid_t loc_id) { - hid_t gid; + hid_t gid; /* Create group in location */ gid = H5Gcreate2(loc_id, GROUP_EMPTY, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -446,9 +449,10 @@ static void gent_empty_group(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_nested_datasets(hid_t loc_id) +static void +gent_nested_datasets(hid_t loc_id) { - hid_t gid; + hid_t gid; /* Create group in location */ gid = H5Gcreate2(loc_id, GROUP_DATASETS, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -468,9 +472,10 @@ static void gent_nested_datasets(hid_t loc_id) * *------------------------------------------------------------------------- */ -static void gent_nested_group(hid_t loc_id) +static void +gent_nested_group(hid_t loc_id) { - hid_t gid; + hid_t gid; /* Create group in location */ gid = H5Gcreate2(loc_id, GROUP_NESTED, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -482,7 +487,6 @@ static void gent_nested_group(hid_t loc_id) H5Gclose(gid); } - /*------------------------------------------------------------------------- * Function: gen_obj_ref * @@ -490,41 +494,39 @@ static void gent_nested_group(hid_t loc_id) * * Programmer: Jonathan Kim (Feb 23, 2010) *------------------------------------------------------------------------*/ -static herr_t gen_obj_ref(hid_t loc_id) +static herr_t +gen_obj_ref(hid_t loc_id) { - hid_t sid=0, oid=0; - hsize_t dims1[1]={3}; - hsize_t dims2[1]={2}; - int data[3] = {10,20,30}; - int status; + hid_t sid = 0, oid = 0; + hsize_t dims1[1] = {3}; + hsize_t dims2[1] = {2}; + int data[3] = {10, 20, 30}; + int status; /*--------------------- * create obj references to the previously created objects. * Passing -1 as reference is an object.*/ - hobj_ref_t or_data[2]; /* write buffer */ - herr_t ret = SUCCEED; + hobj_ref_t or_data[2]; /* write buffer */ + herr_t ret = SUCCEED; /*-------------- * add dataset */ sid = H5Screate_simple(1, dims1, NULL); - if (sid < 0) - { + if (sid < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - oid = H5Dcreate2 (loc_id, OBJ_REF_DS, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (oid < 0) - { + oid = H5Dcreate2(loc_id, OBJ_REF_DS, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (oid < 0) { HDfprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } status = H5Dwrite(oid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -535,64 +537,57 @@ static herr_t gen_obj_ref(hid_t loc_id) /*-------------- * add group */ - oid = H5Gcreate2 (loc_id, OBJ_REF_GRP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (oid < 0) - { + oid = H5Gcreate2(loc_id, OBJ_REF_GRP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (oid < 0) { HDfprintf(stderr, "Error: %s %d> H5Gcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } H5Gclose(oid); - status = H5Rcreate (&or_data[0], loc_id, OBJ_REF_DS, H5R_OBJECT, (hid_t)-1); - if (status < 0) - { + status = H5Rcreate(&or_data[0], loc_id, OBJ_REF_DS, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - status = H5Rcreate (&or_data[1], loc_id, OBJ_REF_GRP, H5R_OBJECT, (hid_t)-1); - if (status < 0) - { + status = H5Rcreate(&or_data[1], loc_id, OBJ_REF_GRP, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - sid = H5Screate_simple (1, dims2, NULL); - if (sid < 0) - { + sid = H5Screate_simple(1, dims2, NULL); + if (sid < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - oid = H5Dcreate2 (loc_id, "Dset_OBJREF", H5T_STD_REF_OBJ, sid, H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT); - if (oid < 0) - { + oid = H5Dcreate2(loc_id, "Dset_OBJREF", H5T_STD_REF_OBJ, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (oid < 0) { HDfprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } status = H5Dwrite(oid, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, or_data); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } out: - if(oid > 0) + if (oid > 0) H5Dclose(oid); - if(sid > 0) + if (sid > 0) H5Sclose(sid); return ret; } - /*------------------------------------------------------------------------- * Function: gen_region_ref * @@ -600,107 +595,98 @@ out: * * Programmer: Jonathan Kim (Feb 23, 2010) *------------------------------------------------------------------------*/ -static herr_t gen_region_ref(hid_t loc_id) +static herr_t +gen_region_ref(hid_t loc_id) { - hid_t sid=0, oid1=0, oid2=0; - int status; - herr_t ret = SUCCEED; - char data[3][16] = {"The quick brown", "fox jumps over ", "the 5 lazy dogs"}; - hsize_t dims2[2] = {3,16}; - hsize_t coords[4][2] = { {0,1}, {2,11}, {1,0}, {2,4} }; - hdset_reg_ref_t rr_data[2]; - hsize_t start[2] = {0,0}; - hsize_t stride[2] = {2,11}; - hsize_t count[2] = {2,2}; - hsize_t block[2] = {1,3}; - hsize_t dims1[1] = {2}; - - sid = H5Screate_simple (2, dims2, NULL); - if (sid < 0) - { + hid_t sid = 0, oid1 = 0, oid2 = 0; + int status; + herr_t ret = SUCCEED; + char data[3][16] = {"The quick brown", "fox jumps over ", "the 5 lazy dogs"}; + hsize_t dims2[2] = {3, 16}; + hsize_t coords[4][2] = {{0, 1}, {2, 11}, {1, 0}, {2, 4}}; + hdset_reg_ref_t rr_data[2]; + hsize_t start[2] = {0, 0}; + hsize_t stride[2] = {2, 11}; + hsize_t count[2] = {2, 2}; + hsize_t block[2] = {1, 3}; + hsize_t dims1[1] = {2}; + + sid = H5Screate_simple(2, dims2, NULL); + if (sid < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create normal dataset which is refered */ - oid2 = H5Dcreate2 (loc_id, REG_REF_DS2, H5T_STD_I8LE, sid, H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT); - if (oid2 < 0) - { + oid2 = H5Dcreate2(loc_id, REG_REF_DS2, H5T_STD_I8LE, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (oid2 < 0) { HDfprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* write values to dataset */ - status = H5Dwrite (oid2, H5T_NATIVE_CHAR, H5S_ALL, H5S_ALL, H5P_DEFAULT, data); - if (status < 0) - { + status = H5Dwrite(oid2, H5T_NATIVE_CHAR, H5S_ALL, H5S_ALL, H5P_DEFAULT, data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* select elements space for reference */ - status = H5Sselect_elements (sid, H5S_SELECT_SET, 4, coords[0]); - if (status < 0) - { + status = H5Sselect_elements(sid, H5S_SELECT_SET, 4, coords[0]); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Sselect_elements failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create region reference from elements space */ - status = H5Rcreate (&rr_data[0], loc_id, REG_REF_DS2, H5R_DATASET_REGION, sid); - if (status < 0) - { + status = H5Rcreate(&rr_data[0], loc_id, REG_REF_DS2, H5R_DATASET_REGION, sid); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* select hyperslab space for reference */ - status = H5Sselect_hyperslab (sid, H5S_SELECT_SET, start, stride, count, block); - if (status < 0) - { + status = H5Sselect_hyperslab(sid, H5S_SELECT_SET, start, stride, count, block); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Sselect_hyperslab failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create region reference from hyperslab space */ - status = H5Rcreate (&rr_data[1], loc_id, REG_REF_DS2, H5R_DATASET_REGION, sid); - if (status < 0) - { + status = H5Rcreate(&rr_data[1], loc_id, REG_REF_DS2, H5R_DATASET_REGION, sid); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - H5Sclose (sid); + H5Sclose(sid); /* Create dataspace. */ - sid = H5Screate_simple (1, dims1, NULL); - if (sid < 0) - { + sid = H5Screate_simple(1, dims1, NULL); + if (sid < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create region reference dataset */ - oid1 = H5Dcreate2 (loc_id, REG_REF_DS1, H5T_STD_REF_DSETREG, sid, H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT); - if (oid1 < 0) - { + oid1 = H5Dcreate2(loc_id, REG_REF_DS1, H5T_STD_REF_DSETREG, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (oid1 < 0) { HDfprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* write data as region references */ - status = H5Dwrite (oid1, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rr_data); - if (status < 0) - { + status = H5Dwrite(oid1, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rr_data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -708,11 +694,11 @@ static herr_t gen_region_ref(hid_t loc_id) out: if (oid1 > 0) - H5Dclose (oid1); + H5Dclose(oid1); if (oid2 > 0) - H5Dclose (oid2); + H5Dclose(oid2); if (sid > 0) - H5Sclose (sid); + H5Sclose(sid); return ret; } @@ -723,31 +709,32 @@ out: * Purpose: Testing with various objects * *------------------------------------------------------------------------*/ -static void Test_Obj_Copy(void) +static void +Test_Obj_Copy(void) { - hid_t fid = H5I_INVALID_HID; /* File id */ - hid_t fapl_new = (-1); /* File access property id */ - unsigned new_format; /* New format or old format */ + hid_t fid = H5I_INVALID_HID; /* File id */ + hid_t fapl_new = (-1); /* File access property id */ + unsigned new_format; /* New format or old format */ - if((fapl_new = H5Pcreate(H5P_FILE_ACCESS)) < 0) { + if ((fapl_new = H5Pcreate(H5P_FILE_ACCESS)) < 0) { HDfprintf(stderr, "Error: H5Pcreate failed.\n"); goto out; } - if(H5Pset_libver_bounds(fapl_new, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) { + if (H5Pset_libver_bounds(fapl_new, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) { HDfprintf(stderr, "Error: H5Pset_libver_bounds failed.\n"); goto out; } /* Test with old & new format groups */ - for(new_format = FALSE; new_format <= TRUE; new_format++) { + for (new_format = FALSE; new_format <= TRUE; new_format++) { /* Set the FAPL for the type of format */ /* Create source file */ - if(new_format) + if (new_format) fid = H5Fcreate(HDF_FILE1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_new); else fid = H5Fcreate(HDF_FILE1_NEW, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - if(fid < 0) { + if (fid < 0) { HDfprintf(stderr, "Error: H5Fcreate failed.\n"); goto out; } @@ -764,11 +751,11 @@ static void Test_Obj_Copy(void) out: /*----------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------*/ - if(fid > 0) + * Close + *------------------------------------------------------------------------*/ + if (fid > 0) H5Fclose(fid); - if(fapl_new > 0) + if (fapl_new > 0) H5Pclose(fapl_new); } @@ -778,14 +765,14 @@ out: * Purpose: Testing with various references * *------------------------------------------------------------------------*/ -static void Test_Ref_Copy(void) +static void +Test_Ref_Copy(void) { - hid_t fid=0; + hid_t fid = 0; herr_t status; - fid = H5Fcreate (HDF_FILE2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - if (fid < 0) - { + fid = H5Fcreate(HDF_FILE2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + if (fid < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", HDF_FILE2); goto out; } @@ -802,9 +789,9 @@ static void Test_Ref_Copy(void) out: /*----------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------*/ - if(fid > 0) + * Close + *------------------------------------------------------------------------*/ + if (fid > 0) H5Fclose(fid); } @@ -815,20 +802,20 @@ out: * * Programmer: Jonathan Kim (March 03, 2010) *------------------------------------------------------------------------*/ -static herr_t gen_extlink_trg(hid_t loc_id) +static herr_t +gen_extlink_trg(hid_t loc_id) { - hid_t gid=0, tid=0; - int status; + hid_t gid = 0, tid = 0; + int status; herr_t ret = SUCCEED; /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ /*-------------- * target file */ gid = H5Gcreate2(loc_id, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (gid < 0) - { + if (gid < 0) { HDfprintf(stderr, "Error: %s %d> H5Gcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -836,24 +823,23 @@ static herr_t gen_extlink_trg(hid_t loc_id) /*-------------- * add dataset */ - gent_simple(loc_id); + gent_simple(loc_id); /*-------------------- * add named datatype */ - tid = H5Tcopy(H5T_NATIVE_INT); - status = H5Tcommit2(loc_id, "datatype", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + tid = H5Tcopy(H5T_NATIVE_INT); + status = H5Tcommit2(loc_id, "datatype", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Tcommit2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } out: - if(gid > 0) + if (gid > 0) H5Gclose(gid); - if(tid > 0) + if (tid > 0) H5Tclose(tid); return ret; @@ -866,30 +852,29 @@ out: * * Programmer: Jonathan Kim (March 03, 2010) *------------------------------------------------------------------------*/ -static herr_t gen_extlink_src(hid_t loc_id) +static herr_t +gen_extlink_src(hid_t loc_id) { - hid_t gid=0; - int status; + hid_t gid = 0; + int status; herr_t ret = SUCCEED; /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ gid = H5Gcreate2(loc_id, "/group_ext", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (gid < 0) - { + if (gid < 0) { HDfprintf(stderr, "Error: %s %d> H5Gcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /*----------------------------------------------------------------------- - * External links - *------------------------------------------------------------------------*/ + * External links + *------------------------------------------------------------------------*/ /* link to dataset */ status = H5Lcreate_external(HDF_EXT_TRG_FILE, "/simple", gid, "extlink_dset", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Lcreate_external failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -897,17 +882,16 @@ static herr_t gen_extlink_src(hid_t loc_id) /* link to group */ status = H5Lcreate_external(HDF_EXT_TRG_FILE, "/group", gid, "extlink_grp", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Lcreate_external failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* link to datatype */ - status = H5Lcreate_external(HDF_EXT_TRG_FILE, "/datatype", gid, "extlink_datatype", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + status = + H5Lcreate_external(HDF_EXT_TRG_FILE, "/datatype", gid, "extlink_datatype", H5P_DEFAULT, H5P_DEFAULT); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Lcreate_external failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -915,8 +899,7 @@ static herr_t gen_extlink_src(hid_t loc_id) /* dangling link - no obj*/ status = H5Lcreate_external(HDF_EXT_TRG_FILE, "notyet", gid, "extlink_notyet1", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Lcreate_external failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -924,15 +907,14 @@ static herr_t gen_extlink_src(hid_t loc_id) /* dangling link - no file */ status = H5Lcreate_external("notyet_file.h5", "notyet", gid, "extlink_notyet2", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Lcreate_external failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } out: - if(gid > 0) + if (gid > 0) H5Gclose(gid); return ret; @@ -944,22 +926,21 @@ out: * Purpose: gerenate external link files * *------------------------------------------------------------------------*/ -static void Test_Extlink_Copy(void) +static void +Test_Extlink_Copy(void) { - hid_t fid1=0; - hid_t fid2=0; + hid_t fid1 = 0; + hid_t fid2 = 0; herr_t status; - fid1 = H5Fcreate (HDF_EXT_SRC_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - if (fid1 < 0) - { + fid1 = H5Fcreate(HDF_EXT_SRC_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", HDF_EXT_SRC_FILE); goto out; } - fid2 = H5Fcreate (HDF_EXT_TRG_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - if (fid2 < 0) - { + fid2 = H5Fcreate(HDF_EXT_TRG_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + if (fid2 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", HDF_EXT_TRG_FILE); goto out; } @@ -976,11 +957,11 @@ static void Test_Extlink_Copy(void) out: /*----------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------*/ - if(fid1 > 0) + * Close + *------------------------------------------------------------------------*/ + if (fid1 > 0) H5Fclose(fid1); - if(fid2 > 0) + if (fid2 > 0) H5Fclose(fid2); } @@ -990,7 +971,8 @@ out: *------------------------------------------------------------------------- */ -int main(void) +int +main(void) { Test_Obj_Copy(); Test_Ref_Copy(); @@ -998,4 +980,3 @@ int main(void) return 0; } - diff --git a/tools/test/h5diff/dynlib_diff.c b/tools/test/h5diff/dynlib_diff.c index 661a6dc..32d2daf 100644 --- a/tools/test/h5diff/dynlib_diff.c +++ b/tools/test/h5diff/dynlib_diff.c @@ -17,25 +17,33 @@ #include <stdio.h> #include "H5PLextern.h" -#define H5Z_FILTER_DYNLIBUD 300 -#define MULTIPLIER 3 +#define H5Z_FILTER_DYNLIBUD 300 +#define MULTIPLIER 3 -static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf); +static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, + size_t nbytes, size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_DYNLIBUD[1] = {{ H5Z_CLASS_T_VERS, /* H5Z_class_t version */ H5Z_FILTER_DYNLIBUD, /* Filter id number */ 1, 1, /* Encoding and decoding enabled */ - "dynlibud", /* Filter name for debugging */ + "dynlibud", /* Filter name for debugging */ NULL, /* The "can apply" callback */ NULL, /* The "set local" callback */ - (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ + (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ }}; -H5PL_type_t H5PLget_plugin_type(void) {return H5PL_TYPE_FILTER;} -const void *H5PLget_plugin_info(void) {return H5Z_DYNLIBUD;} +H5PL_type_t +H5PLget_plugin_type(void) +{ + return H5PL_TYPE_FILTER; +} +const void * +H5PLget_plugin_info(void) +{ + return H5Z_DYNLIBUD; +} /*------------------------------------------------------------------------- * Function: H5Z_filter_dynlibud @@ -51,39 +59,37 @@ const void *H5PLget_plugin_info(void) {return H5Z_DYNLIBUD;} *------------------------------------------------------------------------- */ static size_t -H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, - size_t *buf_size, void **buf) +H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, size_t nbytes, + size_t *buf_size, void **buf) { - char *int_ptr = (char *)*buf; /* Pointer to the data values */ - size_t buf_left = *buf_size; /* Amount of data buffer left to process */ + char * int_ptr = (char *)*buf; /* Pointer to the data values */ + size_t buf_left = *buf_size; /* Amount of data buffer left to process */ /* Check for the correct number of parameters */ - if(cd_nelmts > 0) - return(0); + if (cd_nelmts > 0) + return (0); /* Assignment to eliminate unused parameter warning. */ cd_values = cd_values; - if(flags & H5Z_FLAG_REVERSE) { /*read*/ + if (flags & H5Z_FLAG_REVERSE) { /*read*/ /* Subtract the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = (int8_t)(temp - MULTIPLIER); + *int_ptr = (int8_t)(temp - MULTIPLIER); int_ptr++; buf_left -= sizeof(*int_ptr); - } /* end while */ - } /* end if */ + } /* end while */ + } /* end if */ else { /*write*/ /* Add the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = (int8_t)(temp + MULTIPLIER); + *int_ptr = (int8_t)(temp + MULTIPLIER); int_ptr++; buf_left -= sizeof(*int_ptr); } /* end while */ - } /* end else */ + } /* end else */ return nbytes; } /* end H5Z_filter_dynlibud() */ - diff --git a/tools/test/h5diff/h5diffgentest.c b/tools/test/h5diff/h5diffgentest.c index 173a5ce..738cff4 100644 --- a/tools/test/h5diff/h5diffgentest.c +++ b/tools/test/h5diff/h5diffgentest.c @@ -38,58 +38,58 @@ size_t H5TOOLS_MALLOCSIZE = (128 * 1024 * 1024); *------------------------------------------------------------------------- */ -#define FILE1 "h5diff_basic1.h5" -#define FILE2 "h5diff_basic2.h5" -#define FILE3 "h5diff_types.h5" -#define FILE4 "h5diff_dtypes.h5" -#define FILE5 "h5diff_attr1.h5" -#define FILE6 "h5diff_attr2.h5" -#define FILE6a "h5diff_attr3.h5" -#define FILE7 "h5diff_dset1.h5" -#define FILE8 "h5diff_dset2.h5" -#define FILE8A "h5diff_dset3.h5" -#define FILE9 "h5diff_hyper1.h5" -#define FILE10 "h5diff_hyper2.h5" -#define FILE11 "h5diff_empty.h5" -#define FILE12 "h5diff_links.h5" -#define FILE13 "h5diff_softlinks.h5" -#define FILE14 "h5diff_linked_softlink.h5" -#define FILE15 "h5diff_extlink_src.h5" -#define FILE16 "h5diff_extlink_trg.h5" -#define FILE17 "h5diff_ext2softlink_src.h5" -#define FILE18 "h5diff_ext2softlink_trg.h5" -#define FILE19 "h5diff_dset_zero_dim_size1.h5" -#define FILE20 "h5diff_dset_zero_dim_size2.h5" -#define FILE21 "h5diff_dset_idx1.h5" -#define FILE22 "h5diff_dset_idx2.h5" -#define DANGLE_LINK_FILE1 "h5diff_danglelinks1.h5" -#define DANGLE_LINK_FILE2 "h5diff_danglelinks2.h5" -#define GRP_RECURSE_FILE1 "h5diff_grp_recurse1.h5" -#define GRP_RECURSE_FILE2 "h5diff_grp_recurse2.h5" +#define FILE1 "h5diff_basic1.h5" +#define FILE2 "h5diff_basic2.h5" +#define FILE3 "h5diff_types.h5" +#define FILE4 "h5diff_dtypes.h5" +#define FILE5 "h5diff_attr1.h5" +#define FILE6 "h5diff_attr2.h5" +#define FILE6a "h5diff_attr3.h5" +#define FILE7 "h5diff_dset1.h5" +#define FILE8 "h5diff_dset2.h5" +#define FILE8A "h5diff_dset3.h5" +#define FILE9 "h5diff_hyper1.h5" +#define FILE10 "h5diff_hyper2.h5" +#define FILE11 "h5diff_empty.h5" +#define FILE12 "h5diff_links.h5" +#define FILE13 "h5diff_softlinks.h5" +#define FILE14 "h5diff_linked_softlink.h5" +#define FILE15 "h5diff_extlink_src.h5" +#define FILE16 "h5diff_extlink_trg.h5" +#define FILE17 "h5diff_ext2softlink_src.h5" +#define FILE18 "h5diff_ext2softlink_trg.h5" +#define FILE19 "h5diff_dset_zero_dim_size1.h5" +#define FILE20 "h5diff_dset_zero_dim_size2.h5" +#define FILE21 "h5diff_dset_idx1.h5" +#define FILE22 "h5diff_dset_idx2.h5" +#define DANGLE_LINK_FILE1 "h5diff_danglelinks1.h5" +#define DANGLE_LINK_FILE2 "h5diff_danglelinks2.h5" +#define GRP_RECURSE_FILE1 "h5diff_grp_recurse1.h5" +#define GRP_RECURSE_FILE2 "h5diff_grp_recurse2.h5" /* same structure via external links through files */ -#define GRP_RECURSE1_EXT "h5diff_grp_recurse_ext1.h5" -#define GRP_RECURSE2_EXT1 "h5diff_grp_recurse_ext2-1.h5" -#define GRP_RECURSE2_EXT2 "h5diff_grp_recurse_ext2-2.h5" -#define GRP_RECURSE2_EXT3 "h5diff_grp_recurse_ext2-3.h5" +#define GRP_RECURSE1_EXT "h5diff_grp_recurse_ext1.h5" +#define GRP_RECURSE2_EXT1 "h5diff_grp_recurse_ext2-1.h5" +#define GRP_RECURSE2_EXT2 "h5diff_grp_recurse_ext2-2.h5" +#define GRP_RECURSE2_EXT3 "h5diff_grp_recurse_ext2-3.h5" /* same structure, same obj name with different value */ -#define EXCLUDE_FILE1_1 "h5diff_exclude1-1.h5" -#define EXCLUDE_FILE1_2 "h5diff_exclude1-2.h5" +#define EXCLUDE_FILE1_1 "h5diff_exclude1-1.h5" +#define EXCLUDE_FILE1_2 "h5diff_exclude1-2.h5" /* different structure and obj names */ -#define EXCLUDE_FILE2_1 "h5diff_exclude2-1.h5" -#define EXCLUDE_FILE2_2 "h5diff_exclude2-2.h5" +#define EXCLUDE_FILE2_1 "h5diff_exclude2-1.h5" +#define EXCLUDE_FILE2_2 "h5diff_exclude2-2.h5" /* only one file has unique objs */ -#define EXCLUDE_FILE3_1 "h5diff_exclude3-1.h5" -#define EXCLUDE_FILE3_2 "h5diff_exclude3-2.h5" +#define EXCLUDE_FILE3_1 "h5diff_exclude3-1.h5" +#define EXCLUDE_FILE3_2 "h5diff_exclude3-2.h5" /* compound type with multiple vlen string types */ -#define COMP_VL_STRS_FILE "h5diff_comp_vl_strs.h5" +#define COMP_VL_STRS_FILE "h5diff_comp_vl_strs.h5" /* attribute compre with verbose level */ #define ATTR_VERBOSE_LEVEL_FILE1 "h5diff_attr_v_level1.h5" #define ATTR_VERBOSE_LEVEL_FILE2 "h5diff_attr_v_level2.h5" /* file containing valid/invalid enum value mix */ #define ENUM_INVALID_VALUES "h5diff_enum_invalid_values.h5" /* file with container types (array,vlen) with multiple compounds */ -#define COMPS_COMPLEX1 "compounds_array_vlen1.h5" -#define COMPS_COMPLEX2 "compounds_array_vlen2.h5" +#define COMPS_COMPLEX1 "compounds_array_vlen1.h5" +#define COMPS_COMPLEX2 "compounds_array_vlen2.h5" /* non-comparable dataset and attribute */ #define NON_COMPARBLES1 "non_comparables1.h5" #define NON_COMPARBLES2 "non_comparables2.h5" @@ -102,7 +102,7 @@ size_t H5TOOLS_MALLOCSIZE = (128 * 1024 * 1024); #define UIMAX 4294967295u /*Maximum value for a variable of type unsigned int */ #define STR_SIZE 3 -#define GBLL ((unsigned long long) 1024 * 1024 *1024 ) +#define GBLL ((unsigned long long)1024 * 1024 * 1024) #define MY_LINKCLASS 187 @@ -112,80 +112,82 @@ size_t H5TOOLS_MALLOCSIZE = (128 * 1024 * 1024); #define SPACE1_DIM2 0 /* Error macros */ -#define AT() HDprintf("ERROR at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); -#define PROGRAM_ERROR do {AT(); goto error;} while(0) +#define AT() HDprintf("ERROR at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); +#define PROGRAM_ERROR \ + do { \ + AT(); \ + goto error; \ + } while (0) /* A UD link traversal function. Shouldn't actually be called. */ static hid_t -UD_traverse(H5_ATTR_UNUSED const char * link_name, H5_ATTR_UNUSED hid_t cur_group, - H5_ATTR_UNUSED const void * udata, H5_ATTR_UNUSED size_t udata_size, H5_ATTR_UNUSED hid_t lapl_id, - H5_ATTR_UNUSED hid_t dxpl_id) +UD_traverse(H5_ATTR_UNUSED const char *link_name, H5_ATTR_UNUSED hid_t cur_group, + H5_ATTR_UNUSED const void *udata, H5_ATTR_UNUSED size_t udata_size, H5_ATTR_UNUSED hid_t lapl_id, + H5_ATTR_UNUSED hid_t dxpl_id) { return -1; } const H5L_class_t UD_link_class[1] = {{ H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ - (H5L_type_t)MY_LINKCLASS, /* Link type id number */ - "UD link class", /* name for debugging */ - NULL, /* Creation callback */ - NULL, /* Move/rename callback */ - NULL, /* Copy callback */ - UD_traverse, /* The actual traversal function */ - NULL, /* Deletion callback */ - NULL /* Query callback */ + (H5L_type_t)MY_LINKCLASS, /* Link type id number */ + "UD link class", /* name for debugging */ + NULL, /* Creation callback */ + NULL, /* Move/rename callback */ + NULL, /* Copy callback */ + UD_traverse, /* The actual traversal function */ + NULL, /* Deletion callback */ + NULL /* Query callback */ }}; - /*------------------------------------------------------------------------- * prototypes *------------------------------------------------------------------------- */ /* tests called in main() */ -static int test_basic(const char *fname1, const char *fname2, const char *fname3); -static int test_types(const char *fname); -static int test_datatypes(const char *fname); -static int test_attributes(const char *fname, int make_diffs); -static int test_datasets(const char *fname, int make_diffs); -static int test_special_datasets(const char *fname, int make_diffs); -static int test_hyperslab(const char *fname, int make_diffs); -static int test_link_name(const char *fname1); -static int test_soft_links(const char *fname1); -static int test_linked_softlinks(const char *fname1); -static int test_external_links(const char *fname1, const char *fname2); -static int test_ext2soft_links(const char *fname1, const char *fname2); -static int test_dangle_links(const char *fname1, const char *fname2); -static int test_group_recurse(const char *fname1, const char *fname2); -static int test_group_recurse2(void); -static int test_exclude_obj1(const char *fname1, const char *fname2); -static int test_exclude_obj2(const char *fname1, const char *fname2); -static int test_exclude_obj3(const char *fname1, const char *fname2); -static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int is_file_new); -static int test_attributes_verbose_level(const char *fname1, const char *fname2); -static int test_enums(const char *fname); -static void test_comps_array(const char *fname, const char *dset, - const char *attr, int diff, int is_file_new); -static void test_comps_vlen(const char *fname, const char *dset, - const char *attr, int diff, int is_file_new); -static void test_comps_array_vlen(const char *fname, const char *dset, - const char *attr, int diff, int is_file_new); -static void test_comps_vlen_arry(const char *fname, const char *dset, - const char *attr, int diff, int is_file_new); +static int test_basic(const char *fname1, const char *fname2, const char *fname3); +static int test_types(const char *fname); +static int test_datatypes(const char *fname); +static int test_attributes(const char *fname, int make_diffs); +static int test_datasets(const char *fname, int make_diffs); +static int test_special_datasets(const char *fname, int make_diffs); +static int test_hyperslab(const char *fname, int make_diffs); +static int test_link_name(const char *fname1); +static int test_soft_links(const char *fname1); +static int test_linked_softlinks(const char *fname1); +static int test_external_links(const char *fname1, const char *fname2); +static int test_ext2soft_links(const char *fname1, const char *fname2); +static int test_dangle_links(const char *fname1, const char *fname2); +static int test_group_recurse(const char *fname1, const char *fname2); +static int test_group_recurse2(void); +static int test_exclude_obj1(const char *fname1, const char *fname2); +static int test_exclude_obj2(const char *fname1, const char *fname2); +static int test_exclude_obj3(const char *fname1, const char *fname2); +static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int is_file_new); +static int test_attributes_verbose_level(const char *fname1, const char *fname2); +static int test_enums(const char *fname); +static void test_comps_array(const char *fname, const char *dset, const char *attr, int diff, + int is_file_new); +static void test_comps_vlen(const char *fname, const char *dset, const char *attr, int diff, int is_file_new); +static void test_comps_array_vlen(const char *fname, const char *dset, const char *attr, int diff, + int is_file_new); +static void test_comps_vlen_arry(const char *fname, const char *dset, const char *attr, int diff, + int is_file_new); static void test_data_nocomparables(const char *fname, int diff); static void test_objs_nocomparables(const char *fname1, const char *fname2); static void test_objs_strings(const char *fname, const char *fname2); static void test_double_epsilon(const char *fname1, const char *fname2); /* called by test_attributes() and test_datasets() */ -static void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make_diffs); -static void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diffs); -static void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diffs); +static void write_attr_strings(hid_t loc_id, const char *dset_name, hid_t fid, int make_diffs); +static void write_attr_in(hid_t loc_id, const char *dset_name, hid_t fid, int make_diffs); +static void write_dset_in(hid_t loc_id, const char *dset_name, hid_t fid, int make_diffs); static void gen_datareg(hid_t fid, int make_diffs); /* utilities */ -static int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *name, hid_t tid, void *buf); +static int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *name, hid_t tid, void *buf); static herr_t write_dset(hid_t loc_id, int rank, hsize_t *dims, const char *name, hid_t tid, void *buf); -static int gen_dataset_idx(const char *file, int format); +static int gen_dataset_idx(const char *file, int format); /*------------------------------------------------------------------------- * Function: main @@ -195,7 +197,8 @@ static int gen_dataset_idx(const char *file, int format); *------------------------------------------------------------------------- */ -int main(void) +int +main(void) { test_basic(FILE1, FILE2, FILE11); @@ -235,11 +238,11 @@ int main(void) test_special_datasets(FILE20, 1); /* - * Generate 2 files: FILE21 with old format; FILE22 with new format - * Create 2 datasets in each file: - * One dataset: chunked layout, w/o filters, fixed dimension - * One dataset: chunked layout, w/ filters, fixed dimension - */ + * Generate 2 files: FILE21 with old format; FILE22 with new format + * Create 2 datasets in each file: + * One dataset: chunked layout, w/o filters, fixed dimension + * One dataset: chunked layout, w/ filters, fixed dimension + */ gen_dataset_idx(FILE21, 0); gen_dataset_idx(FILE22, 1); @@ -257,16 +260,16 @@ int main(void) test_comp_vlen_strings(COMP_VL_STRS_FILE, "group_copy", 0); /* diff when invalid enum values are present. - * This will probably grow to involve more extensive testing of - * enums so it has been given its own test file and test (apart - * from the basic type testing). - */ + * This will probably grow to involve more extensive testing of + * enums so it has been given its own test file and test (apart + * from the basic type testing). + */ test_enums(ENUM_INVALID_VALUES); /* ------------------------------------------------- - * Create test files with dataset and attribute with container types - * (array, vlen) with multiple nested compound types. - */ + * Create test files with dataset and attribute with container types + * (array, vlen) with multiple nested compound types. + */ /* file1 */ test_comps_array(COMPS_COMPLEX1, "dset1", "attr1", 0, 1); test_comps_vlen(COMPS_COMPLEX1, "dset2", "attr2", 0, 0); @@ -279,10 +282,10 @@ int main(void) test_comps_vlen_arry(COMPS_COMPLEX2, "dset4", "attr4", 5, 0); /*------------------------------------------------- - * Create test files with non-comparable dataset and attributes with - * comparable datasets and attributes. All the comparables should display - * differences. - */ + * Create test files with non-comparable dataset and attributes with + * comparable datasets and attributes. All the comparables should display + * differences. + */ test_data_nocomparables(NON_COMPARBLES1, 0); test_data_nocomparables(NON_COMPARBLES2, 5); @@ -307,13 +310,13 @@ int main(void) *------------------------------------------------------------------------- */ -static -int test_basic(const char *fname1, const char *fname2, const char *fname3) +static int +test_basic(const char *fname1, const char *fname2, const char *fname3) { - hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID, gid2 = H5I_INVALID_HID, gid3 = H5I_INVALID_HID; - hsize_t dims1[1] = { 6 }; - hsize_t dims2[2] = { 3, 2 }; + hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID, gid2 = H5I_INVALID_HID, gid3 = H5I_INVALID_HID; + hsize_t dims1[1] = {6}; + hsize_t dims2[2] = {3, 2}; /* create the empty file */ if ((fid1 = H5Fcreate(fname3, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) { @@ -326,9 +329,9 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) } /*------------------------------------------------------------------------- - * create two files - *------------------------------------------------------------------------- - */ + * create two files + *------------------------------------------------------------------------- + */ if ((fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; @@ -336,156 +339,141 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) goto out; /*------------------------------------------------------------------------- - * create groups - *------------------------------------------------------------------------- - */ + * create groups + *------------------------------------------------------------------------- + */ gid1 = H5Gcreate2(fid1, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); gid2 = H5Gcreate2(fid2, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); gid3 = H5Gcreate2(fid2, "g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /*------------------------------------------------------------------------- - * tests: - * # 1.1 normal mode - * # 1.2 normal mode with objects - * # 1.3 report mode - * # 1.4 report mode with objects - * # 1.5 with -d - *------------------------------------------------------------------------- - */ + * tests: + * # 1.1 normal mode + * # 1.2 normal mode with objects + * # 1.3 report mode + * # 1.4 report mode with objects + * # 1.5 with -d + *------------------------------------------------------------------------- + */ { - double data1[3][2] = - { { 1.0F, 1.0F }, { 1.00F, 1.000F }, { 0.0F, 0.0F } }; - double data2[3][2] = - { { 0.0F, 1.1F }, { 1.01F, 1.001F }, { 0.0F, 1.0F } }; - double data3[3][2] = { { 100.0F, 100.0F }, { 100.00F, 100.000F }, { - 100.0F, 100.0F } }; - double data4[3][2] = { { 105.0F, 120.0F }, { 160.00F, 95.000F }, { - 80.0F, 40.0F } }; + double data1[3][2] = {{1.0F, 1.0F}, {1.00F, 1.000F}, {0.0F, 0.0F}}; + double data2[3][2] = {{0.0F, 1.1F}, {1.01F, 1.001F}, {0.0F, 1.0F}}; + double data3[3][2] = {{100.0F, 100.0F}, {100.00F, 100.000F}, {100.0F, 100.0F}}; + double data4[3][2] = {{105.0F, 120.0F}, {160.00F, 95.000F}, {80.0F, 40.0F}}; write_dset(gid1, 2, dims2, "dset1", H5T_NATIVE_DOUBLE, data1); write_dset(gid2, 2, dims2, "dset2", H5T_NATIVE_DOUBLE, data2); write_dset(gid1, 2, dims2, "dset3", H5T_NATIVE_DOUBLE, data3); write_dset(gid2, 2, dims2, "dset4", H5T_NATIVE_DOUBLE, data4); write_dset(gid2, 2, dims2, "dset1", H5T_NATIVE_DOUBLE, data2); - } /*------------------------------------------------------------------------- - * relative error, compare divide by zero, both zero - * # 1.6.1 with -p (int) - *------------------------------------------------------------------------- - */ + * relative error, compare divide by zero, both zero + * # 1.6.1 with -p (int) + *------------------------------------------------------------------------- + */ { - int data5[3][2] = { { 100, 100 }, { 100, 0 }, { 0, 100 } }; - int data6[3][2] = { { 120, 80 }, { 0, 100 }, { 0, 50 } }; + int data5[3][2] = {{100, 100}, {100, 0}, {0, 100}}; + int data6[3][2] = {{120, 80}, {0, 100}, {0, 50}}; write_dset(gid1, 2, dims2, "dset5", H5T_NATIVE_INT, data5); write_dset(gid1, 2, dims2, "dset6", H5T_NATIVE_INT, data6); - } /*------------------------------------------------------------------------- - * relative error, compare divide by zero, both zero - * # 1.6.2 with -p (unsigned long long) - *------------------------------------------------------------------------- - */ + * relative error, compare divide by zero, both zero + * # 1.6.2 with -p (unsigned long long) + *------------------------------------------------------------------------- + */ { - unsigned long long data7[3][2] = - { { 100, 100 }, { 100, 0 }, { 0, 100 } }; - unsigned long long data8[3][2] = { { 120, 80 }, { 0, 100 }, { 0, 50 } }; + unsigned long long data7[3][2] = {{100, 100}, {100, 0}, {0, 100}}; + unsigned long long data8[3][2] = {{120, 80}, {0, 100}, {0, 50}}; write_dset(gid1, 2, dims2, "dset7", H5T_NATIVE_ULLONG, data7); write_dset(gid1, 2, dims2, "dset8", H5T_NATIVE_ULLONG, data8); - } /*------------------------------------------------------------------------- - * relative error, compare divide by zero, both zero - * # 1.6.3 with -p (double) - * - * A B 1-B/A % - * 100 120 0.2 20 - * 100 80 0.2 20 - * 100 0 1 100 - * 0 100 #DIV/0! #DIV/0! - * 0 0 #DIV/0! #DIV/0! - * 100 50 0.5 50 - *------------------------------------------------------------------------- - */ + * relative error, compare divide by zero, both zero + * # 1.6.3 with -p (double) + * + * A B 1-B/A % + * 100 120 0.2 20 + * 100 80 0.2 20 + * 100 0 1 100 + * 0 100 #DIV/0! #DIV/0! + * 0 0 #DIV/0! #DIV/0! + * 100 50 0.5 50 + *------------------------------------------------------------------------- + */ { - double data9[3][2] = { { 100.0F, 100.0F }, { 100.0F, 0.0F }, { 0.0F, - 100.0F } }; - double data10[3][2] = { { 120.0F, 80.0F }, { 0.0F, 100.0F }, { 0.0F, - 50.0F } }; + double data9[3][2] = {{100.0F, 100.0F}, {100.0F, 0.0F}, {0.0F, 100.0F}}; + double data10[3][2] = {{120.0F, 80.0F}, {0.0F, 100.0F}, {0.0F, 50.0F}}; write_dset(gid1, 2, dims2, "dset9", H5T_NATIVE_DOUBLE, data9); write_dset(gid1, 2, dims2, "dset10", H5T_NATIVE_DOUBLE, data10); - } /*------------------------------------------------------------------------- - * test floating point comparison - *------------------------------------------------------------------------- - */ + * test floating point comparison + *------------------------------------------------------------------------- + */ { /* epsilon = 0.0000001 = 1e-7 - * system epsilon for float : FLT_EPSILON = 1.19209E-07 - */ - float data11[3][2] = { { 0.000000f, 0.0000001f }, { 0.0000001f, - 0.00000022f }, { 0.0000001f, 0.0000001f } }; - float data12[3][2] = { { 0.000000f, 0.0000002f }, { 0.0000003f, - 0.0000001f }, { 0.000000f, 0.0000001f } }; + * system epsilon for float : FLT_EPSILON = 1.19209E-07 + */ + float data11[3][2] = {{0.000000f, 0.0000001f}, {0.0000001f, 0.00000022f}, {0.0000001f, 0.0000001f}}; + float data12[3][2] = {{0.000000f, 0.0000002f}, {0.0000003f, 0.0000001f}, {0.000000f, 0.0000001f}}; /* epsilon = 0.0000000000000001 = 1e-16 - * system epsilon for double : DBL_EPSILON = 2.22045E-16 - */ - double data13[3][2] = { { 0.0000000000000000, 0.0000000000000001 }, - { 0.0000000000000001, 0.0000000000000000 }, - { 0.00000000000000033, 0.0000000000000001 } }; - double data14[3][2] = { { 0.0000000000000000, 0.0000000000000004 }, - { 0.0000000000000002, 0.0000000000000001 }, - { 0.0000000000000001, 0.00000000000000000 } }; + * system epsilon for double : DBL_EPSILON = 2.22045E-16 + */ + double data13[3][2] = {{0.0000000000000000, 0.0000000000000001}, + {0.0000000000000001, 0.0000000000000000}, + {0.00000000000000033, 0.0000000000000001}}; + double data14[3][2] = {{0.0000000000000000, 0.0000000000000004}, + {0.0000000000000002, 0.0000000000000001}, + {0.0000000000000001, 0.00000000000000000}}; write_dset(gid1, 2, dims2, "fp1", H5T_NATIVE_FLOAT, data11); write_dset(gid1, 2, dims2, "fp2", H5T_NATIVE_FLOAT, data12); write_dset(gid1, 2, dims2, "d1", H5T_NATIVE_DOUBLE, data13); write_dset(gid1, 2, dims2, "d2", H5T_NATIVE_DOUBLE, data14); - } -#if H5_SIZEOF_LONG_DOUBLE !=0 +#if H5_SIZEOF_LONG_DOUBLE != 0 { /*------------------------------------------------------------------------- - * H5T_NATIVE_LDOUBLE - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_LDOUBLE + *------------------------------------------------------------------------- + */ - long double data15[3][2] = { {1.0L,1.0L}, {1.0L,1.0L}, {1.0L,1.0L}}; - - write_dset(gid1,2,dims2,"ld",H5T_NATIVE_LDOUBLE,data15); + long double data15[3][2] = {{1.0L, 1.0L}, {1.0L, 1.0L}, {1.0L, 1.0L}}; + write_dset(gid1, 2, dims2, "ld", H5T_NATIVE_LDOUBLE, data15); } #endif /*------------------------------------------------------------------------- - * NaNs in H5T_NATIVE_FLOAT - *------------------------------------------------------------------------- - */ + * NaNs in H5T_NATIVE_FLOAT + *------------------------------------------------------------------------- + */ { float data15[6]; float data16[6]; - data15[0] = (float) HDsqrt(-1.0F); + data15[0] = (float)HDsqrt(-1.0F); data15[1] = 1.0F; - data15[2] = (float) HDsqrt(-1.0F); + data15[2] = (float)HDsqrt(-1.0F); data15[3] = 1.0F; data15[4] = 1.0F; data15[5] = 1.0F; - data16[0] = (float) HDsqrt(-1.0F); - data16[1] = (float) HDsqrt(-1.0F); + data16[0] = (float)HDsqrt(-1.0F); + data16[1] = (float)HDsqrt(-1.0F); data16[2] = 1.0F; data16[3] = 1.0F; data16[4] = 1.0F; @@ -493,13 +481,12 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) write_dset(gid1, 1, dims1, "fp15", H5T_NATIVE_FLOAT, data15); write_dset(gid1, 1, dims1, "fp16", H5T_NATIVE_FLOAT, data16); - } /*------------------------------------------------------------------------- - * NaNs in H5T_NATIVE_DOUBLE - *------------------------------------------------------------------------- - */ + * NaNs in H5T_NATIVE_DOUBLE + *------------------------------------------------------------------------- + */ { double data17[6]; @@ -525,15 +512,15 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) } /*------------------------------------------------------------------------ - * INFINITY values - *------------------------------------------------------------------------ - */ + * INFINITY values + *------------------------------------------------------------------------ + */ { - float data19[6]; + float data19[6]; double data20[6]; - data19[0] = data19[1] = data19[2] = (float) HDlog(0.0F); - data19[3] = data19[4] = data19[5] = (float) -HDlog(0.0F); + data19[0] = data19[1] = data19[2] = (float)HDlog(0.0F); + data19[3] = data19[4] = data19[5] = (float)-HDlog(0.0F); data20[0] = data20[1] = data20[2] = HDlog(0.0F); data20[3] = data20[4] = data20[5] = -HDlog(0.0F); @@ -545,39 +532,38 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) } /*------------------------------------------------------------------------- - * NaNs in H5T_NATIVE_DOUBLE and H5T_NATIVE_FLOAT inside H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * NaNs in H5T_NATIVE_DOUBLE and H5T_NATIVE_FLOAT inside H5T_COMPOUND + *------------------------------------------------------------------------- + */ { typedef struct cmp1_t { double d; - float f; + float f; } cmp1_t; - cmp1_t buf1[2]; - cmp1_t buf2[2]; - hsize_t dims[1] = { 2 }; - size_t type_size; - hid_t tid; + cmp1_t buf1[2]; + cmp1_t buf2[2]; + hsize_t dims[1] = {2}; + size_t type_size; + hid_t tid; buf1[0].d = HDsqrt(-1.0F); - buf1[0].f = (float) HDsqrt(-1.0F); + buf1[0].f = (float)HDsqrt(-1.0F); buf2[0].d = HDsqrt(-1.0F); - buf2[0].f = (float) HDsqrt(-1.0F); + buf2[0].f = (float)HDsqrt(-1.0F); buf1[1].d = HDsqrt(-1.0F); - buf1[1].f = (float) HDsqrt(-1.0F); + buf1[1].f = (float)HDsqrt(-1.0F); buf2[1].d = 0.0F; buf2[1].f = 0.0F; type_size = sizeof(cmp1_t); - tid = H5Tcreate(H5T_COMPOUND, type_size); + tid = H5Tcreate(H5T_COMPOUND, type_size); H5Tinsert(tid, "d", HOFFSET(cmp1_t, d), H5T_NATIVE_DOUBLE); H5Tinsert(tid, "f", HOFFSET(cmp1_t, f), H5T_NATIVE_FLOAT); write_dset(gid1, 1, dims, "dset11", tid, buf1); write_dset(gid1, 1, dims, "dset12", tid, buf2); H5Tclose(tid); - } /* not comparable objects */ @@ -585,11 +571,11 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) typedef struct cmp1_t { double d; - int i; + int i; } cmp1_t; typedef struct cmp2_t { - int i; + int i; double d; } cmp2_t; @@ -597,17 +583,17 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) int i; } cmp3_t; - double data2[6] = { 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F }; - int data3[6] = { 0, 0, 0, 0, 0, 0 }; - int data4[3][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 } }; - int data5[2][2] = { { 0, 0 }, { 0, 0 } }; - unsigned int data6[3][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 } }; - cmp1_t data7[1] = { { 1.0f, 2 } }; - cmp2_t data8[1] = { { 1, 2.0f } }; - hsize_t dims3[2] = { 2, 2 }; - hsize_t dims4[1] = { 1 }; - size_t type_size; - hid_t tid; + double data2[6] = {0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F}; + int data3[6] = {0, 0, 0, 0, 0, 0}; + int data4[3][2] = {{0, 0}, {0, 0}, {0, 0}}; + int data5[2][2] = {{0, 0}, {0, 0}}; + unsigned int data6[3][2] = {{0, 0}, {0, 0}, {0, 0}}; + cmp1_t data7[1] = {{1.0f, 2}}; + cmp2_t data8[1] = {{1, 2.0f}}; + hsize_t dims3[2] = {2, 2}; + hsize_t dims4[1] = {1}; + size_t type_size; + hid_t tid; write_dset(gid3, 1, dims1, "dset1", H5T_NATIVE_DOUBLE, NULL); write_dset(gid3, 1, dims1, "dset2", H5T_NATIVE_DOUBLE, data2); @@ -618,14 +604,14 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) /* case of compound with different type members */ type_size = sizeof(cmp1_t); - tid = H5Tcreate(H5T_COMPOUND, type_size); + tid = H5Tcreate(H5T_COMPOUND, type_size); H5Tinsert(tid, "d", HOFFSET(cmp1_t, d), H5T_NATIVE_DOUBLE); H5Tinsert(tid, "i", HOFFSET(cmp1_t, i), H5T_NATIVE_INT); write_dset(gid3, 1, dims4, "dset7", tid, data7); H5Tclose(tid); type_size = sizeof(cmp2_t); - tid = H5Tcreate(H5T_COMPOUND, type_size); + tid = H5Tcreate(H5T_COMPOUND, type_size); H5Tinsert(tid, "i", HOFFSET(cmp2_t, i), H5T_NATIVE_INT); H5Tinsert(tid, "d", HOFFSET(cmp2_t, d), H5T_NATIVE_DOUBLE); write_dset(gid3, 1, dims4, "dset8", tid, data8); @@ -633,17 +619,16 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3) /* case of compound with different number of members */ type_size = sizeof(cmp3_t); - tid = H5Tcreate(H5T_COMPOUND, type_size); + tid = H5Tcreate(H5T_COMPOUND, type_size); H5Tinsert(tid, "i", HOFFSET(cmp2_t, i), H5T_NATIVE_INT); write_dset(gid3, 1, dims4, "dset9", tid, NULL); H5Tclose(tid); - } /*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ + * close + *------------------------------------------------------------------------- + */ H5Gclose(gid1); H5Gclose(gid2); H5Gclose(gid3); @@ -664,18 +649,18 @@ out: * *------------------------------------------------------------------------- */ -static -int test_types(const char *fname) +static int +test_types(const char *fname) { - hid_t fid1 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; - hid_t tid1 = H5I_INVALID_HID; - hid_t tid2 = H5I_INVALID_HID; - herr_t status; - hsize_t dims[1] = { 1 }; + hid_t fid1 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; + hid_t tid1 = H5I_INVALID_HID; + hid_t tid2 = H5I_INVALID_HID; + herr_t status; + hsize_t dims[1] = {1}; typedef struct s1_t { - int a; + int a; float b; } s1_t; typedef struct s2_t { @@ -683,30 +668,30 @@ int test_types(const char *fname) } s2_t; /*------------------------------------------------------------------------- - * Create one file - *------------------------------------------------------------------------- - */ + * Create one file + *------------------------------------------------------------------------- + */ fid1 = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*------------------------------------------------------------------------- - * H5G_DATASET - *------------------------------------------------------------------------- - */ + * H5G_DATASET + *------------------------------------------------------------------------- + */ write_dset(fid1, 1, dims, "dset", H5T_NATIVE_INT, 0); /*------------------------------------------------------------------------- - * H5G_GROUP - *------------------------------------------------------------------------- - */ - gid1 = H5Gcreate2(fid1, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + * H5G_GROUP + *------------------------------------------------------------------------- + */ + gid1 = H5Gcreate2(fid1, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Gclose(gid1); - gid2 = H5Gcreate2(fid1, "g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + gid2 = H5Gcreate2(fid1, "g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Gclose(gid2); /*------------------------------------------------------------------------- - * H5G_TYPE - *------------------------------------------------------------------------- - */ + * H5G_TYPE + *------------------------------------------------------------------------- + */ /* create and commit datatype 1 */ tid1 = H5Tcreate(H5T_COMPOUND, sizeof(s1_t)); @@ -721,25 +706,25 @@ int test_types(const char *fname) H5Tclose(tid2); /*------------------------------------------------------------------------- - * H5G_LINK - *------------------------------------------------------------------------- - */ + * H5G_LINK + *------------------------------------------------------------------------- + */ status = H5Lcreate_soft("g1", fid1, "l1", H5P_DEFAULT, H5P_DEFAULT); status = H5Lcreate_soft("g2", fid1, "l2", H5P_DEFAULT, H5P_DEFAULT); /*------------------------------------------------------------------------- - * H5G_UDLINK - *------------------------------------------------------------------------- - */ + * H5G_UDLINK + *------------------------------------------------------------------------- + */ H5Lcreate_external("filename", "objname", fid1, "ext_link", H5P_DEFAULT, H5P_DEFAULT); H5Lregister(UD_link_class); - H5Lcreate_ud(fid1, "ud_link", (H5L_type_t) MY_LINKCLASS, NULL, (size_t) 0, H5P_DEFAULT, H5P_DEFAULT); + H5Lcreate_ud(fid1, "ud_link", (H5L_type_t)MY_LINKCLASS, NULL, (size_t)0, H5P_DEFAULT, H5P_DEFAULT); /*------------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------- - */ + * Close + *------------------------------------------------------------------------- + */ status = H5Fclose(fid1); return status; } @@ -789,138 +774,138 @@ int test_types(const char *fname) * *------------------------------------------------------------------------- */ -static -int test_datatypes(const char *fname) +static int +test_datatypes(const char *fname) { - hid_t fid1 = H5I_INVALID_HID; - hid_t dset = H5I_INVALID_HID; - hsize_t dims[2] = { 3, 2 }; - herr_t status; - char buf1a[3][2] = { { 1, 1 }, { 1, 1 }, { 1, 1 } }; - char buf1b[3][2] = { { 1, 1 }, { 3, 4 }, { 5, 6 } }; - short buf2a[3][2] = { { 1, 1 }, { 1, 1 }, { 1, 1 } }; - short buf2b[3][2] = { { 1, 1 }, { 3, 4 }, { 5, 6 } }; - int buf3a[3][2] = { { 1, 1 }, { 1, 1 }, { 1, 1 } }; - int buf3b[3][2] = { { 1, 1 }, { 3, 4 }, { 5, 6 } }; - long buf4a[3][2] = { { 1, 1 }, { 1, 1 }, { 1, 1 } }; - long buf4b[3][2] = { { 1, 1 }, { 3, 4 }, { 5, 6 } }; - float buf5a[3][2] = { { 1.0F, 1.0F }, { 1.0F, 1.0F }, { 1.0F, 1.0F } }; - float buf5b[3][2] = { { 1.0F, 1.0F }, { 3.0F, 4.0F }, { 5.0F, 6.0F } }; - double buf6a[3][2] = { { 1.0F, 1.0F }, { 1.0F, 1.0F }, { 1.0F, 1.0F } }; - double buf6b[3][2] = { { 1.0F, 1.0F }, { 3.0F, 4.0F }, { 5.0F, 6.0F } }; + hid_t fid1 = H5I_INVALID_HID; + hid_t dset = H5I_INVALID_HID; + hsize_t dims[2] = {3, 2}; + herr_t status; + char buf1a[3][2] = {{1, 1}, {1, 1}, {1, 1}}; + char buf1b[3][2] = {{1, 1}, {3, 4}, {5, 6}}; + short buf2a[3][2] = {{1, 1}, {1, 1}, {1, 1}}; + short buf2b[3][2] = {{1, 1}, {3, 4}, {5, 6}}; + int buf3a[3][2] = {{1, 1}, {1, 1}, {1, 1}}; + int buf3b[3][2] = {{1, 1}, {3, 4}, {5, 6}}; + long buf4a[3][2] = {{1, 1}, {1, 1}, {1, 1}}; + long buf4b[3][2] = {{1, 1}, {3, 4}, {5, 6}}; + float buf5a[3][2] = {{1.0F, 1.0F}, {1.0F, 1.0F}, {1.0F, 1.0F}}; + float buf5b[3][2] = {{1.0F, 1.0F}, {3.0F, 4.0F}, {5.0F, 6.0F}}; + double buf6a[3][2] = {{1.0F, 1.0F}, {1.0F, 1.0F}, {1.0F, 1.0F}}; + double buf6b[3][2] = {{1.0F, 1.0F}, {3.0F, 4.0F}, {5.0F, 6.0F}}; /*unsigned/signed test signed char -128 to 127 unsigned char 0 to 255 */ - char buf7a[3][2] = { { -1, -128 }, { -1, -1 }, { -1, -1 } }; - unsigned char buf7b[3][2] = { { 1, 128 }, { 1, 1 }, { 1, 1 } }; + char buf7a[3][2] = {{-1, -128}, {-1, -1}, {-1, -1}}; + unsigned char buf7b[3][2] = {{1, 128}, {1, 1}, {1, 1}}; /* long long test */ - long long buf8a[3][2] = { { 1, 1 }, { 1, 1 }, { 1, 1 } }; - long long buf8b[3][2] = { { 1, 1 }, { 3, 4 }, { 5, 6 } }; - unsigned long long buf9a[3][2] = { { 1, 1 }, { 1, 1 }, { 1, 1 } }; - unsigned long long buf9b[3][2] = { { 1, 1 }, { 3, 4 }, { 5, 6 } }; + long long buf8a[3][2] = {{1, 1}, {1, 1}, {1, 1}}; + long long buf8b[3][2] = {{1, 1}, {3, 4}, {5, 6}}; + unsigned long long buf9a[3][2] = {{1, 1}, {1, 1}, {1, 1}}; + unsigned long long buf9b[3][2] = {{1, 1}, {3, 4}, {5, 6}}; - unsigned int buf10a[3][2] = { { UIMAX, 1 }, { 1, 1 }, { 1, 1 } }; - unsigned int buf10b[3][2] = { { UIMAX - 1, 1 }, { 3, 4 }, { 5, 6 } }; + unsigned int buf10a[3][2] = {{UIMAX, 1}, {1, 1}, {1, 1}}; + unsigned int buf10b[3][2] = {{UIMAX - 1, 1}, {3, 4}, {5, 6}}; - unsigned short buf11a[3][2] = { { 204, 205 }, { 2, 3 }, { 1, 1 } }; - unsigned int buf11b[3][2] = { { 204, 205 }, { 2, 3 }, { 1, 1 } }; + unsigned short buf11a[3][2] = {{204, 205}, {2, 3}, {1, 1}}; + unsigned int buf11b[3][2] = {{204, 205}, {2, 3}, {1, 1}}; /*------------------------------------------------------------------------- - * Create a file - *------------------------------------------------------------------------- - */ + * Create a file + *------------------------------------------------------------------------- + */ fid1 = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*------------------------------------------------------------------------- - * Check for different storage order. Give a warning if they are different - *------------------------------------------------------------------------- - */ + * Check for different storage order. Give a warning if they are different + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset0a", H5T_STD_I16LE, buf2a); write_dset(fid1, 2, dims, "dset0b", H5T_STD_I32LE, buf3b); /*------------------------------------------------------------------------- - * H5T_NATIVE_CHAR - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_CHAR + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset1a", H5T_NATIVE_CHAR, buf1a); write_dset(fid1, 2, dims, "dset1b", H5T_NATIVE_CHAR, buf1b); /*------------------------------------------------------------------------- - * H5T_NATIVE_SHORT - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_SHORT + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset2a", H5T_NATIVE_SHORT, buf2a); write_dset(fid1, 2, dims, "dset2b", H5T_NATIVE_SHORT, buf2b); /*------------------------------------------------------------------------- - * H5T_NATIVE_INT - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_INT + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset3a", H5T_NATIVE_INT, buf3a); write_dset(fid1, 2, dims, "dset3b", H5T_NATIVE_INT, buf3b); /*------------------------------------------------------------------------- - * H5T_NATIVE_LONG - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_LONG + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset4a", H5T_NATIVE_LONG, buf4a); write_dset(fid1, 2, dims, "dset4b", H5T_NATIVE_LONG, buf4b); /*------------------------------------------------------------------------- - * H5T_NATIVE_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_FLOAT + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset5a", H5T_NATIVE_FLOAT, buf5a); write_dset(fid1, 2, dims, "dset5b", H5T_NATIVE_FLOAT, buf5b); /*------------------------------------------------------------------------- - * H5T_NATIVE_DOUBLE - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_DOUBLE + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset6a", H5T_NATIVE_DOUBLE, buf6a); write_dset(fid1, 2, dims, "dset6b", H5T_NATIVE_DOUBLE, buf6b); /*------------------------------------------------------------------------- - * H5T_NATIVE_CHAR and H5T_NATIVE_UCHAR - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_CHAR and H5T_NATIVE_UCHAR + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset7a", H5T_NATIVE_CHAR, buf7a); write_dset(fid1, 2, dims, "dset7b", H5T_NATIVE_UCHAR, buf7b); /*------------------------------------------------------------------------- - * H5T_NATIVE_LLONG - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_LLONG + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset8a", H5T_NATIVE_LLONG, buf8a); write_dset(fid1, 2, dims, "dset8b", H5T_NATIVE_LLONG, buf8b); /*------------------------------------------------------------------------- - * H5T_NATIVE_ULLONG - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_ULLONG + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset9a", H5T_NATIVE_ULLONG, buf9a); write_dset(fid1, 2, dims, "dset9b", H5T_NATIVE_ULLONG, buf9b); /*------------------------------------------------------------------------- - * H5T_NATIVE_INT - *------------------------------------------------------------------------- - */ + * H5T_NATIVE_INT + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset10a", H5T_NATIVE_UINT, buf10a); write_dset(fid1, 2, dims, "dset10b", H5T_NATIVE_UINT, buf10b); /*------------------------------------------------------------------------- - * Same type class, different size - *------------------------------------------------------------------------- - */ + * Same type class, different size + *------------------------------------------------------------------------- + */ write_dset(fid1, 2, dims, "dset11a", H5T_STD_U16LE, buf11a); dset = H5Dopen2(fid1, "dset11a", H5P_DEFAULT); write_attr(dset, 2, dims, "attr", H5T_STD_U16LE, buf11a); @@ -932,9 +917,9 @@ int test_datatypes(const char *fname) H5Dclose(dset); /*------------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------- - */ + * Close + *------------------------------------------------------------------------- + */ status = H5Fclose(fid1); return status; } @@ -979,44 +964,44 @@ int test_datatypes(const char *fname) * *------------------------------------------------------------------------- */ -static -int test_attributes(const char *file, int make_diffs /* flag to modify data buffers */) +static int +test_attributes(const char *file, int make_diffs /* flag to modify data buffers */) { - hid_t fid = H5I_INVALID_HID; - hid_t did = H5I_INVALID_HID; - hid_t gid = H5I_INVALID_HID; - hid_t root_id = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hsize_t dims[1] = { 2 }; - herr_t status; + hid_t fid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t gid = H5I_INVALID_HID; + hid_t root_id = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hsize_t dims[1] = {2}; + herr_t status; /* Create a file */ if ((fid = H5Fcreate(file, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; /* Create a 1D dataset */ - sid = H5Screate_simple(1, dims, NULL); - did = H5Dcreate2(fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); + did = H5Dcreate2(fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Sclose(sid); assert(status >= 0); /* Create groups */ - gid = H5Gcreate2(fid, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + gid = H5Gcreate2(fid, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); root_id = H5Gopen2(fid, "/", H5P_DEFAULT); /*------------------------------------------------------------------------- - * write a series of attributes on the dataset, group, and root group - *------------------------------------------------------------------------- - */ + * write a series of attributes on the dataset, group, and root group + *------------------------------------------------------------------------- + */ if (make_diffs > 1) { write_attr_strings(did, "dset", fid, make_diffs); - write_attr_strings(gid, NULL, (hid_t) 0, make_diffs); - write_attr_strings(root_id, NULL, (hid_t) 0, make_diffs); + write_attr_strings(gid, NULL, (hid_t)0, make_diffs); + write_attr_strings(root_id, NULL, (hid_t)0, make_diffs); } else { write_attr_in(did, "dset", fid, make_diffs); - write_attr_in(gid, NULL, (hid_t) 0, make_diffs); - write_attr_in(root_id, NULL, (hid_t) 0, make_diffs); + write_attr_in(gid, NULL, (hid_t)0, make_diffs); + write_attr_in(root_id, NULL, (hid_t)0, make_diffs); } /* Close */ @@ -1041,34 +1026,35 @@ int test_attributes(const char *file, int make_diffs /* flag to modify data buff * *------------------------------------------------------------------------- */ -static int test_attributes_verbose_level(const char *fname1, const char *fname2) +static int +test_attributes_verbose_level(const char *fname1, const char *fname2) { herr_t status = SUCCEED; - hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID; - hid_t f1_gid = H5I_INVALID_HID, f2_gid = H5I_INVALID_HID; - hid_t f1_gid2 = H5I_INVALID_HID, f2_gid2 = H5I_INVALID_HID; - hid_t f1_gid3 = H5I_INVALID_HID, f2_gid3 = H5I_INVALID_HID; - hid_t f1_gid4 = H5I_INVALID_HID, f2_gid4 = H5I_INVALID_HID; - hid_t f1_did = H5I_INVALID_HID, f2_did = H5I_INVALID_HID; - hid_t f1_sid = H5I_INVALID_HID, f2_sid = H5I_INVALID_HID; - hid_t f1_tid = H5I_INVALID_HID, f2_tid = H5I_INVALID_HID; + hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID; + hid_t f1_gid = H5I_INVALID_HID, f2_gid = H5I_INVALID_HID; + hid_t f1_gid2 = H5I_INVALID_HID, f2_gid2 = H5I_INVALID_HID; + hid_t f1_gid3 = H5I_INVALID_HID, f2_gid3 = H5I_INVALID_HID; + hid_t f1_gid4 = H5I_INVALID_HID, f2_gid4 = H5I_INVALID_HID; + hid_t f1_did = H5I_INVALID_HID, f2_did = H5I_INVALID_HID; + hid_t f1_sid = H5I_INVALID_HID, f2_sid = H5I_INVALID_HID; + hid_t f1_tid = H5I_INVALID_HID, f2_tid = H5I_INVALID_HID; /* dset */ - hsize_t dset_dims[1] = { 3 }; - int dset_data[3] = { 0, 1, 2 }; + hsize_t dset_dims[1] = {3}; + int dset_data[3] = {0, 1, 2}; /* common attrs dim */ - hsize_t attr_dims[1] = { 2 }; + hsize_t attr_dims[1] = {2}; /* file1 attr */ - int f1_attr_idata[2] = { 1, 2 }; /* integer */ - float f1_attr_fdata[2] = { 1.1F, 2.2F }; /* float */ + int f1_attr_idata[2] = {1, 2}; /* integer */ + float f1_attr_fdata[2] = {1.1F, 2.2F}; /* float */ /* file2 attr */ - int f2_attr_idata[2] = { 2, 3 }; /* integer */ - float f2_attr_fdata[2] = { 2.1F, 3.2F }; /* float */ + int f2_attr_idata[2] = {2, 3}; /* integer */ + float f2_attr_fdata[2] = {2.1F, 3.2F}; /* float */ /*---------------------------------------------------------------------- - * Create file1 - *-----------------------------------------------------------------------*/ + * Create file1 + *-----------------------------------------------------------------------*/ if ((fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); status = FAIL; @@ -1076,8 +1062,8 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) } /*---------------------------------- - * Groups - */ + * Groups + */ f1_gid = H5Gcreate2(fid1, "g", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (f1_gid < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname1); @@ -1107,8 +1093,8 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) } /*---------------------------------- - * Datasets - */ + * Datasets + */ f1_sid = H5Screate_simple(1, dset_dims, NULL); f1_did = H5Dcreate2(fid1, "dset", H5T_NATIVE_INT, f1_sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (f1_did == FAIL) { @@ -1124,8 +1110,8 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) } /*---------------------------------- - * Named Datatype - */ + * Named Datatype + */ f1_tid = H5Tcopy(H5T_NATIVE_INT); status = H5Tcommit2(fid1, "ntype", f1_tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -1135,8 +1121,8 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) } /*---------------------------------------------------------------------- - * Create file2 - *-----------------------------------------------------------------------*/ + * Create file2 + *-----------------------------------------------------------------------*/ if ((fid2 = H5Fcreate(fname2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname2); status = FAIL; @@ -1144,8 +1130,8 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) } /*---------------------------------- - * Groups - */ + * Groups + */ f2_gid = H5Gcreate2(fid2, "g", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (f2_gid < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname2); @@ -1175,8 +1161,8 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) } /*---------------------------------- - * Datasets - */ + * Datasets + */ f2_sid = H5Screate_simple(1, dset_dims, NULL); f2_did = H5Dcreate2(fid2, "dset", H5T_NATIVE_INT, f2_sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (f2_did == FAIL) { @@ -1192,8 +1178,8 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) } /*---------------------------------- - * Named Datatype - */ + * Named Datatype + */ f2_tid = H5Tcopy(H5T_NATIVE_INT); status = H5Tcommit2(fid2, "ntype", f2_tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -1203,9 +1189,9 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) } /*---------------------------------- - * CASE1 - Same attr number, all Same attr name - * add attr to group - */ + * CASE1 - Same attr number, all Same attr name + * add attr to group + */ write_attr(f1_gid, 1, attr_dims, "integer1", H5T_NATIVE_INT, f1_attr_idata); write_attr(f1_gid, 1, attr_dims, "float1", H5T_NATIVE_FLOAT, f1_attr_fdata); @@ -1213,9 +1199,9 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) write_attr(f2_gid, 1, attr_dims, "float1", H5T_NATIVE_FLOAT, f2_attr_fdata); /*---------------------------------- - * CASE2 - Same attr number, some Same attr name - * add attr to dset - */ + * CASE2 - Same attr number, some Same attr name + * add attr to dset + */ write_attr(f1_did, 1, attr_dims, "integer1", H5T_NATIVE_INT, f1_attr_idata); write_attr(f1_did, 1, attr_dims, "float2", H5T_NATIVE_FLOAT, f1_attr_fdata); @@ -1223,9 +1209,9 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) write_attr(f2_did, 1, attr_dims, "float3", H5T_NATIVE_FLOAT, f2_attr_fdata); /*---------------------------------- - * CASE3 - Same attr number, all different attr name - * add attr to ntype - */ + * CASE3 - Same attr number, all different attr name + * add attr to ntype + */ write_attr(f1_tid, 1, attr_dims, "integer1", H5T_NATIVE_INT, f1_attr_idata); write_attr(f1_tid, 1, attr_dims, "float2", H5T_NATIVE_FLOAT, f1_attr_fdata); write_attr(f1_tid, 1, attr_dims, "float3", H5T_NATIVE_FLOAT, f1_attr_fdata); @@ -1235,9 +1221,9 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) write_attr(f2_tid, 1, attr_dims, "float6", H5T_NATIVE_FLOAT, f2_attr_fdata); /*---------------------------------- - * CASE4 - Different attr number, some same attr name (vs file2-g2) - * add attr to g2 - */ + * CASE4 - Different attr number, some same attr name (vs file2-g2) + * add attr to g2 + */ write_attr(f1_gid2, 1, attr_dims, "integer1", H5T_NATIVE_INT, f1_attr_idata); write_attr(f1_gid2, 1, attr_dims, "float2", H5T_NATIVE_FLOAT, f1_attr_fdata); write_attr(f1_gid2, 1, attr_dims, "float3", H5T_NATIVE_FLOAT, f1_attr_fdata); @@ -1246,9 +1232,9 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) write_attr(f2_gid2, 1, attr_dims, "float2", H5T_NATIVE_FLOAT, f2_attr_fdata); /*---------------------------------- - * CASE5 - Different attr number, all different attr name - * add attr to g3 - */ + * CASE5 - Different attr number, all different attr name + * add attr to g3 + */ write_attr(f1_gid3, 1, attr_dims, "integer10", H5T_NATIVE_INT, f1_attr_idata); write_attr(f1_gid3, 1, attr_dims, "float11", H5T_NATIVE_FLOAT, f1_attr_fdata); write_attr(f1_gid3, 1, attr_dims, "float12", H5T_NATIVE_FLOAT, f1_attr_fdata); @@ -1258,8 +1244,8 @@ static int test_attributes_verbose_level(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1 > 0) H5Fclose(fid1); if (fid2 > 0) @@ -1306,16 +1292,16 @@ out: * *------------------------------------------------------------------------- */ -static -int test_datasets(const char *file, int make_diffs /* flag to modify data buffers */) +static int +test_datasets(const char *file, int make_diffs /* flag to modify data buffers */) { - hid_t fid = H5I_INVALID_HID; - hid_t did = H5I_INVALID_HID; - hid_t gid = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hsize_t dims[1] = { 2 }; - herr_t status; - int buf[2] = { 1, 2 }; + hid_t fid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t gid = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hsize_t dims[1] = {2}; + herr_t status; + int buf[2] = {1, 2}; if (make_diffs > 0) memset(buf, 0, sizeof buf); @@ -1325,8 +1311,8 @@ int test_datasets(const char *file, int make_diffs /* flag to modify data buffer return -1; /* Create a 1D dataset */ - sid = H5Screate_simple(1, dims, NULL); - did = H5Dcreate2(fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); + did = H5Dcreate2(fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); status = H5Sclose(sid); assert(status >= 0); @@ -1335,9 +1321,9 @@ int test_datasets(const char *file, int make_diffs /* flag to modify data buffer gid = H5Gcreate2(fid, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /*------------------------------------------------------------------------- - * write a series of datasets on the group - *------------------------------------------------------------------------- - */ + * write a series of datasets on the group + *------------------------------------------------------------------------- + */ write_dset_in(gid, "/dset", fid, make_diffs); @@ -1359,16 +1345,16 @@ int test_datasets(const char *file, int make_diffs /* flag to modify data buffer * Purpose: Check datasets with datasapce of zero dimension size. *------------------------------------------------------------------------- */ -static -int test_special_datasets(const char *file, int make_diffs /* flag to modify data buffers */) +static int +test_special_datasets(const char *file, int make_diffs /* flag to modify data buffers */) { - hid_t fid = H5I_INVALID_HID; - hid_t did = H5I_INVALID_HID; - hid_t sid0 = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hsize_t dims0[SPACE1_RANK] = { SPACE1_DIM1, SPACE1_DIM2 }; - hsize_t dims[SPACE1_RANK] = { SPACE1_DIM1, SPACE1_DIM2 }; - herr_t status; + hid_t fid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t sid0 = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hsize_t dims0[SPACE1_RANK] = {SPACE1_DIM1, SPACE1_DIM2}; + hsize_t dims[SPACE1_RANK] = {SPACE1_DIM1, SPACE1_DIM2}; + herr_t status; /* Create a file */ if ((fid = H5Fcreate(file, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) @@ -1376,7 +1362,7 @@ int test_special_datasets(const char *file, int make_diffs /* flag to modify dat /* Create a dataset with zero dimension size */ sid0 = H5Screate_simple(SPACE1_RANK, dims0, NULL); - did = H5Dcreate2(fid, "dset1", H5T_NATIVE_INT, sid0, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + did = H5Dcreate2(fid, "dset1", H5T_NATIVE_INT, sid0, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* close dataset */ status = H5Dclose(did); @@ -1387,7 +1373,7 @@ int test_special_datasets(const char *file, int make_diffs /* flag to modify dat assert(status >= 0); /* Create a dataset with zero dimension size in one file but the other one - * has a dataset with a non-zero dimension size */ + * has a dataset with a non-zero dimension size */ if (make_diffs) dims[1] = SPACE1_DIM2 + 4; @@ -1416,16 +1402,17 @@ int test_special_datasets(const char *file, int make_diffs /* flag to modify dat * Programmer: Jonathan Kim (Feb 17, 2010) * *-------------------------------------------------------------------------*/ -static int test_link_name(const char *fname1) +static int +test_link_name(const char *fname1) { - hid_t fid1 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; + hid_t fid1 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); @@ -1434,16 +1421,15 @@ static int test_link_name(const char *fname1) } /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ gid1 = H5Gcreate2(fid1, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname1); status = FAIL; goto out; } - gid2 = H5Gcreate2(fid1, "group_longname", H5P_DEFAULT, H5P_DEFAULT, - H5P_DEFAULT); + gid2 = H5Gcreate2(fid1, "group_longname", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid2 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname1); @@ -1452,8 +1438,8 @@ static int test_link_name(const char *fname1) } /*----------------------------------------------------------------------- - * Soft Links - *------------------------------------------------------------------------*/ + * Soft Links + *------------------------------------------------------------------------*/ status = H5Lcreate_soft("group", fid1, "link_g1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", fname1); @@ -1470,8 +1456,8 @@ static int test_link_name(const char *fname1) out: /*----------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------*/ + * Close + *------------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (gid1) @@ -1489,18 +1475,19 @@ out: * Programmer: Jonathan Kim (Feb 17, 2010) * *-------------------------------------------------------------------------*/ -static int test_soft_links(const char *fname1) +static int +test_soft_links(const char *fname1) { - hid_t fid1 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 1 }, { 2, 3 }, { 1, 2 }, { 3, 4 } }; - int data2[4][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 1}, {2, 3}, {1, 2}, {3, 4}}; + int data2[4][2] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); @@ -1509,8 +1496,8 @@ static int test_soft_links(const char *fname1) } /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ gid1 = H5Gcreate2(fid1, "target_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname1); @@ -1519,8 +1506,8 @@ static int test_soft_links(const char *fname1) } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /* file1 */ status = write_dset(fid1, 2, dims2, "target_dset1", H5T_NATIVE_INT, data1); if (status == FAIL) { @@ -1544,8 +1531,8 @@ static int test_soft_links(const char *fname1) } /*----------------------------------------------------------------------- - * Soft Links - *------------------------------------------------------------------------*/ + * Soft Links + *------------------------------------------------------------------------*/ /* file 1 */ status = H5Lcreate_soft("/target_dset1", fid1, "softlink_dset1_1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -1591,8 +1578,8 @@ static int test_soft_links(const char *fname1) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (gid1) @@ -1608,20 +1595,21 @@ out: * Programmer: Jonathan Kim (Feb 17, 2010) * *-------------------------------------------------------------------------*/ -static int test_linked_softlinks(const char *fname1) +static int +test_linked_softlinks(const char *fname1) { - hid_t fid1 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; - hid_t gid3 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 1 }, { 2, 3 }, { 1, 2 }, { 3, 4 } }; - int data2[4][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; + hid_t gid3 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 1}, {2, 3}, {1, 2}, {3, 4}}; + int data2[4][2] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); @@ -1630,8 +1618,8 @@ static int test_linked_softlinks(const char *fname1) } /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ gid1 = H5Gcreate2(fid1, "target_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname1); @@ -1654,8 +1642,8 @@ static int test_linked_softlinks(const char *fname1) } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /* file1 */ status = write_dset(fid1, 2, dims2, "target_dset1", H5T_NATIVE_INT, data1); if (status == FAIL) { @@ -1678,10 +1666,10 @@ static int test_linked_softlinks(const char *fname1) } /*----------------------------------------------------------------------- - * Soft Links (Linked) - *------------------------------------------------------------------------*/ + * Soft Links (Linked) + *------------------------------------------------------------------------*/ /*--------- - * file 1 */ + * file 1 */ status = H5Lcreate_soft("/target_dset1", fid1, "softlink1_to_dset1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", fname1); @@ -1768,8 +1756,8 @@ static int test_linked_softlinks(const char *fname1) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (gid1) @@ -1789,20 +1777,21 @@ out: * Programmer: Jonathan Kim (Feb 17, 2010) * *-------------------------------------------------------------------------*/ -static int test_external_links(const char *fname1, const char *fname2) +static int +test_external_links(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 1 }, { 2, 3 }, { 1, 2 }, { 3, 4 } }; - int data2[4][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 1}, {2, 3}, {1, 2}, {3, 4}}; + int data2[4][2] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ /* source file */ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { @@ -1820,10 +1809,10 @@ static int test_external_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ /*-------------- - * target file */ + * target file */ gid1 = H5Gcreate2(fid2, "target_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname2); @@ -1838,10 +1827,10 @@ static int test_external_links(const char *fname1, const char *fname2) goto out; } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /*-------------- - * target file */ + * target file */ status = write_dset(fid2, 2, dims2, "target_dset1", H5T_NATIVE_INT, data1); if (status == FAIL) { HDfprintf(stderr, "Error: %s> write_dset failed\n", fname2); @@ -1864,18 +1853,20 @@ static int test_external_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * External Links - *------------------------------------------------------------------------*/ + * External Links + *------------------------------------------------------------------------*/ /*--------------*/ /* source file */ - status = H5Lcreate_external(fname2, "/target_group/x_dset", fid1, "ext_link_dset1", H5P_DEFAULT, H5P_DEFAULT); + status = + H5Lcreate_external(fname2, "/target_group/x_dset", fid1, "ext_link_dset1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", fname1); status = FAIL; goto out; } - status = H5Lcreate_external(fname2, "/target_group2/x_dset", fid1, "ext_link_dset2", H5P_DEFAULT, H5P_DEFAULT); + status = + H5Lcreate_external(fname2, "/target_group2/x_dset", fid1, "ext_link_dset2", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", fname1); status = FAIL; @@ -1912,8 +1903,8 @@ static int test_external_links(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (fid2) @@ -1934,19 +1925,20 @@ out: * Programmer: Jonathan Kim (Feb 17, 2010) * *-------------------------------------------------------------------------*/ -static int test_ext2soft_links(const char *fname1, const char *fname2) +static int +test_ext2soft_links(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 1 }, { 2, 3 }, { 1, 2 }, { 3, 4 } }; - int data2[4][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 1}, {2, 3}, {1, 2}, {3, 4}}; + int data2[4][2] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ /* source file */ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { @@ -1964,8 +1956,8 @@ static int test_ext2soft_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ /* target file */ gid2 = H5Gcreate2(fid2, "target_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid2 < 0) { @@ -1975,10 +1967,10 @@ static int test_ext2soft_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /*-------------- - * target file */ + * target file */ status = write_dset(fid2, 2, dims2, "dset1", H5T_NATIVE_INT, data2); if (status == FAIL) { HDfprintf(stderr, "Error: %s> write_dset failed\n", fname2); @@ -1994,10 +1986,10 @@ static int test_ext2soft_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Soft Links (Linked) - *------------------------------------------------------------------------*/ + * Soft Links (Linked) + *------------------------------------------------------------------------*/ /*--------------- - * target file */ + * target file */ status = H5Lcreate_soft("/dset1", fid2, "softlink_to_dset1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", fname2); @@ -2013,10 +2005,10 @@ static int test_ext2soft_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * External Links - *------------------------------------------------------------------------*/ + * External Links + *------------------------------------------------------------------------*/ /*--------------- - * source file */ + * source file */ status = H5Lcreate_external(fname2, "/target_group", fid1, "ext_link", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", fname1); @@ -2024,14 +2016,16 @@ static int test_ext2soft_links(const char *fname1, const char *fname2) goto out; } - status = H5Lcreate_external(fname2, "/softlink_to_dset1", fid1, "ext_link_to_slink1", H5P_DEFAULT, H5P_DEFAULT); + status = H5Lcreate_external(fname2, "/softlink_to_dset1", fid1, "ext_link_to_slink1", H5P_DEFAULT, + H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", fname1); status = FAIL; goto out; } - status = H5Lcreate_external(fname2, "/softlink_to_dset2", fid1, "ext_link_to_slink2", H5P_DEFAULT, H5P_DEFAULT); + status = H5Lcreate_external(fname2, "/softlink_to_dset2", fid1, "ext_link_to_slink2", H5P_DEFAULT, + H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", fname1); status = FAIL; @@ -2040,8 +2034,8 @@ static int test_ext2soft_links(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (fid2) @@ -2062,20 +2056,20 @@ out: * *------------------------------------------------------------------------- */ -static -int gen_dataset_idx(const char *file, int format) +static int +gen_dataset_idx(const char *file, int format) { - hid_t fid = H5I_INVALID_HID; /* file id */ - hid_t did = H5I_INVALID_HID; - hid_t did2 = H5I_INVALID_HID; /* dataset id */ - hid_t sid = H5I_INVALID_HID; /* space id */ - hid_t fapl = H5I_INVALID_HID; /* file access property id */ - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ - hsize_t dims[1] = { 10 }; /* dataset dimension */ - hsize_t c_dims[1] = { 2 }; /* chunk dimension */ - herr_t status; /* return status */ - int buf[10]; /* data buffer */ - int i; /* local index variable */ + hid_t fid = H5I_INVALID_HID; /* file id */ + hid_t did = H5I_INVALID_HID; + hid_t did2 = H5I_INVALID_HID; /* dataset id */ + hid_t sid = H5I_INVALID_HID; /* space id */ + hid_t fapl = H5I_INVALID_HID; /* file access property id */ + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ + hsize_t dims[1] = {10}; /* dataset dimension */ + hsize_t c_dims[1] = {2}; /* chunk dimension */ + herr_t status; /* return status */ + int buf[10]; /* data buffer */ + int i; /* local index variable */ /* Get a copy of the file aaccess property */ fapl = H5Pcreate(H5P_FILE_ACCESS); @@ -2095,7 +2089,7 @@ int gen_dataset_idx(const char *file, int format) buf[i] = i; /* Set chunk */ - dcpl = H5Pcreate(H5P_DATASET_CREATE); + dcpl = H5Pcreate(H5P_DATASET_CREATE); status = H5Pset_chunk(dcpl, 1, c_dims); assert(status >= 0); @@ -2107,13 +2101,13 @@ int gen_dataset_idx(const char *file, int format) status = H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); assert(status >= 0); -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) /* set deflate data */ status = H5Pset_deflate(dcpl, 9); assert(status >= 0); /* Create and write the dataset */ - did2 = H5Dcreate2(fid, "dset_filter", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT); + did2 = H5Dcreate2(fid, "dset_filter", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT); status = H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); assert(status >= 0); @@ -2149,18 +2143,19 @@ int gen_dataset_idx(const char *file, int format) * Programmer: Jonathan Kim (Feb 17, 2010) * *-------------------------------------------------------------------------*/ -static int test_dangle_links(const char *fname1, const char *fname2) +static int +test_dangle_links(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 1 }, { 2, 3 }, { 1, 2 }, { 3, 4 } }; - int data2[4][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 1}, {2, 3}, {1, 2}, {3, 4}}; + int data2[4][2] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); @@ -2176,8 +2171,8 @@ static int test_dangle_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /* file1 */ status = write_dset(fid1, 2, dims2, "dset1", H5T_NATIVE_INT, data1); if (status == FAIL) { @@ -2209,8 +2204,8 @@ static int test_dangle_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Soft Links - *------------------------------------------------------------------------*/ + * Soft Links + *------------------------------------------------------------------------*/ /* file 1 */ status = H5Lcreate_soft("no_obj", fid1, "soft_link1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -2270,8 +2265,8 @@ static int test_dangle_links(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * External Links - *------------------------------------------------------------------------*/ + * External Links + *------------------------------------------------------------------------*/ /* file1 */ status = H5Lcreate_external(fname2, "no_obj", fid1, "ext_link1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -2332,8 +2327,8 @@ static int test_dangle_links(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (fid2) @@ -2349,21 +2344,24 @@ out: * Programmer: Jonathan Kim (Aug 19, 2010) * *-------------------------------------------------------------------------*/ -static int test_group_recurse(const char *fname1, const char *fname2) +static int +test_group_recurse(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hid_t gid1_f1 = H5I_INVALID_HID, gid2_f1 = H5I_INVALID_HID, gid3_f1 = H5I_INVALID_HID, gid10_f1 = H5I_INVALID_HID; - hid_t gid1_f2 = H5I_INVALID_HID, gid2_f2 = H5I_INVALID_HID, gid3_f2 = H5I_INVALID_HID, gid11_f2 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 1 }, { 0, 1 }, { 1, 0 }, { 1, 0 } }; - int data2[4][2] = { { 0, 2 }, { 0, 2 }, { 2, 0 }, { 2, 0 } }; - int data3[4][2] = { { 0, 3 }, { 0, 3 }, { 3, 0 }, { 3, 0 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hid_t gid1_f1 = H5I_INVALID_HID, gid2_f1 = H5I_INVALID_HID, gid3_f1 = H5I_INVALID_HID, + gid10_f1 = H5I_INVALID_HID; + hid_t gid1_f2 = H5I_INVALID_HID, gid2_f2 = H5I_INVALID_HID, gid3_f2 = H5I_INVALID_HID, + gid11_f2 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 1}, {0, 1}, {1, 0}, {1, 0}}; + int data2[4][2] = {{0, 2}, {0, 2}, {2, 0}, {2, 0}}; + int data3[4][2] = {{0, 3}, {0, 3}, {3, 0}, {3, 0}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); @@ -2379,8 +2377,8 @@ static int test_group_recurse(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ /* file1 */ gid1_f1 = H5Gcreate2(fid1, "/grp1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1_f1 < 0) { @@ -2440,8 +2438,8 @@ static int test_group_recurse(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Datasets under root - *------------------------------------------------------------------------*/ + * Datasets under root + *------------------------------------------------------------------------*/ /* file1 */ status = write_dset(fid1, 2, dims2, "dset1", H5T_NATIVE_INT, data1); if (status == FAIL) { @@ -2487,8 +2485,8 @@ static int test_group_recurse(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Datasets under group - *------------------------------------------------------------------------*/ + * Datasets under group + *------------------------------------------------------------------------*/ /* file1 */ status = write_dset(gid1_f1, 2, dims2, "dset1", H5T_NATIVE_INT, data1); if (status == FAIL) { @@ -2600,8 +2598,8 @@ static int test_group_recurse(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Soft Links - *------------------------------------------------------------------------*/ + * Soft Links + *------------------------------------------------------------------------*/ /* file 1 */ status = H5Lcreate_soft("/grp1", fid1, "slink_grp1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -2661,8 +2659,8 @@ static int test_group_recurse(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * External Links - *------------------------------------------------------------------------*/ + * External Links + *------------------------------------------------------------------------*/ /* file1 */ status = H5Lcreate_external(fname2, "/grp1", fid1, "elink_grp1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -2708,9 +2706,9 @@ static int test_group_recurse(const char *fname1, const char *fname2) } /*------------------------------ - * external circle route test - * file1/grp11 <-> file2/grp10 via elink_grp_circle link - */ + * external circle route test + * file1/grp11 <-> file2/grp10 via elink_grp_circle link + */ /* file1 */ status = H5Lcreate_external(fname2, "/grp11", gid10_f1, "elink_grp_circle", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -2728,8 +2726,8 @@ static int test_group_recurse(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (fid2) @@ -2761,38 +2759,39 @@ out: *-------------------------------------------------------------------------*/ #define GRP_R_DSETNAME1 "dset1" #define GRP_R_DSETNAME2 "dset2" -static int test_group_recurse2(void) +static int +test_group_recurse2(void) { - hid_t fileid1 = H5I_INVALID_HID; - hid_t grp1 = H5I_INVALID_HID; - hid_t grp2 = H5I_INVALID_HID; - hid_t grp3 = H5I_INVALID_HID; - hid_t grp4 = H5I_INVALID_HID; - hid_t dset1 = H5I_INVALID_HID; - hid_t dset2 = H5I_INVALID_HID; - hid_t datatype = H5I_INVALID_HID; - hid_t dataspace = H5I_INVALID_HID; - hid_t fileid2 = H5I_INVALID_HID; - hid_t fileid3 = H5I_INVALID_HID; - hid_t fileid4 = H5I_INVALID_HID; + hid_t fileid1 = H5I_INVALID_HID; + hid_t grp1 = H5I_INVALID_HID; + hid_t grp2 = H5I_INVALID_HID; + hid_t grp3 = H5I_INVALID_HID; + hid_t grp4 = H5I_INVALID_HID; + hid_t dset1 = H5I_INVALID_HID; + hid_t dset2 = H5I_INVALID_HID; + hid_t datatype = H5I_INVALID_HID; + hid_t dataspace = H5I_INVALID_HID; + hid_t fileid2 = H5I_INVALID_HID; + hid_t fileid3 = H5I_INVALID_HID; + hid_t fileid4 = H5I_INVALID_HID; hsize_t dimsf[2]; /* dataset dimensions */ - herr_t status = 0; - int data1[4][2] = { { 0, 0 }, { 1, 1 }, { 2, 2 }, { 3, 3 } }; - int data2[4][2] = { { 0, 0 }, { 0, 1 }, { 0, 2 }, { 3, 3 } }; + herr_t status = 0; + int data1[4][2] = {{0, 0}, {1, 1}, {2, 2}, {3, 3}}; + int data2[4][2] = {{0, 0}, {0, 1}, {0, 2}, {3, 3}}; /*----------------------------------------------------------------------- - * FILE 1 - *------------------------------------------------------------------------*/ + * FILE 1 + *------------------------------------------------------------------------*/ /* - * Create a new file using H5F_ACC_TRUNC access, - * default file creation properties, and default file - * access properties. - */ + * Create a new file using H5F_ACC_TRUNC access, + * default file creation properties, and default file + * access properties. + */ fileid1 = H5Fcreate(GRP_RECURSE1_EXT, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ grp1 = H5Gcreate2(fileid1, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (grp1 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", GRP_RECURSE1_EXT); @@ -2822,72 +2821,72 @@ static int test_group_recurse2(void) } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /* - * Describe the size of the array and create the data space for fixed - * size dataset. - */ - dimsf[0] = 4; - dimsf[1] = 2; + * Describe the size of the array and create the data space for fixed + * size dataset. + */ + dimsf[0] = 4; + dimsf[1] = 2; dataspace = H5Screate_simple(2, dimsf, NULL); /* - * Define datatype for the data in the file. - * We will store little endian INT numbers. - */ + * Define datatype for the data in the file. + * We will store little endian INT numbers. + */ datatype = H5Tcopy(H5T_NATIVE_INT); - status = H5Tset_order(datatype, H5T_ORDER_LE); + status = H5Tset_order(datatype, H5T_ORDER_LE); /*--------------- - * dset1 - */ + * dset1 + */ /* - * Create a new dataset within the file using defined dataspace and - * datatype and default dataset creation properties. - */ + * Create a new dataset within the file using defined dataspace and + * datatype and default dataset creation properties. + */ dset1 = H5Dcreate2(fileid1, GRP_R_DSETNAME1, datatype, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* - * Write the data to the dataset using default transfer properties. - */ + * Write the data to the dataset using default transfer properties. + */ status = H5Dwrite(dset1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data1); H5Dclose(dset1); /*--------------- - * dset1 - */ + * dset1 + */ /* - * Create a new dataset within the file using defined dataspace and - * datatype and default dataset creation properties. - */ + * Create a new dataset within the file using defined dataspace and + * datatype and default dataset creation properties. + */ dset1 = H5Dcreate2(grp3, GRP_R_DSETNAME1, datatype, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* - * Write the data to the dataset using default transfer properties. - */ + * Write the data to the dataset using default transfer properties. + */ status = H5Dwrite(dset1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data1); /*--------------- - * dset2 - */ + * dset2 + */ /* - * Create a new dataset within the fileid1 using defined dataspace and - * datatype and default dataset creation properties. - */ + * Create a new dataset within the fileid1 using defined dataspace and + * datatype and default dataset creation properties. + */ dset2 = H5Dcreate2(grp4, GRP_R_DSETNAME2, datatype, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* - * Write the data to the dataset using default transfer properties. - */ + * Write the data to the dataset using default transfer properties. + */ status = H5Dwrite(dset2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data2); /*----------------------------------------------------------------------- - * Soft links - *------------------------------------------------------------------------*/ + * Soft links + *------------------------------------------------------------------------*/ /* - * under '/' root - */ + * under '/' root + */ /* link to dset1 */ status = H5Lcreate_soft(GRP_R_DSETNAME1, fileid1, "soft_dset1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -2904,15 +2903,15 @@ static int test_group_recurse2(void) H5Gclose(grp4); /*----------------------------------------------------------------------- - * FILE 2-3 - *------------------------------------------------------------------------*/ + * FILE 2-3 + *------------------------------------------------------------------------*/ /* crate target file */ fileid4 = H5Fcreate(GRP_RECURSE2_EXT3, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*----------------------------------------------- - * Groups - */ + * Groups + */ grp4 = H5Gcreate2(fileid4, "/g4", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (grp4 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", GRP_RECURSE2_EXT3); @@ -2921,32 +2920,32 @@ static int test_group_recurse2(void) } /*--------------- - * dset2 - */ + * dset2 + */ /* - * Create a new dataset within the fileid1 using defined dataspace and - * datatype and default dataset creation properties. - */ + * Create a new dataset within the fileid1 using defined dataspace and + * datatype and default dataset creation properties. + */ dset2 = H5Dcreate2(grp4, GRP_R_DSETNAME2, datatype, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* - * Write the data to the dataset using default transfer properties. - */ + * Write the data to the dataset using default transfer properties. + */ status = H5Dwrite(dset2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data2); H5Gclose(grp4); H5Dclose(dset2); /*----------------------------------------------------------------------- - * FILE 2-2 - *------------------------------------------------------------------------*/ + * FILE 2-2 + *------------------------------------------------------------------------*/ /* crate target file */ fileid3 = H5Fcreate(GRP_RECURSE2_EXT2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*----------------------------------------------- - * Groups - */ + * Groups + */ grp2 = H5Gcreate2(fileid3, "g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (grp2 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", GRP_RECURSE2_EXT2); @@ -2962,22 +2961,22 @@ static int test_group_recurse2(void) } /*--------------- - * dset1 - */ + * dset1 + */ /* - * Create a new dataset within the fileid1 using defined dataspace and - * datatype and default dataset creation properties. - */ + * Create a new dataset within the fileid1 using defined dataspace and + * datatype and default dataset creation properties. + */ dset1 = H5Dcreate2(grp3, GRP_R_DSETNAME1, datatype, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* - * Write the data to the dataset using default transfer properties. - */ + * Write the data to the dataset using default transfer properties. + */ status = H5Dwrite(dset1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data1); /*----------------------------------------------- - * extlink to $GRP_RECURSE2_EXT3/g4 - */ + * extlink to $GRP_RECURSE2_EXT3/g4 + */ status = H5Lcreate_external(GRP_RECURSE2_EXT3, "/g4", fileid3, "/g2/g3/g4", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", GRP_RECURSE2_EXT2); @@ -2990,15 +2989,15 @@ static int test_group_recurse2(void) H5Gclose(grp3); /*----------------------------------------------------------------------- - * FILE 2-1 - *------------------------------------------------------------------------*/ + * FILE 2-1 + *------------------------------------------------------------------------*/ /* crate target file */ fileid2 = H5Fcreate(GRP_RECURSE2_EXT1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*----------------------------------------------- - * Groups - */ + * Groups + */ grp1 = H5Gcreate2(fileid2, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (grp1 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", GRP_RECURSE1_EXT); @@ -3007,21 +3006,21 @@ static int test_group_recurse2(void) } /*--------------- - * dset1 - */ + * dset1 + */ dset1 = H5Dcreate2(fileid2, GRP_R_DSETNAME1, datatype, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* - * Write the data to the dataset using default transfer properties. - */ + * Write the data to the dataset using default transfer properties. + */ status = H5Dwrite(dset1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data1); /*----------------------------------------------------------------------- - * Soft links - *------------------------------------------------------------------------*/ + * Soft links + *------------------------------------------------------------------------*/ /* - * under '/' root - */ + * under '/' root + */ /* link to dset1 */ status = H5Lcreate_soft(GRP_R_DSETNAME1, fileid2, "soft_dset1", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { @@ -3031,8 +3030,8 @@ static int test_group_recurse2(void) } /*----------------------------------------------- - * extlink to $GRP_RECURSE2_EXT2/g2 - */ + * extlink to $GRP_RECURSE2_EXT2/g2 + */ status = H5Lcreate_external(GRP_RECURSE2_EXT2, "/g2", fileid2, "/g1/g2", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", GRP_RECURSE2_EXT1); @@ -3045,8 +3044,8 @@ static int test_group_recurse2(void) out: /* - * Close/release resources. - */ + * Close/release resources. + */ if (dataspace > 0) H5Sclose(dataspace); if (datatype > 0) @@ -3072,20 +3071,21 @@ out: * Programmer: Jonathan Kim (July, 21, 2010) * *-------------------------------------------------------------------------*/ -static int test_exclude_obj1(const char *fname1, const char *fname2) +static int +test_exclude_obj1(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; - int data2[4][2] = { { 0, 1 }, { 2, 3 }, { 1, 2 }, { 3, 4 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}}; + int data2[4][2] = {{0, 1}, {2, 3}, {1, 2}, {3, 4}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); @@ -3101,8 +3101,8 @@ static int test_exclude_obj1(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Group - *------------------------------------------------------------------------*/ + * Group + *------------------------------------------------------------------------*/ /* file1 */ gid1 = H5Gcreate2(fid1, "group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { @@ -3121,8 +3121,8 @@ static int test_exclude_obj1(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /* file1 */ status = write_dset(fid1, 2, dims2, "dset1", H5T_NATIVE_INT, data1); if (status == FAIL) { @@ -3169,8 +3169,8 @@ static int test_exclude_obj1(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (fid2) @@ -3192,21 +3192,22 @@ out: * Programmer: Jonathan Kim (July, 21, 2010) * *-------------------------------------------------------------------------*/ -static int test_exclude_obj2(const char *fname1, const char *fname2) +static int +test_exclude_obj2(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; - hid_t gid3 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; - int data2[4][2] = { { 0, 1 }, { 2, 3 }, { 1, 2 }, { 3, 4 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; + hid_t gid3 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}}; + int data2[4][2] = {{0, 1}, {2, 3}, {1, 2}, {3, 4}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); @@ -3222,8 +3223,8 @@ static int test_exclude_obj2(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Group - *------------------------------------------------------------------------*/ + * Group + *------------------------------------------------------------------------*/ /* file1 */ gid1 = H5Gcreate2(fid1, "group10", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { @@ -3250,8 +3251,8 @@ static int test_exclude_obj2(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /* file1 */ status = write_dset(fid1, 2, dims2, "dset10", H5T_NATIVE_INT, data1); if (status == FAIL) { @@ -3298,8 +3299,8 @@ static int test_exclude_obj2(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (fid2) @@ -3323,18 +3324,19 @@ out: * Programmer: Jonathan Kim (Mar, 19, 2012) * *-------------------------------------------------------------------------*/ -static int test_exclude_obj3(const char *fname1, const char *fname2) +static int +test_exclude_obj3(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hsize_t dims2[2] = { 2, 4 }; - int data1[4][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; - herr_t status = SUCCEED; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hsize_t dims2[2] = {2, 4}; + int data1[4][2] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1); @@ -3350,8 +3352,8 @@ static int test_exclude_obj3(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Group - *------------------------------------------------------------------------*/ + * Group + *------------------------------------------------------------------------*/ /* file1 */ gid1 = H5Gcreate2(fid1, "group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { @@ -3361,8 +3363,8 @@ static int test_exclude_obj3(const char *fname1, const char *fname2) } /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + * Datasets + *------------------------------------------------------------------------*/ /* file1 */ status = write_dset(fid1, 2, dims2, "dset1", H5T_NATIVE_INT, data1); if (status == FAIL) { @@ -3388,8 +3390,8 @@ static int test_exclude_obj3(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (fid2) @@ -3409,182 +3411,181 @@ out: * Programmer: Jonathan Kim (Oct, 26, 2010) * *-------------------------------------------------------------------------*/ -#define STR_RANK 1 -#define VLEN_STR_DIM 1 -#define FIXLEN_STR_SIZE 21 -#define FIXLEN_STR_DIM 1 -#define VLEN_STR_ARRY_DIM 3 -#define FIXLEN_STR_ARRY_DIM 3 +#define STR_RANK 1 +#define VLEN_STR_DIM 1 +#define FIXLEN_STR_SIZE 21 +#define FIXLEN_STR_DIM 1 +#define VLEN_STR_ARRY_DIM 3 +#define FIXLEN_STR_ARRY_DIM 3 #define FIXLEN_STR_ARRY_SIZE 30 -#define COMP_RANK 1 -#define COMP_DIM 1 -static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int is_file_new) +#define COMP_RANK 1 +#define COMP_DIM 1 +static int +test_comp_vlen_strings(const char *fname1, const char *grp_name, int is_file_new) { - int i; + int i; hid_t fid1 = H5I_INVALID_HID; /* file id */ - hid_t gid = H5I_INVALID_HID; + hid_t gid = H5I_INVALID_HID; /* compound1 datatype */ typedef struct comp1_t { - char *str_vlen; /* vlen string */ - char *str_vlen_repeat; /* vlen string */ - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char * str_vlen; /* vlen string */ + char * str_vlen_repeat; /* vlen string */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ } comp1_t; /* compound2 datatype */ typedef struct comp2_t { - char *str_vlen; /* vlen string */ - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - char *str_vlen_repeat; /* vlen string */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char * str_vlen; /* vlen string */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + char * str_vlen_repeat; /* vlen string */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ } comp2_t; /* compound3 datatype */ typedef struct comp3_t { - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ - char *str_vlen; /* vlen string */ - char *str_vlen_repeat; /* vlen string */ - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + char *str_vlen; /* vlen string */ + char *str_vlen_repeat; /* vlen string */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ } comp3_t; /* compound4 datatype */ typedef struct comp4_t { - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - char *str_vlen; /* vlen string */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ - char *str_vlen_repeat; /* vlen string */ - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + char * str_vlen; /* vlen string */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + char * str_vlen_repeat; /* vlen string */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ } comp4_t; /* compound5 datatype */ typedef struct comp5_t { - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - char *str_vlen; /* vlen string */ - char *str_vlen_repeat; /* vlen string */ - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char *str_vlen; /* vlen string */ + char *str_vlen_repeat; /* vlen string */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ } comp5_t; /* compound6 datatype */ typedef struct comp6_t { - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - char *str_vlen; /* vlen string */ - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - char *str_vlen_repeat; /* vlen string */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char *str_vlen; /* vlen string */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + char *str_vlen_repeat; /* vlen string */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ } comp6_t; /* compound7 datatype */ typedef struct comp7_t { - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ - char *str_vlen; /* vlen string */ - char *str_vlen_repeat; /* vlen string */ + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + char * str_vlen; /* vlen string */ + char * str_vlen_repeat; /* vlen string */ } comp7_t; /* compound8 datatype */ typedef struct comp8_t { - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - char *str_vlen; /* vlen string */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ - char *str_vlen_repeat; /* vlen string */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + char * str_vlen; /* vlen string */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + char * str_vlen_repeat; /* vlen string */ } comp8_t; /* compound9 datatype */ typedef struct comp9_t { - char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ + char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */ - const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ - const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ - char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ - int int_data1; - hobj_ref_t objref1; /* reference */ - char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ - hobj_ref_t objref2; /* reference */ - char *str_vlen; /* vlen string */ - int int_data2; - char *str_vlen_repeat; /* vlen string */ - hobj_ref_t objref3; /* reference */ - int int_data3; + const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */ + const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */ + char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */ + int int_data1; + hobj_ref_t objref1; /* reference */ + char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */ + hobj_ref_t objref2; /* reference */ + char * str_vlen; /* vlen string */ + int int_data2; + char * str_vlen_repeat; /* vlen string */ + hobj_ref_t objref3; /* reference */ + int int_data3; } comp9_t; /* vlen string */ - hid_t sid_vlen_str = H5I_INVALID_HID; /* dataspace ID */ - hid_t tid_vlen_str = H5I_INVALID_HID; /* datatype ID */ - char vlen_str_buf[] = { "Variable length string" }; - hsize_t dims_vlen_str[] = { VLEN_STR_DIM }; + hid_t sid_vlen_str = H5I_INVALID_HID; /* dataspace ID */ + hid_t tid_vlen_str = H5I_INVALID_HID; /* datatype ID */ + char vlen_str_buf[] = {"Variable length string"}; + hsize_t dims_vlen_str[] = {VLEN_STR_DIM}; /* fixlen string */ - hid_t sid_fixlen_str = H5I_INVALID_HID; /* dataspace ID */ - hid_t tid_fixlen_str = H5I_INVALID_HID; /* datatype ID */ - const char fixlen_str_buf[FIXLEN_STR_SIZE] = { "Fixed length string" }; - hsize_t dims_fixlen_str[] = { FIXLEN_STR_DIM }; + hid_t sid_fixlen_str = H5I_INVALID_HID; /* dataspace ID */ + hid_t tid_fixlen_str = H5I_INVALID_HID; /* datatype ID */ + const char fixlen_str_buf[FIXLEN_STR_SIZE] = {"Fixed length string"}; + hsize_t dims_fixlen_str[] = {FIXLEN_STR_DIM}; /* vlen string array */ - hid_t sid_vlen_str_array = H5I_INVALID_HID; /* dataspace ID */ - hid_t tid_vlen_str_array_pre = H5I_INVALID_HID; /* datatype ID */ - hid_t tid_vlen_str_array = H5I_INVALID_HID; /* datatype ID */ - const char *vlen_str_array_buf[VLEN_STR_ARRY_DIM] = - { "1 - Variable length string Array", - "2 - Testing variable length string array in compound type", - "3 - Four score and seven\n years ago our forefathers brought forth on this continent a new nation," }; - hsize_t dims_vlen_str_array[] = { VLEN_STR_ARRY_DIM }; + hid_t sid_vlen_str_array = H5I_INVALID_HID; /* dataspace ID */ + hid_t tid_vlen_str_array_pre = H5I_INVALID_HID; /* datatype ID */ + hid_t tid_vlen_str_array = H5I_INVALID_HID; /* datatype ID */ + const char *vlen_str_array_buf[VLEN_STR_ARRY_DIM] = { + "1 - Variable length string Array", "2 - Testing variable length string array in compound type", + "3 - Four score and seven\n years ago our forefathers brought forth on this continent a new nation,"}; + hsize_t dims_vlen_str_array[] = {VLEN_STR_ARRY_DIM}; /* fixlen string array */ - hid_t sid_fixlen_str_array = H5I_INVALID_HID; /* dataspace ID */ - hid_t tid_fixlen_str_array_pre = H5I_INVALID_HID; /* datatype ID */ - hid_t tid_fixlen_str_array = H5I_INVALID_HID; /* datatype ID */ + hid_t sid_fixlen_str_array = H5I_INVALID_HID; /* dataspace ID */ + hid_t tid_fixlen_str_array_pre = H5I_INVALID_HID; /* datatype ID */ + hid_t tid_fixlen_str_array = H5I_INVALID_HID; /* datatype ID */ const char *fixlen_str_array_buf[FIXLEN_STR_ARRY_DIM] = { - "1 - Fixed length string Array", "2 - Fixed length string Array", - "3 - Fixed length string Array" }; - hsize_t dims_fixlen_str_array[] = { FIXLEN_STR_ARRY_DIM }; + "1 - Fixed length string Array", "2 - Fixed length string Array", "3 - Fixed length string Array"}; + hsize_t dims_fixlen_str_array[] = {FIXLEN_STR_ARRY_DIM}; /*------------------------------------------ - * compound dataset - *------------------------------------------*/ - hid_t sid_comp = H5I_INVALID_HID; /* dataspace ID */ - hid_t tid1_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t tid2_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t tid3_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t tid4_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t tid5_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t tid6_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t tid7_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t tid8_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t tid9_comp = H5I_INVALID_HID; /* datatype ID */ - hid_t did_comp = H5I_INVALID_HID; /* dataset ID */ - hsize_t dims_comp[] = { COMP_DIM }; - herr_t status = SUCCEED; + * compound dataset + *------------------------------------------*/ + hid_t sid_comp = H5I_INVALID_HID; /* dataspace ID */ + hid_t tid1_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t tid2_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t tid3_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t tid4_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t tid5_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t tid6_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t tid7_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t tid8_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t tid9_comp = H5I_INVALID_HID; /* datatype ID */ + hid_t did_comp = H5I_INVALID_HID; /* dataset ID */ + hsize_t dims_comp[] = {COMP_DIM}; + herr_t status = SUCCEED; /* make compound strings data */ comp1_t comp1_buf; @@ -3641,25 +3642,15 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* copy vlen string array data to compound buffers */ for (i = 0; i < VLEN_STR_ARRY_DIM; i++) { - comp1_buf.str_array_vlen[i] = comp1_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - comp2_buf.str_array_vlen[i] = comp2_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - comp3_buf.str_array_vlen[i] = comp3_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - comp4_buf.str_array_vlen[i] = comp4_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - comp5_buf.str_array_vlen[i] = comp5_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - comp6_buf.str_array_vlen[i] = comp6_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - comp7_buf.str_array_vlen[i] = comp7_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - comp8_buf.str_array_vlen[i] = comp8_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - comp9_buf.str_array_vlen[i] = comp9_buf.str_vlen_array_again[i] = - vlen_str_array_buf[i]; - + comp1_buf.str_array_vlen[i] = comp1_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; + comp2_buf.str_array_vlen[i] = comp2_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; + comp3_buf.str_array_vlen[i] = comp3_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; + comp4_buf.str_array_vlen[i] = comp4_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; + comp5_buf.str_array_vlen[i] = comp5_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; + comp6_buf.str_array_vlen[i] = comp6_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; + comp7_buf.str_array_vlen[i] = comp7_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; + comp8_buf.str_array_vlen[i] = comp8_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; + comp9_buf.str_array_vlen[i] = comp9_buf.str_vlen_array_again[i] = vlen_str_array_buf[i]; } /* copy fixlen string attay data to compound buffers */ @@ -3698,8 +3689,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int comp9_buf.int_data3 = 30; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ if (is_file_new == 1) { fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { @@ -3718,8 +3709,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } /*----------------------------------------------------------------------- - * Create group - *------------------------------------------------------------------------*/ + * Create group + *------------------------------------------------------------------------*/ gid = H5Gcreate2(fid1, grp_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname1); @@ -3728,8 +3719,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } /*----------------------------------------------------------------------- - * Variable length String1 - Create space and type - *------------------------------------------------------------------------*/ + * Variable length String1 - Create space and type + *------------------------------------------------------------------------*/ sid_vlen_str = H5Screate_simple(STR_RANK, dims_vlen_str, NULL); if (sid_vlen_str < 0) { HDfprintf(stderr, "Error: %s> H5Screate_simple failed.\n", fname1); @@ -3738,7 +3729,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } tid_vlen_str = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid_vlen_str, H5T_VARIABLE); + status = H5Tset_size(tid_vlen_str, H5T_VARIABLE); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Tset_size failed.\n", fname1); status = FAIL; @@ -3746,8 +3737,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } /*----------------------------------------------------------------------- - * Fixed length String2 - Create space and type - *------------------------------------------------------------------------*/ + * Fixed length String2 - Create space and type + *------------------------------------------------------------------------*/ sid_fixlen_str = H5Screate_simple(STR_RANK, dims_fixlen_str, NULL); if (sid_fixlen_str < 0) { HDfprintf(stderr, "Error: %s> H5Screate_simple failed.\n", fname1); @@ -3756,7 +3747,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } tid_fixlen_str = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid_fixlen_str, FIXLEN_STR_SIZE); + status = H5Tset_size(tid_fixlen_str, FIXLEN_STR_SIZE); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Tset_size failed.\n", fname1); status = FAIL; @@ -3764,8 +3755,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } /*----------------------------------------------------------------------- - * Fixed length String3 array - Create space and type - *------------------------------------------------------------------------*/ + * Fixed length String3 array - Create space and type + *------------------------------------------------------------------------*/ sid_vlen_str_array = H5Screate_simple(STR_RANK, dims_vlen_str_array, NULL); if (sid_vlen_str_array < 0) { HDfprintf(stderr, "Error: %s> H5Screate_simple failed.\n", fname1); @@ -3774,7 +3765,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } tid_vlen_str_array_pre = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid_vlen_str_array_pre, H5T_VARIABLE); + status = H5Tset_size(tid_vlen_str_array_pre, H5T_VARIABLE); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Tset_size failed.\n", fname1); status = FAIL; @@ -3790,8 +3781,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } /*----------------------------------------------------------------------- - * Variable length String4 array - Create space and type - *------------------------------------------------------------------------*/ + * Variable length String4 array - Create space and type + *------------------------------------------------------------------------*/ sid_fixlen_str_array = H5Screate_simple(STR_RANK, dims_fixlen_str_array, NULL); if (sid_fixlen_str_array < 0) { HDfprintf(stderr, "Error: %s> H5Screate_simple failed.\n", fname1); @@ -3800,7 +3791,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } tid_fixlen_str_array_pre = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid_fixlen_str_array_pre, FIXLEN_STR_ARRY_SIZE); + status = H5Tset_size(tid_fixlen_str_array_pre, FIXLEN_STR_ARRY_SIZE); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Tset_size failed.\n", fname1); status = FAIL; @@ -3815,8 +3806,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int } /*------------------------------------------------------------------------- - * Compound dataset - *------------------------------------------------------------------------*/ + * Compound dataset + *------------------------------------------------------------------------*/ sid_comp = H5Screate_simple(COMP_RANK, dims_comp, NULL); if (sid_comp < 0) { HDfprintf(stderr, "Error: %s> H5Screate_simple failed.\n", fname1); @@ -3879,7 +3870,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int H5Tinsert(tid5_comp, "FIXLEN_STR1", HOFFSET(comp5_t, str_fixlen), tid_fixlen_str); H5Tinsert(tid5_comp, "FIXLEN_STR2", HOFFSET(comp5_t, str_fixlen_repeat), tid_fixlen_str); H5Tinsert(tid5_comp, "VLEN_STR_ARRAY1", HOFFSET(comp5_t, str_array_vlen), tid_vlen_str_array); - H5Tinsert(tid5_comp, "VLEN_STR_ARRAY2", HOFFSET(comp5_t, str_vlen_array_again), tid_vlen_str_array); + H5Tinsert(tid5_comp, "VLEN_STR_ARRAY2", HOFFSET(comp5_t, str_vlen_array_again), tid_vlen_str_array); H5Tinsert(tid5_comp, "FIXLEN_STR_ARRAY1", HOFFSET(comp5_t, str_array_fixlen), tid_fixlen_str_array); H5Tinsert(tid5_comp, "FIXLEN_STR_ARRAY2", HOFFSET(comp5_t, str_fixlen_array_again), tid_fixlen_str_array); @@ -3931,7 +3922,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* Write data to compound 1 dataset buffer */ did_comp = H5Dcreate2(gid, "Compound_dset1", tid1_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did_comp, tid1_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp1_buf); + status = H5Dwrite(did_comp, tid1_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp1_buf); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", fname1); status = FAIL; @@ -3941,7 +3932,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* Write data to compound 2 dataset buffer */ did_comp = H5Dcreate2(gid, "Compound_dset2", tid2_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did_comp, tid2_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp2_buf); + status = H5Dwrite(did_comp, tid2_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp2_buf); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", fname1); status = FAIL; @@ -3951,7 +3942,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* Write data to compound 3 dataset buffer */ did_comp = H5Dcreate2(gid, "Compound_dset3", tid3_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did_comp, tid3_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp3_buf); + status = H5Dwrite(did_comp, tid3_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp3_buf); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", fname1); status = FAIL; @@ -3961,7 +3952,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* Write data to compound 4 dataset buffer */ did_comp = H5Dcreate2(gid, "Compound_dset4", tid4_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did_comp, tid4_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp4_buf); + status = H5Dwrite(did_comp, tid4_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp4_buf); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", fname1); status = FAIL; @@ -3971,7 +3962,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* Write data to compound 5 dataset buffer */ did_comp = H5Dcreate2(gid, "Compound_dset5", tid5_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did_comp, tid5_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp5_buf); + status = H5Dwrite(did_comp, tid5_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp5_buf); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", fname1); status = FAIL; @@ -3981,7 +3972,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* Write data to compound 6 dataset buffer */ did_comp = H5Dcreate2(gid, "Compound_dset6", tid6_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did_comp, tid6_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp6_buf); + status = H5Dwrite(did_comp, tid6_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp6_buf); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", fname1); status = FAIL; @@ -3991,7 +3982,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* Write data to compound 7 dataset buffer */ did_comp = H5Dcreate2(gid, "Compound_dset7", tid7_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did_comp, tid7_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp7_buf); + status = H5Dwrite(did_comp, tid7_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp7_buf); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", fname1); status = FAIL; @@ -4001,7 +3992,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int /* Write data to compound 8 dataset buffer */ did_comp = H5Dcreate2(gid, "Compound_dset8", tid8_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did_comp, tid8_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp8_buf); + status = H5Dwrite(did_comp, tid8_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp8_buf); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", fname1); status = FAIL; @@ -4013,9 +4004,9 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int did_comp = H5Dcreate2(gid, "Compound_dset9", tid9_comp, sid_comp, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* obj references */ - status = H5Rcreate(&(comp9_buf.objref1), gid, "Compound_dset2", H5R_OBJECT, (hid_t) -1); - status = H5Rcreate(&(comp9_buf.objref2), gid, "Compound_dset3", H5R_OBJECT, (hid_t) -1); - status = H5Rcreate(&(comp9_buf.objref3), gid, "Compound_dset4", H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&(comp9_buf.objref1), gid, "Compound_dset2", H5R_OBJECT, (hid_t)-1); + status = H5Rcreate(&(comp9_buf.objref2), gid, "Compound_dset3", H5R_OBJECT, (hid_t)-1); + status = H5Rcreate(&(comp9_buf.objref3), gid, "Compound_dset4", H5R_OBJECT, (hid_t)-1); status = H5Dwrite(did_comp, tid9_comp, H5S_ALL, H5S_ALL, H5P_DEFAULT, &comp9_buf); if (status < 0) { @@ -4029,8 +4020,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int out: /*----------------------------------------------------------------------- - * Close - *-----------------------------------------------------------------------*/ + * Close + *-----------------------------------------------------------------------*/ if (fid1 > 0) H5Fclose(fid1); if (gid > 0) @@ -4094,59 +4085,60 @@ out: * *-------------------------------------------------------------------------*/ -static int test_enums(const char *fname) +static int +test_enums(const char *fname) { hid_t fid = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; - int enum_val = -1; + hid_t tid = H5I_INVALID_HID; + int enum_val = -1; /* The data in the two arrays cover the following cases: - * - * V = valid enum value, I = invalid enum value - * - * 0: I-I (same value) - * 1: V-I - * 2: I-V - * 3: V-V (same value) - * 4: I-I (different values) SKIPPED FOR NOW - * 5: V-V (different values) - */ + * + * V = valid enum value, I = invalid enum value + * + * 0: I-I (same value) + * 1: V-I + * 2: I-V + * 3: V-V (same value) + * 4: I-I (different values) SKIPPED FOR NOW + * 5: V-V (different values) + */ /* *** NOTE *** - * - * There is a bug in H5Dread() where invalid enum values are always - * returned as -1 so two different invalid enum values cannot be - * properly compared. Test 4 has been adjusted to pass here - * while we fix the issue. - */ - int data1[6] = { 9, 0, 9, 0, 9, 0 }; + * + * There is a bug in H5Dread() where invalid enum values are always + * returned as -1 so two different invalid enum values cannot be + * properly compared. Test 4 has been adjusted to pass here + * while we fix the issue. + */ + int data1[6] = {9, 0, 9, 0, 9, 0}; /*int data1[6] = {9, 0, 9, 0, 8, 0}; */ - int data2[6] = { 9, 9, 0, 0, 9, 1 }; + int data2[6] = {9, 9, 0, 0, 9, 1}; hsize_t dims = 6; herr_t status = SUCCEED; /*----------------------------------------------------------------------- - * Create the file - *---------------------------------------------------------------------*/ + * Create the file + *---------------------------------------------------------------------*/ fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*----------------------------------------------------------------------- - * Create enum types - *---------------------------------------------------------------------*/ + * Create enum types + *---------------------------------------------------------------------*/ - tid = H5Tenum_create(H5T_NATIVE_INT); + tid = H5Tenum_create(H5T_NATIVE_INT); enum_val = 0; - status = H5Tenum_insert(tid, "YIN", &enum_val); + status = H5Tenum_insert(tid, "YIN", &enum_val); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Tenum_insert failed.\n", fname); status = FAIL; goto out; } enum_val = 1; - status = H5Tenum_insert(tid, "YANG", &enum_val); + status = H5Tenum_insert(tid, "YANG", &enum_val); if (status < 0) { HDfprintf(stderr, "Error: %s> H5Tenum_insert failed.\n", fname); status = FAIL; @@ -4154,8 +4146,8 @@ static int test_enums(const char *fname) } /*----------------------------------------------------------------------- - * Create datasets containing enum data. - *---------------------------------------------------------------------*/ + * Create datasets containing enum data. + *---------------------------------------------------------------------*/ status = write_dset(fid, 1, &dims, "dset1", tid, data1); if (status < 0) { @@ -4172,8 +4164,8 @@ static int test_enums(const char *fname) out: /*----------------------------------------------------------------------- - * Close - *---------------------------------------------------------------------*/ + * Close + *---------------------------------------------------------------------*/ if (fid) H5Fclose(fid); if (tid) @@ -4203,35 +4195,36 @@ out: * Programmer: Jonathan Kim (Sep, 1, 2011) * *-------------------------------------------------------------------------*/ -#define SDIM_DSET 2 +#define SDIM_DSET 2 #define SDIM_CMPD_ARRAY 2 -static void test_comps_array(const char *fname, const char *dset, const char *attr, int diff, int is_file_new) +static void +test_comps_array(const char *fname, const char *dset, const char *attr, int diff, int is_file_new) { /* sub compound 2 */ typedef struct { - int i2; + int i2; float f2; } cmpd2_t; /* top compound 1 */ typedef struct { - int i1; + int i1; cmpd2_t cmpd2[SDIM_CMPD_ARRAY]; } cmpd1_t; cmpd1_t wdata[SDIM_DSET]; /* dataset with compound1 */ - hid_t fid = H5I_INVALID_HID; /* HDF5 File IDs */ - hid_t did_dset = H5I_INVALID_HID; /* Dataset ID */ - hid_t sid_dset = H5I_INVALID_HID; /* Dataset space ID */ - hid_t tid_cmpd1 = H5I_INVALID_HID; /* Compound1 type ID */ - hid_t tid_arry1 = H5I_INVALID_HID; /* Array type ID in compound1 */ - hid_t tid_cmpd2 = H5I_INVALID_HID; /* Compound2 type ID */ - hid_t tid_attr = H5I_INVALID_HID; - hsize_t sdims_dset[] = { SDIM_DSET }; - hsize_t sdims_cmpd_arry[] = { SDIM_CMPD_ARRAY }; - int i, j; + hid_t fid = H5I_INVALID_HID; /* HDF5 File IDs */ + hid_t did_dset = H5I_INVALID_HID; /* Dataset ID */ + hid_t sid_dset = H5I_INVALID_HID; /* Dataset space ID */ + hid_t tid_cmpd1 = H5I_INVALID_HID; /* Compound1 type ID */ + hid_t tid_arry1 = H5I_INVALID_HID; /* Array type ID in compound1 */ + hid_t tid_cmpd2 = H5I_INVALID_HID; /* Compound2 type ID */ + hid_t tid_attr = H5I_INVALID_HID; + hsize_t sdims_dset[] = {SDIM_DSET}; + hsize_t sdims_cmpd_arry[] = {SDIM_CMPD_ARRAY}; + int i, j; herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* Initialize array data to write */ @@ -4239,20 +4232,20 @@ static void test_comps_array(const char *fname, const char *dset, const char *at wdata[i].i1 = i; for (j = 0; j < SDIM_CMPD_ARRAY; j++) { wdata[i].cmpd2[j].i2 = i * 10 + diff; - wdata[i].cmpd2[j].f2 = (float) i * 10.5F + (float) diff; + wdata[i].cmpd2[j].f2 = (float)i * 10.5F + (float)diff; } /* end for */ } /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ if (is_file_new == 1) fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); else fid = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); /* ------------------------------- - * Create a sub compound2 datatype */ + * Create a sub compound2 datatype */ tid_cmpd2 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd2_t)); /* Insert integer field */ @@ -4264,8 +4257,8 @@ static void test_comps_array(const char *fname, const char *dset, const char *at assert(ret >= 0); /*----------------------------------- - * Create a top compound1. - */ + * Create a top compound1. + */ tid_cmpd1 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd1_t)); ret = H5Tinsert(tid_cmpd1, "int1", HOFFSET(cmpd1_t, i1), H5T_NATIVE_INT); @@ -4278,8 +4271,8 @@ static void test_comps_array(const char *fname, const char *dset, const char *at assert(ret >= 0); /* ------------------- - * Create a dataset - */ + * Create a dataset + */ /* Create dataspace for datasets */ sid_dset = H5Screate_simple(1, sdims_dset, NULL); @@ -4290,15 +4283,15 @@ static void test_comps_array(const char *fname, const char *dset, const char *at assert(ret >= 0); /*----------------------------------- - * Create an attribute in root group - */ + * Create an attribute in root group + */ tid_attr = H5Acreate2(fid, attr, tid_cmpd1, sid_dset, H5P_DEFAULT, H5P_DEFAULT); assert(tid_attr > 0); ret = H5Awrite(tid_attr, tid_cmpd1, wdata); assert(ret >= 0); /* ---------------- - * Close Dataset */ + * Close Dataset */ ret = H5Aclose(tid_attr); assert(ret >= 0); ret = H5Tclose(tid_arry1); @@ -4315,57 +4308,56 @@ static void test_comps_array(const char *fname, const char *dset, const char *at assert(ret >= 0); } -static void test_comps_vlen(const char * fname, const char *dset, const char *attr, int diff, int is_file_new) +static void +test_comps_vlen(const char *fname, const char *dset, const char *attr, int diff, int is_file_new) { /* sub compound 2 */ typedef struct { - int i2; + int i2; float f2; } cmpd2_t; /* top compound 1 */ typedef struct { - int i1; + int i1; hvl_t vl; /* VL information for compound2 */ } cmpd1_t; cmpd1_t wdata[SDIM_DSET]; /* Dataset for compound1 */ - hid_t fid = H5I_INVALID_HID; /* HDF5 File ID */ - hid_t did_dset = H5I_INVALID_HID; /* dataset ID */ - hid_t sid_dset = H5I_INVALID_HID; /* dataset space ID */ - hid_t tid_attr = H5I_INVALID_HID; - hid_t tid_cmpd2 = H5I_INVALID_HID; /* compound2 type ID */ - hid_t tid_cmpd1 = H5I_INVALID_HID; /* compound1 type ID */ - hid_t tid_cmpd1_vlen = H5I_INVALID_HID; - hsize_t sdims_dset[] = { SDIM_DSET }; + hid_t fid = H5I_INVALID_HID; /* HDF5 File ID */ + hid_t did_dset = H5I_INVALID_HID; /* dataset ID */ + hid_t sid_dset = H5I_INVALID_HID; /* dataset space ID */ + hid_t tid_attr = H5I_INVALID_HID; + hid_t tid_cmpd2 = H5I_INVALID_HID; /* compound2 type ID */ + hid_t tid_cmpd1 = H5I_INVALID_HID; /* compound1 type ID */ + hid_t tid_cmpd1_vlen = H5I_INVALID_HID; + hsize_t sdims_dset[] = {SDIM_DSET}; - unsigned i, j; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + unsigned i, j; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* Allocate and initialize VL data to write */ for (i = 0; i < SDIM_DSET; i++) { - wdata[i].i1 = (int) i; - wdata[i].vl.p = HDmalloc((i + 1) * sizeof(cmpd2_t)); + wdata[i].i1 = (int)i; + wdata[i].vl.p = HDmalloc((i + 1) * sizeof(cmpd2_t)); wdata[i].vl.len = i + 1; for (j = 0; j < (i + 1); j++) { - ((cmpd2_t *) wdata[i].vl.p)[j].i2 = - (int) (i * 10 + (unsigned) diff); - ((cmpd2_t *) wdata[i].vl.p)[j].f2 = (float) i * 10.5F - + (float) diff; + ((cmpd2_t *)wdata[i].vl.p)[j].i2 = (int)(i * 10 + (unsigned)diff); + ((cmpd2_t *)wdata[i].vl.p)[j].f2 = (float)i * 10.5F + (float)diff; } /* end for */ - } /* end for */ + } /* end for */ /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ if (is_file_new == 1) fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); else fid = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); /* ----------------------------- - * Create sub compound2 type */ + * Create sub compound2 type */ tid_cmpd2 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd2_t)); /* Insert fields */ @@ -4375,7 +4367,7 @@ static void test_comps_vlen(const char * fname, const char *dset, const char *at assert(ret >= 0); /* --------------------------- - * Create top compound1 type */ + * Create top compound1 type */ tid_cmpd1 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd1_t)); /* Insert fields */ ret = H5Tinsert(tid_cmpd1, "int1", HOFFSET(cmpd1_t, i1), H5T_NATIVE_INT); @@ -4387,8 +4379,8 @@ static void test_comps_vlen(const char * fname, const char *dset, const char *at assert(ret >= 0); /* ------------------------------- - * Create dataset with compound1 - */ + * Create dataset with compound1 + */ /* Create dataspace for dataset */ sid_dset = H5Screate_simple(1, sdims_dset, NULL); @@ -4400,8 +4392,8 @@ static void test_comps_vlen(const char * fname, const char *dset, const char *at assert(ret >= 0); /*----------------------------------- - * Create an attribute in root group - */ + * Create an attribute in root group + */ tid_attr = H5Acreate2(fid, attr, tid_cmpd1, sid_dset, H5P_DEFAULT, H5P_DEFAULT); assert(tid_attr > 0); ret = H5Awrite(tid_attr, tid_cmpd1, wdata); @@ -4412,7 +4404,7 @@ static void test_comps_vlen(const char * fname, const char *dset, const char *at assert(ret >= 0); /* ---------------- - * Close IDs */ + * Close IDs */ ret = H5Aclose(tid_attr); assert(ret >= 0); ret = H5Dclose(did_dset); @@ -4429,60 +4421,59 @@ static void test_comps_vlen(const char * fname, const char *dset, const char *at assert(ret >= 0); } -static void test_comps_array_vlen(const char * fname, const char *dset, const char *attr, int diff, int is_file_new) +static void +test_comps_array_vlen(const char *fname, const char *dset, const char *attr, int diff, int is_file_new) { typedef struct { - int i3; + int i3; float f3; } cmpd3_t; typedef struct { /* Typedef for compound datatype */ - int i2; + int i2; hvl_t vl; /* VL information to write */ } cmpd2_t; typedef struct { - int i1; + int i1; cmpd2_t cmpd2[SDIM_CMPD_ARRAY]; } cmpd1_t; - cmpd1_t wdata[SDIM_DSET]; /* Information to write */ - hid_t fid = H5I_INVALID_HID; /* HDF5 File IDs */ - hid_t did_dset = H5I_INVALID_HID; /* Dataset ID */ - hid_t sid_dset = H5I_INVALID_HID; /* Dataspace ID */ - hid_t tid_attr = H5I_INVALID_HID; - hid_t tid_cmpd1 = H5I_INVALID_HID; /* Compound1 Datatype ID */ - hid_t tid_arry1 = H5I_INVALID_HID; /* Array Datatype ID */ - hid_t tid_cmpd2 = H5I_INVALID_HID; /* Compound2 Datatype ID */ - hid_t tid_cmpd2_vlen = H5I_INVALID_HID; - hid_t tid_cmpd3 = H5I_INVALID_HID; /* Compound3 Datatype ID */ - hsize_t sdims_dset[] = { SDIM_DSET }; - hsize_t sdims_arry[] = { SDIM_CMPD_ARRAY }; - unsigned i, j, k; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + cmpd1_t wdata[SDIM_DSET]; /* Information to write */ + hid_t fid = H5I_INVALID_HID; /* HDF5 File IDs */ + hid_t did_dset = H5I_INVALID_HID; /* Dataset ID */ + hid_t sid_dset = H5I_INVALID_HID; /* Dataspace ID */ + hid_t tid_attr = H5I_INVALID_HID; + hid_t tid_cmpd1 = H5I_INVALID_HID; /* Compound1 Datatype ID */ + hid_t tid_arry1 = H5I_INVALID_HID; /* Array Datatype ID */ + hid_t tid_cmpd2 = H5I_INVALID_HID; /* Compound2 Datatype ID */ + hid_t tid_cmpd2_vlen = H5I_INVALID_HID; + hid_t tid_cmpd3 = H5I_INVALID_HID; /* Compound3 Datatype ID */ + hsize_t sdims_dset[] = {SDIM_DSET}; + hsize_t sdims_arry[] = {SDIM_CMPD_ARRAY}; + unsigned i, j, k; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* Initialize array data to write in compound1 */ for (i = 0; i < SDIM_DSET; i++) { - wdata[i].i1 = (int) i; + wdata[i].i1 = (int)i; /* Allocate and initialize VL data to write in compound2 */ for (j = 0; j < SDIM_CMPD_ARRAY; j++) { - wdata[i].cmpd2[j].i2 = (int) (j * 10); - wdata[i].cmpd2[j].vl.p = HDmalloc((j + 1) * sizeof(cmpd3_t)); + wdata[i].cmpd2[j].i2 = (int)(j * 10); + wdata[i].cmpd2[j].vl.p = HDmalloc((j + 1) * sizeof(cmpd3_t)); wdata[i].cmpd2[j].vl.len = j + 1; for (k = 0; k < (j + 1); k++) { /* Initialize data of compound3 */ - ((cmpd3_t *) wdata[i].cmpd2[j].vl.p)[k].i3 = (int) j * 10 - + diff; - ((cmpd3_t *) wdata[i].cmpd2[j].vl.p)[k].f3 = (float) j * 10.5F - + (float) diff; + ((cmpd3_t *)wdata[i].cmpd2[j].vl.p)[k].i3 = (int)j * 10 + diff; + ((cmpd3_t *)wdata[i].cmpd2[j].vl.p)[k].f3 = (float)j * 10.5F + (float)diff; } /* end for */ - } /* end for */ + } /* end for */ } /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ if (is_file_new == 1) fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); else @@ -4492,7 +4483,7 @@ static void test_comps_array_vlen(const char * fname, const char *dset, const ch sid_dset = H5Screate_simple(1, sdims_dset, NULL); /*------------------------------------- - * Create a sub compound3 datatype */ + * Create a sub compound3 datatype */ tid_cmpd3 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd3_t)); /* Insert integer field */ @@ -4504,7 +4495,7 @@ static void test_comps_array_vlen(const char * fname, const char *dset, const ch assert(ret >= 0); /*------------------------------------- - * Create a sub compound2 datatype */ + * Create a sub compound2 datatype */ tid_cmpd2 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd2_t)); /* Insert integer field */ @@ -4512,12 +4503,12 @@ static void test_comps_array_vlen(const char * fname, const char *dset, const ch assert(ret >= 0); /* Create a VL datatype */ tid_cmpd2_vlen = H5Tvlen_create(tid_cmpd3); - ret = H5Tinsert(tid_cmpd2, "vlen", HOFFSET(cmpd2_t, vl), tid_cmpd2_vlen); + ret = H5Tinsert(tid_cmpd2, "vlen", HOFFSET(cmpd2_t, vl), tid_cmpd2_vlen); assert(ret >= 0); /*----------------------------------- - * Create a top compound1 datatype for dataset. - */ + * Create a top compound1 datatype for dataset. + */ tid_cmpd1 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd1_t)); /* Create an array datatype */ @@ -4526,7 +4517,7 @@ static void test_comps_array_vlen(const char * fname, const char *dset, const ch H5Tinsert(tid_cmpd1, "array_comp", HOFFSET(cmpd1_t, cmpd2), tid_arry1); /* ---------------------- - * Create a dataset */ + * Create a dataset */ did_dset = H5Dcreate2(fid, dset, tid_cmpd1, sid_dset, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* Write dataset to disk */ @@ -4534,8 +4525,8 @@ static void test_comps_array_vlen(const char * fname, const char *dset, const ch assert(ret >= 0); /*----------------------------------- - * Create an attribute in root group - */ + * Create an attribute in root group + */ tid_attr = H5Acreate2(fid, attr, tid_cmpd1, sid_dset, H5P_DEFAULT, H5P_DEFAULT); assert(tid_attr > 0); ret = H5Awrite(tid_attr, tid_cmpd1, wdata); @@ -4546,7 +4537,7 @@ static void test_comps_array_vlen(const char * fname, const char *dset, const ch assert(ret >= 0); /*------------------- - * Close IDs */ + * Close IDs */ ret = H5Aclose(tid_attr); assert(ret >= 0); ret = H5Tclose(tid_arry1); @@ -4567,70 +4558,71 @@ static void test_comps_array_vlen(const char * fname, const char *dset, const ch assert(ret >= 0); } -static void test_comps_vlen_arry(const char * fname, const char *dset, const char *attr, int diff, int is_file_new) +static void +test_comps_vlen_arry(const char *fname, const char *dset, const char *attr, int diff, int is_file_new) { /* sub compound 3 */ typedef struct { - int i3; + int i3; float f3; } cmpd3_t; /* sub compound 2 */ typedef struct { - int i2; + int i2; cmpd3_t cmpd3[SDIM_CMPD_ARRAY]; } cmpd2_t; /* top compound 1 */ typedef struct { - int i1; + int i1; hvl_t vl; /* VL information for compound2 */ } cmpd1_t; cmpd1_t wdata[SDIM_DSET]; /* Dataset for compound1 */ - hid_t fid = H5I_INVALID_HID; /* HDF5 File ID */ - hid_t did_dset = H5I_INVALID_HID; /* dataset ID */ - hid_t sid_dset = H5I_INVALID_HID; /* dataset space ID */ - hid_t tid_attr = H5I_INVALID_HID; - hid_t tid_cmpd3 = H5I_INVALID_HID; /* compound3 type ID */ - hid_t tid_cmpd2 = H5I_INVALID_HID; /* compound2 type ID */ - hid_t tid_cmpd2_arry = H5I_INVALID_HID; - hid_t tid_cmpd1 = H5I_INVALID_HID; /* compound1 type ID */ - hid_t tid_cmpd1_vlen = H5I_INVALID_HID; - hsize_t sdims_dset[] = { SDIM_DSET }; - hsize_t sdims_cmpd_arry[] = { SDIM_CMPD_ARRAY }; - - unsigned i, j, k; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + hid_t fid = H5I_INVALID_HID; /* HDF5 File ID */ + hid_t did_dset = H5I_INVALID_HID; /* dataset ID */ + hid_t sid_dset = H5I_INVALID_HID; /* dataset space ID */ + hid_t tid_attr = H5I_INVALID_HID; + hid_t tid_cmpd3 = H5I_INVALID_HID; /* compound3 type ID */ + hid_t tid_cmpd2 = H5I_INVALID_HID; /* compound2 type ID */ + hid_t tid_cmpd2_arry = H5I_INVALID_HID; + hid_t tid_cmpd1 = H5I_INVALID_HID; /* compound1 type ID */ + hid_t tid_cmpd1_vlen = H5I_INVALID_HID; + hsize_t sdims_dset[] = {SDIM_DSET}; + hsize_t sdims_cmpd_arry[] = {SDIM_CMPD_ARRAY}; + + unsigned i, j, k; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* Allocate and initialize VL data to write */ for (i = 0; i < SDIM_DSET; i++) { /* compound 1 data */ - wdata[i].i1 = (int) i; - wdata[i].vl.p = HDmalloc((i + 1) * sizeof(cmpd2_t)); + wdata[i].i1 = (int)i; + wdata[i].vl.p = HDmalloc((i + 1) * sizeof(cmpd2_t)); wdata[i].vl.len = i + 1; for (j = 0; j < (i + 1); j++) { /* compound2 data */ - ((cmpd2_t *) wdata[i].vl.p)[j].i2 = (int) i * 10 + diff; + ((cmpd2_t *)wdata[i].vl.p)[j].i2 = (int)i * 10 + diff; for (k = 0; k < SDIM_CMPD_ARRAY; k++) { /* compound 3 data */ - ((cmpd2_t *) (wdata[i].vl.p))[j].cmpd3[k].i3 = (int) ((float) k * 10.5F) + diff; - ((cmpd2_t *) (wdata[i].vl.p))[j].cmpd3[k].f3 = (float) k * 10.5F + (float) diff; + ((cmpd2_t *)(wdata[i].vl.p))[j].cmpd3[k].i3 = (int)((float)k * 10.5F) + diff; + ((cmpd2_t *)(wdata[i].vl.p))[j].cmpd3[k].f3 = (float)k * 10.5F + (float)diff; } /* end for */ - } /* end for */ - } /* end for */ + } /* end for */ + } /* end for */ /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ if (is_file_new == 1) fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); else fid = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); /* ----------------------------- - * Create sub compound3 type */ + * Create sub compound3 type */ tid_cmpd3 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd3_t)); /* Insert fields */ @@ -4640,45 +4632,44 @@ static void test_comps_vlen_arry(const char * fname, const char *dset, const cha assert(ret >= 0); /* ----------------------------- - * Create sub compound2 type */ + * Create sub compound2 type */ tid_cmpd2 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd2_t)); ret = H5Tinsert(tid_cmpd2, "int2", HOFFSET(cmpd2_t, i2), H5T_NATIVE_INT); assert(ret >= 0); tid_cmpd2_arry = H5Tarray_create2(tid_cmpd3, 1, sdims_cmpd_arry); - ret = H5Tinsert(tid_cmpd2, "array_cmpd2", HOFFSET(cmpd2_t, cmpd3), tid_cmpd2_arry); + ret = H5Tinsert(tid_cmpd2, "array_cmpd2", HOFFSET(cmpd2_t, cmpd3), tid_cmpd2_arry); assert(ret >= 0); /* --------------------------- - * Create top compound1 type - */ + * Create top compound1 type + */ /* Create a VL datatype */ tid_cmpd1 = H5Tcreate(H5T_COMPOUND, sizeof(cmpd1_t)); /* Insert fields */ ret = H5Tinsert(tid_cmpd1, "int1", HOFFSET(cmpd1_t, i1), H5T_NATIVE_INT); assert(ret >= 0); tid_cmpd1_vlen = H5Tvlen_create(tid_cmpd2); - ret = H5Tinsert(tid_cmpd1, "vlen_cmpd1", HOFFSET(cmpd1_t, vl), tid_cmpd1_vlen); + ret = H5Tinsert(tid_cmpd1, "vlen_cmpd1", HOFFSET(cmpd1_t, vl), tid_cmpd1_vlen); assert(ret >= 0); /* ------------------------------- - * Create dataset with compound1 - */ + * Create dataset with compound1 + */ /* Create dataspace for dataset */ sid_dset = H5Screate_simple(1, sdims_dset, NULL); /* Create a dataset */ - did_dset = H5Dcreate2(fid, dset, tid_cmpd1, sid_dset, H5P_DEFAULT, - H5P_DEFAULT, H5P_DEFAULT); + did_dset = H5Dcreate2(fid, dset, tid_cmpd1, sid_dset, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* Write dataset to disk */ ret = H5Dwrite(did_dset, tid_cmpd1, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); assert(ret >= 0); /*----------------------------------- - * Create an attribute in root group - */ + * Create an attribute in root group + */ tid_attr = H5Acreate2(fid, attr, tid_cmpd1, sid_dset, H5P_DEFAULT, H5P_DEFAULT); assert(tid_attr > 0); ret = H5Awrite(tid_attr, tid_cmpd1, wdata); @@ -4689,7 +4680,7 @@ static void test_comps_vlen_arry(const char * fname, const char *dset, const cha assert(ret >= 0); /* ---------------- - * Close IDs */ + * Close IDs */ ret = H5Aclose(tid_attr); assert(ret >= 0); ret = H5Dclose(did_dset); @@ -4720,83 +4711,83 @@ static void test_comps_vlen_arry(const char * fname, const char *dset, const cha * *-------------------------------------------------------------------------*/ #define DIM_ARRY 3 -static void test_data_nocomparables(const char * fname, int make_diffs) +static void +test_data_nocomparables(const char *fname, int make_diffs) { - hid_t fid = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; - hid_t did1 = H5I_INVALID_HID; - hid_t did2 = H5I_INVALID_HID; - hid_t sid1 = H5I_INVALID_HID; - hid_t tid_dset1 = H5I_INVALID_HID; - hid_t tid_attr1 = H5I_INVALID_HID; - hsize_t dims1_1[1] = { DIM_ARRY }; - hsize_t dims1_2[1] = { DIM_ARRY + 1 }; - hsize_t dims2[2] = { DIM_ARRY, 1 }; - int data1[DIM_ARRY] = { 0, 0, 0 }; - int data2[DIM_ARRY] = { 1, 1, 1 }; - int data3[DIM_ARRY + 1] = { 1, 1, 1, 1 }; - int data1_dim2[DIM_ARRY][1] = { { 0 }, { 0 }, { 0 } }; - int rank_attr; - char data1_str[DIM_ARRY][STR_SIZE] = { "ab", "cd", "ef" }; - herr_t status = SUCCEED; - void *dset_data_ptr1 = NULL; - void *dset_data_ptr2 = NULL; - void *dset_data_ptr3 = NULL; - void *attr_data_ptr1 = NULL; - void *attr_data_ptr2 = NULL; - void *attr_data_ptr3 = NULL; - void *attr_data_ptr4 = NULL; - void *attr2_dim_ptr = NULL; - void *attr3_dim_ptr = NULL; + hid_t fid = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; + hid_t did1 = H5I_INVALID_HID; + hid_t did2 = H5I_INVALID_HID; + hid_t sid1 = H5I_INVALID_HID; + hid_t tid_dset1 = H5I_INVALID_HID; + hid_t tid_attr1 = H5I_INVALID_HID; + hsize_t dims1_1[1] = {DIM_ARRY}; + hsize_t dims1_2[1] = {DIM_ARRY + 1}; + hsize_t dims2[2] = {DIM_ARRY, 1}; + int data1[DIM_ARRY] = {0, 0, 0}; + int data2[DIM_ARRY] = {1, 1, 1}; + int data3[DIM_ARRY + 1] = {1, 1, 1, 1}; + int data1_dim2[DIM_ARRY][1] = {{0}, {0}, {0}}; + int rank_attr; + char data1_str[DIM_ARRY][STR_SIZE] = {"ab", "cd", "ef"}; + herr_t status = SUCCEED; + void * dset_data_ptr1 = NULL; + void * dset_data_ptr2 = NULL; + void * dset_data_ptr3 = NULL; + void * attr_data_ptr1 = NULL; + void * attr_data_ptr2 = NULL; + void * attr_data_ptr3 = NULL; + void * attr_data_ptr4 = NULL; + void * attr2_dim_ptr = NULL; + void * attr3_dim_ptr = NULL; /* init */ - tid_dset1 = H5Tcopy(H5T_NATIVE_INT); - dset_data_ptr1 = (int*) &data1; - dset_data_ptr2 = (int*) &data1; - dset_data_ptr3 = (int*) &data1; - tid_attr1 = H5Tcopy(H5T_NATIVE_INT); - attr_data_ptr1 = (int*) &data1; - attr_data_ptr3 = (int*) &data1; - attr_data_ptr4 = (int*) &data1; - attr2_dim_ptr = (hsize_t*) &dims1_1; - attr3_dim_ptr = (hsize_t*) &dims1_1; - rank_attr = 1; + tid_dset1 = H5Tcopy(H5T_NATIVE_INT); + dset_data_ptr1 = (int *)&data1; + dset_data_ptr2 = (int *)&data1; + dset_data_ptr3 = (int *)&data1; + tid_attr1 = H5Tcopy(H5T_NATIVE_INT); + attr_data_ptr1 = (int *)&data1; + attr_data_ptr3 = (int *)&data1; + attr_data_ptr4 = (int *)&data1; + attr2_dim_ptr = (hsize_t *)&dims1_1; + attr3_dim_ptr = (hsize_t *)&dims1_1; + rank_attr = 1; if (make_diffs) { /* ------------ - * group1 */ + * group1 */ tid_dset1 = H5Tcopy(H5T_C_S1); - H5Tset_size(tid_dset1, (size_t) STR_SIZE); - dset_data_ptr1 = (char*) &data1_str; - dset_data_ptr2 = (int*) &data2; - attr_data_ptr1 = (int*) &data2; + H5Tset_size(tid_dset1, (size_t)STR_SIZE); + dset_data_ptr1 = (char *)&data1_str; + dset_data_ptr2 = (int *)&data2; + attr_data_ptr1 = (int *)&data2; /* ----------- - * group2 - */ - dset_data_ptr3 = (int*) &data2; + * group2 + */ + dset_data_ptr3 = (int *)&data2; /* dset1/attr1 */ tid_attr1 = H5Tcopy(H5T_C_S1); - H5Tset_size(tid_attr1, (size_t) STR_SIZE); - attr_data_ptr2 = (char*) &data1_str; + H5Tset_size(tid_attr1, (size_t)STR_SIZE); + attr_data_ptr2 = (char *)&data1_str; /* dset1/attr2 */ - attr2_dim_ptr = (hsize_t*) &dims1_2; + attr2_dim_ptr = (hsize_t *)&dims1_2; /* dset1/attr3 */ - attr_data_ptr3 = (int*) &data1_dim2; - attr3_dim_ptr = (hsize_t*) &dims2; - rank_attr = 2; + attr_data_ptr3 = (int *)&data1_dim2; + attr3_dim_ptr = (hsize_t *)&dims2; + rank_attr = 2; /* dset1/attr4 */ - attr_data_ptr4 = (int*) &data2; - + attr_data_ptr4 = (int *)&data2; } /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname); @@ -4805,8 +4796,8 @@ static void test_data_nocomparables(const char * fname, int make_diffs) } /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + * Groups + *------------------------------------------------------------------------*/ gid1 = H5Gcreate2(fid, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", fname); @@ -4822,8 +4813,8 @@ static void test_data_nocomparables(const char * fname, int make_diffs) } /*----------------------------------------------------------------------- - * Datasets in /g1 - *------------------------------------------------------------------------*/ + * Datasets in /g1 + *------------------------------------------------------------------------*/ if ((sid1 = H5Screate_simple(1, dims1_1, NULL)) < 0) goto out; @@ -4849,10 +4840,10 @@ static void test_data_nocomparables(const char * fname, int make_diffs) } /*----------------------------------------------------------------------- - * Datasets in /g2 - *------------------------------------------------------------------------*/ + * Datasets in /g2 + *------------------------------------------------------------------------*/ /* --------- - * dset1 */ + * dset1 */ if ((did2 = H5Dcreate2(gid2, "dset1", H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) { HDfprintf(stderr, "Error: %s> H5Dcreate2 failed.\n", "dset1"); status = FAIL; @@ -4868,16 +4859,16 @@ static void test_data_nocomparables(const char * fname, int make_diffs) write_attr(did2, 1, dims1_1, "attr1", tid_attr1, attr_data_ptr2); /* attr2 - non-compatible : same rank, different dimention */ - write_attr(did2, 1, (hsize_t *) attr2_dim_ptr, "attr2", H5T_NATIVE_INT, data3); + write_attr(did2, 1, (hsize_t *)attr2_dim_ptr, "attr2", H5T_NATIVE_INT, data3); /* attr3 - non-compatible : different rank */ - write_attr(did2, rank_attr, (hsize_t *) attr3_dim_ptr, "attr3", H5T_NATIVE_INT, attr_data_ptr3); + write_attr(did2, rank_attr, (hsize_t *)attr3_dim_ptr, "attr3", H5T_NATIVE_INT, attr_data_ptr3); /* attr4 - compatible : different data values */ write_attr(did2, 1, dims1_1, "attr4", H5T_NATIVE_INT, attr_data_ptr4); /*---------- - * dset2 */ + * dset2 */ status = write_dset(gid2, 1, dims1_1, "dset2", H5T_NATIVE_INT, dset_data_ptr3); if (status == FAIL) { HDfprintf(stderr, "Error: %s> write_dset failed\n", fname); @@ -4887,8 +4878,8 @@ static void test_data_nocomparables(const char * fname, int make_diffs) out: /*----------------------------------------------------------------------- - * Close IDs - *-----------------------------------------------------------------------*/ + * Close IDs + *-----------------------------------------------------------------------*/ if (fid) H5Fclose(fid); if (gid1) @@ -4918,95 +4909,96 @@ out: static void test_objs_nocomparables(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hid_t topgid1 = H5I_INVALID_HID; - hid_t topgid2 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID; - hid_t tid1 = H5I_INVALID_HID; - hid_t gid2 = H5I_INVALID_HID; - hid_t tid2 = H5I_INVALID_HID; - hsize_t dims[1] = { DIM_ARRY }; - int data1[DIM_ARRY] = { 1, 1, 1 }; - int data2[DIM_ARRY] = { 2, 2, 2 }; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hid_t topgid1 = H5I_INVALID_HID; + hid_t topgid2 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID; + hid_t tid1 = H5I_INVALID_HID; + hid_t gid2 = H5I_INVALID_HID; + hid_t tid2 = H5I_INVALID_HID; + hsize_t dims[1] = {DIM_ARRY}; + int data1[DIM_ARRY] = {1, 1, 1}; + int data2[DIM_ARRY] = {2, 2, 2}; /*----------------------------------------------------------------------- - * Open file(s) to add objects - *------------------------------------------------------------------------*/ + * Open file(s) to add objects + *------------------------------------------------------------------------*/ /* file1 */ - if((fid1 = H5Fopen(fname1, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) + if ((fid1 = H5Fopen(fname1, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) PROGRAM_ERROR; /* file2 */ - if((fid2 = H5Fopen(fname2, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) + if ((fid2 = H5Fopen(fname2, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) PROGRAM_ERROR; /*----------------------------------------------------------------------- - * in file1 : add member objects - *------------------------------------------------------------------------*/ + * in file1 : add member objects + *------------------------------------------------------------------------*/ /* parent group */ - if((topgid1 = H5Gcreate2(fid1, "diffobjtypes", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((topgid1 = H5Gcreate2(fid1, "diffobjtypes", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) PROGRAM_ERROR; /* dataset */ - if(write_dset(topgid1, 1, dims, "obj1", H5T_NATIVE_INT, data1) < 0) + if (write_dset(topgid1, 1, dims, "obj1", H5T_NATIVE_INT, data1) < 0) PROGRAM_ERROR; /* group */ - if((gid1 = H5Gcreate2(topgid1, "obj2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid1 = H5Gcreate2(topgid1, "obj2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) PROGRAM_ERROR; /* committed type */ - if((tid1 = H5Tcopy(H5T_NATIVE_INT)) < 0) + if ((tid1 = H5Tcopy(H5T_NATIVE_INT)) < 0) PROGRAM_ERROR; - if(H5Tcommit2(topgid1, "obj3", tid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Tcommit2(topgid1, "obj3", tid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) PROGRAM_ERROR; /*----------------------------------------------------------------------- - * in file2 : add member objects - *------------------------------------------------------------------------*/ + * in file2 : add member objects + *------------------------------------------------------------------------*/ /* parent group */ - if((topgid2 = H5Gcreate2(fid2, "diffobjtypes", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((topgid2 = H5Gcreate2(fid2, "diffobjtypes", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) PROGRAM_ERROR; /* group */ - if((gid2 = H5Gcreate2(topgid2, "obj1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid2 = H5Gcreate2(topgid2, "obj1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) PROGRAM_ERROR; /* committed type */ - if((tid2 = H5Tcopy(H5T_NATIVE_INT)) < 0) + if ((tid2 = H5Tcopy(H5T_NATIVE_INT)) < 0) PROGRAM_ERROR; - if(H5Tcommit2(topgid2, "obj2", tid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Tcommit2(topgid2, "obj2", tid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) PROGRAM_ERROR; /* dataset */ - if(write_dset(topgid2, 1, dims, "obj3", H5T_NATIVE_INT, data2) < 0) + if (write_dset(topgid2, 1, dims, "obj3", H5T_NATIVE_INT, data2) < 0) PROGRAM_ERROR; /*----------------------------------------------------------------------- - * Close IDs - *-----------------------------------------------------------------------*/ - if(H5Fclose(fid1) < 0) + * Close IDs + *-----------------------------------------------------------------------*/ + if (H5Fclose(fid1) < 0) PROGRAM_ERROR; - if(H5Fclose(fid2) < 0) + if (H5Fclose(fid2) < 0) PROGRAM_ERROR; - if(H5Gclose(topgid1) < 0) + if (H5Gclose(topgid1) < 0) PROGRAM_ERROR; - if(H5Gclose(topgid2) < 0) + if (H5Gclose(topgid2) < 0) PROGRAM_ERROR; - if(H5Gclose(gid1) < 0) + if (H5Gclose(gid1) < 0) PROGRAM_ERROR; - if(H5Gclose(gid2) < 0) + if (H5Gclose(gid2) < 0) PROGRAM_ERROR; - if(H5Tclose(tid1) < 0) + if (H5Tclose(tid1) < 0) PROGRAM_ERROR; - if(H5Tclose(tid2) < 0) + if (H5Tclose(tid2) < 0) PROGRAM_ERROR; return; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Fclose(fid1); H5Fclose(fid2); H5Gclose(topgid1); @@ -5015,18 +5007,20 @@ error: H5Gclose(gid2); H5Tclose(tid1); H5Tclose(tid2); - } H5E_END_TRY; + } + H5E_END_TRY; return; } -static hid_t mkstr(int size, H5T_str_t pad) +static hid_t +mkstr(int size, H5T_str_t pad) { hid_t type; if ((type = H5Tcopy(H5T_C_S1)) < 0) return -1; - if (H5Tset_size(type, (size_t) size) < 0) + if (H5Tset_size(type, (size_t)size) < 0) return -1; if (H5Tset_strpad(type, pad) < 0) return -1; @@ -5042,51 +5036,44 @@ static hid_t mkstr(int size, H5T_str_t pad) * types. * h5diff should show differences output from these common objects. *-------------------------------------------------------------------------*/ -static void test_objs_strings(const char *fname1, const char *fname2) +static void +test_objs_strings(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID; - hid_t fid2 = H5I_INVALID_HID; - hid_t dataset = H5I_INVALID_HID; - hid_t space = H5I_INVALID_HID; - hid_t f_type = H5I_INVALID_HID; - hid_t m_type = H5I_INVALID_HID; - hsize_t dims1[] = { 3, 4 }; - char string1A[12][3] = { "s1", "s2", "s3", "s4", "s5", "s6", "s", "s", "s9", - "s0", "s1", "s2" }; - char string1B[12][3] = { "s1", "s2", "s3", "s4", "s", "s", "s7", "s8", "s9", - "s0", "s1", "s2" }; - - hsize_t dims2[] = { 20 }; - char string2A[20][10] = { "ab cd ef1", "ab cd ef2", "ab cd ef3", - "ab cd ef4", "ab cd ef5", "ab cd ef6", "ab cd ef7", "ab cd ef8", - "ab cd 9", "ab cd 0", "ab cd 1", "ab cd 2", "ab cd ef3", - "ab cd ef4", "ab cd ef5", "ab cd ef6", "ab cd ef7", "ab cd ef8", - "ab cd ef9", "ab cd ef0" }; - char string2B[20][10] = { "ab cd ef1", "ab cd ef2", "ab cd ef3", - "ab cd ef4", "ab cd ef5", "ab cd ef6", "ab cd ef7", "ab cd ef8", - "ab cd ef9", "ab cd ef0", "ab cd ef1", "ab cd ef2", "ab cd 3", - "ab cd 4", "ab cd 5", "ab cd 6", "ab cd ef7", "ab cd ef8", - "ab cd ef9", "ab cd ef0" }; - - hsize_t dims3[] = { 27 }; - char string3A[27][6] = { "abcd0", "abcd1", "abcd2", "abcd3", "abcd4", - "abcd5", "abcd6", "abcd7", "abcd8", "abcd9", "abcd0", "abcd1", - "abd2", "abc3", "bcd4", "acd5", "abcd6", "abcd7", "abcd8", "abcd9", - "abcd0", "abcd1", "abcd2", "abcd3", "abc4", "abc5", "abc6" }; - char string3B[27][6] = { "abcd0", "abcd1", "abcd2", "abcd3", "abcd4", - "abcd5", "abcd6", "abcd7", "abcd8", "abcd9", "abcd0", "abcd1", - "abcd2", "abcd3", "abcd4", "abcd5", "abd6", "abc7", "bcd8", "acd9", - "abcd0", "abcd1", "abcd2", "abcd3", "abd4", "abd5", "abd6" }; - - hsize_t dims4[] = { 3 }; - char string4A[3][21] = { "s1234567890123456789", "s1234567890123456789", - "s12345678901234567" }; - char string4B[3][21] = { "s1234567890123456789", "s12345678901234567", - "s1234567890123456789" }; + hid_t fid1 = H5I_INVALID_HID; + hid_t fid2 = H5I_INVALID_HID; + hid_t dataset = H5I_INVALID_HID; + hid_t space = H5I_INVALID_HID; + hid_t f_type = H5I_INVALID_HID; + hid_t m_type = H5I_INVALID_HID; + hsize_t dims1[] = {3, 4}; + char string1A[12][3] = {"s1", "s2", "s3", "s4", "s5", "s6", "s", "s", "s9", "s0", "s1", "s2"}; + char string1B[12][3] = {"s1", "s2", "s3", "s4", "s", "s", "s7", "s8", "s9", "s0", "s1", "s2"}; + + hsize_t dims2[] = {20}; + char string2A[20][10] = {"ab cd ef1", "ab cd ef2", "ab cd ef3", "ab cd ef4", "ab cd ef5", + "ab cd ef6", "ab cd ef7", "ab cd ef8", "ab cd 9", "ab cd 0", + "ab cd 1", "ab cd 2", "ab cd ef3", "ab cd ef4", "ab cd ef5", + "ab cd ef6", "ab cd ef7", "ab cd ef8", "ab cd ef9", "ab cd ef0"}; + char string2B[20][10] = {"ab cd ef1", "ab cd ef2", "ab cd ef3", "ab cd ef4", "ab cd ef5", + "ab cd ef6", "ab cd ef7", "ab cd ef8", "ab cd ef9", "ab cd ef0", + "ab cd ef1", "ab cd ef2", "ab cd 3", "ab cd 4", "ab cd 5", + "ab cd 6", "ab cd ef7", "ab cd ef8", "ab cd ef9", "ab cd ef0"}; + + hsize_t dims3[] = {27}; + char string3A[27][6] = {"abcd0", "abcd1", "abcd2", "abcd3", "abcd4", "abcd5", "abcd6", "abcd7", "abcd8", + "abcd9", "abcd0", "abcd1", "abd2", "abc3", "bcd4", "acd5", "abcd6", "abcd7", + "abcd8", "abcd9", "abcd0", "abcd1", "abcd2", "abcd3", "abc4", "abc5", "abc6"}; + char string3B[27][6] = {"abcd0", "abcd1", "abcd2", "abcd3", "abcd4", "abcd5", "abcd6", "abcd7", "abcd8", + "abcd9", "abcd0", "abcd1", "abcd2", "abcd3", "abcd4", "abcd5", "abd6", "abc7", + "bcd8", "acd9", "abcd0", "abcd1", "abcd2", "abcd3", "abd4", "abd5", "abd6"}; + + hsize_t dims4[] = {3}; + char string4A[3][21] = {"s1234567890123456789", "s1234567890123456789", "s12345678901234567"}; + char string4B[3][21] = {"s1234567890123456789", "s12345678901234567", "s1234567890123456789"}; /*----------------------------------------------------------------------- - * Create file(s) - *------------------------------------------------------------------------*/ + * Create file(s) + *------------------------------------------------------------------------*/ /* file1 */ fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fid1 < 0) { @@ -5102,9 +5089,9 @@ static void test_objs_strings(const char *fname1, const char *fname2) } /* string 1 : nullterm string */ - space = H5Screate_simple(2, dims1, NULL); - f_type = mkstr(5, H5T_STR_NULLTERM); - m_type = mkstr(3, H5T_STR_NULLTERM); + space = H5Screate_simple(2, dims1, NULL); + f_type = mkstr(5, H5T_STR_NULLTERM); + m_type = mkstr(3, H5T_STR_NULLTERM); dataset = H5Dcreate2(fid1, "/string1", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string1A); H5Dclose(dataset); @@ -5116,9 +5103,9 @@ static void test_objs_strings(const char *fname1, const char *fname2) H5Dclose(dataset); /* string 2 : space pad string */ - space = H5Screate_simple(1, dims2, NULL); - f_type = mkstr(11, H5T_STR_SPACEPAD); - m_type = mkstr(10, H5T_STR_NULLTERM); + space = H5Screate_simple(1, dims2, NULL); + f_type = mkstr(11, H5T_STR_SPACEPAD); + m_type = mkstr(10, H5T_STR_NULLTERM); dataset = H5Dcreate2(fid1, "/string2", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string2A); H5Dclose(dataset); @@ -5130,9 +5117,9 @@ static void test_objs_strings(const char *fname1, const char *fname2) H5Dclose(dataset); /* string 3 : null pad string */ - space = H5Screate_simple(1, dims3, NULL); - f_type = mkstr(8, H5T_STR_NULLPAD); - m_type = mkstr(6, H5T_STR_NULLTERM); + space = H5Screate_simple(1, dims3, NULL); + f_type = mkstr(8, H5T_STR_NULLPAD); + m_type = mkstr(6, H5T_STR_NULLTERM); dataset = H5Dcreate2(fid1, "/string3", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string3A); H5Dclose(dataset); @@ -5144,9 +5131,9 @@ static void test_objs_strings(const char *fname1, const char *fname2) H5Dclose(dataset); /* string 4 : space pad long string */ - space = H5Screate_simple(1, dims4, NULL); - f_type = mkstr(168, H5T_STR_SPACEPAD); - m_type = mkstr(21, H5T_STR_NULLTERM); + space = H5Screate_simple(1, dims4, NULL); + f_type = mkstr(168, H5T_STR_SPACEPAD); + m_type = mkstr(21, H5T_STR_NULLTERM); dataset = H5Dcreate2(fid1, "/string4", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string4A); H5Dclose(dataset); @@ -5172,10 +5159,10 @@ static void test_objs_strings(const char *fname1, const char *fname2) string4B[2][11] = 'a'; string4B[2][12] = 'B'; string4B[2][13] = 'c'; - space = H5Screate_simple(1, dims4, NULL); - f_type = mkstr(168, H5T_STR_NULLTERM); - m_type = mkstr(21, H5T_STR_NULLTERM); - dataset = H5Dcreate2(fid1, "/string5", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, dims4, NULL); + f_type = mkstr(168, H5T_STR_NULLTERM); + m_type = mkstr(21, H5T_STR_NULLTERM); + dataset = H5Dcreate2(fid1, "/string5", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string4A); H5Dclose(dataset); dataset = H5Dcreate2(fid2, "/string5", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -5187,8 +5174,8 @@ static void test_objs_strings(const char *fname1, const char *fname2) out: /*----------------------------------------------------------------------- - * Close IDs - *-----------------------------------------------------------------------*/ + * Close IDs + *-----------------------------------------------------------------------*/ if (fid1) H5Fclose(fid1); if (fid2) @@ -5203,78 +5190,77 @@ out: * *------------------------------------------------------------------------- */ -static -void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make_diffs /* flag to modify data buffers */) +static void +write_attr_strings(hid_t loc_id, const char *dset_name, hid_t fid, + int make_diffs /* flag to modify data buffers */) { /* Compound datatype */ typedef struct s_t { - char a; + char a; double b; } s_t; - typedef enum { - RED, GREEN - } e_t; + typedef enum { RED, GREEN } e_t; - hid_t aid = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; + hid_t aid = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; herr_t H5_ATTR_NDEBUG_UNUSED status; - int val, i, j, k, l, n; - float f; + int val, i, j, k, l, n; + float f; /* create 1D attributes with dimension [2], 2 elements */ - hsize_t dims[1] = { 2 }; - char buf1[2][STR_SIZE] = { "ab", "de" }; /* string */ - char *buf1a[2]; /* VL string */ - char buf2[2] = { 1, 2 }; /* bitfield, opaque */ - s_t buf3[2] = { { 1, 2.0F }, { 3, 4.0F } }; /* compound */ - hobj_ref_t buf4[2]; /* reference */ - e_t buf45[2] = { RED, RED }; /* enum */ - hvl_t buf5[2]; /* vlen */ - hsize_t dimarray[1] = { 3 }; /* array dimension */ - int buf6[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; /* array */ - int buf7[2] = { 1, 2 }; /* integer */ - float buf8[2] = { 1.0F, 2.0F }; /* float */ + hsize_t dims[1] = {2}; + char buf1[2][STR_SIZE] = {"ab", "de"}; /* string */ + char * buf1a[2]; /* VL string */ + char buf2[2] = {1, 2}; /* bitfield, opaque */ + s_t buf3[2] = {{1, 2.0F}, {3, 4.0F}}; /* compound */ + hobj_ref_t buf4[2]; /* reference */ + e_t buf45[2] = {RED, RED}; /* enum */ + hvl_t buf5[2]; /* vlen */ + hsize_t dimarray[1] = {3}; /* array dimension */ + int buf6[2][3] = {{1, 2, 3}, {4, 5, 6}}; /* array */ + int buf7[2] = {1, 2}; /* integer */ + float buf8[2] = {1.0F, 2.0F}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ - hsize_t dims2[2] = { 3, 2 }; - char buf12[3][2][STR_SIZE] = { { "ab", "cd" }, { "ef", "gh" }, { "ij", "kl" } }; /* string */ - char *buf12a[3][2]; /* VL string */ - char buf22[3][2] = { { 1, 2 }, { 3, 4 }, { 5, 6 } }; /* bitfield, opaque */ - s_t buf32[6] = { { 1, 2.0F }, { 3, 4.0F }, { 5, 6.0F }, { 7, 8.0F }, { 9, 10.0F }, { 11, 12.0F } }; /* compound */ - hobj_ref_t buf42[3][2]; /* reference */ - e_t buf452[3][2]; /* enum */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 }, { 13, 14, 15 }, { 16, 17, 18 } }; /* array */ - int buf72[3][2] = { { 1, 2 }, { 3, 4 }, { 5, 6 } }; /* integer */ - float buf82[3][2] = { { 1.0F, 2.0F }, { 3.0F, 4.0F }, { 5.0F, 6.0F } }; /* float */ + hsize_t dims2[2] = {3, 2}; + char buf12[3][2][STR_SIZE] = {{"ab", "cd"}, {"ef", "gh"}, {"ij", "kl"}}; /* string */ + char * buf12a[3][2]; /* VL string */ + char buf22[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* bitfield, opaque */ + s_t buf32[6] = {{1, 2.0F}, {3, 4.0F}, {5, 6.0F}, {7, 8.0F}, {9, 10.0F}, {11, 12.0F}}; /* compound */ + hobj_ref_t buf42[3][2]; /* reference */ + e_t buf452[3][2]; /* enum */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}}; /* array */ + int buf72[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* integer */ + float buf82[3][2] = {{1.0F, 2.0F}, {3.0F, 4.0F}, {5.0F, 6.0F}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ - hsize_t dims3[3] = { 4, 3, 2 }; - char buf13[4][3][2][STR_SIZE] = { { { "ab", "cd" }, { "ef", "gh" }, { "ij", "kl" } }, - { { "mn", "pq" }, { "rs", "tu" }, { "vw", "xz" } }, - { { "AB", "CD" }, { "EF", "GH" }, { "IJ", "KL" } }, - { { "MN", "PQ" }, { "RS", "TU" }, { "VW", "XZ" } } }; /* string */ - char *buf13a[4][3][2]; /* VL string */ - char buf23[4][3][2]; /* bitfield, opaque */ - s_t buf33[4][3][2]; /* compound */ - hobj_ref_t buf43[4][3][2]; /* reference */ - e_t buf453[4][3][2]; /* enum */ - hvl_t buf53[4][3][2]; /* vlen */ - int buf63[24][3]; /* array */ - int buf73[4][3][2]; /* integer */ - float buf83[4][3][2]; /* float */ - - /*------------------------------------------------------------------------- - * 1D attributes - *------------------------------------------------------------------------- - */ + hsize_t dims3[3] = {4, 3, 2}; + char buf13[4][3][2][STR_SIZE] = {{{"ab", "cd"}, {"ef", "gh"}, {"ij", "kl"}}, + {{"mn", "pq"}, {"rs", "tu"}, {"vw", "xz"}}, + {{"AB", "CD"}, {"EF", "GH"}, {"IJ", "KL"}}, + {{"MN", "PQ"}, {"RS", "TU"}, {"VW", "XZ"}}}; /* string */ + char * buf13a[4][3][2]; /* VL string */ + char buf23[4][3][2]; /* bitfield, opaque */ + s_t buf33[4][3][2]; /* compound */ + hobj_ref_t buf43[4][3][2]; /* reference */ + e_t buf453[4][3][2]; /* enum */ + hvl_t buf53[4][3][2]; /* vlen */ + int buf63[24][3]; /* array */ + int buf73[4][3][2]; /* integer */ + float buf83[4][3][2]; /* float */ + + /*------------------------------------------------------------------------- + * 1D attributes + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) @@ -5296,20 +5282,20 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make for (i = 0; i < 2; i++) buf1a[i] = buf1[i]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_attr(loc_id, 1, dims, "string", tid, buf1a); status = H5Tclose(tid); - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, (size_t)STR_SIZE); write_attr(loc_id, 1, dims, "VLstring", tid, buf1); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) @@ -5331,9 +5317,9 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ /* buf2[2]= {1,2}; @@ -5347,15 +5333,15 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make [ 1 ] 2 0 2 */ - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_attr(loc_id, 1, dims, "opaque", tid, buf2); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) { @@ -5383,13 +5369,13 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_REFERENCE (H5R_OBJECT object reference) - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE (H5R_OBJECT object reference) + *------------------------------------------------------------------------- + */ /* Create references to dataset */ if (dset_name) { - status = H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t) -1); - status = H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t)-1); + status = H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_attr(loc_id, 1, dims, "reference", H5T_STD_REF_OBJ, buf4); } @@ -5423,18 +5409,18 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make /* Allocate and initialize VL dataset to write */ - buf5[0].len = 1; - buf5[0].p = HDmalloc(1 * sizeof(int)); - ((int *) buf5[0].p)[0] = 1; - buf5[1].len = 2; - buf5[1].p = HDmalloc(2 * sizeof(int)); - ((int *) buf5[1].p)[0] = 2; - ((int *) buf5[1].p)[1] = 3; + buf5[0].len = 1; + buf5[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf5[0].p)[0] = 1; + buf5[1].len = 2; + buf5[1].p = HDmalloc(2 * sizeof(int)); + ((int *)buf5[1].p)[0] = 2; + ((int *)buf5[1].p)[1] = 3; if (make_diffs) { - ((int *) buf5[0].p)[0] = 0; - ((int *) buf5[1].p)[0] = 0; - ((int *) buf5[1].p)[1] = 0; + ((int *)buf5[0].p)[0] = 0; + ((int *)buf5[1].p)[0] = 0; + ((int *)buf5[1].p)[1] = 0; } /* $h5diff file7.h5 file6.h5 g1 g1 -v @@ -5446,9 +5432,9 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make [ 1 ] 3 0 3 */ - sid = H5Screate_simple(1, dims, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf5); assert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf5); @@ -5550,13 +5536,13 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make for (j = 0; j < 2; j++) buf12a[i][j] = buf12[i][j]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_attr(loc_id, 2, dims2, "string2D", tid, buf12a); status = H5Tclose(tid); - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, (size_t) STR_SIZE); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, (size_t)STR_SIZE); write_attr(loc_id, 2, dims2, "VLstring2D", tid, buf12); status = H5Tclose(tid); @@ -5603,7 +5589,7 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make [ 2 0 ] 5 0 5 [ 2 1 ] 6 0 6 */ - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_attr(loc_id, 2, dims2, "opaque2D", tid, buf22); status = H5Tclose(tid); @@ -5643,8 +5629,7 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make if (dset_name) { for (i = 0; i < 3; i++) for (j = 0; j < 2; j++) - status = H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, - (hid_t) -1); + status = H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_attr(loc_id, 2, dims2, "reference2D", H5T_STD_REF_OBJ, buf42); } @@ -5686,13 +5671,13 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make n = 0; for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) { - buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf52[i][j].len = (size_t)(i + 1); for (l = 0; l < i + 1; l++) if (make_diffs) - ((int *) buf52[i][j].p)[l] = 0; + ((int *)buf52[i][j].p)[l] = 0; else - ((int *) buf52[i][j].p)[l] = n++; + ((int *)buf52[i][j].p)[l] = n++; } } @@ -5712,9 +5697,9 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make [ 2 1 ] 11 0 11 */ - sid = H5Screate_simple(2, dims2, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(2, dims2, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf52); assert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf52); @@ -5873,13 +5858,13 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make for (k = 0; k < 2; k++) buf13a[i][j][k] = buf13[i][j][k]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_attr(loc_id, 3, dims3, "string3D", tid, buf13a); status = H5Tclose(tid); - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, (size_t) STR_SIZE); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, (size_t)STR_SIZE); write_attr(loc_id, 3, dims3, "VLstring3D", tid, buf13); status = H5Tclose(tid); @@ -5895,7 +5880,7 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make if (make_diffs) buf23[i][j][k] = 0; else - buf23[i][j][k] = (char) n++; + buf23[i][j][k] = (char)n++; /* position bitfield3D of </g1> bitfield3D of </g1> difference @@ -5934,7 +5919,7 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make * H5T_OPAQUE *------------------------------------------------------------------------- */ - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_attr(loc_id, 3, dims3, "opaque3D", tid, buf23); status = H5Tclose(tid); @@ -5951,8 +5936,9 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make if (make_diffs) { buf33[i][j][k].a = 0; buf33[i][j][k].b = 0.0F; - } else { - buf33[i][j][k].a = (char) n++; + } + else { + buf33[i][j][k].a = (char)n++; buf33[i][j][k].b = n++; } /*position compound3D of </g1> compound3D of </g1> difference @@ -6022,8 +6008,7 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make for (i = 0; i < 4; i++) for (j = 0; j < 3; j++) for (k = 0; k < 2; k++) - status = H5Rcreate(&buf43[i][j][k], fid, dset_name, - H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&buf43[i][j][k], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_attr(loc_id, 3, dims3, "reference3D", H5T_STD_REF_OBJ, buf43); } @@ -6085,13 +6070,13 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make for (i = 0; i < 4; i++) for (j = 0; j < 3; j++) for (k = 0; k < 2; k++) { - buf53[i][j][k].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf53[i][j][k].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf53[i][j][k].len = (size_t)(i + 1); for (l = 0; l < i + 1; l++) if (make_diffs) - ((int *) buf53[i][j][k].p)[l] = 0; + ((int *)buf53[i][j][k].p)[l] = 0; else - ((int *) buf53[i][j][k].p)[l] = n++; + ((int *)buf53[i][j][k].p)[l] = n++; } /* position vlen3D of </g1> vlen3D of </g1> difference @@ -6108,9 +6093,9 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make [ 1 1 0 ] 10 0 10 etc */ - sid = H5Screate_simple(3, dims3, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(3, dims3, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf53); assert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf53); @@ -6125,7 +6110,7 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make */ n = 1; for (i = 0; i < 24; i++) { - for (j = 0; j < (int) dimarray[0]; j++) { + for (j = 0; j < (int)dimarray[0]; j++) { if (make_diffs) buf63[i][j] = 0; else @@ -6194,78 +6179,77 @@ void write_attr_strings(hid_t loc_id, const char* dset_name, hid_t fid, int make * *------------------------------------------------------------------------- */ -static -void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diffs /* flag to modify data buffers */) +static void +write_attr_in(hid_t loc_id, const char *dset_name, hid_t fid, + int make_diffs /* flag to modify data buffers */) { /* Compound datatype */ typedef struct s_t { - char a; + char a; double b; } s_t; - typedef enum { - RED, GREEN - } e_t; + typedef enum { RED, GREEN } e_t; - hid_t aid = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; + hid_t aid = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; herr_t H5_ATTR_NDEBUG_UNUSED status; - int val, i, j, k, l, n; - float f; + int val, i, j, k, l, n; + float f; /* create 1D attributes with dimension [2], 2 elements */ - hsize_t dims[1] = { 2 }; - char buf1[2][STR_SIZE] = { "ab", "de" }; /* string */ - char *buf1a[2]; /* VL string */ - char buf2[2] = { 1, 2 }; /* bitfield, opaque */ - s_t buf3[2] = { { 1, 2.0F }, { 3, 4.0F } }; /* compound */ - hobj_ref_t buf4[2]; /* reference */ - e_t buf45[2] = { RED, RED }; /* enum */ - hvl_t buf5[2]; /* vlen */ - hsize_t dimarray[1] = { 3 }; /* array dimension */ - int buf6[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; /* array */ - int buf7[2] = { 1, 2 }; /* integer */ - float buf8[2] = { 1.0F, 2.0F }; /* float */ + hsize_t dims[1] = {2}; + char buf1[2][STR_SIZE] = {"ab", "de"}; /* string */ + char * buf1a[2]; /* VL string */ + char buf2[2] = {1, 2}; /* bitfield, opaque */ + s_t buf3[2] = {{1, 2.0F}, {3, 4.0F}}; /* compound */ + hobj_ref_t buf4[2]; /* reference */ + e_t buf45[2] = {RED, RED}; /* enum */ + hvl_t buf5[2]; /* vlen */ + hsize_t dimarray[1] = {3}; /* array dimension */ + int buf6[2][3] = {{1, 2, 3}, {4, 5, 6}}; /* array */ + int buf7[2] = {1, 2}; /* integer */ + float buf8[2] = {1.0F, 2.0F}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ - hsize_t dims2[2] = { 3, 2 }; - char buf12[3][2][STR_SIZE] = { { "ab", "cd" }, { "ef", "gh" }, { "ij", "kl" } }; /* string */ - char *buf12a[3][2]; /* VL string */ - char buf22[3][2] = { { 1, 2 }, { 3, 4 }, { 5, 6 } }; /* bitfield, opaque */ - s_t buf32[6] = { { 1, 2.0F }, { 3, 4.0F }, { 5, 6.0F }, { 7, 8.0F }, { 9, 10.0F }, { 11, 12.0F } }; /* compound */ - hobj_ref_t buf42[3][2]; /* reference */ - e_t buf452[3][2]; /* enum */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 }, { 13, 14, 15 }, { 16, 17, 18 } }; /* array */ - int buf72[3][2] = { { 1, 2 }, { 3, 4 }, { 5, 6 } }; /* integer */ - float buf82[3][2] = { { 1.0F, 2.0F }, { 3.0F, 4.0F }, { 5.0F, 6.0F } }; /* float */ + hsize_t dims2[2] = {3, 2}; + char buf12[3][2][STR_SIZE] = {{"ab", "cd"}, {"ef", "gh"}, {"ij", "kl"}}; /* string */ + char * buf12a[3][2]; /* VL string */ + char buf22[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* bitfield, opaque */ + s_t buf32[6] = {{1, 2.0F}, {3, 4.0F}, {5, 6.0F}, {7, 8.0F}, {9, 10.0F}, {11, 12.0F}}; /* compound */ + hobj_ref_t buf42[3][2]; /* reference */ + e_t buf452[3][2]; /* enum */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}}; /* array */ + int buf72[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* integer */ + float buf82[3][2] = {{1.0F, 2.0F}, {3.0F, 4.0F}, {5.0F, 6.0F}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ - hsize_t dims3[3] = { 4, 3, 2 }; - char buf13[4][3][2][STR_SIZE] = { { { "ab", "cd" }, { "ef", "gh" }, { "ij", "kl" } }, - { { "mn", "pq" }, { "rs", "tu" }, { "vw", "xz" } }, - { { "AB", "CD" }, { "EF", "GH" }, { "IJ", "KL" } }, - { { "MN", "PQ" }, { "RS", "TU" }, { "VW", "XZ" } } }; /* string */ - char *buf13a[4][3][2]; /* VL string */ - char buf23[4][3][2]; /* bitfield, opaque */ - s_t buf33[4][3][2]; /* compound */ - hobj_ref_t buf43[4][3][2]; /* reference */ - e_t buf453[4][3][2]; /* enum */ - hvl_t buf53[4][3][2]; /* vlen */ - int buf63[24][3]; /* array */ - int buf73[4][3][2]; /* integer */ - float buf83[4][3][2]; /* float */ - - /*------------------------------------------------------------------------- - * 1D attributes - *------------------------------------------------------------------------- - */ + hsize_t dims3[3] = {4, 3, 2}; + char buf13[4][3][2][STR_SIZE] = {{{"ab", "cd"}, {"ef", "gh"}, {"ij", "kl"}}, + {{"mn", "pq"}, {"rs", "tu"}, {"vw", "xz"}}, + {{"AB", "CD"}, {"EF", "GH"}, {"IJ", "KL"}}, + {{"MN", "PQ"}, {"RS", "TU"}, {"VW", "XZ"}}}; /* string */ + char * buf13a[4][3][2]; /* VL string */ + char buf23[4][3][2]; /* bitfield, opaque */ + s_t buf33[4][3][2]; /* compound */ + hobj_ref_t buf43[4][3][2]; /* reference */ + e_t buf453[4][3][2]; /* enum */ + hvl_t buf53[4][3][2]; /* vlen */ + int buf63[24][3]; /* array */ + int buf73[4][3][2]; /* integer */ + float buf83[4][3][2]; /* float */ + + /*------------------------------------------------------------------------- + * 1D attributes + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) @@ -6283,22 +6267,22 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff [ 1 ] d z [ 1 ] e z */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, (size_t) STR_SIZE); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, (size_t)STR_SIZE); write_attr(loc_id, 1, dims, "string", tid, buf1); status = H5Tclose(tid); for (i = 0; i < 2; i++) buf1a[i] = buf1[i]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_attr(loc_id, 1, dims, "VLstring", tid, buf1a); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) @@ -6320,9 +6304,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ /* buf2[2]= {1,2}; @@ -6336,15 +6320,15 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff [ 1 ] 2 0 2 */ - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_attr(loc_id, 1, dims, "opaque", tid, buf2); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) { @@ -6371,20 +6355,20 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_REFERENCE (H5R_OBJECT object reference) - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE (H5R_OBJECT object reference) + *------------------------------------------------------------------------- + */ /* Create references to dataset */ if (dset_name) { - status = H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t) -1); - status = H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t)-1); + status = H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_attr(loc_id, 1, dims, "reference", H5T_STD_REF_OBJ, buf4); } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) buf45[i] = GREEN; @@ -6405,24 +6389,24 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ - buf5[0].len = 1; - buf5[0].p = HDmalloc(1 * sizeof(int)); - ((int *) buf5[0].p)[0] = 1; - buf5[1].len = 2; - buf5[1].p = HDmalloc(2 * sizeof(int)); - ((int *) buf5[1].p)[0] = 2; - ((int *) buf5[1].p)[1] = 3; + buf5[0].len = 1; + buf5[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf5[0].p)[0] = 1; + buf5[1].len = 2; + buf5[1].p = HDmalloc(2 * sizeof(int)); + ((int *)buf5[1].p)[0] = 2; + ((int *)buf5[1].p)[1] = 3; if (make_diffs) { - ((int *) buf5[0].p)[0] = 0; - ((int *) buf5[1].p)[0] = 0; - ((int *) buf5[1].p)[1] = 0; + ((int *)buf5[0].p)[0] = 0; + ((int *)buf5[1].p)[0] = 0; + ((int *)buf5[1].p)[1] = 0; } /* $h5diff file7.h5 file6.h5 g1 g1 -v @@ -6434,9 +6418,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff [ 1 ] 3 0 3 */ - sid = H5Screate_simple(1, dims, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf5); assert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf5); @@ -6446,9 +6430,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Sclose(sid); /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ if (make_diffs) { for (i = 0; i < 2; i++) @@ -6474,9 +6458,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ if (make_diffs) { for (i = 0; i < 2; i++) { @@ -6502,14 +6486,14 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff write_attr(loc_id, 1, dims, "float", H5T_NATIVE_FLOAT, buf8); /*------------------------------------------------------------------------- - * 2D attributes - *------------------------------------------------------------------------- - */ + * 2D attributes + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ if (make_diffs) { for (i = 0; i < 3; i++) for (j = 0; j < 2; j++) @@ -6537,8 +6521,8 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff [ 2 1 ] l z */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, (size_t) STR_SIZE); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, (size_t)STR_SIZE); write_attr(loc_id, 2, dims2, "string2D", tid, buf12); status = H5Tclose(tid); @@ -6546,15 +6530,15 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff for (j = 0; j < 2; j++) buf12a[i][j] = buf12[i][j]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_attr(loc_id, 2, dims2, "VLstring2D", tid, buf12a); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ if (make_diffs) memset(buf22, 0, sizeof buf22); @@ -6577,9 +6561,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ /* buf22[3][2]= {{1,2},{3,4},{5,6}}; @@ -6594,15 +6578,15 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff [ 2 0 ] 5 0 5 [ 2 1 ] 6 0 6 */ - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_attr(loc_id, 2, dims2, "opaque2D", tid, buf22); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ if (make_diffs) memset(buf32, 0, sizeof buf32); /* @@ -6626,21 +6610,21 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_REFERENCE (H5R_OBJECT object reference) - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE (H5R_OBJECT object reference) + *------------------------------------------------------------------------- + */ /* Create references to dataset */ if (dset_name) { for (i = 0; i < 3; i++) for (j = 0; j < 2; j++) - status = H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_attr(loc_id, 2, dims2, "reference2D", H5T_STD_REF_OBJ, buf42); } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ for (i = 0; i < 3; i++) for (j = 0; j < 2; j++) { if (make_diffs) @@ -6668,21 +6652,21 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ n = 0; for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) { - buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf52[i][j].len = (size_t)(i + 1); for (l = 0; l < i + 1; l++) if (make_diffs) - ((int *) buf52[i][j].p)[l] = 0; + ((int *)buf52[i][j].p)[l] = 0; else - ((int *) buf52[i][j].p)[l] = n++; + ((int *)buf52[i][j].p)[l] = n++; } } @@ -6702,9 +6686,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff [ 2 1 ] 11 0 11 */ - sid = H5Screate_simple(2, dims2, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(2, dims2, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf52); assert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf52); @@ -6714,9 +6698,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Sclose(sid); /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ if (make_diffs) memset(buf62, 0, sizeof buf62); @@ -6751,9 +6735,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ if (make_diffs) { memset(buf72, 0, sizeof buf72); @@ -6785,14 +6769,14 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff write_attr(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82); /*------------------------------------------------------------------------- - * 3D attributes - *------------------------------------------------------------------------- - */ + * 3D attributes + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ if (make_diffs) { for (i = 0; i < 4; i++) @@ -6859,8 +6843,8 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff [ 3 2 1 ] Z z */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, (size_t) STR_SIZE); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, (size_t)STR_SIZE); write_attr(loc_id, 3, dims3, "string3D", tid, buf13); status = H5Tclose(tid); @@ -6868,15 +6852,15 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff for (j = 0; j < 3; j++) for (k = 0; k < 2; k++) buf13a[i][j][k] = buf13[i][j][k]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_attr(loc_id, 3, dims3, "VLstring3D", tid, buf13a); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ n = 1; for (i = 0; i < 4; i++) @@ -6885,7 +6869,7 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff if (make_diffs) buf23[i][j][k] = 0; else - buf23[i][j][k] = (char) n++; + buf23[i][j][k] = (char)n++; } /* position bitfield3D of </g1> bitfield3D of </g1> difference @@ -6921,18 +6905,18 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_attr(loc_id, 3, dims3, "opaque3D", tid, buf23); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ n = 1; for (i = 0; i < 4; i++) @@ -6943,7 +6927,7 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff buf33[i][j][k].b = 0.0F; } else { - buf33[i][j][k].a = (char) n++; + buf33[i][j][k].a = (char)n++; buf33[i][j][k].b = n++; } } @@ -7006,23 +6990,22 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_REFERENCE (H5R_OBJECT object reference) - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE (H5R_OBJECT object reference) + *------------------------------------------------------------------------- + */ /* Create references to dataset */ if (dset_name) { for (i = 0; i < 4; i++) for (j = 0; j < 3; j++) for (k = 0; k < 2; k++) - status = H5Rcreate(&buf43[i][j][k], fid, dset_name, - H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&buf43[i][j][k], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_attr(loc_id, 3, dims3, "reference3D", H5T_STD_REF_OBJ, buf43); } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ for (i = 0; i < 4; i++) for (j = 0; j < 3; j++) @@ -7068,22 +7051,22 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ n = 0; for (i = 0; i < 4; i++) for (j = 0; j < 3; j++) for (k = 0; k < 2; k++) { - buf53[i][j][k].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf53[i][j][k].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf53[i][j][k].len = (size_t)(i + 1); for (l = 0; l < i + 1; l++) if (make_diffs) - ((int *) buf53[i][j][k].p)[l] = 0; + ((int *)buf53[i][j][k].p)[l] = 0; else - ((int *) buf53[i][j][k].p)[l] = n++; + ((int *)buf53[i][j][k].p)[l] = n++; } /* position vlen3D of </g1> vlen3D of </g1> difference @@ -7100,9 +7083,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff [ 1 1 0 ] 10 0 10 etc */ - sid = H5Screate_simple(3, dims3, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(3, dims3, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf53); assert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf53); @@ -7112,12 +7095,12 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Sclose(sid); /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ n = 1; for (i = 0; i < 24; i++) - for (j = 0; j < (int) dimarray[0]; j++) { + for (j = 0; j < (int)dimarray[0]; j++) { if (make_diffs) buf63[i][j] = 0; else @@ -7141,9 +7124,9 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ n = 1; f = 1; for (i = 0; i < 4; i++) @@ -7185,77 +7168,76 @@ void write_attr_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff * *------------------------------------------------------------------------- */ -static -void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diffs /* flag to modify data buffers */) +static void +write_dset_in(hid_t loc_id, const char *dset_name, hid_t fid, + int make_diffs /* flag to modify data buffers */) { /* Compound datatype */ typedef struct s_t { - char a; + char a; double b; } s_t; - typedef enum { - RED, GREEN - } e_t; + typedef enum { RED, GREEN } e_t; - hid_t did = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; - hid_t dcpl = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; + hid_t dcpl = H5I_INVALID_HID; herr_t H5_ATTR_NDEBUG_UNUSED status; - int val, i, j, k, l, n; - float f; - int fillvalue = 2; - int scalar_data = 2; + int val, i, j, k, l, n; + float f; + int fillvalue = 2; + int scalar_data = 2; /* create 1D attributes with dimension [2], 2 elements */ - hsize_t dims[1] = { 2 }; - char buf1[2][STR_SIZE] = { "ab", "de" }; /* string */ - char *buf1a[2]; /* VL string */ - char buf2[2] = { 1, 2 }; /* bitfield, opaque */ - s_t buf3[2] = { { 1, 2.0F }, { 3, 4.0F } }; /* compound */ - hobj_ref_t buf4[2]; /* reference */ - e_t buf45[2] = { RED, GREEN }; /* enum */ - hvl_t buf5[2]; /* vlen */ - hsize_t dimarray[1] = { 3 }; /* array dimension */ - int buf6[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; /* array */ - int buf7[2] = { 1, 2 }; /* integer */ - float buf8[2] = { 1.0F, 2.0F }; /* float */ + hsize_t dims[1] = {2}; + char buf1[2][STR_SIZE] = {"ab", "de"}; /* string */ + char * buf1a[2]; /* VL string */ + char buf2[2] = {1, 2}; /* bitfield, opaque */ + s_t buf3[2] = {{1, 2.0F}, {3, 4.0F}}; /* compound */ + hobj_ref_t buf4[2]; /* reference */ + e_t buf45[2] = {RED, GREEN}; /* enum */ + hvl_t buf5[2]; /* vlen */ + hsize_t dimarray[1] = {3}; /* array dimension */ + int buf6[2][3] = {{1, 2, 3}, {4, 5, 6}}; /* array */ + int buf7[2] = {1, 2}; /* integer */ + float buf8[2] = {1.0F, 2.0F}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ - hsize_t dims2[2] = { 3, 2 }; - char buf12[3][2][STR_SIZE] = { { "ab", "cd" }, { "ef", "gh" }, { "ij", "kl" } }; /* string */ - char *buf12a[3][2]; /* VL string */ - char buf22[3][2] = { { 1, 2 }, { 3, 4 }, { 5, 6 } }; /* bitfield, opaque */ - s_t buf32[6] = { { 1, 2.0F }, { 3, 4.0F }, { 5, 6.0F }, { 7, 8.0F }, { 9, 10.0F }, { 11, 12.0F } }; /* compound */ - hobj_ref_t buf42[3][2]; /* reference */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 }, { 13, 14, 15 }, { 16, 17, 18 } }; /* array */ - int buf72[3][2] = { { 1, 2 }, { 3, 4 }, { 5, 6 } }; /* integer */ - float buf82[3][2] = { { 1.0F, 2.0F }, { 3.0F, 4.0F }, { 5.0F, 6.0F } }; /* float */ + hsize_t dims2[2] = {3, 2}; + char buf12[3][2][STR_SIZE] = {{"ab", "cd"}, {"ef", "gh"}, {"ij", "kl"}}; /* string */ + char * buf12a[3][2]; /* VL string */ + char buf22[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* bitfield, opaque */ + s_t buf32[6] = {{1, 2.0F}, {3, 4.0F}, {5, 6.0F}, {7, 8.0F}, {9, 10.0F}, {11, 12.0F}}; /* compound */ + hobj_ref_t buf42[3][2]; /* reference */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}}; /* array */ + int buf72[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* integer */ + float buf82[3][2] = {{1.0F, 2.0F}, {3.0F, 4.0F}, {5.0F, 6.0F}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ - hsize_t dims3[3] = { 4, 3, 2 }; - char buf13[4][3][2][STR_SIZE] = { { { "ab", "cd" }, { "ef", "gh" }, { "ij", "kl" } }, - { { "mn", "pq" }, { "rs", "tu" }, { "vw", "xz" } }, - { { "AB", "CD" }, { "EF", "GH" }, { "IJ", "KL" } }, - { { "MN", "PQ" }, { "RS", "TU" }, { "VW", "XZ" } } }; /* string */ - char *buf13a[4][3][2]; /* VL string */ - char buf23[4][3][2]; /* bitfield, opaque */ - s_t buf33[4][3][2]; /* compound */ - hobj_ref_t buf43[4][3][2]; /* reference */ - hvl_t buf53[4][3][2]; /* vlen */ - int buf63[24][3]; /* array */ - int buf73[4][3][2]; /* integer */ - float buf83[4][3][2]; /* float */ + hsize_t dims3[3] = {4, 3, 2}; + char buf13[4][3][2][STR_SIZE] = {{{"ab", "cd"}, {"ef", "gh"}, {"ij", "kl"}}, + {{"mn", "pq"}, {"rs", "tu"}, {"vw", "xz"}}, + {{"AB", "CD"}, {"EF", "GH"}, {"IJ", "KL"}}, + {{"MN", "PQ"}, {"RS", "TU"}, {"VW", "XZ"}}}; /* string */ + char * buf13a[4][3][2]; /* VL string */ + char buf23[4][3][2]; /* bitfield, opaque */ + s_t buf33[4][3][2]; /* compound */ + hobj_ref_t buf43[4][3][2]; /* reference */ + hvl_t buf53[4][3][2]; /* vlen */ + int buf63[24][3]; /* array */ + int buf73[4][3][2]; /* integer */ + float buf83[4][3][2]; /* float */ if (make_diffs == 2) dimarray[0] = 4; /*------------------------------------------------------------------------- - * H5S_SCALAR - *------------------------------------------------------------------------- - */ + * H5S_SCALAR + *------------------------------------------------------------------------- + */ if (make_diffs) scalar_data = 1; @@ -7274,37 +7256,37 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff H5Sclose(sid); /*------------------------------------------------------------------------- - * 1D - *------------------------------------------------------------------------- - */ + * 1D + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) for (j = 0; j < 2; j++) buf1[i][j] = 'z'; - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, (size_t) STR_SIZE); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, (size_t)STR_SIZE); write_dset(loc_id, 1, dims, "string", tid, buf1); status = H5Tclose(tid); for (i = 0; i < 2; i++) buf1a[i] = buf1[i]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_dset(loc_id, 1, dims, "VLstring", tid, buf1a); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) @@ -7315,9 +7297,9 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) { @@ -7325,15 +7307,15 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff buf3[i].b = 0; } - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_dset(loc_id, 1, dims, "opaque", tid, buf2); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) @@ -7346,27 +7328,27 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_REFERENCE (H5R_OBJECT object reference) - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE (H5R_OBJECT object reference) + *------------------------------------------------------------------------- + */ /* Create references to dataset */ if (dset_name) { - status = H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t) -1); - status = H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t)-1); + status = H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_dset(loc_id, 1, dims, "reference", H5T_STD_REF_OBJ, buf4); } /*------------------------------------------------------------------------- - * H5T_REFERENCE (H5R_DATASET_REGION dataset region reference) - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE (H5R_DATASET_REGION dataset region reference) + *------------------------------------------------------------------------- + */ gen_datareg(fid, make_diffs); /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); H5Tenum_insert(tid, "RED", (val = 0, &val)); H5Tenum_insert(tid, "GREEN", (val = 1, &val)); @@ -7374,30 +7356,29 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ - buf5[0].len = 1; - buf5[0].p = HDmalloc(1 * sizeof(int)); - ((int *) buf5[0].p)[0] = 1; - buf5[1].len = 2; - buf5[1].p = HDmalloc(2 * sizeof(int)); - ((int *) buf5[1].p)[0] = 2; - ((int *) buf5[1].p)[1] = 3; + buf5[0].len = 1; + buf5[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf5[0].p)[0] = 1; + buf5[1].len = 2; + buf5[1].p = HDmalloc(2 * sizeof(int)); + ((int *)buf5[1].p)[0] = 2; + ((int *)buf5[1].p)[1] = 3; if (make_diffs) { - ((int *) buf5[0].p)[0] = 0; - ((int *) buf5[1].p)[0] = 0; - ((int *) buf5[1].p)[1] = 0; + ((int *)buf5[0].p)[0] = 0; + ((int *)buf5[1].p)[0] = 0; + ((int *)buf5[1].p)[1] = 0; } - sid = H5Screate_simple(1, dims, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, - H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); HDassert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf5); @@ -7407,9 +7388,9 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Sclose(sid); /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) @@ -7421,21 +7402,21 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); { - double *dbuf; /* information to write */ - hid_t ldid = H5I_INVALID_HID; /* dataset ID */ - hid_t lsid = H5I_INVALID_HID; /* dataspace ID */ - hid_t ltid = H5I_INVALID_HID; /* datatype ID */ - size_t size; - hsize_t sdims[] = { 1 }; - hsize_t tdims[] = { H5TOOLS_MALLOCSIZE / sizeof(double) + 1 }; - size_t jj; + double *dbuf; /* information to write */ + hid_t ldid = H5I_INVALID_HID; /* dataset ID */ + hid_t lsid = H5I_INVALID_HID; /* dataspace ID */ + hid_t ltid = H5I_INVALID_HID; /* datatype ID */ + size_t size; + hsize_t sdims[] = {1}; + hsize_t tdims[] = {H5TOOLS_MALLOCSIZE / sizeof(double) + 1}; + size_t jj; /* allocate and initialize array data to write */ size = (H5TOOLS_MALLOCSIZE / sizeof(double) + 1) * sizeof(double); - dbuf = (double *) HDmalloc(size); + dbuf = (double *)HDmalloc(size); for (jj = 0; jj < (H5TOOLS_MALLOCSIZE / sizeof(double) + 1); jj++) - dbuf[jj] = (double) jj; + dbuf[jj] = (double)jj; if (make_diffs) { dbuf[5] = 0; @@ -7459,9 +7440,9 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff } /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ if (make_diffs) for (i = 0; i < 2; i++) { @@ -7473,14 +7454,14 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff write_dset(loc_id, 1, dims, "float", H5T_NATIVE_FLOAT, buf8); /*------------------------------------------------------------------------- - * 2D - *------------------------------------------------------------------------- - */ + * 2D + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ if (make_diffs) { for (i = 0; i < 3; i++) @@ -7489,8 +7470,8 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff buf12[i][j][k] = 'z'; } - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, (size_t) STR_SIZE); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, (size_t)STR_SIZE); write_dset(loc_id, 2, dims2, "string2D", tid, buf12); status = H5Tclose(tid); @@ -7498,15 +7479,15 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff for (j = 0; j < 2; j++) buf12a[i][j] = buf12[i][j]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_dset(loc_id, 2, dims2, "VLstring2D", tid, buf12a); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ if (make_diffs) memset(buf22, 0, sizeof buf22); @@ -7516,18 +7497,18 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_dset(loc_id, 2, dims2, "opaque2D", tid, buf22); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ if (make_diffs) memset(buf32, 0, sizeof buf32); @@ -7539,21 +7520,21 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_REFERENCE (H5R_OBJECT object reference) - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE (H5R_OBJECT object reference) + *------------------------------------------------------------------------- + */ /* Create references to dataset */ if (dset_name) { for (i = 0; i < 3; i++) for (j = 0; j < 2; j++) - status = H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_dset(loc_id, 2, dims2, "reference2D", H5T_STD_REF_OBJ, buf42); } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); H5Tenum_insert(tid, "RED", (val = 0, &val)); @@ -7562,27 +7543,27 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ n = 0; for (i = 0; i < 3; i++) for (j = 0; j < 2; j++) { - buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf52[i][j].len = (size_t)(i + 1); for (l = 0; l < i + 1; l++) { if (make_diffs) - ((int *) buf52[i][j].p)[l] = 0; + ((int *)buf52[i][j].p)[l] = 0; else - ((int *) buf52[i][j].p)[l] = n++; + ((int *)buf52[i][j].p)[l] = n++; } } - sid = H5Screate_simple(2, dims2, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(2, dims2, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf52); assert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf52); @@ -7592,9 +7573,9 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Sclose(sid); /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ if (make_diffs) memset(buf62, 0, sizeof buf62); @@ -7604,40 +7585,40 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_INTEGER, write a fill value - *------------------------------------------------------------------------- - */ + * H5T_INTEGER, write a fill value + *------------------------------------------------------------------------- + */ if (make_diffs) { memset(buf72, 0, sizeof buf72); memset(buf82, 0, sizeof buf82); } - dcpl = H5Pcreate(H5P_DATASET_CREATE); + dcpl = H5Pcreate(H5P_DATASET_CREATE); status = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillvalue); - sid = H5Screate_simple(2, dims2, NULL); - did = H5Dcreate2(loc_id, "integer2D", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT); + sid = H5Screate_simple(2, dims2, NULL); + did = H5Dcreate2(loc_id, "integer2D", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT); status = H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf72); status = H5Pclose(dcpl); status = H5Dclose(did); status = H5Sclose(sid); /*------------------------------------------------------------------------- - * H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_FLOAT + *------------------------------------------------------------------------- + */ write_dset(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82); /*------------------------------------------------------------------------- - * 3D - *------------------------------------------------------------------------- - */ + * 3D + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ if (make_diffs) { for (i = 0; i < 4; i++) @@ -7647,8 +7628,8 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff buf13[i][j][k][l] = 'z'; } - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, (size_t) STR_SIZE); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, (size_t)STR_SIZE); write_dset(loc_id, 3, dims3, "string3D", tid, buf13); status = H5Tclose(tid); @@ -7657,15 +7638,15 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff for (k = 0; k < 2; k++) buf13a[i][j][k] = buf13[i][j][k]; - tid = H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); status = H5Tset_size(tid, H5T_VARIABLE); write_dset(loc_id, 3, dims3, "VLstring3D", tid, buf13a); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ n = 1; for (i = 0; i < 4; i++) @@ -7674,7 +7655,7 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff if (make_diffs) buf23[i][j][k] = 0; else - buf23[i][j][k] = (char) n++; + buf23[i][j][k] = (char)n++; } tid = H5Tcopy(H5T_STD_B8LE); @@ -7682,18 +7663,18 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_OPAQUE, (size_t) 1); + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_OPAQUE, (size_t)1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ write_dset(loc_id, 3, dims3, "opaque3D", tid, buf23); status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ n = 1; for (i = 0; i < 4; i++) @@ -7704,7 +7685,7 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff buf33[i][j][k].b = 0.0F; } else { - buf33[i][j][k].a = (char) n++; + buf33[i][j][k].a = (char)n++; buf33[i][j][k].b = n++; } } @@ -7716,22 +7697,22 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_REFERENCE (H5R_OBJECT object reference) - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE (H5R_OBJECT object reference) + *------------------------------------------------------------------------- + */ /* Create references to dataset */ if (dset_name) { for (i = 0; i < 4; i++) for (j = 0; j < 3; j++) for (k = 0; k < 2; k++) - status = H5Rcreate(&buf43[i][j][k], fid, dset_name, H5R_OBJECT, (hid_t) -1); + status = H5Rcreate(&buf43[i][j][k], fid, dset_name, H5R_OBJECT, (hid_t)-1); write_dset(loc_id, 3, dims3, "reference3D", H5T_STD_REF_OBJ, buf43); } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); H5Tenum_insert(tid, "RED", (val = 0, &val)); @@ -7740,28 +7721,28 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ n = 0; for (i = 0; i < 4; i++) for (j = 0; j < 3; j++) for (k = 0; k < 2; k++) { - buf53[i][j][k].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf53[i][j][k].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf53[i][j][k].len = (size_t)(i + 1); for (l = 0; l < i + 1; l++) { if (make_diffs) - ((int *) buf53[i][j][k].p)[l] = 0; + ((int *)buf53[i][j][k].p)[l] = 0; else - ((int *) buf53[i][j][k].p)[l] = n++; + ((int *)buf53[i][j][k].p)[l] = n++; } } - sid = H5Screate_simple(3, dims3, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(3, dims3, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf53); assert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf53); @@ -7771,9 +7752,9 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Sclose(sid); /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ n = 1; for (i = 0; i < 24; i++) @@ -7789,9 +7770,9 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff status = H5Tclose(tid); /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ n = 1; f = 1; for (i = 0; i < 4; i++) @@ -7821,44 +7802,43 @@ void write_dset_in(hid_t loc_id, const char* dset_name, hid_t fid, int make_diff *------------------------------------------------------------------------- */ -static -void gen_datareg(hid_t fid, int make_diffs /* flag to modify data buffers */) +static void +gen_datareg(hid_t fid, int make_diffs /* flag to modify data buffers */) { /* data dataset */ - hid_t did1 = H5I_INVALID_HID; /* dataset ID */ - hid_t sid1 = H5I_INVALID_HID; /* dataspace ID */ - hsize_t dims1[2] = { 10, 10 };/* dimensions */ - int *buf; /* dataset buffer */ + hid_t did1 = H5I_INVALID_HID; /* dataset ID */ + hid_t sid1 = H5I_INVALID_HID; /* dataspace ID */ + hsize_t dims1[2] = {10, 10}; /* dimensions */ + int * buf; /* dataset buffer */ /* reference dataset */ - hid_t did2 = H5I_INVALID_HID; /* dataset ID */ - hid_t sid2 = H5I_INVALID_HID; /* dataspace ID */ - hsize_t dims2[] = { 2 }; /* 2 references */ - hdset_reg_ref_t *rbuf; /* buffer for write the references */ - hsize_t start[10]; /* starting location of hyperslab */ - hsize_t count[10]; /* element count of hyperslab */ - hsize_t coord[5][2]; /* coordinates for point selection */ + hid_t did2 = H5I_INVALID_HID; /* dataset ID */ + hid_t sid2 = H5I_INVALID_HID; /* dataspace ID */ + hsize_t dims2[] = {2}; /* 2 references */ + hdset_reg_ref_t * rbuf; /* buffer for write the references */ + hsize_t start[10]; /* starting location of hyperslab */ + hsize_t count[10]; /* element count of hyperslab */ + hsize_t coord[5][2]; /* coordinates for point selection */ herr_t H5_ATTR_NDEBUG_UNUSED status; - int i; + int i; /* allocate the buffer for write the references */ - rbuf = (hdset_reg_ref_t *) HDcalloc((size_t )2, sizeof(hdset_reg_ref_t)); + rbuf = (hdset_reg_ref_t *)HDcalloc((size_t)2, sizeof(hdset_reg_ref_t)); /* allocate the buffer for write the data dataset */ - buf = (int *) HDmalloc(10 * 10 * sizeof(int)); + buf = (int *)HDmalloc(10 * 10 * sizeof(int)); for (i = 0; i < 10 * 10; i++) buf[i] = i; /* create the data dataset */ - sid1 = H5Screate_simple(2, dims1, NULL); - did1 = H5Dcreate2(fid, "dsetref", H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid1 = H5Screate_simple(2, dims1, NULL); + did1 = H5Dcreate2(fid, "dsetref", H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); HDassert(status >= 0); /* create the reference dataset */ sid2 = H5Screate_simple(1, dims2, NULL); - did2 = H5Dcreate2(fid, "refreg", H5T_STD_REF_DSETREG, sid2, H5P_DEFAULT, - H5P_DEFAULT, H5P_DEFAULT); + did2 = H5Dcreate2(fid, "refreg", H5T_STD_REF_DSETREG, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* create the references */ /* select hyperslab for first reference */ @@ -7901,7 +7881,7 @@ void gen_datareg(hid_t fid, int make_diffs /* flag to modify data buffers */) coord[4][0] = 1; coord[4][1] = 7; } - H5Sselect_elements(sid1, H5S_SELECT_SET, (size_t) 5, (const hsize_t *) coord); + H5Sselect_elements(sid1, H5S_SELECT_SET, (size_t)5, (const hsize_t *)coord); H5Sget_select_npoints(sid1); /* store second dataset region */ @@ -7933,25 +7913,25 @@ void gen_datareg(hid_t fid, int make_diffs /* flag to modify data buffers */) * *------------------------------------------------------------------------- */ -static -int test_hyperslab(const char *fname, int make_diffs /* flag to modify data buffers */) +static int +test_hyperslab(const char *fname, int make_diffs /* flag to modify data buffers */) { - hid_t did = H5I_INVALID_HID; - hid_t fid = H5I_INVALID_HID; - hid_t f_sid = H5I_INVALID_HID; - hid_t m_sid = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; - hid_t dcpl = H5I_INVALID_HID; - hsize_t dims[1] = { GBLL }; /* dataset dimensions */ - hsize_t hs_size[1] = { GBLL / (1024 * 1024) }; /* hyperslab dimensions */ - hsize_t chunk_dims[1] = { GBLL / 1024 }; /* chunk dimensions */ + hid_t did = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t f_sid = H5I_INVALID_HID; + hid_t m_sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; + hid_t dcpl = H5I_INVALID_HID; + hsize_t dims[1] = {GBLL}; /* dataset dimensions */ + hsize_t hs_size[1] = {GBLL / (1024 * 1024)}; /* hyperslab dimensions */ + hsize_t chunk_dims[1] = {GBLL / 1024}; /* chunk dimensions */ hsize_t hs_start[1]; - size_t size; - size_t nelmts = (size_t)GBLL / (1024 * 1024); /* elements in each hyperslab */ - char fillvalue = -1; - char *buf = NULL; - int i, j, s; - char c; + size_t size; + size_t nelmts = (size_t)GBLL / (1024 * 1024); /* elements in each hyperslab */ + char fillvalue = -1; + char * buf = NULL; + int i, j, s; + char c; /* create */ fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -7973,8 +7953,8 @@ int test_hyperslab(const char *fname, int make_diffs /* flag to modify data buff goto out; /* create a evenly divided buffer from 0 to 127 */ - buf = (char *) HDmalloc((size_t)(nelmts * size)); - s = 1024 * 1024 / 127; + buf = (char *)HDmalloc((size_t)(nelmts * size)); + s = 1024 * 1024 / 127; for (i = 0, j = 0, c = 0; i < 1024 * 1024; j++, i++) { if (j == s) { c++; @@ -7988,7 +7968,7 @@ int test_hyperslab(const char *fname, int make_diffs /* flag to modify data buff if (make_diffs && i == 512 * 512) HDmemset(buf, 0, nelmts); - hs_start[0] = (unsigned long long) i * GBLL / (1024 * 1024); + hs_start[0] = (unsigned long long)i * GBLL / (1024 * 1024); if (H5Sselect_hyperslab(f_sid, H5S_SELECT_SET, hs_start, NULL, hs_size, NULL) < 0) goto out; @@ -8015,13 +7995,15 @@ int test_hyperslab(const char *fname, int make_diffs /* flag to modify data buff return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(f_sid); H5Sclose(m_sid); H5Dclose(did); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } @@ -8030,50 +8012,52 @@ out: * * Purpose: Create test files to compare data with epsilion */ -static -void test_double_epsilon(const char *fname1, const char *fname2) +static void +test_double_epsilon(const char *fname1, const char *fname2) { - hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID; - hsize_t dims1[2] = { 4, 7 }; - double wdata[4][7]; - int i, j; + hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID; + hsize_t dims1[2] = {4, 7}; + double wdata[4][7]; + int i, j; /*------------------------------------------------------------------------- - * create two files - *------------------------------------------------------------------------- - */ + * create two files + *------------------------------------------------------------------------- + */ if ((fid1 = H5Fcreate(fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) PROGRAM_ERROR; if ((fid2 = H5Fcreate(fname2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) PROGRAM_ERROR; /* - * Initialize data. - */ - for (i=0; i<4; i++) - for (j=0; j<7; j++) + * Initialize data. + */ + for (i = 0; i < 4; i++) + for (j = 0; j < 7; j++) wdata[i][j] = 0.0; /* dataset */ - if(write_dset(fid1, 2, dims1, "dataset", H5T_IEEE_F64LE, wdata) < 0) + if (write_dset(fid1, 2, dims1, "dataset", H5T_IEEE_F64LE, wdata) < 0) PROGRAM_ERROR; /* - * Initialize data. - */ - for (i=0; i<4; i++) - for (j=0; j<7; j++) + * Initialize data. + */ + for (i = 0; i < 4; i++) + for (j = 0; j < 7; j++) wdata[i][j] = (double)1.e-19; /* dataset */ - if(write_dset(fid2, 2, dims1, "dataset", H5T_IEEE_F64LE, wdata) < 0) + if (write_dset(fid2, 2, dims1, "dataset", H5T_IEEE_F64LE, wdata) < 0) PROGRAM_ERROR; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Fclose(fid1); H5Fclose(fid2); - } H5E_END_TRY; + } + H5E_END_TRY; return; } @@ -8085,8 +8069,8 @@ error: * *------------------------------------------------------------------------- */ -static -int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *name, hid_t tid, void *buf) +static int +write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *name, hid_t tid, void *buf) { hid_t aid = H5I_INVALID_HID; hid_t sid = H5I_INVALID_HID; @@ -8132,33 +8116,34 @@ write_dset(hid_t loc_id, int rank, hsize_t *dims, const char *name, hid_t tid, v hid_t sid = H5I_INVALID_HID; /* create a space */ - if((sid = H5Screate_simple(rank, dims, NULL)) < 0) + if ((sid = H5Screate_simple(rank, dims, NULL)) < 0) PROGRAM_ERROR; /* create the dataset */ - if((did = H5Dcreate2(loc_id, name, tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(loc_id, name, tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) PROGRAM_ERROR; /* write */ - if(buf) - if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (buf) + if (H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) PROGRAM_ERROR; /* close */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) PROGRAM_ERROR; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) PROGRAM_ERROR; return SUCCEED; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(did); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; return FAIL; } /* end write_dset() */ - diff --git a/tools/test/h5dump/binread.c b/tools/test/h5dump/binread.c index 6165cd8..171a5fd 100644 --- a/tools/test/h5dump/binread.c +++ b/tools/test/h5dump/binread.c @@ -27,9 +27,9 @@ */ -#define NELMTS 6 -#define TYPE int -#define FORMAT "%d " +#define NELMTS 6 +#define TYPE int +#define FORMAT "%d " /*------------------------------------------------------------------------- * Function: usage @@ -45,7 +45,7 @@ *------------------------------------------------------------------------- */ static void -usage (void) +usage(void) { fprintf(stderr, "usage: binread FILE_NAME\n"); } @@ -59,13 +59,13 @@ usage (void) */ int -main (int argc, const char *argv[]) +main(int argc, const char *argv[]) { - FILE *stream; + FILE * stream; size_t numread; TYPE buf[NELMTS]; size_t i, nelmts = NELMTS; - char *fname=NULL; + char * fname = NULL; if (argc != 2) { usage(); @@ -74,12 +74,12 @@ main (int argc, const char *argv[]) fname = strdup(argv[1]); - if((stream = fopen(fname, "rb")) != NULL) { - numread = fread(buf, sizeof( TYPE ), nelmts, stream); + if ((stream = fopen(fname, "rb")) != NULL) { + numread = fread(buf, sizeof(TYPE), nelmts, stream); printf("Number of items read = %llu\n", (unsigned long long)numread); for (i = 0; i < nelmts; i++) { - printf(FORMAT,buf[i]); + printf(FORMAT, buf[i]); } printf("\n"); @@ -92,4 +92,3 @@ main (int argc, const char *argv[]) return 0; } - diff --git a/tools/test/h5dump/dynlib_dump.c b/tools/test/h5dump/dynlib_dump.c index 661a6dc..32d2daf 100644 --- a/tools/test/h5dump/dynlib_dump.c +++ b/tools/test/h5dump/dynlib_dump.c @@ -17,25 +17,33 @@ #include <stdio.h> #include "H5PLextern.h" -#define H5Z_FILTER_DYNLIBUD 300 -#define MULTIPLIER 3 +#define H5Z_FILTER_DYNLIBUD 300 +#define MULTIPLIER 3 -static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf); +static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, + size_t nbytes, size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_DYNLIBUD[1] = {{ H5Z_CLASS_T_VERS, /* H5Z_class_t version */ H5Z_FILTER_DYNLIBUD, /* Filter id number */ 1, 1, /* Encoding and decoding enabled */ - "dynlibud", /* Filter name for debugging */ + "dynlibud", /* Filter name for debugging */ NULL, /* The "can apply" callback */ NULL, /* The "set local" callback */ - (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ + (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ }}; -H5PL_type_t H5PLget_plugin_type(void) {return H5PL_TYPE_FILTER;} -const void *H5PLget_plugin_info(void) {return H5Z_DYNLIBUD;} +H5PL_type_t +H5PLget_plugin_type(void) +{ + return H5PL_TYPE_FILTER; +} +const void * +H5PLget_plugin_info(void) +{ + return H5Z_DYNLIBUD; +} /*------------------------------------------------------------------------- * Function: H5Z_filter_dynlibud @@ -51,39 +59,37 @@ const void *H5PLget_plugin_info(void) {return H5Z_DYNLIBUD;} *------------------------------------------------------------------------- */ static size_t -H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, - size_t *buf_size, void **buf) +H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, size_t nbytes, + size_t *buf_size, void **buf) { - char *int_ptr = (char *)*buf; /* Pointer to the data values */ - size_t buf_left = *buf_size; /* Amount of data buffer left to process */ + char * int_ptr = (char *)*buf; /* Pointer to the data values */ + size_t buf_left = *buf_size; /* Amount of data buffer left to process */ /* Check for the correct number of parameters */ - if(cd_nelmts > 0) - return(0); + if (cd_nelmts > 0) + return (0); /* Assignment to eliminate unused parameter warning. */ cd_values = cd_values; - if(flags & H5Z_FLAG_REVERSE) { /*read*/ + if (flags & H5Z_FLAG_REVERSE) { /*read*/ /* Subtract the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = (int8_t)(temp - MULTIPLIER); + *int_ptr = (int8_t)(temp - MULTIPLIER); int_ptr++; buf_left -= sizeof(*int_ptr); - } /* end while */ - } /* end if */ + } /* end while */ + } /* end if */ else { /*write*/ /* Add the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = (int8_t)(temp + MULTIPLIER); + *int_ptr = (int8_t)(temp + MULTIPLIER); int_ptr++; buf_left -= sizeof(*int_ptr); } /* end while */ - } /* end else */ + } /* end else */ return nbytes; } /* end H5Z_filter_dynlibud() */ - diff --git a/tools/test/h5dump/h5dumpgentest.c b/tools/test/h5dump/h5dumpgentest.c index 3bb6604..f2d9271 100644 --- a/tools/test/h5dump/h5dumpgentest.c +++ b/tools/test/h5dump/h5dumpgentest.c @@ -25,96 +25,96 @@ #include "h5test.h" #include "h5tools.h" -#define FILE1 "tgroup.h5" -#define FILE2 "tdset.h5" -#define FILE3 "tattr.h5" -#define FILE4 "tslink.h5" -#define FILE4_1 "tsoftlinks.h5" -#define FILE5 "thlink.h5" -#define FILE6 "tcompound.h5" -#define FILE7 "tall.h5" -#define FILE8 "tdset2.h5" -#define FILE9 "tcompound2.h5" -#define FILE10 "tloop.h5" -#define FILE11 "tloop2.h5" -#define FILE12 "tmany.h5" -#define FILE13 "tstr.h5" -#define FILE14 "tstr2.h5" -#define FILE15 "tenum.h5" -#define FILE16 "tobjref.h5" -#define FILE17 "tdatareg.h5" -#define FILE18 "tnestedcomp.h5" -#define FILE19 "topaque.h5" -#define FILE20 "tbitfields.h5" -#define FILE21 "tvldtypes1.h5" -#define FILE22 "tvldtypes2.h5" -#define FILE23 "tvldtypes3.h5" -#define FILE24 "tvldtypes4.h5" -#define FILE25 "tarray1.h5" +#define FILE1 "tgroup.h5" +#define FILE2 "tdset.h5" +#define FILE3 "tattr.h5" +#define FILE4 "tslink.h5" +#define FILE4_1 "tsoftlinks.h5" +#define FILE5 "thlink.h5" +#define FILE6 "tcompound.h5" +#define FILE7 "tall.h5" +#define FILE8 "tdset2.h5" +#define FILE9 "tcompound2.h5" +#define FILE10 "tloop.h5" +#define FILE11 "tloop2.h5" +#define FILE12 "tmany.h5" +#define FILE13 "tstr.h5" +#define FILE14 "tstr2.h5" +#define FILE15 "tenum.h5" +#define FILE16 "tobjref.h5" +#define FILE17 "tdatareg.h5" +#define FILE18 "tnestedcomp.h5" +#define FILE19 "topaque.h5" +#define FILE20 "tbitfields.h5" +#define FILE21 "tvldtypes1.h5" +#define FILE22 "tvldtypes2.h5" +#define FILE23 "tvldtypes3.h5" +#define FILE24 "tvldtypes4.h5" +#define FILE25 "tarray1.h5" #define FILE25_BIG "tarray1_big.h5" -#define FILE26 "tarray2.h5" -#define FILE27 "tarray3.h5" -#define FILE28 "tarray4.h5" -#define FILE29 "tarray5.h5" -#define FILE30 "tarray6.h5" -#define FILE31 "tarray7.h5" -#define FILE32 "tempty.h5" -#define FILE33 "tgrp_comments.h5" -#define FILE34 "tsplit_file" -#define FILE35 "tfamily%05d.h5" -#define FILE36 "tmulti" -#define FILE37 "tlarge_objname.h5" -#define FILE38 "tvlstr.h5" -#define FILE39 "tchar.h5" -#define FILE40 "tattr2.h5" -#define FILE41 "tcompound_complex.h5" -#define FILE42 "tnamed_dtype_attr.h5" -#define FILE43 "tvldtypes5.h5" -#define FILE44 "tfilters.h5" -#define FILE45 "tnullspace.h5" -#define FILE46 "tfcontents1.h5" -#define FILE47 "tfcontents2.h5" -#define FILE48 "tfvalues.h5" -#define FILE49 "tstr3.h5" -#define FILE50 "taindices.h5" -#define FILE51 "tlonglinks.h5" -#define FILE52 "tldouble.h5" -#define FILE53 "textlink.h5" -#define FILE54 "tudlink.h5" -#define FILE55 "tbinary.h5" -#define FILE56 "tbigdims.h5" -#define FILE57 "thyperslab.h5" -#define FILE58 "tordergr.h5" -#define FILE59 "torderattr.h5" -#define FILE60 "tfpformat.h5" -#define FILE61 "textlinksrc.h5" -#define FILE62 "textlinktar.h5" -#define FILE63 "textlinkfar.h5" -#define FILE64 "tattrreg.h5" -#define FILE65 "file_space.h5" -#define FILE66 "packedbits.h5" -#define FILE67 "zerodim.h5" -#define FILE68 "charsets.h5" -#define FILE68a "tdset_idx.h5" -#define FILE69 "tattrintsize.h5" -#define FILE70 "tcmpdintsize.h5" -#define FILE71 "tcmpdattrintsize.h5" -#define FILE72 "tnestedcmpddt.h5" -#define FILE73 "tscalarintsize.h5" -#define FILE74 "tscalarattrintsize.h5" -#define FILE75 "tscalarstring.h5" -#define FILE76 "tcmpdintarray.h5" -#define FILE77 "tcmpdints.h5" -#define FILE78 "tscalarintattrsize.h5" -#define FILE79 "tintsattrs.h5" -#define FILE80 "tbitnopaque.h5" -#define FILE81 "tints4dims.h5" -#define FILE82 "tcompound_complex2.h5" -#define FILE83 "tvlenstr_array.h5" -#define FILE84 "tudfilter.h5" -#define FILE85 "tgrpnullspace.h5" -#define FILE86 "err_attr_dspace.h5" -#define FILE87 "tintsnodata.h5" +#define FILE26 "tarray2.h5" +#define FILE27 "tarray3.h5" +#define FILE28 "tarray4.h5" +#define FILE29 "tarray5.h5" +#define FILE30 "tarray6.h5" +#define FILE31 "tarray7.h5" +#define FILE32 "tempty.h5" +#define FILE33 "tgrp_comments.h5" +#define FILE34 "tsplit_file" +#define FILE35 "tfamily%05d.h5" +#define FILE36 "tmulti" +#define FILE37 "tlarge_objname.h5" +#define FILE38 "tvlstr.h5" +#define FILE39 "tchar.h5" +#define FILE40 "tattr2.h5" +#define FILE41 "tcompound_complex.h5" +#define FILE42 "tnamed_dtype_attr.h5" +#define FILE43 "tvldtypes5.h5" +#define FILE44 "tfilters.h5" +#define FILE45 "tnullspace.h5" +#define FILE46 "tfcontents1.h5" +#define FILE47 "tfcontents2.h5" +#define FILE48 "tfvalues.h5" +#define FILE49 "tstr3.h5" +#define FILE50 "taindices.h5" +#define FILE51 "tlonglinks.h5" +#define FILE52 "tldouble.h5" +#define FILE53 "textlink.h5" +#define FILE54 "tudlink.h5" +#define FILE55 "tbinary.h5" +#define FILE56 "tbigdims.h5" +#define FILE57 "thyperslab.h5" +#define FILE58 "tordergr.h5" +#define FILE59 "torderattr.h5" +#define FILE60 "tfpformat.h5" +#define FILE61 "textlinksrc.h5" +#define FILE62 "textlinktar.h5" +#define FILE63 "textlinkfar.h5" +#define FILE64 "tattrreg.h5" +#define FILE65 "file_space.h5" +#define FILE66 "packedbits.h5" +#define FILE67 "zerodim.h5" +#define FILE68 "charsets.h5" +#define FILE68a "tdset_idx.h5" +#define FILE69 "tattrintsize.h5" +#define FILE70 "tcmpdintsize.h5" +#define FILE71 "tcmpdattrintsize.h5" +#define FILE72 "tnestedcmpddt.h5" +#define FILE73 "tscalarintsize.h5" +#define FILE74 "tscalarattrintsize.h5" +#define FILE75 "tscalarstring.h5" +#define FILE76 "tcmpdintarray.h5" +#define FILE77 "tcmpdints.h5" +#define FILE78 "tscalarintattrsize.h5" +#define FILE79 "tintsattrs.h5" +#define FILE80 "tbitnopaque.h5" +#define FILE81 "tints4dims.h5" +#define FILE82 "tcompound_complex2.h5" +#define FILE83 "tvlenstr_array.h5" +#define FILE84 "tudfilter.h5" +#define FILE85 "tgrpnullspace.h5" +#define FILE86 "err_attr_dspace.h5" +#define FILE87 "tintsnodata.h5" /*------------------------------------------------------------------------- * prototypes @@ -122,60 +122,51 @@ */ /* utility functions */ -static int -make_dset(hid_t loc_id, const char *name, hid_t sid, hid_t tid, hid_t dcpl, void *buf); -static int -write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, - hid_t tid, void *buf); -static int -write_dset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, - hid_t tid, void *buf ); +static int make_dset(hid_t loc_id, const char *name, hid_t sid, hid_t tid, hid_t dcpl, void *buf); +static int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, hid_t tid, void *buf); +static int write_dset(hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, hid_t tid, void *buf); /* a filter operation callback function */ -static size_t -myfilter(unsigned int H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, - const unsigned int H5_ATTR_UNUSED *cd_values, size_t nbytes, - size_t H5_ATTR_UNUSED *buf_size, void H5_ATTR_UNUSED **buf); +static size_t myfilter(unsigned int H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, + const unsigned int H5_ATTR_UNUSED *cd_values, size_t nbytes, + size_t H5_ATTR_UNUSED *buf_size, void H5_ATTR_UNUSED **buf); /* a "set local" callback */ -static herr_t -set_local_myfilter(hid_t dcpl_id, hid_t tid, hid_t H5_ATTR_UNUSED sid); +static herr_t set_local_myfilter(hid_t dcpl_id, hid_t tid, hid_t H5_ATTR_UNUSED sid); #define MYFILTER_ID 405 /* This message derives from H5Z */ const H5Z_class2_t H5Z_MYFILTER[1] = {{ - H5Z_CLASS_T_VERS, - MYFILTER_ID, /* Filter id number */ - 1, 1, - "myfilter", /* Filter name for debugging */ - NULL, /* The "can apply" callback */ - set_local_myfilter, /* The "set local" callback */ - myfilter, /* The actual filter function */ + H5Z_CLASS_T_VERS, MYFILTER_ID, /* Filter id number */ + 1, 1, "myfilter", /* Filter name for debugging */ + NULL, /* The "can apply" callback */ + set_local_myfilter, /* The "set local" callback */ + myfilter, /* The actual filter function */ }}; -#define H5Z_FILTER_DYNLIBUD 300 -#define MULTIPLIER 3 +#define H5Z_FILTER_DYNLIBUD 300 +#define MULTIPLIER 3 -static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf); +static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, + size_t nbytes, size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_DYNLIBUD[1] = {{ H5Z_CLASS_T_VERS, /* H5Z_class_t version */ H5Z_FILTER_DYNLIBUD, /* Filter id number */ 1, 1, /* Encoding and decoding enabled */ - "dynlibud", /* Filter name for debugging */ + "dynlibud", /* Filter name for debugging */ NULL, /* The "can apply" callback */ NULL, /* The "set local" callback */ - (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ + (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ }}; - /* A UD link traversal function. Shouldn't actually be called. */ -static hid_t UD_traverse(H5_ATTR_UNUSED const char * link_name, H5_ATTR_UNUSED hid_t cur_group, - H5_ATTR_UNUSED const void * udata, H5_ATTR_UNUSED size_t udata_size, H5_ATTR_UNUSED hid_t lapl_id, - H5_ATTR_UNUSED hid_t dxpl_id) +static hid_t +UD_traverse(H5_ATTR_UNUSED const char *link_name, H5_ATTR_UNUSED hid_t cur_group, + H5_ATTR_UNUSED const void *udata, H5_ATTR_UNUSED size_t udata_size, H5_ATTR_UNUSED hid_t lapl_id, + H5_ATTR_UNUSED hid_t dxpl_id) { return -1; } @@ -183,20 +174,19 @@ static hid_t UD_traverse(H5_ATTR_UNUSED const char * link_name, H5_ATTR_UNUSED h #define MY_LINKCLASS 187 const H5L_class_t UD_link_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ - (H5L_type_t)MY_LINKCLASS, /* Link type id number */ - "UD link class", /* name for debugging */ - NULL, /* Creation callback */ - NULL, /* Move/rename callback */ - NULL, /* Copy callback */ - UD_traverse, /* The actual traversal function */ - NULL, /* Deletion callback */ - NULL /* Query callback */ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ + (H5L_type_t)MY_LINKCLASS, /* Link type id number */ + "UD link class", /* name for debugging */ + NULL, /* Creation callback */ + NULL, /* Move/rename callback */ + NULL, /* Copy callback */ + UD_traverse, /* The actual traversal function */ + NULL, /* Deletion callback */ + NULL /* Query callback */ }}; - #define LENSTR 50 -#define LENSTR2 11 +#define LENSTR2 11 #define SPACE2_RANK 2 #define SPACE2_DIM1 10 @@ -207,8 +197,8 @@ const H5L_class_t UD_link_class[1] = {{ #define DIM1 20 #define DIM2 10 -#define CDIM1 DIM1/2 -#define CDIM2 DIM2/2 +#define CDIM1 DIM1 / 2 +#define CDIM2 DIM2 / 2 #define RANK 2 /* Dataspace of 0 dimension size */ @@ -219,22 +209,15 @@ const H5L_class_t UD_link_class[1] = {{ /* Element selection information */ #define POINT1_NPOINTS 10 -typedef enum{ - RED, - GREEN, - BLUE, - WHITE, - BLACK -} enumtype; +typedef enum { RED, GREEN, BLUE, WHITE, BLACK } enumtype; /* Compound datatype */ typedef struct s1_t { - unsigned int a; - unsigned int b; - float c; + unsigned int a; + unsigned int b; + float c; } s1_t; - /* 1-D array datatype */ #define ARRAY1_RANK 1 #define ARRAY1_DIM1 4 @@ -256,17 +239,17 @@ typedef struct s1_t { /* "File 41" macros */ /* Name of dataset to create in datafile */ -#define F41_DATASETNAME "CompoundComplex" +#define F41_DATASETNAME "CompoundComplex" /* Dataset dimensions */ -#define F41_LENGTH 6 -#define F41_RANK 1 -#define F41_ARRAY_RANK 1 -#define F41_ARRAY_RANKd 2 -#define F41_DIMb 4 -#define F41_ARRAY_DIMc 6 -#define F41_ARRAY_DIMd1 5 -#define F41_ARRAY_DIMd2 6 -#define F41_ARRAY_DIMf 10 +#define F41_LENGTH 6 +#define F41_RANK 1 +#define F41_ARRAY_RANK 1 +#define F41_ARRAY_RANKd 2 +#define F41_DIMb 4 +#define F41_ARRAY_DIMc 6 +#define F41_ARRAY_DIMd1 5 +#define F41_ARRAY_DIMd2 6 +#define F41_ARRAY_DIMf 10 /* "File 42" macros */ /* Name of dataset to create in datafile */ @@ -280,113 +263,113 @@ typedef struct s1_t { #define F43_DSETNAME "Dataset" /* "File 51" macros */ -#define F51_MAX_NAME_LEN ((64*1024)+1024) +#define F51_MAX_NAME_LEN ((64 * 1024) + 1024) /* "File 64" macros */ -#define F64_FILE "tarray8.h5" -#define F64_DATASET "DS1" -#define F64_DIM0 1 -#define F64_ARRAY_BUF_LEN (4*1024) -#define F64_DIM1 (F64_ARRAY_BUF_LEN / sizeof(int) + 1) +#define F64_FILE "tarray8.h5" +#define F64_DATASET "DS1" +#define F64_DIM0 1 +#define F64_ARRAY_BUF_LEN (4 * 1024) +#define F64_DIM1 (F64_ARRAY_BUF_LEN / sizeof(int) + 1) /* File 65 macros */ -#define STRATEGY H5F_FSPACE_STRATEGY_NONE /* File space handling strategy */ -#define THRESHOLD10 10 /* Free-space section threshold */ -#define FSPACE_PAGE_SIZE 8192 /* File space page size */ +#define STRATEGY H5F_FSPACE_STRATEGY_NONE /* File space handling strategy */ +#define THRESHOLD10 10 /* Free-space section threshold */ +#define FSPACE_PAGE_SIZE 8192 /* File space page size */ /* "FILE66" macros and for FILE69, FILE87 */ -#define F66_XDIM 8 -#define F66_DATASETU08 "DU08BITS" -#define F66_DATASETS08 "DS08BITS" -#define F66_YDIM8 8 -#define F66_DATASETU16 "DU16BITS" -#define F66_DATASETS16 "DS16BITS" -#define F66_YDIM16 16 -#define F66_DATASETU32 "DU32BITS" -#define F66_DATASETS32 "DS32BITS" -#define F66_YDIM32 32 -#define F66_DATASETU64 "DU64BITS" -#define F66_DATASETS64 "DS64BITS" -#define F66_YDIM64 64 -#define F66_DUMMYDBL "DummyDBL" +#define F66_XDIM 8 +#define F66_DATASETU08 "DU08BITS" +#define F66_DATASETS08 "DS08BITS" +#define F66_YDIM8 8 +#define F66_DATASETU16 "DU16BITS" +#define F66_DATASETS16 "DS16BITS" +#define F66_YDIM16 16 +#define F66_DATASETU32 "DU32BITS" +#define F66_DATASETS32 "DS32BITS" +#define F66_YDIM32 32 +#define F66_DATASETU64 "DU64BITS" +#define F66_DATASETS64 "DS64BITS" +#define F66_YDIM64 64 +#define F66_DUMMYDBL "DummyDBL" /* Declarations for gent_dataset_idx() for "FILE68a" */ #define F68a_DSET_FIXED "dset_fixed" -#define F68a_DSET_FIXED_FILTER "dset_filter" +#define F68a_DSET_FIXED_FILTER "dset_filter" #define F68a_DSET_BTREE "dset_btree" -#define F68a_DIM200 200 -#define F68a_DIM100 100 -#define F68a_DIM20 20 -#define F68a_DIM10 10 -#define F68a_CHUNK 5 +#define F68a_DIM200 200 +#define F68a_DIM100 100 +#define F68a_DIM20 20 +#define F68a_DIM10 10 +#define F68a_CHUNK 5 /* "FILE70" macros and for FILE71 */ /* Name of dataset to create in datafile */ -#define F70_DATASETNAME "CompoundIntSize" +#define F70_DATASETNAME "CompoundIntSize" #define F70_LENGTH 4 #define F70_RANK 1 #define F70_ARRAY_RANK 2 #define F70_XDIM 8 -#define F70_DATASETU08 "DU08BITS" -#define F70_DATASETS08 "DS08BITS" +#define F70_DATASETU08 "DU08BITS" +#define F70_DATASETS08 "DS08BITS" #define F70_YDIM8 8 -#define F70_DATASETU16 "DU16BITS" -#define F70_DATASETS16 "DS16BITS" +#define F70_DATASETU16 "DU16BITS" +#define F70_DATASETS16 "DS16BITS" #define F70_YDIM16 16 -#define F70_DATASETU32 "DU32BITS" -#define F70_DATASETS32 "DS32BITS" +#define F70_DATASETU32 "DU32BITS" +#define F70_DATASETS32 "DS32BITS" #define F70_YDIM32 32 -#define F70_DATASETU64 "DU64BITS" -#define F70_DATASETS64 "DS64BITS" +#define F70_DATASETU64 "DU64BITS" +#define F70_DATASETS64 "DS64BITS" #define F70_YDIM64 64 -#define F70_DUMMYDBL "DummyDBL" +#define F70_DUMMYDBL "DummyDBL" /* Name of dataset to create in datafile */ -#define F71_DATASETNAME "CompoundAttrIntSize" +#define F71_DATASETNAME "CompoundAttrIntSize" /* "FILE73" macros and for FILE69 and FILE78 */ -#define F73_ARRAY_RANK 2 -#define F73_XDIM 8 -#define F73_DATASETU08 "DU08BITS" -#define F73_DATASETS08 "DS08BITS" -#define F73_YDIM8 8 -#define F73_DATASETU16 "DU16BITS" -#define F73_DATASETS16 "DS16BITS" -#define F73_YDIM16 16 -#define F73_DATASETU32 "DU32BITS" -#define F73_DATASETS32 "DS32BITS" -#define F73_YDIM32 32 -#define F73_DATASETU64 "DU64BITS" -#define F73_DATASETS64 "DS64BITS" -#define F73_YDIM64 64 -#define F73_DUMMYDBL "DummyDBL" +#define F73_ARRAY_RANK 2 +#define F73_XDIM 8 +#define F73_DATASETU08 "DU08BITS" +#define F73_DATASETS08 "DS08BITS" +#define F73_YDIM8 8 +#define F73_DATASETU16 "DU16BITS" +#define F73_DATASETS16 "DS16BITS" +#define F73_YDIM16 16 +#define F73_DATASETU32 "DU32BITS" +#define F73_DATASETS32 "DS32BITS" +#define F73_YDIM32 32 +#define F73_DATASETU64 "DU64BITS" +#define F73_DATASETS64 "DS64BITS" +#define F73_YDIM64 64 +#define F73_DUMMYDBL "DummyDBL" /* "FILE76 and FILE77 */ /* Name of dataset to create in datafile */ -#define F76_DATASETNAME "CompoundIntArray" +#define F76_DATASETNAME "CompoundIntArray" #define F76_LENGTH 4 #define F76_RANK 1 #define F76_ARRAY_RANK 1 -#define F76_DATASETU08 "DU08BITS" -#define F76_DATASETS08 "DS08BITS" -#define F76_DIM8 8 -#define F76_DATASETU16 "DU16BITS" -#define F76_DATASETS16 "DS16BITS" -#define F76_DIM16 16 -#define F76_DATASETU32 "DU32BITS" -#define F76_DATASETS32 "DS32BITS" -#define F76_DIM32 32 -#define F76_DATASETU64 "DU64BITS" -#define F76_DATASETS64 "DS64BITS" -#define F76_DIM64 64 -#define F76_DUMMYDBL "DummyDBL" +#define F76_DATASETU08 "DU08BITS" +#define F76_DATASETS08 "DS08BITS" +#define F76_DIM8 8 +#define F76_DATASETU16 "DU16BITS" +#define F76_DATASETS16 "DS16BITS" +#define F76_DIM16 16 +#define F76_DATASETU32 "DU32BITS" +#define F76_DATASETS32 "DS32BITS" +#define F76_DIM32 32 +#define F76_DATASETU64 "DU64BITS" +#define F76_DATASETS64 "DS64BITS" +#define F76_DIM64 64 +#define F76_DUMMYDBL "DummyDBL" /* Name of dataset to create in datafile */ -#define F77_DATASETNAME1 "CompoundInts" -#define F77_DATASETNAME2 "CompoundRInts" -#define F77_LENGTH 64 +#define F77_DATASETNAME1 "CompoundInts" +#define F77_DATASETNAME2 "CompoundRInts" +#define F77_LENGTH 64 -#define F80_DIM32 32 +#define F80_DIM32 32 -#define F81_DATASETNAME "FourDimInts" +#define F81_DATASETNAME "FourDimInts" #define F81_RANK 4 #define F81_WDIM 10 #define F81_XDIM 8 @@ -395,22 +378,22 @@ typedef struct s1_t { /* "File 82" macros */ /* Name of dataset to create in datafile */ -#define F82_DATASETNAME "CompoundComplex1D" +#define F82_DATASETNAME "CompoundComplex1D" /* Dataset dimensions */ -#define F82_DIM32 32 -#define F82_RANK 1 +#define F82_DIM32 32 +#define F82_RANK 1 /* #define F82_RANK2 2 */ /* #define F82_RANK3 3 */ /* #define F82_RANK4 4 */ /* "File 83" macros */ /* Name of dataset to create in datafile */ -#define F83_DATASETNAME "ScalarArrayOfVlenStr" -#define F83_DATASETNAME2 "CompoundArrayOfVlenStr" +#define F83_DATASETNAME "ScalarArrayOfVlenStr" +#define F83_DATASETNAME2 "CompoundArrayOfVlenStr" /* Dataset dimensions */ -#define F83_DIM 5 -#define F83_RANK 1 -#define F83_ARRAYDIM 3 +#define F83_DIM 5 +#define F83_RANK 1 +#define F83_ARRAYDIM 3 static void gent_group(void) @@ -461,34 +444,35 @@ gent_group(void) static void gent_dataset(void) { - hid_t fid, dataset, space; - hsize_t dims[2]; - int **dset1 = NULL; - int *dset1_data = NULL; - double **dset2 = NULL; - double *dset2_data = NULL; - int i, j; + hid_t fid, dataset, space; + hsize_t dims[2]; + int ** dset1 = NULL; + int * dset1_data = NULL; + double **dset2 = NULL; + double * dset2_data = NULL; + int i, j; /* Set up data arrays */ dset1_data = (int *)HDcalloc(10 * 20, sizeof(int)); - dset1 = (int **)HDcalloc(10, sizeof(dset1_data)); + dset1 = (int **)HDcalloc(10, sizeof(dset1_data)); for (i = 0; i < 10; i++) dset1[i] = dset1_data + (i * 20); dset2_data = (double *)HDcalloc(30 * 20, sizeof(double)); - dset2 = (double **)HDcalloc(30, sizeof(dset2_data)); + dset2 = (double **)HDcalloc(30, sizeof(dset2_data)); for (i = 0; i < 30; i++) dset2[i] = dset2_data + (i * 20); fid = H5Fcreate(FILE2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* dset1 */ - dims[0] = 10; dims[1] = 20; - space = H5Screate_simple(2, dims, NULL); + dims[0] = 10; + dims[1] = 20; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) - for(j = 0; j < 20; j++) + for (i = 0; i < 10; i++) + for (j = 0; j < 20; j++) dset1[i][j] = j + i; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1_data); @@ -496,12 +480,13 @@ gent_dataset(void) H5Dclose(dataset); /* dset2 */ - dims[0] = 30; dims[1] = 20; - space = H5Screate_simple(2, dims, NULL); + dims[0] = 30; + dims[1] = 20; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, "/dset2", H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 30; i++) - for(j = 0; j < 20; j++) + for (i = 0; i < 30; i++) + for (j = 0; j < 20; j++) dset2[i][j] = 0.0001F * (float)j + (float)i; H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_data); @@ -519,26 +504,29 @@ gent_dataset(void) static void gent_dataset2(void) { - hid_t fid, dataset, space, create_plist; + hid_t fid, dataset, space, create_plist; hsize_t dims[2]; hsize_t maxdims[2]; - int dset1[10][20]; - double dset2[30][10]; - int i, j; + int dset1[10][20]; + double dset2[30][10]; + int i, j; - fid = H5Fcreate(FILE8, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE8, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); create_plist = H5Pcreate(H5P_DATASET_CREATE); - dims[0] = 5; dims[1] = 5; + dims[0] = 5; + dims[1] = 5; H5Pset_chunk(create_plist, 2, dims); /* dset1 */ - dims[0] = 10; dims[1] = 20; - maxdims[0] = H5S_UNLIMITED; maxdims[1] = 20; - space = H5Screate_simple(2, dims, maxdims); - dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); + dims[0] = 10; + dims[1] = 20; + maxdims[0] = H5S_UNLIMITED; + maxdims[1] = 20; + space = H5Screate_simple(2, dims, maxdims); + dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); - for(i = 0; i < 10; i++) - for(j = 0; j < 20; j++) + for (i = 0; i < 10; i++) + for (j = 0; j < 20; j++) dset1[i][j] = j; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); @@ -546,13 +534,15 @@ gent_dataset2(void) H5Dclose(dataset); /* dset2 */ - dims[0] = 30; dims[1] = 10; - maxdims[0] = 30; maxdims[1] = H5S_UNLIMITED; - space = H5Screate_simple(2, dims, maxdims); - dataset = H5Dcreate2(fid, "/dset2", H5T_IEEE_F64BE, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); + dims[0] = 30; + dims[1] = 10; + maxdims[0] = 30; + maxdims[1] = H5S_UNLIMITED; + space = H5Screate_simple(2, dims, maxdims); + dataset = H5Dcreate2(fid, "/dset2", H5T_IEEE_F64BE, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); - for(i = 0; i < 30; i++) - for(j = 0; j < 10; j++) + for (i = 0; i < 30; i++) + for (j = 0; j < 10; j++) dset2[i][j] = j; H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); @@ -566,21 +556,21 @@ gent_dataset2(void) static void gent_attribute(void) { - hid_t fid, root, space, attr, type; + hid_t fid, root, space, attr, type; hsize_t dims[2]; - char buf[60]; - int i, data[10]; - double d[10]; - char string[]= "string attribute"; - int point = 100; + char buf[60]; + int i, data[10]; + double d[10]; + char string[] = "string attribute"; + int point = 100; - fid = H5Fcreate(FILE3, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE3, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); root = H5Gopen2(fid, "/", H5P_DEFAULT); /* attribute 1 */ dims[0] = 24; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(root, "/attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(root, "/attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); HDsprintf(buf, "attribute of root group"); H5Awrite(attr, H5T_NATIVE_SCHAR, buf); H5Sclose(space); @@ -588,10 +578,11 @@ gent_attribute(void) /* attribute 2 */ dims[0] = 10; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(root, "attr2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(root, "attr2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) data[i] = i+1; + for (i = 0; i < 10; i++) + data[i] = i + 1; H5Awrite(attr, H5T_NATIVE_INT, data); H5Sclose(space); @@ -599,10 +590,11 @@ gent_attribute(void) /* attribute 3 */ dims[0] = 10; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(root, "attr3", H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(root, "attr3", H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) d[i] = 0.1F * (float)i; + for (i = 0; i < 10; i++) + d[i] = 0.1F * (float)i; H5Awrite(attr, H5T_NATIVE_DOUBLE, d); H5Sclose(space); @@ -610,14 +602,14 @@ gent_attribute(void) /* attribute 4 */ space = H5Screate(H5S_SCALAR); - attr = H5Acreate2(root, "attr4", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT); + attr = H5Acreate2(root, "attr4", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_INT, &point); H5Sclose(space); H5Aclose(attr); /* attribute 5 */ space = H5Screate(H5S_SCALAR); - type = H5Tcopy(H5T_C_S1); + type = H5Tcopy(H5T_C_S1); H5Tset_size(type, 17); attr = H5Acreate2(root, "attr5", type, space, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, type, string); @@ -629,11 +621,12 @@ gent_attribute(void) H5Fclose(fid); } -static void gent_softlink(void) +static void +gent_softlink(void) { hid_t fid, root; - fid = H5Fcreate(FILE4, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE4, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); root = H5Gopen2(fid, "/", H5P_DEFAULT); H5Lcreate_soft("somevalue", root, "slink1", H5P_DEFAULT, H5P_DEFAULT); H5Lcreate_soft("linkvalue", root, "slink2", H5P_DEFAULT, H5P_DEFAULT); @@ -654,25 +647,25 @@ static void gent_softlink(void) *-------------------------------------------------------------------------*/ #define NX 4 #define NY 2 -static int gent_softlink2(void) +static int +gent_softlink2(void) { - hid_t fileid1 = H5I_INVALID_HID; - hid_t gid1 = H5I_INVALID_HID, gid2 = H5I_INVALID_HID; - hid_t datatype = H5I_INVALID_HID; - hid_t dset1 = H5I_INVALID_HID, dset2 = H5I_INVALID_HID; - hid_t dataspace = H5I_INVALID_HID; - hsize_t dimsf[2]; /* dataset dimensions */ - int data1[NX][NY] = {{0,0},{1,1},{2,2},{3,3}}; - int data2[NX][NY] = {{0,0},{0,1},{0,2},{3,3}}; - herr_t status = SUCCEED; + hid_t fileid1 = H5I_INVALID_HID; + hid_t gid1 = H5I_INVALID_HID, gid2 = H5I_INVALID_HID; + hid_t datatype = H5I_INVALID_HID; + hid_t dset1 = H5I_INVALID_HID, dset2 = H5I_INVALID_HID; + hid_t dataspace = H5I_INVALID_HID; + hsize_t dimsf[2]; /* dataset dimensions */ + int data1[NX][NY] = {{0, 0}, {1, 1}, {2, 2}, {3, 3}}; + int data2[NX][NY] = {{0, 0}, {0, 1}, {0, 2}, {3, 3}}; + herr_t status = SUCCEED; /*----------------------------------------------------------------------- * FILE *------------------------------------------------------------------------*/ /* Create a new file */ fileid1 = H5Fcreate(FILE4_1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - if (fileid1 < 0) - { + if (fileid1 < 0) { HDfprintf(stderr, "Error: %s> H5Fcreate failed.\n", FILE4_1); status = FAIL; goto out; @@ -682,16 +675,14 @@ static int gent_softlink2(void) * Groups *------------------------------------------------------------------------*/ gid1 = H5Gcreate2(fileid1, "group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (gid1 < 0) - { + if (gid1 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", FILE4_1); status = FAIL; goto out; } gid2 = H5Gcreate2(fileid1, "group_empty", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (gid2 < 0) - { + if (gid2 < 0) { HDfprintf(stderr, "Error: %s> H5Gcreate2 failed.\n", FILE4_1); status = FAIL; goto out; @@ -701,9 +692,8 @@ static int gent_softlink2(void) * Named datatype *------------------------------------------------------------------------*/ datatype = H5Tcopy(H5T_NATIVE_INT); - status = H5Tcommit2(fileid1, "dtype", datatype, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + status = H5Tcommit2(fileid1, "dtype", datatype, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Tcommit2 failed.\n", FILE4_1); status = FAIL; goto out; @@ -716,8 +706,8 @@ static int gent_softlink2(void) * Describe the size of the array and create the data space for fixed * size dataset. */ - dimsf[0] = NX; - dimsf[1] = NY; + dimsf[0] = NX; + dimsf[1] = NY; dataspace = H5Screate_simple(2, dimsf, NULL); /* @@ -728,18 +718,15 @@ static int gent_softlink2(void) * dset1 */ /* Create a new dataset as sample object */ - dset1 = H5Dcreate2(fileid1, "/dset1", H5T_NATIVE_INT, dataspace, - H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (dset1 < 0) - { + dset1 = H5Dcreate2(fileid1, "/dset1", H5T_NATIVE_INT, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (dset1 < 0) { HDfprintf(stderr, "Error: %s> H5Dcreate2 failed.\n", FILE4_1); status = FAIL; goto out; } status = H5Dwrite(dset1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data1); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", FILE4_1); status = FAIL; goto out; @@ -749,18 +736,15 @@ static int gent_softlink2(void) * dset2 */ /* Create a new dataset as sample object */ - dset2 = H5Dcreate2(fileid1, "/dset2", H5T_NATIVE_INT, dataspace, - H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (dset2 < 0) - { + dset2 = H5Dcreate2(fileid1, "/dset2", H5T_NATIVE_INT, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (dset2 < 0) { HDfprintf(stderr, "Error: %s> H5Dcreate2 failed.\n", FILE4_1); status = FAIL; goto out; } status = H5Dwrite(dset2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data2); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Dwrite failed.\n", FILE4_1); status = FAIL; goto out; @@ -774,8 +758,7 @@ static int gent_softlink2(void) */ /* link to dset1 */ status = H5Lcreate_soft("/dset1", fileid1, "soft_dset1", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -783,8 +766,7 @@ static int gent_softlink2(void) /* link to data type */ status = H5Lcreate_soft("/dtype", fileid1, "soft_dtype", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -792,8 +774,7 @@ static int gent_softlink2(void) /* link to group1 */ status = H5Lcreate_soft("/group1", fileid1, "soft_group1", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -801,8 +782,7 @@ static int gent_softlink2(void) /* link to empty group */ status = H5Lcreate_soft("/group_empty", fileid1, "soft_empty_grp", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -810,8 +790,7 @@ static int gent_softlink2(void) /* dangling link */ status = H5Lcreate_soft("not_yet", fileid1, "soft_dangle", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -822,8 +801,7 @@ static int gent_softlink2(void) */ /* link to dset1 */ status = H5Lcreate_soft("/dset1", gid1, "soft_dset1", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -831,8 +809,7 @@ static int gent_softlink2(void) /* link to dset2 */ status = H5Lcreate_soft("/dset2", gid1, "soft_dset2", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -840,8 +817,7 @@ static int gent_softlink2(void) /* link to data type */ status = H5Lcreate_soft("/dtype", gid1, "soft_dtype", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -849,8 +825,7 @@ static int gent_softlink2(void) /* link to empty group */ status = H5Lcreate_soft("/group_empty", gid1, "soft_empty_grp", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; @@ -858,42 +833,41 @@ static int gent_softlink2(void) /* dangling link */ status = H5Lcreate_soft("not_yet", gid1, "soft_dangle", H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s> H5Lcreate_soft failed.\n", FILE4_1); status = FAIL; goto out; } - out: +out: /* * Close/release resources. */ - if(dataspace >= 0 && H5Sclose(dataspace) < 0) { + if (dataspace >= 0 && H5Sclose(dataspace) < 0) { HDfprintf(stderr, "Error: %s> H5Sclose failed.\n", FILE4_1); status = FAIL; } - if(gid1 >= 0 && H5Gclose(gid1) < 0) { + if (gid1 >= 0 && H5Gclose(gid1) < 0) { HDfprintf(stderr, "Error: %s> H5Gclose failed.\n", FILE4_1); status = FAIL; } - if(gid2 >= 0 && H5Gclose(gid2) < 0) { + if (gid2 >= 0 && H5Gclose(gid2) < 0) { HDfprintf(stderr, "Error: %s> H5Gclose failed.\n", FILE4_1); status = FAIL; } - if(datatype >= 0 && H5Tclose(datatype) < 0) { + if (datatype >= 0 && H5Tclose(datatype) < 0) { HDfprintf(stderr, "Error: %s> H5Tclose failed.\n", FILE4_1); status = FAIL; } - if(dset1 >= 0 && H5Dclose(dset1) < 0) { + if (dset1 >= 0 && H5Dclose(dset1) < 0) { HDfprintf(stderr, "Error: %s> H5Dclose failed.\n", FILE4_1); status = FAIL; } - if(dset2 >= 0 && H5Dclose(dset2) < 0) { + if (dset2 >= 0 && H5Dclose(dset2) < 0) { HDfprintf(stderr, "Error: %s> H5Dclose failed.\n", FILE4_1); status = FAIL; } - if(fileid1 >= 0 && H5Fclose(fileid1) < 0) { + if (fileid1 >= 0 && H5Fclose(fileid1) < 0) { HDfprintf(stderr, "Error: %s> H5Fclose failed.\n", FILE4_1); status = FAIL; } @@ -914,18 +888,20 @@ static int gent_softlink2(void) dset3 */ -static void gent_hardlink(void) +static void +gent_hardlink(void) { - hid_t fid, group, dataset, space; + hid_t fid, group, dataset, space; hsize_t dim = 5; - int i, dset[5]; + int i, dset[5]; fid = H5Fcreate(FILE5, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - space = H5Screate_simple(1, &dim, NULL); + space = H5Screate_simple(1, &dim, NULL); dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 5; i++) dset[i] = i; + for (i = 0; i < 5; i++) + dset[i] = i; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset); H5Sclose(space); @@ -948,7 +924,8 @@ static void gent_hardlink(void) H5Fclose(fid); } -static void gent_extlink(void) +static void +gent_extlink(void) { hid_t fid; @@ -960,10 +937,11 @@ static void gent_extlink(void) H5Fclose(fid); } -static void gent_udlink(void) +static void +gent_udlink(void) { hid_t fid; - char buf[4]; + char buf[4]; H5Lregister(UD_link_class); @@ -976,7 +954,6 @@ static void gent_udlink(void) H5Fclose(fid); } - /* / / | \ \ @@ -985,69 +962,69 @@ static void gent_udlink(void) dset2 */ -static void gent_compound_dt(void) { /* test compound data type */ +static void +gent_compound_dt(void) +{ /* test compound data type */ hid_t fid, group, dataset, space, space3, type, type2; hid_t array_dt; typedef struct { - int a; - float b; - double c; + int a; + float b; + double c; } dset1_t; dset1_t dset1[5]; typedef struct { - int a; - float b; + int a; + float b; } dset2_t; dset2_t dset2[5]; typedef struct { - int a[4]; - float b[5][6]; + int a[4]; + float b[5][6]; } dset3_t; dset3_t dset3[3][6]; typedef struct { - int a; - float b; + int a; + float b; } dset4_t; dset4_t dset4[5]; typedef struct { - int a; - float b; + int a; + float b; } dset5_t; dset5_t dset5[5]; - int i, j, k, l; + int i, j, k, l; unsigned ndims; - hsize_t dim[2]; + hsize_t dim[2]; hsize_t sdim = 5; hsize_t dset3_dim[2]; - - for(i = 0; i < (int)sdim; i++) { + for (i = 0; i < (int)sdim; i++) { dset1[i].a = i; - dset1[i].b = (float)(i*i); - dset1[i].c = (float)(1.0F/(float)(i+1)); + dset1[i].b = (float)(i * i); + dset1[i].c = (float)(1.0F / (float)(i + 1)); dset2[i].a = i; - dset2[i].b = (float)((float)i+ (float)i*0.1F); + dset2[i].b = (float)((float)i + (float)i * 0.1F); dset4[i].a = i; - dset4[i].b = (float)(i+3); + dset4[i].b = (float)(i + 3); dset5[i].a = i; - dset5[i].b = (float)((float)i*0.1F); + dset5[i].b = (float)((float)i * 0.1F); } - fid = H5Fcreate(FILE6, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); space = H5Screate_simple(1, &sdim, NULL); - type = H5Tcreate (H5T_COMPOUND, sizeof(dset1[0])); + type = H5Tcreate(H5T_COMPOUND, sizeof(dset1[0])); type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset1[0])); H5Tinsert(type, "a_name", HOFFSET(dset1_t, a), H5T_STD_I32BE); H5Tinsert(type, "b_name", HOFFSET(dset1_t, b), H5T_IEEE_F32BE); @@ -1062,11 +1039,11 @@ static void gent_compound_dt(void) { /* test compound data type */ H5Dclose(dataset); /* shared data type 1 */ - type = H5Tcreate (H5T_COMPOUND, sizeof(dset2_t)); + type = H5Tcreate(H5T_COMPOUND, sizeof(dset2_t)); H5Tinsert(type, "int_name", HOFFSET(dset2_t, a), H5T_STD_I32BE); H5Tinsert(type, "float_name", HOFFSET(dset2_t, b), H5T_IEEE_F32BE); H5Tcommit2(fid, "type1", type, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset2_t)); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset2_t)); H5Tinsert(type2, "int_name", HOFFSET(dset2_t, a), H5T_NATIVE_INT); H5Tinsert(type2, "float_name", HOFFSET(dset2_t, b), H5T_NATIVE_FLOAT); group = H5Gcreate2(fid, "/group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -1077,12 +1054,12 @@ static void gent_compound_dt(void) { /* test compound data type */ H5Tclose(type); H5Dclose(dataset); - /* shared data type 2 */ - type = H5Tcreate (H5T_COMPOUND, sizeof(dset3_t)); - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset3_t)); + type = H5Tcreate(H5T_COMPOUND, sizeof(dset3_t)); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset3_t)); - ndims = 1; dim[0] = 4; + ndims = 1; + dim[0] = 4; array_dt = H5Tarray_create2(H5T_STD_I32BE, ndims, dim); H5Tinsert(type, "int_array", HOFFSET(dset3_t, a), array_dt); @@ -1092,7 +1069,9 @@ static void gent_compound_dt(void) { /* test compound data type */ H5Tinsert(type2, "int_array", HOFFSET(dset3_t, a), array_dt); H5Tclose(array_dt); - ndims = 2; dim[0] = 5; dim[1] = 6; + ndims = 2; + dim[0] = 5; + dim[1] = 6; array_dt = H5Tarray_create2(H5T_IEEE_F32BE, ndims, dim); H5Tinsert(type, "float_array", HOFFSET(dset3_t, b), array_dt); @@ -1104,16 +1083,16 @@ static void gent_compound_dt(void) { /* test compound data type */ H5Tcommit2(fid, "type2", type, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - - dset3_dim[0] = 3; dset3_dim[1] = 6; - space3 = H5Screate_simple(2, dset3_dim, NULL); - dataset = H5Dcreate2(group, "dset3", type, space3, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < (int)dset3_dim[0]; i++) - for(j = 0; j < (int)dset3_dim[1]; j++) { - for(k = 0; k < 4; k++) + dset3_dim[0] = 3; + dset3_dim[1] = 6; + space3 = H5Screate_simple(2, dset3_dim, NULL); + dataset = H5Dcreate2(group, "dset3", type, space3, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + for (i = 0; i < (int)dset3_dim[0]; i++) + for (j = 0; j < (int)dset3_dim[1]; j++) { + for (k = 0; k < 4; k++) dset3[i][j].a[k] = k + j + i; - for(k = 0; k < 5; k++) - for(l = 0; l < 6; l++) + for (k = 0; k < 5; k++) + for (l = 0; l < 6; l++) dset3[i][j].b[k][l] = (float)((k + 1) + l + j + i); } H5Dwrite(dataset, type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset3); @@ -1123,8 +1102,8 @@ static void gent_compound_dt(void) { /* test compound data type */ H5Dclose(dataset); /* shared data type 3 */ - type = H5Tcreate (H5T_COMPOUND, sizeof(dset4_t)); - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset4_t)); + type = H5Tcreate(H5T_COMPOUND, sizeof(dset4_t)); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset4_t)); H5Tinsert(type, "int", HOFFSET(dset4_t, a), H5T_STD_I32BE); H5Tinsert(type, "float", HOFFSET(dset4_t, b), H5T_IEEE_F32BE); H5Tcommit2(group, "type3", type, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -1138,7 +1117,6 @@ static void gent_compound_dt(void) { /* test compound data type */ H5Dclose(dataset); H5Gclose(group); - /* unamed data type */ group = H5Gcreate2(fid, "/group2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -1171,51 +1149,53 @@ static void gent_compound_dt(void) { /* test compound data type */ dset2 */ -static void gent_compound_dt2(void) { /* test compound data type */ +static void +gent_compound_dt2(void) +{ /* test compound data type */ hid_t fid, group, dataset, space, type, create_plist, type2; hid_t array_dt; typedef struct { - int a; - float b; - double c; + int a; + float b; + double c; } dset1_t; dset1_t dset1[10]; typedef struct { - int a; - float b; + int a; + float b; } dset2_t; dset2_t dset2[10]; typedef struct { - int a[4]; - float b[5][6]; + int a[4]; + float b[5][6]; } dset3_t; typedef struct { - int a; - float b; + int a; + float b; } dset4_t; dset4_t dset4[10]; typedef struct { - int a; - float b; + int a; + float b; } dset5_t; dset5_t dset5[10]; - int i; + int i; unsigned ndims; - hsize_t dim[2]; + hsize_t dim[2]; hsize_t sdim, maxdim; sdim = 10; - for(i = 0; i < (int)sdim; i++) { + for (i = 0; i < (int)sdim; i++) { dset1[i].a = i; - dset1[i].b = (float)(i*i); - dset1[i].c = (float)(1.0F / (float)(i+ 1)); + dset1[i].b = (float)(i * i); + dset1[i].c = (float)(1.0F / (float)(i + 1)); dset2[i].a = i; dset2[i].b = (float)((float)i + (float)i * 0.1F); @@ -1234,12 +1214,12 @@ static void gent_compound_dt2(void) { /* test compound data type */ sdim = 2; H5Pset_chunk(create_plist, 1, &sdim); - sdim = 6; + sdim = 6; maxdim = H5S_UNLIMITED; space = H5Screate_simple(1, &sdim, &maxdim); - type = H5Tcreate (H5T_COMPOUND, sizeof(dset1[0])); + type = H5Tcreate(H5T_COMPOUND, sizeof(dset1[0])); H5Tinsert(type, "a_name", HOFFSET(dset1_t, a), H5T_STD_I32BE); H5Tinsert(type, "b_name", HOFFSET(dset1_t, b), H5T_IEEE_F32BE); @@ -1247,7 +1227,7 @@ static void gent_compound_dt2(void) { /* test compound data type */ dataset = H5Dcreate2(fid, "/dset1", type, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset1[0])); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset1[0])); H5Tinsert(type2, "a_name", HOFFSET(dset1_t, a), H5T_NATIVE_INT); H5Tinsert(type2, "b_name", HOFFSET(dset1_t, b), H5T_NATIVE_FLOAT); @@ -1260,7 +1240,7 @@ static void gent_compound_dt2(void) { /* test compound data type */ H5Sclose(space); H5Dclose(dataset); - sdim = 6; + sdim = 6; maxdim = 10; space = H5Screate_simple(1, &sdim, &maxdim); @@ -1275,7 +1255,7 @@ static void gent_compound_dt2(void) { /* test compound data type */ dataset = H5Dcreate2(group, "dset2", type, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset2_t)); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset2_t)); H5Tinsert(type2, "int_name", HOFFSET(dset2_t, a), H5T_NATIVE_INT); H5Tinsert(type2, "float_name", HOFFSET(dset2_t, b), H5T_NATIVE_FLOAT); H5Dwrite(dataset, type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); @@ -1284,16 +1264,18 @@ static void gent_compound_dt2(void) { /* test compound data type */ H5Tclose(type2); H5Dclose(dataset); - /* shared data type 2 */ - type = H5Tcreate (H5T_COMPOUND, sizeof(dset3_t)); + type = H5Tcreate(H5T_COMPOUND, sizeof(dset3_t)); - ndims = 1; dim[0] = 4; + ndims = 1; + dim[0] = 4; array_dt = H5Tarray_create2(H5T_STD_I32BE, ndims, dim); H5Tinsert(type, "int_array", HOFFSET(dset3_t, a), array_dt); H5Tclose(array_dt); - ndims = 2; dim[0] = 5; dim[1] = 6; + ndims = 2; + dim[0] = 5; + dim[1] = 6; array_dt = H5Tarray_create2(H5T_IEEE_F32BE, ndims, dim); H5Tinsert(type, "float_array", HOFFSET(dset3_t, b), array_dt); H5Tclose(array_dt); @@ -1309,7 +1291,7 @@ static void gent_compound_dt2(void) { /* test compound data type */ dataset = H5Dcreate2(group, "dset4", type, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset4_t)); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset4_t)); H5Tinsert(type2, "int", HOFFSET(dset4_t, a), H5T_NATIVE_INT); H5Tinsert(type2, "float", HOFFSET(dset4_t, b), H5T_NATIVE_FLOAT); H5Dwrite(dataset, type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset4); @@ -1319,7 +1301,6 @@ static void gent_compound_dt2(void) { /* test compound data type */ H5Dclose(dataset); H5Gclose(group); - /* unamed data type */ group = H5Gcreate2(fid, "/group2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -1328,7 +1309,7 @@ static void gent_compound_dt2(void) { /* test compound data type */ H5Tinsert(type, "float", HOFFSET(dset5_t, b), H5T_IEEE_F32BE); H5Tcommit2(group, "type4", type, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); dataset = H5Dcreate2(group, "dset5", type, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); - type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset5_t)); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset5_t)); H5Tinsert(type2, "int", HOFFSET(dset5_t, a), H5T_NATIVE_INT); H5Tinsert(type2, "float", HOFFSET(dset5_t, b), H5T_NATIVE_FLOAT); H5Dwrite(dataset, type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset5); @@ -1343,10 +1324,8 @@ static void gent_compound_dt2(void) { /* test compound data type */ H5Pclose(create_plist); H5Fclose(fid); - } - /* / : g1 g2 attr1 attr2 @@ -1358,14 +1337,15 @@ g2 : dset2.1 dset2.2 udlink */ -static void gent_all(void) +static void +gent_all(void) { - hid_t fid, group, attr, dataset, space; + hid_t fid, group, attr, dataset, space; hsize_t dims[2]; - int data[2][2], dset1[10][10], dset2[20]; - char buf[60]; - int i, j; - float dset2_1[10], dset2_2[3][5]; + int data[2][2], dset1[10][10], dset2[20]; + char buf[60]; + int i, j; + float dset2_1[10], dset2_2[3][5]; fid = H5Fcreate(FILE7, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -1389,17 +1369,21 @@ static void gent_all(void) group = H5Gopen2(fid, "/", H5P_DEFAULT); dims[0] = 10; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(group, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(group, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); HDsprintf(buf, "abcdefghi"); H5Awrite(attr, H5T_NATIVE_SCHAR, buf); H5Sclose(space); H5Aclose(attr); - dims[0] = 2; dims[1] = 2; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(group, "attr2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT); - data[0][0] = 0; data[0][1] = 1; data[1][0] = 2; data[1][1] = 3; + dims[0] = 2; + dims[1] = 2; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(group, "attr2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT); + data[0][0] = 0; + data[0][1] = 1; + data[1][0] = 2; + data[1][1] = 3; H5Awrite(attr, H5T_NATIVE_INT, data); H5Sclose(space); H5Aclose(attr); @@ -1409,27 +1393,28 @@ static void gent_all(void) group = H5Gopen2(fid, "/g1/g1.1", H5P_DEFAULT); /* dset1.1.1 */ - dims[0] = 10; dims[1] = 10; - space = H5Screate_simple(2, dims, NULL); + dims[0] = 10; + dims[1] = 10; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(group, "dset1.1.1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) - for(j = 0; j < 10; j++) + for (i = 0; i < 10; i++) + for (j = 0; j < 10; j++) dset1[i][j] = j * i; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); H5Sclose(space); /* attributes of dset1.1.1 */ dims[0] = 27; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(dataset, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(dataset, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); HDsprintf(buf, "1st attribute of dset1.1.1"); H5Awrite(attr, H5T_NATIVE_SCHAR, buf); H5Sclose(space); H5Aclose(attr); dims[0] = 27; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(dataset, "attr2", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(dataset, "attr2", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); HDsprintf(buf, "2nd attribute of dset1.1.1"); H5Awrite(attr, H5T_NATIVE_SCHAR, buf); H5Sclose(space); @@ -1439,9 +1424,9 @@ static void gent_all(void) /* dset1.1.2 */ dims[0] = 20; - space = H5Screate_simple(1, dims, NULL); + space = H5Screate_simple(1, dims, NULL); dataset = H5Dcreate2(group, "dset1.1.2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 20; i++) + for (i = 0; i < 20; i++) dset2[i] = i; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); H5Sclose(space); @@ -1461,20 +1446,21 @@ static void gent_all(void) /* dset2.1 */ dims[0] = 10; - space = H5Screate_simple(1, dims, NULL); + space = H5Screate_simple(1, dims, NULL); dataset = H5Dcreate2(group, "dset2.1", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) + for (i = 0; i < 10; i++) dset2_1[i] = (float)((float)i * 0.1F + 1); H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_1); H5Sclose(space); H5Dclose(dataset); /* dset2.2 */ - dims[0] = 3; dims[1] = 5; - space = H5Screate_simple(2, dims, NULL); + dims[0] = 3; + dims[1] = 5; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(group, "dset2.2", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 3; i++) - for(j = 0; j < 5; j++) + for (i = 0; i < 3; i++) + for (j = 0; j < 5; j++) dset2_2[i][j] = (float)((float)(i + 1) * (float)j * 0.1F); H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_2); H5Sclose(space); @@ -1500,7 +1486,9 @@ o - group objects */ -static void gent_loop(void) { +static void +gent_loop(void) +{ hid_t fid, group; fid = H5Fcreate(FILE10, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -1516,7 +1504,8 @@ static void gent_loop(void) { H5Fclose(fid); } -static void gent_loop2(void) +static void +gent_loop2(void) { hid_t fid, group; @@ -1553,25 +1542,25 @@ static void gent_loop2(void) static void gent_many(void) { - hid_t fid, group, attr, dataset, space, space2, type, create_plist, type2; - hid_t array_dt; + hid_t fid, group, attr, dataset, space, space2, type, create_plist, type2; + hid_t array_dt; hsize_t dims[2]; - int data[2][2], dset2[10][10], dset3[10][10]; - double d[10]; + int data[2][2], dset2[10][10], dset3[10][10]; + double d[10]; - char buf[60]; - int i, j; - int i0, i1, i2, i3; + char buf[60]; + int i, j; + int i0, i1, i2, i3; hsize_t sdim, maxdim; - typedef struct { /* compound type has members with rank > 1 */ - int a[2][2][2][2]; /* arrays are 2x2x2x2 */ - double b[2][2][2][2]; - double c[2][2][2][2]; + typedef struct { /* compound type has members with rank > 1 */ + int a[2][2][2][2]; /* arrays are 2x2x2x2 */ + double b[2][2][2][2]; + double c[2][2][2][2]; } dset1_t; dset1_t dset1[6]; - hsize_t dim[4]; + hsize_t dim[4]; herr_t H5_ATTR_NDEBUG_UNUSED ret; fid = H5Fcreate(FILE12, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -1586,10 +1575,10 @@ gent_many(void) group = H5Gcreate2(fid, "/g1/g1.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - type = H5Tcreate (H5T_COMPOUND, sizeof(dset1[0])); + type = H5Tcreate(H5T_COMPOUND, sizeof(dset1[0])); dim[0] = dim[1] = dim[2] = dim[3] = 2; - array_dt = H5Tarray_create2(H5T_STD_I32BE, 4, dim); + array_dt = H5Tarray_create2(H5T_STD_I32BE, 4, dim); H5Tinsert(type, "a_array", HOFFSET(dset1_t, a), array_dt); H5Tclose(array_dt); @@ -1601,7 +1590,7 @@ gent_many(void) H5Tinsert(type, "c_array", HOFFSET(dset1_t, c), array_dt); H5Tclose(array_dt); - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset1[0])); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset1[0])); array_dt = H5Tarray_create2(H5T_NATIVE_INT, 4, dim); H5Tinsert(type2, "a_array", HOFFSET(dset1_t, a), array_dt); @@ -1615,44 +1604,47 @@ gent_many(void) H5Tinsert(type2, "c_array", HOFFSET(dset1_t, c), array_dt); H5Tclose(array_dt); - /* dset1 */ - sdim = 6; - maxdim = H5S_UNLIMITED; - space = H5Screate_simple(1, &sdim, &maxdim); + sdim = 6; + maxdim = H5S_UNLIMITED; + space = H5Screate_simple(1, &sdim, &maxdim); dataset = H5Dcreate2(group, "dset1", type, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); /* add attributes to dset1 */ dims[0] = 10; - space2 = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(dataset, "attr1", H5T_STD_I8BE, space2, H5P_DEFAULT, H5P_DEFAULT); + space2 = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(dataset, "attr1", H5T_STD_I8BE, space2, H5P_DEFAULT, H5P_DEFAULT); HDsprintf(buf, "abcdefghi"); H5Awrite(attr, H5T_NATIVE_CHAR, buf); H5Sclose(space2); H5Aclose(attr); - dims[0] = 2; dims[1] = 2; - space2 = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(dataset, "attr2", H5T_STD_I32BE, space2, H5P_DEFAULT, H5P_DEFAULT); - data[0][0] = 0; data[0][1] = 1; data[1][0] = 2; data[1][1] = 3; + dims[0] = 2; + dims[1] = 2; + space2 = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(dataset, "attr2", H5T_STD_I32BE, space2, H5P_DEFAULT, H5P_DEFAULT); + data[0][0] = 0; + data[0][1] = 1; + data[1][0] = 2; + data[1][1] = 3; H5Awrite(attr, H5T_NATIVE_INT, data); H5Sclose(space2); H5Aclose(attr); dims[0] = 10; - space2 = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(dataset, "attr3", H5T_IEEE_F64BE, space2, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) + space2 = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(dataset, "attr3", H5T_IEEE_F64BE, space2, H5P_DEFAULT, H5P_DEFAULT); + for (i = 0; i < 10; i++) d[i] = 0.1F * (float)i; H5Awrite(attr, H5T_NATIVE_DOUBLE, d); H5Sclose(space2); H5Aclose(attr); - for(j=0; j<(int)sdim; j++) { - for(i3 = 0; i3 < 2; i3++) { - for(i2 = 0; i2 < 2; i2++) { - for(i1 = 0; i1 < 2; i1++) { - for(i0 = 0; i0 < 2; i0++) { + for (j = 0; j < (int)sdim; j++) { + for (i3 = 0; i3 < 2; i3++) { + for (i2 = 0; i2 < 2; i2++) { + for (i1 = 0; i1 < 2; i1++) { + for (i0 = 0; i0 < 2; i0++) { dset1[j].a[i3][i2][i1][i0] = i0 + j; dset1[j].b[i3][i2][i1][i0] = (double)(i0 + j); dset1[j].c[i3][i2][i1][i0] = (double)((hsize_t)i0 + (hsize_t)j + sdim); @@ -1685,12 +1677,13 @@ gent_many(void) group = H5Gcreate2(fid, "/g4", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* dset2 */ - dims[0] = 10; dims[1] = 10; - space = H5Screate_simple(2, dims, NULL); + dims[0] = 10; + dims[1] = 10; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(group, "dset2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) - for(j = 0; j < 10; j++) + for (i = 0; i < 10; i++) + for (j = 0; j < 10; j++) dset2[i][j] = j; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); @@ -1708,12 +1701,13 @@ gent_many(void) group = H5Gcreate2(fid, "/g6", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* dset3 */ - dims[0] = 10; dims[1] = 10; - space = H5Screate_simple(2, dims, NULL); + dims[0] = 10; + dims[1] = 10; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(group, "dset3", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) - for(j = 0; j < 10; j++) + for (i = 0; i < 10; i++) + for (j = 0; j < 10; j++) dset3[i][j] = i; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset3); @@ -1746,68 +1740,68 @@ gent_many(void) H5Fclose(fid); } -static hid_t mkstr(int size, H5T_str_t pad) { +static hid_t +mkstr(int size, H5T_str_t pad) +{ hid_t type; - if((type=H5Tcopy(H5T_C_S1)) < 0) return -1; - if(H5Tset_size(type, (size_t)size) < 0) return -1; - if(H5Tset_strpad(type, pad) < 0) return -1; + if ((type = H5Tcopy(H5T_C_S1)) < 0) + return -1; + if (H5Tset_size(type, (size_t)size) < 0) + return -1; + if (H5Tset_strpad(type, pad) < 0) + return -1; return type; } -static void gent_str(void) { +static void +gent_str(void) +{ hid_t fid, dataset, space, f_type, m_type, str_type, f_type2; hid_t array_dt; - hsize_t dims1[] = { 3, 4}; - char string1[12][3] = {"s1","s2","s3","s4","s5","s6","s7","s8","s9", - "s0","s1","s2"}; - - hsize_t dims2[]={20}; - char string2[20][10] = {"ab cd ef1", "ab cd ef2", "ab cd ef3", "ab cd ef4", - "ab cd ef5", "ab cd ef6", "ab cd ef7", "ab cd ef8", - "ab cd ef9", "ab cd ef0", "ab cd ef1", "ab cd ef2", - "ab cd ef3", "ab cd ef4", "ab cd ef5", "ab cd ef6", - "ab cd ef7", "ab cd ef8", "ab cd ef9", "ab cd ef0"}; - - hsize_t dims3[] = { 27}; - char string3[27][6] = {"abcd0", "abcd1", "abcd2", "abcd3", - "abcd4", "abcd5", "abcd6", "abcd7", - "abcd8", "abcd9", "abcd0", "abcd1", - "abcd2", "abcd3", "abcd4", "abcd5", - "abcd6", "abcd7", "abcd8", "abcd9", - "abcd0", "abcd1", "abcd2", "abcd3", - "abcd4", "abcd5", "abcd6"}; + hsize_t dims1[] = {3, 4}; + char string1[12][3] = {"s1", "s2", "s3", "s4", "s5", "s6", "s7", "s8", "s9", "s0", "s1", "s2"}; + + hsize_t dims2[] = {20}; + char string2[20][10] = {"ab cd ef1", "ab cd ef2", "ab cd ef3", "ab cd ef4", "ab cd ef5", + "ab cd ef6", "ab cd ef7", "ab cd ef8", "ab cd ef9", "ab cd ef0", + "ab cd ef1", "ab cd ef2", "ab cd ef3", "ab cd ef4", "ab cd ef5", + "ab cd ef6", "ab cd ef7", "ab cd ef8", "ab cd ef9", "ab cd ef0"}; + + hsize_t dims3[] = {27}; + char string3[27][6] = {"abcd0", "abcd1", "abcd2", "abcd3", "abcd4", "abcd5", "abcd6", "abcd7", "abcd8", + "abcd9", "abcd0", "abcd1", "abcd2", "abcd3", "abcd4", "abcd5", "abcd6", "abcd7", + "abcd8", "abcd9", "abcd0", "abcd1", "abcd2", "abcd3", "abcd4", "abcd5", "abcd6"}; int i, j, k, l; - hsize_t dims4[] = { 3 }; - char string4[3][21] = { "s1234567890123456789", "s1234567890123456789", - "s1234567890123456789"}; + hsize_t dims4[] = {3}; + char string4[3][21] = {"s1234567890123456789", "s1234567890123456789", "s1234567890123456789"}; - hsize_t dims5[] = { 3, 6}; + hsize_t dims5[] = {3, 6}; typedef struct { - int a[8][10]; - char s[12][33]; + int a[8][10]; + char s[12][33]; } compound_t; - compound_t **comp1 = NULL; - compound_t *comp1_data = NULL; - hsize_t mdims[2]; + compound_t **comp1 = NULL; + compound_t * comp1_data = NULL; + hsize_t mdims[2]; /* Set up data array */ comp1_data = (compound_t *)HDcalloc(3 * 6, sizeof(compound_t)); - comp1 = (compound_t **)HDcalloc(3, sizeof(comp1_data)); + comp1 = (compound_t **)HDcalloc(3, sizeof(comp1_data)); for (i = 0; i < 3; i++) comp1[i] = comp1_data + (i * 6); fid = H5Fcreate(FILE13, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* string 1 : nullterm string */ - space = H5Screate_simple(2, dims1, NULL); - f_type = mkstr(5, H5T_STR_NULLTERM); - m_type = mkstr(3, H5T_STR_NULLTERM); + space = H5Screate_simple(2, dims1, NULL); + f_type = mkstr(5, H5T_STR_NULLTERM); + m_type = mkstr(3, H5T_STR_NULLTERM); dataset = H5Dcreate2(fid, "/string1", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string1); H5Tclose(m_type); @@ -1816,9 +1810,9 @@ static void gent_str(void) { H5Dclose(dataset); /* string 2 : space pad string */ - space = H5Screate_simple(1, dims2, NULL); - f_type = mkstr(11, H5T_STR_SPACEPAD); - m_type = mkstr(10, H5T_STR_NULLTERM); + space = H5Screate_simple(1, dims2, NULL); + f_type = mkstr(11, H5T_STR_SPACEPAD); + m_type = mkstr(10, H5T_STR_NULLTERM); dataset = H5Dcreate2(fid, "/string2", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string2); H5Tclose(m_type); @@ -1827,9 +1821,9 @@ static void gent_str(void) { H5Dclose(dataset); /* string 3 : null pad string */ - space = H5Screate_simple(1, dims3, NULL); - f_type = mkstr(8, H5T_STR_NULLPAD); - m_type = mkstr(6, H5T_STR_NULLTERM); + space = H5Screate_simple(1, dims3, NULL); + f_type = mkstr(8, H5T_STR_NULLPAD); + m_type = mkstr(6, H5T_STR_NULLTERM); dataset = H5Dcreate2(fid, "/string3", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string3); H5Tclose(m_type); @@ -1838,9 +1832,9 @@ static void gent_str(void) { H5Dclose(dataset); /* string 4 : space pad long string */ - space = H5Screate_simple(1, dims4, NULL); - f_type = mkstr(168, H5T_STR_SPACEPAD); - m_type = mkstr(21, H5T_STR_NULLTERM); + space = H5Screate_simple(1, dims4, NULL); + f_type = mkstr(168, H5T_STR_SPACEPAD); + m_type = mkstr(21, H5T_STR_NULLTERM); dataset = H5Dcreate2(fid, "/string4", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string4); H5Tclose(m_type); @@ -1849,11 +1843,12 @@ static void gent_str(void) { H5Dclose(dataset); /* compound data */ - space = H5Screate_simple(2, dims5, NULL); - f_type = H5Tcreate (H5T_COMPOUND, sizeof(compound_t)); - f_type2 = H5Tcreate (H5T_COMPOUND, sizeof(compound_t)); + space = H5Screate_simple(2, dims5, NULL); + f_type = H5Tcreate(H5T_COMPOUND, sizeof(compound_t)); + f_type2 = H5Tcreate(H5T_COMPOUND, sizeof(compound_t)); - mdims[0] = 8; mdims[1] = 10; + mdims[0] = 8; + mdims[1] = 10; array_dt = H5Tarray_create2(H5T_STD_I32BE, 2, mdims); H5Tinsert(f_type, "int_array", HOFFSET(compound_t, a), array_dt); @@ -1863,7 +1858,8 @@ static void gent_str(void) { H5Tinsert(f_type2, "int_array", HOFFSET(compound_t, a), array_dt); H5Tclose(array_dt); - mdims[0] = 3; mdims[1] = 4; + mdims[0] = 3; + mdims[1] = 4; str_type = mkstr(32, H5T_STR_SPACEPAD); array_dt = H5Tarray_create2(str_type, 2, mdims); @@ -1877,12 +1873,12 @@ static void gent_str(void) { H5Tclose(array_dt); H5Tclose(str_type); - for(i = 0; i < 3; i++) - for(j = 0; j < 6; j++) { - for(k = 0 ; k < 8; k++) - for(l = 0; l < 10; l++) + for (i = 0; i < 3; i++) + for (j = 0; j < 6; j++) { + for (k = 0; k < 8; k++) + for (l = 0; l < 10; l++) comp1[i][j].a[k][l] = (l + j + k) * (l + j + k); - for(k = 0 ; k < 12; k++) + for (k = 0; k < 12; k++) HDstrcpy(comp1[i][j].s[k], "abcdefgh12345678abcdefgh12345678"); } @@ -1909,17 +1905,17 @@ static void gent_str(void) { string2 string4 string6 */ -static void gent_str2(void) +static void +gent_str2(void) { - hid_t fid, group, attr, dataset, space, space2, mem_space, hyper_space; - hid_t fxdlenstr, fxdlenstr2, memtype; + hid_t fid, group, attr, dataset, space, space2, mem_space, hyper_space; + hid_t fxdlenstr, fxdlenstr2, memtype; hsize_t dims[1], size[1], stride[1], count[1], block[1]; hsize_t start[1]; - - int i; - char buf[LENSTR+20]; - char buf2[3*LENSTR2]; + int i; + char buf[LENSTR + 20]; + char buf2[3 * LENSTR2]; hsize_t sdim; fid = H5Fcreate(FILE14, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -1934,16 +1930,16 @@ static void gent_str2(void) H5Tset_cset(memtype, H5T_CSET_ASCII); H5Tset_strpad(memtype, H5T_STR_NULLTERM); - sdim = 10; - size[0] = sdim; - space = H5Screate_simple(1, size, NULL); - size[0] = 1; - mem_space = H5Screate_simple(1,size,NULL); + sdim = 10; + size[0] = sdim; + space = H5Screate_simple(1, size, NULL); + size[0] = 1; + mem_space = H5Screate_simple(1, size, NULL); hyper_space = H5Scopy(space); /* dset1 */ - group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); dataset = H5Dcreate2(group, "dset1", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* add attributes to dset1 */ @@ -1954,71 +1950,69 @@ static void gent_str2(void) H5Tset_strpad(fxdlenstr2, H5T_STR_NULLTERM); dims[0] = 3; - space2 = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(dataset, "attr1", fxdlenstr2, space2, H5P_DEFAULT, H5P_DEFAULT); - HDsprintf(&(buf2[0*LENSTR2]), "0123456789"); - HDsprintf(&(buf2[1*LENSTR2]), "abcdefghij"); - HDsprintf(&(buf2[2*LENSTR2]), "ABCDEFGHIJ"); + space2 = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(dataset, "attr1", fxdlenstr2, space2, H5P_DEFAULT, H5P_DEFAULT); + HDsprintf(&(buf2[0 * LENSTR2]), "0123456789"); + HDsprintf(&(buf2[1 * LENSTR2]), "abcdefghij"); + HDsprintf(&(buf2[2 * LENSTR2]), "ABCDEFGHIJ"); H5Awrite(attr, fxdlenstr2, buf2); H5Sclose(space2); H5Tclose(fxdlenstr2); H5Aclose(attr); - stride[0]=1; - count[0]=1; - block[0]=1; + stride[0] = 1; + count[0] = 1; + block[0] = 1; - for(i = 0; (hsize_t)i < sdim; i++) { + for (i = 0; (hsize_t)i < sdim; i++) { start[0] = (hsize_t)i; HDsprintf(buf, "This is row %1d of type H5T_STR_NULLTERM of", i); - H5Tset_size(memtype, HDstrlen(buf)+1); + H5Tset_size(memtype, HDstrlen(buf) + 1); H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); } H5Dclose(dataset); H5Gclose(group); - group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); dataset = H5Dcreate2(group, "dset2", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; (hsize_t)i < sdim; i++) { + for (i = 0; (hsize_t)i < sdim; i++) { start[0] = (hsize_t)i; HDsprintf(buf, "This is row %1d of type H5T_STR_NULLTERM of string array", i); - H5Tset_size(memtype, HDstrlen(buf)+1); + H5Tset_size(memtype, HDstrlen(buf) + 1); H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); } H5Dclose(dataset); H5Gclose(group); - H5Tclose(fxdlenstr); fxdlenstr = H5Tcopy(H5T_C_S1); H5Tset_size(fxdlenstr, LENSTR); H5Tset_cset(fxdlenstr, H5T_CSET_ASCII); H5Tset_strpad(fxdlenstr, H5T_STR_NULLPAD); - group = H5Gcreate2(fid, "/g3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + group = H5Gcreate2(fid, "/g3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); dataset = H5Dcreate2(group, "dset3", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0;(hsize_t) i < sdim; i++) { + for (i = 0; (hsize_t)i < sdim; i++) { start[0] = (hsize_t)i; HDsprintf(buf, "This is row %1d of type H5T_STR_NULLPAD of", i); - H5Tset_size(memtype, HDstrlen(buf)+1); + H5Tset_size(memtype, HDstrlen(buf) + 1); H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); } H5Dclose(dataset); H5Gclose(group); - - group = H5Gcreate2(fid, "/g4", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + group = H5Gcreate2(fid, "/g4", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); dataset = H5Dcreate2(group, "dset4", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; (hsize_t)i < sdim; i++) { + for (i = 0; (hsize_t)i < sdim; i++) { start[0] = (hsize_t)i; HDsprintf(buf, "This is row %1d of type H5T_STR_NULLPAD of string array", i); - H5Tset_size(memtype, HDstrlen(buf)+1); + H5Tset_size(memtype, HDstrlen(buf) + 1); H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); } @@ -2031,10 +2025,10 @@ static void gent_str2(void) H5Tset_cset(fxdlenstr, H5T_CSET_ASCII); H5Tset_strpad(fxdlenstr, H5T_STR_SPACEPAD); - group = H5Gcreate2(fid, "/g5", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + group = H5Gcreate2(fid, "/g5", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); dataset = H5Dcreate2(group, "dset5", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; (hsize_t)i < sdim; i++) { + for (i = 0; (hsize_t)i < sdim; i++) { start[0] = (hsize_t)i; HDsprintf(buf, "This is row %1d of type H5T_STR_SPACEPAD of", i); H5Tset_size(memtype, HDstrlen(buf) + 1); @@ -2044,11 +2038,10 @@ static void gent_str2(void) H5Dclose(dataset); H5Gclose(group); - - group = H5Gcreate2(fid, "/g6", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + group = H5Gcreate2(fid, "/g6", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); dataset = H5Dcreate2(group, "dset6", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; (hsize_t)i < sdim; i++) { + for (i = 0; (hsize_t)i < sdim; i++) { start[0] = (hsize_t)i; HDsprintf(buf, "This is row %1d of type H5T_STR_SPACEPAD of string array", i); H5Tset_size(memtype, HDstrlen(buf) + 1); @@ -2066,30 +2059,29 @@ static void gent_str2(void) H5Fclose(fid); } -static void gent_enum(void) +static void +gent_enum(void) { /*some code is taken from enum.c in the test dir */ - hid_t file, type, space, dset; - int val; - enumtype data[] = {RED, GREEN, BLUE, GREEN, WHITE, - WHITE, BLACK, GREEN, BLUE, RED, - RED, BLUE, GREEN, BLACK, WHITE, - RED, WHITE, GREEN, GREEN, BLUE}; - hsize_t size[1] = {NELMTS(data)}; + hid_t file, type, space, dset; + int val; + enumtype data[] = {RED, GREEN, BLUE, GREEN, WHITE, WHITE, BLACK, GREEN, BLUE, RED, + RED, BLUE, GREEN, BLACK, WHITE, RED, WHITE, GREEN, GREEN, BLUE}; + hsize_t size[1] = {NELMTS(data)}; - file = H5Fcreate(FILE15,H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + file = H5Fcreate(FILE15, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Try to test names with special characters */ type = H5Tcreate(H5T_ENUM, sizeof(enumtype)); - H5Tenum_insert(type, "RED", (val = 0, &val)); + H5Tenum_insert(type, "RED", (val = 0, &val)); H5Tenum_insert(type, "GREEN\ngreen", (val = 1, &val)); - H5Tenum_insert(type, "BLUE blue", (val = 2, &val)); + H5Tenum_insert(type, "BLUE blue", (val = 2, &val)); H5Tenum_insert(type, "WHITE \"white\"", (val = 3, &val)); H5Tenum_insert(type, "BLACK \'black\'", (val = 4, &val)); H5Tcommit2(file, "enum normal", type, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - space = H5Screate_simple(1,size,NULL); - dset = H5Dcreate2(file,"table",type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, size, NULL); + dset = H5Dcreate2(file, "table", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(dset, type, space, space, H5P_DEFAULT, data); H5Dclose(dset); @@ -2097,28 +2089,29 @@ static void gent_enum(void) H5Fclose(file); } -static void gent_objref(void) +static void +gent_objref(void) { /*some code is taken from enum.c in the test dir */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - - hid_t group; /* Group ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1; /* Datatype ID */ - hsize_t dims1[] = {SPACE1_DIM1}; - hobj_ref_t *wbuf, /* buffer to write to disk */ - *rbuf, /* buffer read from disk */ - *tbuf; /* temp. buffer read from disk */ - uint32_t *tu32; /* Temporary pointer to uint32 data */ - int i; /* counting variables */ - const char *write_comment = "Foo!"; /* Comments for group */ - hbool_t supports_comments = FALSE; + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + + hid_t group; /* Group ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1; /* Datatype ID */ + hsize_t dims1[] = {SPACE1_DIM1}; + hobj_ref_t *wbuf, /* buffer to write to disk */ + *rbuf, /* buffer read from disk */ + *tbuf; /* temp. buffer read from disk */ + uint32_t * tu32; /* Temporary pointer to uint32 data */ + int i; /* counting variables */ + const char *write_comment = "Foo!"; /* Comments for group */ + hbool_t supports_comments = FALSE; /* Allocate write & read buffers */ - wbuf = (hobj_ref_t*) HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1); - rbuf = (hobj_ref_t*) HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1); - tbuf = (hobj_ref_t*) HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1); + wbuf = (hobj_ref_t *)HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1); + rbuf = (hobj_ref_t *)HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1); + tbuf = (hobj_ref_t *)HDmalloc(sizeof(hobj_ref_t) * SPACE1_DIM1); /* Create file */ fid1 = H5Fcreate(FILE16, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -2139,7 +2132,7 @@ static void gent_objref(void) /* Create a dataset (inside Group1) */ dataset = H5Dcreate2(group, "Dataset1", H5T_STD_U32BE, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(tu32 = (uint32_t *)((void*)wbuf), i = 0; i < SPACE1_DIM1; i++) + for (tu32 = (uint32_t *)((void *)wbuf), i = 0; i < SPACE1_DIM1; i++) *tu32++ = (uint32_t)(i * 3); /* Write selection to disk */ @@ -2158,11 +2151,11 @@ static void gent_objref(void) tid1 = H5Tcreate(H5T_COMPOUND, sizeof(s1_t)); /* Insert fields */ - H5Tinsert(tid1, "a", HOFFSET(s1_t,a), H5T_STD_I32BE); + H5Tinsert(tid1, "a", HOFFSET(s1_t, a), H5T_STD_I32BE); - H5Tinsert(tid1, "b", HOFFSET(s1_t,b), H5T_IEEE_F32BE); + H5Tinsert(tid1, "b", HOFFSET(s1_t, b), H5T_IEEE_F32BE); - H5Tinsert(tid1, "c", HOFFSET(s1_t,c), H5T_IEEE_F32BE); + H5Tinsert(tid1, "c", HOFFSET(s1_t, c), H5T_IEEE_F32BE); /* Save datatype for later */ H5Tcommit2(group, "Datatype1", tid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -2206,34 +2199,34 @@ static void gent_objref(void) HDfree(tbuf); } -static void gent_datareg(void) +static void +gent_datareg(void) { /*some code is taken from enum.c in the test dir */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dset1, /* Dataset ID */ - dset2; /* Dereferenced dataset ID */ - hid_t sid1, /* Dataspace ID #1 */ - sid2; /* Dataspace ID #2 */ - hsize_t dims1[] = {SPACE1_DIM1}, - dims2[] = {SPACE2_DIM1, SPACE2_DIM2}; - hsize_t start[SPACE2_RANK]; /* Starting location of hyperslab */ - hsize_t stride[SPACE2_RANK]; /* Stride of hyperslab */ - hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */ - hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */ - hsize_t coord1[POINT1_NPOINTS][SPACE2_RANK]; /* Coordinates for point selection */ - hdset_reg_ref_t *wbuf, /* buffer to write to disk */ - *rbuf; /* buffer read from disk */ - uint8_t *dwbuf, /* Buffer for writing numeric data to disk */ - *drbuf; /* Buffer for reading numeric data from disk */ - uint8_t *tu8; /* Temporary pointer to uint8 data */ - int i; /* counting variables */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dset1, /* Dataset ID */ + dset2; /* Dereferenced dataset ID */ + hid_t sid1, /* Dataspace ID #1 */ + sid2; /* Dataspace ID #2 */ + hsize_t dims1[] = {SPACE1_DIM1}, dims2[] = {SPACE2_DIM1, SPACE2_DIM2}; + hsize_t start[SPACE2_RANK]; /* Starting location of hyperslab */ + hsize_t stride[SPACE2_RANK]; /* Stride of hyperslab */ + hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */ + hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */ + hsize_t coord1[POINT1_NPOINTS][SPACE2_RANK]; /* Coordinates for point selection */ + hdset_reg_ref_t *wbuf, /* buffer to write to disk */ + *rbuf; /* buffer read from disk */ + uint8_t *dwbuf, /* Buffer for writing numeric data to disk */ + *drbuf; /* Buffer for reading numeric data from disk */ + uint8_t *tu8; /* Temporary pointer to uint8 data */ + int i; /* counting variables */ /* Allocate write & read buffers */ - wbuf = (hdset_reg_ref_t*) HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1); - rbuf = (hdset_reg_ref_t*) HDmalloc(sizeof(hdset_reg_ref_t)*SPACE1_DIM1); - dwbuf = (uint8_t*) HDmalloc(sizeof(uint8_t)*SPACE2_DIM1*SPACE2_DIM2); - drbuf = (uint8_t*) HDcalloc(sizeof(uint8_t),SPACE2_DIM1*SPACE2_DIM2); + wbuf = (hdset_reg_ref_t *)HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1); + rbuf = (hdset_reg_ref_t *)HDmalloc(sizeof(hdset_reg_ref_t) * SPACE1_DIM1); + dwbuf = (uint8_t *)HDmalloc(sizeof(uint8_t) * SPACE2_DIM1 * SPACE2_DIM2); + drbuf = (uint8_t *)HDcalloc(sizeof(uint8_t), SPACE2_DIM1 * SPACE2_DIM2); /* Create file */ fid1 = H5Fcreate(FILE17, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -2244,7 +2237,7 @@ static void gent_datareg(void) /* Create a dataset */ dset2 = H5Dcreate2(fid1, "Dataset2", H5T_STD_U8BE, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(tu8 = dwbuf, i = 0; i < SPACE2_DIM1 * SPACE2_DIM2; i++) + for (tu8 = dwbuf, i = 0; i < SPACE2_DIM1 * SPACE2_DIM2; i++) *tu8++ = (uint8_t)(i * 3); /* Write selection to disk */ @@ -2262,10 +2255,14 @@ static void gent_datareg(void) /* Create references */ /* Select 6x6 hyperslab for first reference */ - start[0] = 2; start[1] = 2; - stride[0] = 1; stride[1] = 1; - count[0] = 6; count[1] = 6; - block[0] = 1; block[1] = 1; + start[0] = 2; + start[1] = 2; + stride[0] = 1; + stride[1] = 1; + count[0] = 6; + count[1] = 6; + block[0] = 1; + block[1] = 1; H5Sselect_hyperslab(sid2, H5S_SELECT_SET, start, stride, count, block); H5Sget_select_npoints(sid2); @@ -2274,25 +2271,35 @@ static void gent_datareg(void) H5Rcreate(&wbuf[0], fid1, "/Dataset2", H5R_DATASET_REGION, sid2); /* Select sequence of ten points for second reference */ - coord1[0][0]=6; coord1[0][1]=9; - coord1[1][0]=2; coord1[1][1]=2; - coord1[2][0]=8; coord1[2][1]=4; - coord1[3][0]=1; coord1[3][1]=6; - coord1[4][0]=2; coord1[4][1]=8; - coord1[5][0]=3; coord1[5][1]=2; - coord1[6][0]=0; coord1[6][1]=4; - coord1[7][0]=9; coord1[7][1]=0; - coord1[8][0]=7; coord1[8][1]=1; - coord1[9][0]=3; coord1[9][1]=3; - H5Sselect_elements(sid2,H5S_SELECT_SET,POINT1_NPOINTS,(hsize_t *)coord1); + coord1[0][0] = 6; + coord1[0][1] = 9; + coord1[1][0] = 2; + coord1[1][1] = 2; + coord1[2][0] = 8; + coord1[2][1] = 4; + coord1[3][0] = 1; + coord1[3][1] = 6; + coord1[4][0] = 2; + coord1[4][1] = 8; + coord1[5][0] = 3; + coord1[5][1] = 2; + coord1[6][0] = 0; + coord1[6][1] = 4; + coord1[7][0] = 9; + coord1[7][1] = 0; + coord1[8][0] = 7; + coord1[8][1] = 1; + coord1[9][0] = 3; + coord1[9][1] = 3; + H5Sselect_elements(sid2, H5S_SELECT_SET, POINT1_NPOINTS, (hsize_t *)coord1); H5Sget_select_npoints(sid2); /* Store second dataset region */ - H5Rcreate(&wbuf[1],fid1,"/Dataset2",H5R_DATASET_REGION,sid2); + H5Rcreate(&wbuf[1], fid1, "/Dataset2", H5R_DATASET_REGION, sid2); /* Write selection to disk */ - H5Dwrite(dset1,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf); + H5Dwrite(dset1, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, wbuf); /* Close disk dataspace */ H5Sclose(sid1); @@ -2313,36 +2320,37 @@ static void gent_datareg(void) HDfree(drbuf); } -static void gent_attrreg(void) +static void +gent_attrreg(void) { /*some code is taken from enum.c in the test dir */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dset1; /* Dataset ID */ - hid_t dset2; /* Dereferenced dataset ID */ - hid_t sid1; /* Dataspace ID #1 */ - hid_t sid2; /* Dataspace ID #2 */ - hid_t sid3; /* Dataspace ID #3 */ - hid_t attr1; /* Attribute ID */ - hsize_t dims1[] = {SPACE1_DIM1}; - hsize_t dims2[] = {SPACE2_DIM1, SPACE2_DIM2}; - hsize_t start[SPACE2_RANK]; /* Starting location of hyperslab */ - hsize_t stride[SPACE2_RANK]; /* Stride of hyperslab */ - hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */ - hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */ - hsize_t coord1[POINT1_NPOINTS][SPACE2_RANK]; /* Coordinates for point selection */ - hdset_reg_ref_t *wbuf; /* buffer to write to disk */ - hdset_reg_ref_t *rbuf; /* buffer read from disk */ - uint8_t *dwbuf; /* Buffer for writing numeric data to disk */ - uint8_t *drbuf; /* Buffer for reading numeric data from disk */ - uint8_t *tu8; /* Temporary pointer to uint8 data */ - int i; /* counting variables */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dset1; /* Dataset ID */ + hid_t dset2; /* Dereferenced dataset ID */ + hid_t sid1; /* Dataspace ID #1 */ + hid_t sid2; /* Dataspace ID #2 */ + hid_t sid3; /* Dataspace ID #3 */ + hid_t attr1; /* Attribute ID */ + hsize_t dims1[] = {SPACE1_DIM1}; + hsize_t dims2[] = {SPACE2_DIM1, SPACE2_DIM2}; + hsize_t start[SPACE2_RANK]; /* Starting location of hyperslab */ + hsize_t stride[SPACE2_RANK]; /* Stride of hyperslab */ + hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */ + hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */ + hsize_t coord1[POINT1_NPOINTS][SPACE2_RANK]; /* Coordinates for point selection */ + hdset_reg_ref_t *wbuf; /* buffer to write to disk */ + hdset_reg_ref_t *rbuf; /* buffer read from disk */ + uint8_t * dwbuf; /* Buffer for writing numeric data to disk */ + uint8_t * drbuf; /* Buffer for reading numeric data from disk */ + uint8_t * tu8; /* Temporary pointer to uint8 data */ + int i; /* counting variables */ /* Allocate write & read buffers */ - wbuf = (hdset_reg_ref_t*) HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1); - rbuf = (hdset_reg_ref_t*) HDmalloc(sizeof(hdset_reg_ref_t)*SPACE1_DIM1); - dwbuf = (uint8_t*) HDmalloc(sizeof(uint8_t)*SPACE2_DIM1*SPACE2_DIM2); - drbuf = (uint8_t*) HDcalloc(sizeof(uint8_t),SPACE2_DIM1*SPACE2_DIM2); + wbuf = (hdset_reg_ref_t *)HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1); + rbuf = (hdset_reg_ref_t *)HDmalloc(sizeof(hdset_reg_ref_t) * SPACE1_DIM1); + dwbuf = (uint8_t *)HDmalloc(sizeof(uint8_t) * SPACE2_DIM1 * SPACE2_DIM2); + drbuf = (uint8_t *)HDcalloc(sizeof(uint8_t), SPACE2_DIM1 * SPACE2_DIM2); /* Create file */ fid1 = H5Fcreate(FILE64, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -2353,7 +2361,7 @@ static void gent_attrreg(void) /* Create a dataset */ dset2 = H5Dcreate2(fid1, "Dataset2", H5T_STD_U8BE, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(tu8 = dwbuf, i = 0; i < SPACE2_DIM1 * SPACE2_DIM2; i++) + for (tu8 = dwbuf, i = 0; i < SPACE2_DIM1 * SPACE2_DIM2; i++) *tu8++ = (uint8_t)(i * 3); /* Write selection to disk */ @@ -2366,18 +2374,21 @@ static void gent_attrreg(void) * Create dataset with a null dataspace to serve as the parent for * the attribute. */ - sid1 = H5Screate (H5S_NULL); - dset1 = H5Dcreate2 (fid1, "Dataset1", H5T_STD_I32LE, sid1, H5P_DEFAULT, - H5P_DEFAULT, H5P_DEFAULT); - H5Sclose (sid1); + sid1 = H5Screate(H5S_NULL); + dset1 = H5Dcreate2(fid1, "Dataset1", H5T_STD_I32LE, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Sclose(sid1); /* Create references */ /* Select 6x6 hyperslab for first reference */ - start[0] = 2; start[1] = 2; - stride[0] = 1; stride[1] = 1; - count[0] = 6; count[1] = 6; - block[0] = 1; block[1] = 1; + start[0] = 2; + start[1] = 2; + stride[0] = 1; + stride[1] = 1; + count[0] = 6; + count[1] = 6; + block[0] = 1; + block[1] = 1; H5Sselect_hyperslab(sid2, H5S_SELECT_SET, start, stride, count, block); H5Sget_select_npoints(sid2); @@ -2386,36 +2397,45 @@ static void gent_attrreg(void) H5Rcreate(&wbuf[0], fid1, "/Dataset2", H5R_DATASET_REGION, sid2); /* Select sequence of ten points for second reference */ - coord1[0][0]=6; coord1[0][1]=9; - coord1[1][0]=2; coord1[1][1]=2; - coord1[2][0]=8; coord1[2][1]=4; - coord1[3][0]=1; coord1[3][1]=6; - coord1[4][0]=2; coord1[4][1]=8; - coord1[5][0]=3; coord1[5][1]=2; - coord1[6][0]=0; coord1[6][1]=4; - coord1[7][0]=9; coord1[7][1]=0; - coord1[8][0]=7; coord1[8][1]=1; - coord1[9][0]=3; coord1[9][1]=3; - H5Sselect_elements(sid2,H5S_SELECT_SET,POINT1_NPOINTS,(hsize_t *)coord1); + coord1[0][0] = 6; + coord1[0][1] = 9; + coord1[1][0] = 2; + coord1[1][1] = 2; + coord1[2][0] = 8; + coord1[2][1] = 4; + coord1[3][0] = 1; + coord1[3][1] = 6; + coord1[4][0] = 2; + coord1[4][1] = 8; + coord1[5][0] = 3; + coord1[5][1] = 2; + coord1[6][0] = 0; + coord1[6][1] = 4; + coord1[7][0] = 9; + coord1[7][1] = 0; + coord1[8][0] = 7; + coord1[8][1] = 1; + coord1[9][0] = 3; + coord1[9][1] = 3; + H5Sselect_elements(sid2, H5S_SELECT_SET, POINT1_NPOINTS, (hsize_t *)coord1); H5Sget_select_npoints(sid2); /* Store second dataset region */ - H5Rcreate(&wbuf[1],fid1,"/Dataset2",H5R_DATASET_REGION,sid2); + H5Rcreate(&wbuf[1], fid1, "/Dataset2", H5R_DATASET_REGION, sid2); /* Create dataspace for the attribute */ sid3 = H5Screate_simple(SPACE1_RANK, dims1, NULL); /* Create the attribute and write the region references to it. */ - attr1 = H5Acreate2 (dset1, "Attribute1", H5T_STD_REF_DSETREG, sid3, H5P_DEFAULT, - H5P_DEFAULT); - H5Awrite (attr1, H5T_STD_REF_DSETREG, wbuf); + attr1 = H5Acreate2(dset1, "Attribute1", H5T_STD_REF_DSETREG, sid3, H5P_DEFAULT, H5P_DEFAULT); + H5Awrite(attr1, H5T_STD_REF_DSETREG, wbuf); /* Close attribute dataspace */ H5Sclose(sid3); /* Close attribute */ - H5Aclose (attr1); + H5Aclose(attr1); /* Close Dataset */ H5Dclose(dset1); @@ -2434,48 +2454,48 @@ static void gent_attrreg(void) } /*taken from Elena's compound test file*/ -static void gent_nestcomp(void) +static void +gent_nestcomp(void) { /* Compound memeber of the compound datatype*/ typedef struct cmp_t { - char a; - float b[2]; + char a; + float b[2]; } cmp_t; /* First structure and dataset*/ typedef struct s1_t { - int a; - float b; - double c; - cmp_t d; + int a; + float b; + double c; + cmp_t d; } s2_t; - hid_t cmp_tid; /* Handle for the compound datatype */ - hid_t char_id; /* Handle for the string datatype */ - hid_t array_dt; - hsize_t array_dims[] = {2}; /* Dataspace dimensions */ - unsigned ndims = 1; /* Number of dimensions in the array field */ + hid_t cmp_tid; /* Handle for the compound datatype */ + hid_t char_id; /* Handle for the string datatype */ + hid_t array_dt; + hsize_t array_dims[] = {2}; /* Dataspace dimensions */ + unsigned ndims = 1; /* Number of dimensions in the array field */ - s2_t s1[10]; - hid_t s2_tid; /* File datatype identifier */ + s2_t s1[10]; + hid_t s2_tid; /* File datatype identifier */ - int i; - hid_t file, dataset, space; /* Handles */ - herr_t status; - hsize_t dim[] = {10}; /* Dataspace dimensions */ + int i; + hid_t file, dataset, space; /* Handles */ + herr_t status; + hsize_t dim[] = {10}; /* Dataspace dimensions */ char datasetname[] = "ArrayOfStructures"; - /* * Initialize the data */ - for(i = 0; i< 10; i++) { - s1[i].a = i; - s1[i].b = (float)(i*i); - s1[i].c = 1.0F/(float)(i + 1); - s1[i].d.a = (char)(65 + i); + for (i = 0; i < 10; i++) { + s1[i].a = i; + s1[i].b = (float)(i * i); + s1[i].c = 1.0F / (float)(i + 1); + s1[i].d.a = (char)(65 + i); s1[i].d.b[0] = -100.0F; - s1[i].d.b[1] = 100.0F; + s1[i].d.b[1] = 100.0F; } /* @@ -2494,7 +2514,7 @@ static void gent_nestcomp(void) /* * Create a datatype for compound field first. */ - cmp_tid = H5Tcreate (H5T_COMPOUND, sizeof(cmp_t)); + cmp_tid = H5Tcreate(H5T_COMPOUND, sizeof(cmp_t)); /* We are using C string of length one to represent "real" character */ char_id = H5Tcopy(H5T_C_S1); @@ -2505,7 +2525,7 @@ static void gent_nestcomp(void) H5Tinsert(cmp_tid, "array_name", HOFFSET(cmp_t, b), array_dt); H5Tclose(array_dt); - s2_tid = H5Tcreate (H5T_COMPOUND, sizeof(s2_t)); + s2_tid = H5Tcreate(H5T_COMPOUND, sizeof(s2_t)); H5Tinsert(s2_tid, "a_name", HOFFSET(s2_t, a), H5T_NATIVE_INT); H5Tinsert(s2_tid, "c_name", HOFFSET(s2_t, c), H5T_NATIVE_DOUBLE); H5Tinsert(s2_tid, "b_name", HOFFSET(s2_t, b), H5T_NATIVE_FLOAT); @@ -2522,7 +2542,7 @@ static void gent_nestcomp(void) * Wtite data to the dataset; */ status = H5Dwrite(dataset, s2_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, s1); - if(status < 0) + if (status < 0) HDfprintf(stderr, "gent_nestcomp H5Dwrite failed\n"); /* @@ -2536,14 +2556,15 @@ static void gent_nestcomp(void) H5Fclose(file); } -static void gent_opaque(void) +static void +gent_opaque(void) { - hid_t file, type, dataset, space; - char test[100][2]; - int x; + hid_t file, type, dataset, space; + char test[100][2]; + int x; hsize_t dim = 2; - for(x = 0; x < 100; x++){ + for (x = 0; x < 100; x++) { test[x][0] = (char)x; test[x][1] = (char)(99 - x); } @@ -2580,83 +2601,94 @@ static void gent_opaque(void) H5Fclose(file); } -static void gent_bitfields(void) +static void +gent_bitfields(void) { - hid_t file, grp=H5I_INVALID_HID, type=H5I_INVALID_HID, space=H5I_INVALID_HID, dset=H5I_INVALID_HID; - size_t i; - hsize_t nelmts; + hid_t file, grp = H5I_INVALID_HID, type = H5I_INVALID_HID, space = H5I_INVALID_HID, + dset = H5I_INVALID_HID; + size_t i; + hsize_t nelmts; unsigned char buf[32]; file = H5Fcreate(FILE20, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - if((grp = H5Gcreate2(file, "typetests", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; + if ((grp = H5Gcreate2(file, "typetests", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + goto error; /* bitfield_1 */ nelmts = sizeof(buf); - if((type = H5Tcopy(H5T_STD_B8LE)) < 0 || - (space = H5Screate_simple(1, &nelmts, NULL)) < 0 || - (dset = H5Dcreate2(grp, "bitfield_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((type = H5Tcopy(H5T_STD_B8LE)) < 0 || (space = H5Screate_simple(1, &nelmts, NULL)) < 0 || + (dset = H5Dcreate2(grp, "bitfield_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - for(i = 0; i < sizeof buf; i++) + for (i = 0; i < sizeof buf; i++) buf[i] = (uint8_t)(0xff ^ i); - if(H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + goto error; + if (H5Sclose(space) < 0) + goto error; + if (H5Tclose(type) < 0) + goto error; + if (H5Dclose(dset) < 0) goto error; - if(H5Sclose(space) < 0) goto error; - if(H5Tclose(type) < 0) goto error; - if(H5Dclose(dset) < 0) goto error; /* bitfield_2 */ - nelmts = sizeof(buf)/2; - if((type = H5Tcopy(H5T_STD_B16LE)) < 0 || - (space = H5Screate_simple(1, &nelmts, NULL)) < 0 || - (dset = H5Dcreate2(grp, "bitfield_2", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + nelmts = sizeof(buf) / 2; + if ((type = H5Tcopy(H5T_STD_B16LE)) < 0 || (space = H5Screate_simple(1, &nelmts, NULL)) < 0 || + (dset = H5Dcreate2(grp, "bitfield_2", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - for(i = 0; i < sizeof buf; i++) + for (i = 0; i < sizeof buf; i++) buf[i] = (uint8_t)(0xff ^ i); - if(H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + goto error; + if (H5Sclose(space) < 0) + goto error; + if (H5Tclose(type) < 0) + goto error; + if (H5Dclose(dset) < 0) + goto error; + if (H5Gclose(grp) < 0) goto error; - if(H5Sclose(space) < 0) goto error; - if(H5Tclose(type) < 0) goto error; - if(H5Dclose(dset) < 0) goto error; - if(H5Gclose(grp) < 0) goto error; H5Fclose(file); - error: - H5E_BEGIN_TRY { +error: + H5E_BEGIN_TRY + { H5Gclose(grp); H5Tclose(type); H5Sclose(space); H5Dclose(dset); - } H5E_END_TRY; + } + H5E_END_TRY; } -static void gent_vldatatypes(void) +static void +gent_vldatatypes(void) { - hvl_t adata, wdata[SPACE1_DIM1]; - hid_t file, dset, space, type; - hsize_t dims[] = { SPACE1_DIM1 }; - int i; - herr_t H5_ATTR_NDEBUG_UNUSED ret=0; + hvl_t adata, wdata[SPACE1_DIM1]; + hid_t file, dset, space, type; + hsize_t dims[] = {SPACE1_DIM1}; + int i; + herr_t H5_ATTR_NDEBUG_UNUSED ret = 0; file = H5Fcreate(FILE21, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Allocate and initialize VL dataset to write */ - for(i = 0; i < SPACE1_DIM1; i++) { + for (i = 0; i < SPACE1_DIM1; i++) { int j; - wdata[i].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + wdata[i].p = HDmalloc((size_t)(i + 1) * sizeof(int)); wdata[i].len = (size_t)(i + 1); - for(j = 0; j < i + 1; j++) + for (j = 0; j < i + 1; j++) ((int *)wdata[i].p)[j] = i * 10 + j; } /* write out the integers in little-endian format */ space = H5Screate_simple(SPACE1_RANK, dims, NULL); - type = H5Tvlen_create(H5T_NATIVE_INT); - dset = H5Dcreate2(file, "Dataset1.0", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - ret = H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); + type = H5Tvlen_create(H5T_NATIVE_INT); + dset = H5Dcreate2(file, "Dataset1.0", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + ret = H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); HDassert(ret >= 0); ret = H5Treclaim(type, space, H5P_DEFAULT, wdata); HDassert(ret >= 0); @@ -2669,21 +2701,21 @@ static void gent_vldatatypes(void) HDassert(ret >= 0); /* Allocate and initialize VL dataset to write */ - for(i = 0; i < SPACE1_DIM1; i++) { + for (i = 0; i < SPACE1_DIM1; i++) { int j; - wdata[i].p = HDmalloc((size_t)(i + 1) * sizeof(float)); + wdata[i].p = HDmalloc((size_t)(i + 1) * sizeof(float)); wdata[i].len = (size_t)(i + 1); - for(j = 0; j < i + 1; j++) + for (j = 0; j < i + 1; j++) ((float *)wdata[i].p)[j] = (float)((float)(i * 10) + ((float)j) / 10.0F); } /* end for */ /* write out the floats in little-endian format */ space = H5Screate_simple(SPACE1_RANK, dims, NULL); - type = H5Tvlen_create(H5T_NATIVE_FLOAT); - dset = H5Dcreate2(file, "Dataset2.0", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - ret = H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); + type = H5Tvlen_create(H5T_NATIVE_FLOAT); + dset = H5Dcreate2(file, "Dataset2.0", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + ret = H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); HDassert(ret >= 0); ret = H5Treclaim(type, space, H5P_DEFAULT, wdata); HDassert(ret >= 0); @@ -2696,17 +2728,17 @@ static void gent_vldatatypes(void) HDassert(ret >= 0); /* Allocate and initialize a scalar VL dataset to write */ - adata.p = HDmalloc(37 * sizeof(int)); + adata.p = HDmalloc(37 * sizeof(int)); adata.len = 37; - for(i = 0; i < 37; i++) + for (i = 0; i < 37; i++) ((int *)adata.p)[i] = i * 2; /* write out scalar VL dataset in little-endian format */ space = H5Screate_simple(0, NULL, NULL); - type = H5Tvlen_create(H5T_NATIVE_INT); - dset = H5Dcreate2(file, "Dataset3.0", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - ret = H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, &adata); + type = H5Tvlen_create(H5T_NATIVE_INT); + dset = H5Dcreate2(file, "Dataset3.0", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + ret = H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, &adata); HDassert(ret >= 0); ret = H5Treclaim(type, space, H5P_DEFAULT, &adata); HDassert(ret >= 0); @@ -2724,35 +2756,35 @@ static void gent_vldatatypes(void) static void gent_vldatatypes2(void) { - hvl_t wdata[SPACE1_DIM1]; /* Information to write */ - hvl_t *t1; /* Temporary pointer to VL information */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1, tid2; /* Datatype IDs */ - hsize_t dims1[] = {SPACE1_DIM1}; - unsigned i,j,k; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + hvl_t wdata[SPACE1_DIM1]; /* Information to write */ + hvl_t * t1; /* Temporary pointer to VL information */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1, tid2; /* Datatype IDs */ + hsize_t dims1[] = {SPACE1_DIM1}; + unsigned i, j, k; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* Allocate and initialize VL data to write */ - for(i = 0; i < SPACE1_DIM1; i++) { + for (i = 0; i < SPACE1_DIM1; i++) { wdata[i].p = (hvl_t *)HDmalloc((i + 1) * sizeof(hvl_t)); - if(wdata[i].p == NULL) { + if (wdata[i].p == NULL) { HDprintf("Cannot allocate memory for VL data! i=%u\n", i); return; } /* end if */ wdata[i].len = i + 1; - for(t1 = (hvl_t *)wdata[i].p, j = 0; j < (i + 1); j++, t1++) { + for (t1 = (hvl_t *)wdata[i].p, j = 0; j < (i + 1); j++, t1++) { t1->p = (unsigned *)HDmalloc((j + 1) * sizeof(unsigned)); - if(t1->p == NULL) { - HDprintf("Cannot allocate memory for VL data! i=%u, j=%u\n",i,j); + if (t1->p == NULL) { + HDprintf("Cannot allocate memory for VL data! i=%u, j=%u\n", i, j); return; } /* end if */ - t1->len=j+1; - for(k=0; k<(j+1); k++) - ((unsigned int *)t1->p)[k]=i*100+j*10+k; + t1->len = j + 1; + for (k = 0; k < (j + 1); k++) + ((unsigned int *)t1->p)[k] = i * 100 + j * 10 + k; } /* end for */ - } /* end for */ + } /* end for */ /* Create file */ fid1 = H5Fcreate(FILE22, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -2788,32 +2820,32 @@ gent_vldatatypes2(void) HDassert(ret >= 0); ret = H5Fclose(fid1); HDassert(ret >= 0); - } -static void gent_vldatatypes3(void) +static void +gent_vldatatypes3(void) { - typedef struct { /* Struct that the VL sequences are composed of */ - int i; + typedef struct { /* Struct that the VL sequences are composed of */ + int i; float f; hvl_t v; } s1; - s1 wdata[SPACE1_DIM1]; /* Information to write */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1, tid2; /* Datatype IDs */ - hsize_t dims1[] = {SPACE1_DIM1}; - unsigned i,j; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + s1 wdata[SPACE1_DIM1]; /* Information to write */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1, tid2; /* Datatype IDs */ + hsize_t dims1[] = {SPACE1_DIM1}; + unsigned i, j; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* Allocate and initialize VL data to write */ - for(i=0; i<SPACE1_DIM1; i++) { - wdata[i].i = (int)(i * 10); - wdata[i].f = (float)((float)(i * 20)/3.0F); - wdata[i].v.p = HDmalloc((size_t)(i + 1) * sizeof(unsigned int)); + for (i = 0; i < SPACE1_DIM1; i++) { + wdata[i].i = (int)(i * 10); + wdata[i].f = (float)((float)(i * 20) / 3.0F); + wdata[i].v.p = HDmalloc((size_t)(i + 1) * sizeof(unsigned int)); wdata[i].v.len = (size_t)(i + 1); - for(j = 0; j < (i + 1); j++) + for (j = 0; j < (i + 1); j++) ((unsigned int *)wdata[i].v.p)[j] = i * 10 + j; } /* end for */ @@ -2861,30 +2893,31 @@ static void gent_vldatatypes3(void) HDassert(ret >= 0); } -static void gent_vldatatypes4(void) +static void +gent_vldatatypes4(void) { - typedef struct { /* Struct that the VL sequences are composed of */ - int i; + typedef struct { /* Struct that the VL sequences are composed of */ + int i; float f; } s1; - hvl_t wdata[SPACE1_DIM1]; /* Information to write */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1, tid2; /* Datatype IDs */ - hsize_t dims1[] = {SPACE1_DIM1}; - unsigned i,j; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + hvl_t wdata[SPACE1_DIM1]; /* Information to write */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1, tid2; /* Datatype IDs */ + hsize_t dims1[] = {SPACE1_DIM1}; + unsigned i, j; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* Allocate and initialize VL data to write */ - for(i=0; i<SPACE1_DIM1; i++) { - wdata[i].p = HDmalloc((i + 1) * sizeof(s1)); + for (i = 0; i < SPACE1_DIM1; i++) { + wdata[i].p = HDmalloc((i + 1) * sizeof(s1)); wdata[i].len = i + 1; - for(j = 0; j < (i + 1); j++) { + for (j = 0; j < (i + 1); j++) { ((s1 *)wdata[i].p)[j].i = (int)(i * 10 + j); ((s1 *)wdata[i].p)[j].f = (float)((float)(i * 20 + j) / 3.0F); } /* end for */ - } /* end for */ + } /* end for */ /* Create file */ fid1 = H5Fcreate(FILE24, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -2929,46 +2962,47 @@ static void gent_vldatatypes4(void) } /* Generate a variable-length dataset with NULL values in it */ -static void gent_vldatatypes5(void) +static void +gent_vldatatypes5(void) { - hvl_t wdata [SPACE1_DIM1]; - hid_t fid1; - hid_t dataset; - hid_t sid1; - hid_t tid1; - hsize_t dims1[] = {SPACE1_DIM1}; - int i,j; /* counting variable */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + hvl_t wdata[SPACE1_DIM1]; + hid_t fid1; + hid_t dataset; + hid_t sid1; + hid_t tid1; + hsize_t dims1[] = {SPACE1_DIM1}; + int i, j; /* counting variable */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* initialize data for dataset */ - for(i=0; i<SPACE1_DIM1; i++) { - if(i%2) { - wdata[i].len=0; - wdata[i].p=NULL; + for (i = 0; i < SPACE1_DIM1; i++) { + if (i % 2) { + wdata[i].len = 0; + wdata[i].p = NULL; } /* end if */ else { wdata[i].len = (size_t)(i + 5); - wdata[i].p = HDmalloc(sizeof(unsigned) * (size_t)(i + 5)); - for(j = 0; j < i + 5; j++) + wdata[i].p = HDmalloc(sizeof(unsigned) * (size_t)(i + 5)); + for (j = 0; j < i + 5; j++) ((unsigned *)wdata[i].p)[j] = (unsigned)(j * 2); } /* end else */ - } /* end for */ + } /* end for */ /* Create file */ fid1 = H5Fcreate(FILE43, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid1>0); + HDassert(fid1 > 0); /* Create dataspace for datasets */ sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL); - HDassert(sid1>0); + HDassert(sid1 > 0); /* Create a datatype to refer to */ tid1 = H5Tvlen_create(H5T_NATIVE_UINT); - HDassert(tid1>0); + HDassert(tid1 > 0); /* Create a dataset */ dataset = H5Dcreate2(fid1, F43_DSETNAME, tid1, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - HDassert(dataset>0); + HDassert(dataset > 0); ret = H5Dwrite(dataset, tid1, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); HDassert(ret >= 0); @@ -2982,10 +3016,10 @@ static void gent_vldatatypes5(void) ret = H5Tclose(tid1); HDassert(ret >= 0); - ret = H5Sclose (sid1); + ret = H5Sclose(sid1); HDassert(ret >= 0); - ret = H5Fclose (fid1); + ret = H5Fclose(fid1); HDassert(ret >= 0); } @@ -2996,42 +3030,43 @@ static void gent_vldatatypes5(void) display array indices every 262 x N (N > 0) based on 2000x1000 dims. */ #define SPACE_ARRAY1BIG_DIM 2000 -#define ARRAY1BIG_DIM 1000 +#define ARRAY1BIG_DIM 1000 -static void gent_array1_big(void) +static void +gent_array1_big(void) { - int *wdata; /* Information to write */ - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hid_t tid1; /* Datatype ID */ - hsize_t sdims1[] = {SPACE_ARRAY1BIG_DIM}; - hsize_t tdims1[] = {ARRAY1BIG_DIM}; - int i,j; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + int * wdata; /* Information to write */ + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hid_t tid1; /* Datatype ID */ + hsize_t sdims1[] = {SPACE_ARRAY1BIG_DIM}; + hsize_t tdims1[] = {ARRAY1BIG_DIM}; + int i, j; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* for region reference dataset */ - hid_t dset2; - hid_t sid2; - hsize_t dims2[] = {SPACE1_DIM1}; - hsize_t start[SPACE1_RANK]; /* Starting location of hyperslab */ - hsize_t stride[SPACE1_RANK]; /* Stride of hyperslab */ - hsize_t count[SPACE1_RANK]; /* Element count of hyperslab */ - hsize_t block[SPACE1_RANK]; /* Block size of hyperslab */ - hdset_reg_ref_t *wbuf; /* buffer to write to disk */ - - start[0] = 0; + hid_t dset2; + hid_t sid2; + hsize_t dims2[] = {SPACE1_DIM1}; + hsize_t start[SPACE1_RANK]; /* Starting location of hyperslab */ + hsize_t stride[SPACE1_RANK]; /* Stride of hyperslab */ + hsize_t count[SPACE1_RANK]; /* Element count of hyperslab */ + hsize_t block[SPACE1_RANK]; /* Block size of hyperslab */ + hdset_reg_ref_t *wbuf; /* buffer to write to disk */ + + start[0] = 0; stride[0] = 1; - count[0] = 999; - block[0] = 1; + count[0] = 999; + block[0] = 1; /* Allocate write & read buffers */ - wbuf = (hdset_reg_ref_t*) HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1); + wbuf = (hdset_reg_ref_t *)HDcalloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1); wdata = (int *)HDmalloc(sizeof(int) * (size_t)(SPACE_ARRAY1BIG_DIM * ARRAY1BIG_DIM)); /* Allocate and initialize array data to write */ - for(i = 0; i < SPACE_ARRAY1BIG_DIM; i++) - for(j = 0; j < ARRAY1BIG_DIM; j++) + for (i = 0; i < SPACE_ARRAY1BIG_DIM; i++) + for (j = 0; j < ARRAY1BIG_DIM; j++) *(wdata + (i * ARRAY1BIG_DIM) + j) = i * 1; /* Create file */ @@ -3071,7 +3106,7 @@ static void gent_array1_big(void) H5Rcreate(&wbuf[0], fid1, "/Dataset1", H5R_DATASET_REGION, sid1); /* Write selection to disk */ - H5Dwrite(dset2,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf); + H5Dwrite(dset2, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, wbuf); /* Close Dataset */ ret = H5Dclose(dataset); @@ -3088,22 +3123,23 @@ static void gent_array1_big(void) HDfree(wdata); } -static void gent_array1(void) +static void +gent_array1(void) { - int wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - 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 i,j; /* counting variables */ - herr_t ret H5_ATTR_NDEBUG_UNUSED; /* Generic return value */ + int wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + 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 i, j; /* counting variables */ + herr_t ret H5_ATTR_NDEBUG_UNUSED; /* Generic return value */ /* Allocate and initialize array data to write */ - for(i=0; i<SPACE1_DIM1; i++) - for(j=0; j<ARRAY1_DIM1; j++) - wdata[i][j]=i*10+j; + for (i = 0; i < SPACE1_DIM1; i++) + for (j = 0; j < ARRAY1_DIM1; j++) + wdata[i][j] = i * 10 + j; /* Create file */ fid1 = H5Fcreate(FILE25, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -3132,24 +3168,25 @@ static void gent_array1(void) HDassert(ret >= 0); } -static void gent_array2(void) +static void +gent_array2(void) { - int wdata[SPACE1_DIM1][ARRAY2_DIM1][ARRAY2_DIM2][ARRAY2_DIM3]; /* Information to write */ - hid_t fid; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid; /* Dataspace ID */ - hid_t tid; /* Datatype ID */ + int wdata[SPACE1_DIM1][ARRAY2_DIM1][ARRAY2_DIM2][ARRAY2_DIM3]; /* Information to write */ + 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 i,j,k,l; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + hsize_t tdims2[] = {ARRAY2_DIM1, ARRAY2_DIM2, ARRAY2_DIM3}; + int i, j, k, l; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* 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++) - wdata[i][j][k][l]=i*1000+j*100+k*10+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 */ fid = H5Fcreate(FILE26, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -3178,26 +3215,27 @@ static void gent_array2(void) HDassert(ret >= 0); } -static void gent_array3(void) +static void +gent_array3(void) { - int wdata[SPACE1_DIM1][ARRAY1_DIM1][ARRAY3_DIM1][ARRAY3_DIM2]; /* Information to write */ - 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 */ + int wdata[SPACE1_DIM1][ARRAY1_DIM1][ARRAY3_DIM1][ARRAY3_DIM2]; /* Information to write */ + 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 i,j,k,l; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + hsize_t tdims2[] = {ARRAY3_DIM1, ARRAY3_DIM2}; + int i, j, k, l; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* 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++) - wdata[i][j][k][l]=i*1000+j*100+k*10+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 */ fid = H5Fcreate(FILE27, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -3231,26 +3269,27 @@ static void gent_array3(void) HDassert(ret >= 0); } -static void gent_array4(void) +static void +gent_array4(void) { - typedef struct { /* Typedef for compound datatype */ - int i; - float f; + typedef struct { /* Typedef for compound datatype */ + int i; + float f; } s2_t; - s2_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - 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 i,j; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + s2_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + 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 i, j; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* 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)((float)i * 2.5F + (float)j); } /* end for */ @@ -3297,29 +3336,30 @@ static void gent_array4(void) HDassert(ret >= 0); } -static void gent_array5(void) +static void +gent_array5(void) { - typedef struct { /* Typedef for compound datatype */ - int i; - float f[ARRAY1_DIM1]; + typedef struct { /* Typedef for compound datatype */ + int i; + float f[ARRAY1_DIM1]; } s2_t; - s2_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - 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 i,j,k; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + s2_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + 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 i, j, k; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* 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; - for(k=0; k<ARRAY1_DIM1; k++) + for (k = 0; k < ARRAY1_DIM1; k++) wdata[i][j].f[k] = (float)((float)i * 10 + (float)j * 2.5F + (float)k); } /* end for */ @@ -3333,14 +3373,14 @@ static void gent_array5(void) tid2 = H5Tcreate(H5T_COMPOUND, sizeof(s2_t)); /* Insert integer field */ - ret = H5Tinsert (tid2, "i", HOFFSET(s2_t,i), H5T_NATIVE_INT); + ret = H5Tinsert(tid2, "i", HOFFSET(s2_t, i), H5T_NATIVE_INT); HDassert(ret >= 0); /* Create an array of floats datatype */ tid3 = H5Tarray_create2(H5T_NATIVE_FLOAT, ARRAY1_RANK, tdims1); /* Insert float array field */ - ret = H5Tinsert (tid2, "f", HOFFSET(s2_t,f), tid3); + ret = H5Tinsert(tid2, "f", HOFFSET(s2_t, f), tid3); HDassert(ret >= 0); /* Close array of floats field datatype */ @@ -3372,25 +3412,26 @@ static void gent_array5(void) HDassert(ret >= 0); } -static void gent_array6(void) +static void +gent_array6(void) { - hvl_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - 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 */ - hsize_t sdims1[] = {SPACE1_DIM1}; - hsize_t tdims1[] = {ARRAY1_DIM1}; - int i,j,k; /* counting variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + hvl_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + 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 */ + hsize_t sdims1[] = {SPACE1_DIM1}; + hsize_t tdims1[] = {ARRAY1_DIM1}; + int i, j, k; /* counting variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* 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)); + 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++) + for (k = 0; k < (i + j + 1); k++) ((unsigned int *)wdata[i][j].p)[k] = (unsigned)(i * 100 + j * 10 + k); } /* end for */ @@ -3432,28 +3473,30 @@ static void gent_array6(void) HDassert(ret >= 0); } -static void gent_array7(void) +static void +gent_array7(void) { - hvl_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ - 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 */ - hsize_t sdims1[] = {SPACE1_DIM1}; - hsize_t tdims1[] = {ARRAY1_DIM1}; - int i,j,k,l; /* Index variables */ - herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ + hvl_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ + 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 */ + hsize_t sdims1[] = {SPACE1_DIM1}; + hsize_t tdims1[] = {ARRAY1_DIM1}; + int i, j, k, l; /* Index variables */ + herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Generic return value */ /* 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) * ARRAY1_DIM1)); + 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) * 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)(i * 1000+j * 100+k * 10 + l); + 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)(i * 1000 + j * 100 + k * 10 + l); } /* end for */ /* Create file */ @@ -3502,17 +3545,18 @@ static void gent_array7(void) } /* Test the boundary of the display output buffer at the reallocation event */ -static void gent_array8(void) +static void +gent_array8(void) { - hid_t file = H5I_INVALID_HID; /* Handles */ - hid_t filetype = H5I_INVALID_HID; /* Handles */ - hid_t space = H5I_INVALID_HID; /* Handles */ - hid_t dset = H5I_INVALID_HID; /* Handles */ - herr_t H5_ATTR_NDEBUG_UNUSED status = -1; - hsize_t sdims[] = {F64_DIM0}; - hsize_t tdims[] = {F64_DIM1}; - int *wdata; /* Write buffer */ - unsigned int i; + hid_t file = H5I_INVALID_HID; /* Handles */ + hid_t filetype = H5I_INVALID_HID; /* Handles */ + hid_t space = H5I_INVALID_HID; /* Handles */ + hid_t dset = H5I_INVALID_HID; /* Handles */ + herr_t H5_ATTR_NDEBUG_UNUSED status = -1; + hsize_t sdims[] = {F64_DIM0}; + hsize_t tdims[] = {F64_DIM1}; + int * wdata; /* Write buffer */ + unsigned int i; /* Allocate data buffer */ wdata = (int *)HDmalloc(F64_DIM1 * sizeof(int)); @@ -3528,54 +3572,54 @@ static void gent_array8(void) /* * Create a new file using the default properties. */ - file = H5Fcreate (F64_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + file = H5Fcreate(F64_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* * Create array datatypes for file and memory. */ - filetype = H5Tarray_create2 (H5T_NATIVE_INT, 1, tdims); + filetype = H5Tarray_create2(H5T_NATIVE_INT, 1, tdims); /* * Create dataspace. Setting maximum size to NULL sets the maximum * size to be the current size. */ - space = H5Screate_simple (1, sdims, NULL); + space = H5Screate_simple(1, sdims, NULL); /* * Create the dataset and write the array data to it. */ - if(file>=0 && filetype>=0 && space>=0) { - dset = H5Dcreate2 (file, F64_DATASET, filetype, space, H5P_DEFAULT, H5P_DEFAULT, - H5P_DEFAULT); - if(dset>=0) - status = H5Dwrite (dset, filetype, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); - HDassert(status >= 0); + if (file >= 0 && filetype >= 0 && space >= 0) { + dset = H5Dcreate2(file, F64_DATASET, filetype, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (dset >= 0) + status = H5Dwrite(dset, filetype, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata); + HDassert(status >= 0); } /* * Close and release resources. */ - status = H5Dclose (dset); + status = H5Dclose(dset); HDassert(status >= 0); - status = H5Sclose (space); + status = H5Sclose(space); HDassert(status >= 0); - status = H5Tclose (filetype); + status = H5Tclose(filetype); HDassert(status >= 0); - status = H5Fclose (file); + status = H5Fclose(file); HDassert(status >= 0); HDfree(wdata); } -static void gent_empty(void) +static void +gent_empty(void) { typedef struct { - int a; - float b; - char c; + int a; + float b; + char c; } empty_struct; - hid_t file, dset, space, type; - hsize_t dims[] = { SPACE1_DIM1 }; - herr_t H5_ATTR_NDEBUG_UNUSED ret=0; + hid_t file, dset, space, type; + hsize_t dims[] = {SPACE1_DIM1}; + herr_t H5_ATTR_NDEBUG_UNUSED ret = 0; file = H5Fcreate(FILE32, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -3612,10 +3656,10 @@ static void gent_empty(void) HDassert(ret >= 0); /* write out an empty compound dataset */ - type = H5Tcreate(H5T_COMPOUND,sizeof(empty_struct)); - H5Tinsert(type, "a", HOFFSET(empty_struct, a),H5T_NATIVE_INT); - H5Tinsert(type, "b", HOFFSET(empty_struct, b),H5T_NATIVE_FLOAT); - H5Tinsert(type, "c", HOFFSET(empty_struct, c),H5T_NATIVE_CHAR); + type = H5Tcreate(H5T_COMPOUND, sizeof(empty_struct)); + H5Tinsert(type, "a", HOFFSET(empty_struct, a), H5T_NATIVE_INT); + H5Tinsert(type, "b", HOFFSET(empty_struct, b), H5T_NATIVE_FLOAT); + H5Tinsert(type, "c", HOFFSET(empty_struct, c), H5T_NATIVE_CHAR); dset = H5Dcreate2(file, "Dataset5.0", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* Don't write any data */ ret = H5Dclose(dset); @@ -3633,8 +3677,8 @@ static void gent_empty(void) static void gent_group_comments(void) { - hid_t fid = H5I_INVALID_HID; - hid_t group = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t group = H5I_INVALID_HID; hbool_t supports_comments = FALSE; fid = H5Fcreate(FILE33, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -3707,23 +3751,26 @@ gent_group_comments(void) /* /glongcomment */ group = H5Gcreate2(fid, "/glongcomment", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (supports_comments) - H5Oset_comment_by_name(group, "/glongcomment", "Comment for group /glongcomment with a really, really, really long, long, long comment", H5P_DEFAULT); + H5Oset_comment_by_name( + group, "/glongcomment", + "Comment for group /glongcomment with a really, really, really long, long, long comment", + H5P_DEFAULT); H5Gclose(group); H5Fclose(fid); } -static -void gent_split_file(void) +static void +gent_split_file(void) { - hid_t fapl, fid, root, attr, space, dataset, atype; - char meta[] = "this is some metadata on this file"; + hid_t fapl, fid, root, attr, space, dataset, atype; + char meta[] = "this is some metadata on this file"; hsize_t dims[2]; - int i, j, dset[10][15]; + int i, j, dset[10][15]; fapl = H5Pcreate(H5P_FILE_ACCESS); H5Pset_fapl_split(fapl, "-m.h5", H5P_DEFAULT, "-r.h5", H5P_DEFAULT); - fid = H5Fcreate(FILE34, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + fid = H5Fcreate(FILE34, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); root = H5Gopen2(fid, "/", H5P_DEFAULT); atype = H5Tcopy(H5T_C_S1); @@ -3731,8 +3778,8 @@ void gent_split_file(void) H5Tset_strpad(atype, H5T_STR_NULLTERM); dims[0] = 1; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(root, "Metadata", atype, space, H5P_DEFAULT, H5P_DEFAULT); + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(root, "Metadata", atype, space, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, atype, meta); H5Tclose(atype); H5Sclose(space); @@ -3741,11 +3788,11 @@ void gent_split_file(void) /* create dataset */ dims[0] = 10; dims[1] = 15; - space = H5Screate_simple(2, dims, NULL); + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) - for(j = 0; j < 15; j++) + for (i = 0; i < 10; i++) + for (j = 0; j < 15; j++) dset[i][j] = i + j; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset); @@ -3756,14 +3803,14 @@ void gent_split_file(void) H5Pclose(fapl); } -static -void gent_family(void) +static void +gent_family(void) { - hid_t fapl, fid, space, dataset; + hid_t fapl, fid, space, dataset; hsize_t dims[2]; - int i, j, dset[10][15]; + int i, j, dset[10][15]; -#define FAMILY_SIZE 256 +#define FAMILY_SIZE 256 fapl = H5Pcreate(H5P_FILE_ACCESS); H5Pset_fapl_family(fapl, (hsize_t)FAMILY_SIZE, H5P_DEFAULT); @@ -3773,11 +3820,11 @@ void gent_family(void) /* create dataset */ dims[0] = 10; dims[1] = 15; - space = H5Screate_simple(2, dims, NULL); + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) - for(j = 0; j < 15; j++) + for (i = 0; i < 10; i++) + for (j = 0; j < 15; j++) dset[i][j] = i + j; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset); @@ -3789,23 +3836,23 @@ void gent_family(void) static const char *multi_letters = "msbrglo"; -static -void gent_multi(void) +static void +gent_multi(void) { - hid_t fapl, fid, space, dataset; + hid_t fapl, fid, space, dataset; hsize_t dims[2]; - int i, j, dset[10][15]; + int i, j, dset[10][15]; /* Multi-file driver, general case of the split driver */ - H5FD_mem_t mt, memb_map[H5FD_MEM_NTYPES]; - hid_t memb_fapl[H5FD_MEM_NTYPES]; + H5FD_mem_t mt, memb_map[H5FD_MEM_NTYPES]; + hid_t memb_fapl[H5FD_MEM_NTYPES]; const char *memb_name[H5FD_MEM_NTYPES]; - char **sv = NULL; - char *sv_data = NULL; - haddr_t memb_addr[H5FD_MEM_NTYPES]; + char ** sv = NULL; + char * sv_data = NULL; + haddr_t memb_addr[H5FD_MEM_NTYPES]; sv_data = (char *)HDcalloc(H5FD_MEM_NTYPES * 1024, sizeof(char)); - sv = (char **)HDcalloc(H5FD_MEM_NTYPES, sizeof(sv_data)); + sv = (char **)HDcalloc(H5FD_MEM_NTYPES, sizeof(sv_data)); for (i = 0; i < H5FD_MEM_NTYPES; i++) sv[i] = sv_data + (i * 1024); @@ -3818,9 +3865,9 @@ void gent_multi(void) HDassert(HDstrlen(multi_letters) == H5FD_MEM_NTYPES); - for(mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++) { + for (mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++) { memb_fapl[mt] = H5P_DEFAULT; - memb_map[mt] = mt; + memb_map[mt] = mt; HDsprintf(sv[mt], "%%s-%c.h5", multi_letters[mt]); memb_name[mt] = sv[mt]; /*HDprintf("memb_name[%d]=%s, memb_map[%d]=%d; ", mt, memb_name[mt], mt, memb_map[mt]);*/ @@ -3828,19 +3875,18 @@ void gent_multi(void) } memb_map[H5FD_MEM_DEFAULT] = H5FD_MEM_SUPER; - H5Pset_fapl_multi(fapl, memb_map, memb_fapl, memb_name, - memb_addr, FALSE); + H5Pset_fapl_multi(fapl, memb_map, memb_fapl, memb_name, memb_addr, FALSE); fid = H5Fcreate(FILE36, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); /* create dataset */ dims[0] = 10; dims[1] = 15; - space = H5Screate_simple(2, dims, NULL); + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 10; i++) - for(j = 0; j < 15; j++) + for (i = 0; i < 10; i++) + for (j = 0; j < 15; j++) dset[i][j] = i + j; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset); @@ -3854,17 +3900,18 @@ void gent_multi(void) HDfree(sv_data); } -static void gent_large_objname(void) +static void +gent_large_objname(void) { - hid_t fid, group, group2; - char grp_name[128]; + hid_t fid, group, group2; + char grp_name[128]; register int i; fid = H5Fcreate(FILE37, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); group = H5Gcreate2(fid, "this_is_a_large_group_name", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < 50; ++i) { + for (i = 0; i < 50; ++i) { HDsprintf(grp_name, "this_is_a_large_group_name%d", i); group2 = H5Gcreate2(group, grp_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Gclose(group2); @@ -3874,20 +3921,19 @@ static void gent_large_objname(void) H5Fclose(fid); } -static void gent_vlstr(void) +static void +gent_vlstr(void) { - const char *wdata[SPACE1_DIM1]= { - "Four score and seven years ago our forefathers brought forth on this continent a new nation,", - "conceived in liberty and dedicated to the proposition that all men are created equal.", - "", - NULL - }; /* Information to write */ - const char *string_att= "This is the string for the attribute"; - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset, root; /* Dataset ID */ - hid_t sid1, dataspace;/* Dataspace ID */ - hid_t tid1, att; /* Datatype ID */ - hsize_t dims1[] = {SPACE1_DIM1}; + const char *wdata[SPACE1_DIM1] = { + "Four score and seven years ago our forefathers brought forth on this continent a new nation,", + "conceived in liberty and dedicated to the proposition that all men are created equal.", "", + NULL}; /* Information to write */ + const char *string_att = "This is the string for the attribute"; + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset, root; /* Dataset ID */ + hid_t sid1, dataspace; /* Dataspace ID */ + hid_t tid1, att; /* Datatype ID */ + hsize_t dims1[] = {SPACE1_DIM1}; /* Create file */ fid1 = H5Fcreate(FILE38, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -3895,8 +3941,8 @@ static void gent_vlstr(void) sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL); /* Create a VL string datatype to refer to */ - tid1 = H5Tcopy (H5T_C_S1); - H5Tset_size (tid1, H5T_VARIABLE); + tid1 = H5Tcopy(H5T_C_S1); + H5Tset_size(tid1, H5T_VARIABLE); /* Create a dataset and write VL string to it. */ dataset = H5Dcreate2(fid1, "Dataset1", tid1, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -3908,7 +3954,7 @@ static void gent_vlstr(void) H5Tcommit2(fid1, "vl_string_type", tid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* Create an group attribute of VL string type */ - root = H5Gopen2(fid1, "/", H5P_DEFAULT); + root = H5Gopen2(fid1, "/", H5P_DEFAULT); dataspace = H5Screate(H5S_SCALAR); att = H5Acreate2(root, "test_scalar", tid1, dataspace, H5P_DEFAULT, H5P_DEFAULT); @@ -3923,19 +3969,19 @@ static void gent_vlstr(void) H5Fclose(fid1); } -static void gent_char(void) +static void +gent_char(void) { - const char *wdata = - "Four score and seven years ago our forefathers brought " - "forth on this continent a new nation, conceived in " - "liberty and dedicated to the proposition that all " - "men are created equal. Now we are engaged in a great " - "civil war, testing whether that nation or any nation " - "so conceived and so dedicated can long endure."; - hid_t fid1; /* HDF5 File IDs */ - hid_t dataset; /* Dataset ID */ - hid_t sid1; /* Dataspace ID */ - hsize_t dims1[1]; + const char *wdata = "Four score and seven years ago our forefathers brought " + "forth on this continent a new nation, conceived in " + "liberty and dedicated to the proposition that all " + "men are created equal. Now we are engaged in a great " + "civil war, testing whether that nation or any nation " + "so conceived and so dedicated can long endure."; + hid_t fid1; /* HDF5 File IDs */ + hid_t dataset; /* Dataset ID */ + hid_t sid1; /* Dataspace ID */ + hsize_t dims1[1]; dims1[0] = HDstrlen(wdata); @@ -3955,8 +4001,6 @@ static void gent_char(void) H5Fclose(fid1); } - - /*------------------------------------------------------------------------- * Function: write_attr_in * @@ -3971,66 +4015,59 @@ static void gent_char(void) *------------------------------------------------------------------------- */ -static void write_attr_in(hid_t loc_id, - const char* dset_name, /* for saving reference to dataset*/ - hid_t fid) +static void +write_attr_in(hid_t loc_id, const char *dset_name, /* for saving reference to dataset*/ + hid_t fid) { /* Compound datatype */ - typedef struct s_t - { - char a; - double b; + typedef struct s_t { + char a; + double b; } s_t; - typedef enum - { - E_RED, - E_GREEN - } e_t; + typedef enum { E_RED, E_GREEN } e_t; - hid_t aid; - hid_t sid; - hid_t tid; - herr_t H5_ATTR_NDEBUG_UNUSED status; - int val, i, j, k, n; - float f; + hid_t aid; + hid_t sid; + hid_t tid; + herr_t H5_ATTR_NDEBUG_UNUSED status; + int val, i, j, k, n; + float f; /* create 1D attributes with dimension [2], 2 elements */ - hsize_t dims[1]={2}; - char buf1[2][3]= {"ab","de"}; /* string */ - char buf2[2]= {1,2}; /* bitfield, opaque */ - s_t buf3[2]= {{1,2},{3,4}}; /* compound */ - hobj_ref_t buf4[2]; /* reference */ - hvl_t buf5[2]; /* vlen */ - hsize_t dimarray[1]={3}; /* array dimension */ - int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */ - int buf7[2]= {1,2}; /* integer */ - float buf8[2]= {1,2}; /* float */ + hsize_t dims[1] = {2}; + char buf1[2][3] = {"ab", "de"}; /* string */ + char buf2[2] = {1, 2}; /* bitfield, opaque */ + s_t buf3[2] = {{1, 2}, {3, 4}}; /* compound */ + hobj_ref_t buf4[2]; /* reference */ + hvl_t buf5[2]; /* vlen */ + hsize_t dimarray[1] = {3}; /* array dimension */ + int buf6[2][3] = {{1, 2, 3}, {4, 5, 6}}; /* array */ + int buf7[2] = {1, 2}; /* integer */ + float buf8[2] = {1, 2}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ - hsize_t dims2[2]={3,2}; - char buf12[6][3]= {"ab","cd","ef","gh","ij","kl"}; /* string */ - char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ - s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */ - hobj_ref_t buf42[3][2]; /* reference */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ - int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ - float buf82[3][2]= {{1,2},{3,4},{5,6}}; /* float */ + hsize_t dims2[2] = {3, 2}; + char buf12[6][3] = {"ab", "cd", "ef", "gh", "ij", "kl"}; /* string */ + char buf22[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* bitfield, opaque */ + s_t buf32[6] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}}; /* compound */ + hobj_ref_t buf42[3][2]; /* reference */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}}; /* array */ + int buf72[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* integer */ + float buf82[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ - hsize_t dims3[3]={4,3,2}; - char buf13[24][3]= {"ab","cd","ef","gh","ij","kl","mn","pq", - "rs","tu","vw","xz","AB","CD","EF","GH", - "IJ","KL","MN","PQ","RS","TU","VW","XZ"}; /* string */ - char buf23[4][3][2]; /* bitfield, opaque */ - s_t buf33[4][3][2]; /* compound */ - hobj_ref_t buf43[4][3][2]; /* reference */ - hvl_t buf53[4][3][2]; /* vlen */ - int buf63[24][3]; /* array */ - int buf73[4][3][2]; /* integer */ - float buf83[4][3][2]; /* float */ - + hsize_t dims3[3] = {4, 3, 2}; + char buf13[24][3] = {"ab", "cd", "ef", "gh", "ij", "kl", "mn", "pq", "rs", "tu", "vw", "xz", + "AB", "CD", "EF", "GH", "IJ", "KL", "MN", "PQ", "RS", "TU", "VW", "XZ"}; /* string */ + char buf23[4][3][2]; /* bitfield, opaque */ + s_t buf33[4][3][2]; /* compound */ + hobj_ref_t buf43[4][3][2]; /* reference */ + hvl_t buf53[4][3][2]; /* vlen */ + int buf63[24][3]; /* array */ + int buf73[4][3][2]; /* integer */ + float buf83[4][3][2]; /* float */ /*------------------------------------------------------------------------- * 1D attributes @@ -4041,9 +4078,9 @@ static void write_attr_in(hid_t loc_id, * H5T_STRING *------------------------------------------------------------------------- */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_attr(loc_id,1,dims,"string",tid,buf1); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_attr(loc_id, 1, dims, "string", tid, buf1); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4051,26 +4088,26 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcopy(H5T_STD_B8LE); - write_attr(loc_id,1,dims,"bitfield",tid,buf2); + write_attr(loc_id, 1, dims, "bitfield", tid, buf2); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_OPAQUE *------------------------------------------------------------------------- */ - tid = H5Tcreate(H5T_OPAQUE, 1); + tid = H5Tcreate(H5T_OPAQUE, 1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_attr(loc_id,1,dims,"opaque",tid,buf2); + write_attr(loc_id, 1, dims, "opaque", tid, buf2); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_COMPOUND *------------------------------------------------------------------------- */ - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t)); H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_attr(loc_id,1,dims,"compound",tid,buf3); + write_attr(loc_id, 1, dims, "compound", tid, buf3); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4078,11 +4115,10 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ /* Create references to dataset */ - if(dset_name) - { - status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,(hid_t)-1); - status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,(hid_t)-1); - write_attr(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4); + if (dset_name) { + status = H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t)-1); + status = H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t)-1); + write_attr(loc_id, 1, dims, "reference", H5T_STD_REF_OBJ, buf4); } /*------------------------------------------------------------------------- @@ -4090,9 +4126,9 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_attr(loc_id,1,dims,"enum",tid,0); + write_attr(loc_id, 1, dims, "enum", tid, 0); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4102,17 +4138,17 @@ static void write_attr_in(hid_t loc_id, /* Allocate and initialize VL dataset to write */ - buf5[0].len = 1; - buf5[0].p = HDmalloc(1 * sizeof(int)); + buf5[0].len = 1; + buf5[0].p = HDmalloc(1 * sizeof(int)); ((int *)buf5[0].p)[0] = 1; - buf5[1].len = 2; - buf5[1].p = HDmalloc(2 * sizeof(int)); + buf5[1].len = 2; + buf5[1].p = HDmalloc(2 * sizeof(int)); ((int *)buf5[1].p)[0] = 2; ((int *)buf5[1].p)[1] = 3; - sid = H5Screate_simple(1, dims, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf5); HDassert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf5); @@ -4136,7 +4172,6 @@ static void write_attr_in(hid_t loc_id, write_attr(loc_id, 1, dims, "integer", H5T_NATIVE_INT, buf7); write_attr(loc_id, 1, dims, "float", H5T_NATIVE_FLOAT, buf8); - /*------------------------------------------------------------------------- * 2D attributes *------------------------------------------------------------------------- @@ -4146,9 +4181,9 @@ static void write_attr_in(hid_t loc_id, * H5T_STRING *------------------------------------------------------------------------- */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_attr(loc_id,2,dims2,"string2D",tid,buf12); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_attr(loc_id, 2, dims2, "string2D", tid, buf12); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4156,26 +4191,26 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcopy(H5T_STD_B8LE); - write_attr(loc_id,2,dims2,"bitfield2D",tid,buf22); + write_attr(loc_id, 2, dims2, "bitfield2D", tid, buf22); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_OPAQUE *------------------------------------------------------------------------- */ - tid = H5Tcreate(H5T_OPAQUE, 1); + tid = H5Tcreate(H5T_OPAQUE, 1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_attr(loc_id,2,dims2,"opaque2D",tid,buf22); + write_attr(loc_id, 2, dims2, "opaque2D", tid, buf22); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_COMPOUND *------------------------------------------------------------------------- */ - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t)); H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_attr(loc_id,2,dims2,"compound2D",tid,buf32); + write_attr(loc_id, 2, dims2, "compound2D", tid, buf32); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4183,14 +4218,13 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ /* Create references to dataset */ - if(dset_name) - { - for(i = 0; i < 3; i++) { - for(j = 0; j < 2; j++) { - status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,(hid_t)-1); + if (dset_name) { + for (i = 0; i < 3; i++) { + for (j = 0; j < 2; j++) { + status = H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, (hid_t)-1); } } - write_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42); + write_attr(loc_id, 2, dims2, "reference2D", H5T_STD_REF_OBJ, buf42); } /*------------------------------------------------------------------------- @@ -4198,9 +4232,9 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_attr(loc_id,2,dims2,"enum2D",tid,0); + write_attr(loc_id, 2, dims2, "enum2D", tid, 0); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4209,21 +4243,21 @@ static void write_attr_in(hid_t loc_id, */ /* Allocate and initialize VL dataset to write */ - n=0; - for(i = 0; i < 3; i++) { - for(j = 0; j < 2; j++) { + n = 0; + for (i = 0; i < 3; i++) { + for (j = 0; j < 2; j++) { int l; - buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf52[i][j].len = (size_t)(i + 1); - for(l = 0; l < i + 1; l++) + for (l = 0; l < i + 1; l++) ((int *)buf52[i][j].p)[l] = n++; } } - sid = H5Screate_simple(2, dims2, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(2, dims2, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf52); HDassert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf52); @@ -4247,7 +4281,6 @@ static void write_attr_in(hid_t loc_id, write_attr(loc_id, 2, dims2, "integer2D", H5T_NATIVE_INT, buf72); write_attr(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82); - /*------------------------------------------------------------------------- * 3D attributes *------------------------------------------------------------------------- @@ -4257,9 +4290,9 @@ static void write_attr_in(hid_t loc_id, * H5T_STRING *------------------------------------------------------------------------- */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_attr(loc_id,3,dims3,"string3D",tid,buf13); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_attr(loc_id, 3, dims3, "string3D", tid, buf13); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4267,25 +4300,25 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { + n = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { buf23[i][j][k] = (char)n++; } } } tid = H5Tcopy(H5T_STD_B8LE); - write_attr(loc_id,3,dims3,"bitfield3D",tid,buf23); + write_attr(loc_id, 3, dims3, "bitfield3D", tid, buf23); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_OPAQUE *------------------------------------------------------------------------- */ - tid = H5Tcreate(H5T_OPAQUE, 1); + tid = H5Tcreate(H5T_OPAQUE, 1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_attr(loc_id,3,dims3,"opaque3D",tid,buf23); + write_attr(loc_id, 3, dims3, "opaque3D", tid, buf23); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4293,19 +4326,19 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { + n = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { buf33[i][j][k].a = (char)n++; - buf33[i][j][k].b=n++; + buf33[i][j][k].b = n++; } } } - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t)); H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_attr(loc_id,3,dims3,"compound3D",tid,buf33); + write_attr(loc_id, 3, dims3, "compound3D", tid, buf33); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4313,15 +4346,14 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ /* Create references to dataset */ - if(dset_name) - { - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) - status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,(hid_t)-1); + if (dset_name) { + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) + status = H5Rcreate(&buf43[i][j][k], fid, dset_name, H5R_OBJECT, (hid_t)-1); } } - write_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43); + write_attr(loc_id, 3, dims3, "reference3D", H5T_STD_REF_OBJ, buf43); } /*------------------------------------------------------------------------- @@ -4329,9 +4361,9 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_attr(loc_id,3,dims3,"enum3D",tid,0); + write_attr(loc_id, 3, dims3, "enum3D", tid, 0); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4341,22 +4373,22 @@ static void write_attr_in(hid_t loc_id, /* Allocate and initialize VL dataset to write */ n = 0; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { int l; - buf53[i][j][k].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf53[i][j][k].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf53[i][j][k].len = (size_t)(i + 1); - for(l = 0; l < i + 1; l++) + for (l = 0; l < i + 1; l++) ((int *)buf53[i][j][k].p)[l] = n++; } } } - sid = H5Screate_simple(3, dims3, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(3, dims3, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(aid, tid, buf53); HDassert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf53); @@ -4370,8 +4402,8 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ n = 1; - for(i = 0; i < 24; i++) - for(j = 0; j < (int)dimarray[0]; j++) + for (i = 0; i < 24; i++) + for (j = 0; j < (int)dimarray[0]; j++) buf63[i][j] = n++; tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); @@ -4382,21 +4414,20 @@ static void write_attr_in(hid_t loc_id, * H5T_INTEGER and H5T_FLOAT *------------------------------------------------------------------------- */ - n=1; f=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - buf73[i][j][k]=n++; - buf83[i][j][k]=f++; + n = 1; + f = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { + buf73[i][j][k] = n++; + buf83[i][j][k] = f++; } } } - write_attr(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73); - write_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83); + write_attr(loc_id, 3, dims3, "integer3D", H5T_NATIVE_INT, buf73); + write_attr(loc_id, 3, dims3, "float3D", H5T_NATIVE_FLOAT, buf83); } - - /*------------------------------------------------------------------------- * Function: write_dset_in * @@ -4411,68 +4442,61 @@ static void write_attr_in(hid_t loc_id, *------------------------------------------------------------------------- */ -static void write_dset_in(hid_t loc_id, - const char* dset_name, /* for saving reference to dataset*/ - hid_t fid) +static void +write_dset_in(hid_t loc_id, const char *dset_name, /* for saving reference to dataset*/ + hid_t fid) { /* Compound datatype */ - typedef struct s_t - { - char a; - double b; + typedef struct s_t { + char a; + double b; } s_t; - typedef enum - { - E_RED, - E_GREEN - } e_t; - - hid_t did; - hid_t sid; - hid_t tid; - hid_t plist_id; - herr_t H5_ATTR_NDEBUG_UNUSED status; - int val, i, j, k, n; - float f; - int fillvalue=2; + typedef enum { E_RED, E_GREEN } e_t; + + hid_t did; + hid_t sid; + hid_t tid; + hid_t plist_id; + herr_t H5_ATTR_NDEBUG_UNUSED status; + int val, i, j, k, n; + float f; + int fillvalue = 2; /* create 1D attributes with dimension [2], 2 elements */ - hsize_t dims[1]={2}; - char buf1[2][3]= {"ab","de"}; /* string */ - char buf2[2]= {1,2}; /* bitfield, opaque */ - s_t buf3[2]= {{1,2},{3,4}}; /* compound */ - hobj_ref_t buf4[2]; /* reference */ - hvl_t buf5[2]; /* vlen */ - hsize_t dimarray[1]={3}; /* array dimension */ - int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */ - int buf7[2]= {1,2}; /* integer */ - float buf8[2]= {1,2}; /* float */ + hsize_t dims[1] = {2}; + char buf1[2][3] = {"ab", "de"}; /* string */ + char buf2[2] = {1, 2}; /* bitfield, opaque */ + s_t buf3[2] = {{1, 2}, {3, 4}}; /* compound */ + hobj_ref_t buf4[2]; /* reference */ + hvl_t buf5[2]; /* vlen */ + hsize_t dimarray[1] = {3}; /* array dimension */ + int buf6[2][3] = {{1, 2, 3}, {4, 5, 6}}; /* array */ + int buf7[2] = {1, 2}; /* integer */ + float buf8[2] = {1, 2}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ - hsize_t dims2[2]={3,2}; - char buf12[6][3]= {"ab","cd","ef","gh","ij","kl"}; /* string */ - char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ - s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */ - hobj_ref_t buf42[3][2]; /* reference */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ - int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ - float buf82[3][2]= {{1,2},{3,4},{5,6}}; /* float */ + hsize_t dims2[2] = {3, 2}; + char buf12[6][3] = {"ab", "cd", "ef", "gh", "ij", "kl"}; /* string */ + char buf22[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* bitfield, opaque */ + s_t buf32[6] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}}; /* compound */ + hobj_ref_t buf42[3][2]; /* reference */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}}; /* array */ + int buf72[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* integer */ + float buf82[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ - hsize_t dims3[3]={4,3,2}; - char buf13[24][3]= {"ab","cd","ef","gh","ij","kl","mn","pq", - "rs","tu","vw","xz","AB","CD","EF","GH", - "IJ","KL","MN","PQ","RS","TU","VW","XZ"}; /* string */ - char buf23[4][3][2]; /* bitfield, opaque */ - s_t buf33[4][3][2]; /* compound */ - hobj_ref_t buf43[4][3][2]; /* reference */ - hvl_t buf53[4][3][2]; /* vlen */ - int buf63[24][3]; /* array */ - int buf73[4][3][2]; /* integer */ - float buf83[4][3][2]; /* float */ - + hsize_t dims3[3] = {4, 3, 2}; + char buf13[24][3] = {"ab", "cd", "ef", "gh", "ij", "kl", "mn", "pq", "rs", "tu", "vw", "xz", + "AB", "CD", "EF", "GH", "IJ", "KL", "MN", "PQ", "RS", "TU", "VW", "XZ"}; /* string */ + char buf23[4][3][2]; /* bitfield, opaque */ + s_t buf33[4][3][2]; /* compound */ + hobj_ref_t buf43[4][3][2]; /* reference */ + hvl_t buf53[4][3][2]; /* vlen */ + int buf63[24][3]; /* array */ + int buf73[4][3][2]; /* integer */ + float buf83[4][3][2]; /* float */ /*------------------------------------------------------------------------- * 1D @@ -4483,9 +4507,9 @@ static void write_dset_in(hid_t loc_id, * H5T_STRING *------------------------------------------------------------------------- */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_dset(loc_id,1,dims,"string",tid,buf1); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_dset(loc_id, 1, dims, "string", tid, buf1); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4493,26 +4517,26 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcopy(H5T_STD_B8LE); - write_dset(loc_id,1,dims,"bitfield",tid,buf2); + write_dset(loc_id, 1, dims, "bitfield", tid, buf2); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_OPAQUE *------------------------------------------------------------------------- */ - tid = H5Tcreate(H5T_OPAQUE, 1); + tid = H5Tcreate(H5T_OPAQUE, 1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_dset(loc_id,1,dims,"opaque",tid,buf2); + write_dset(loc_id, 1, dims, "opaque", tid, buf2); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_COMPOUND *------------------------------------------------------------------------- */ - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t)); H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_dset(loc_id,1,dims,"compound",tid,buf3); + write_dset(loc_id, 1, dims, "compound", tid, buf3); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4520,11 +4544,10 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ /* Create references to dataset */ - if(dset_name) - { - status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,(hid_t)-1); - status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,(hid_t)-1); - write_dset(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4); + if (dset_name) { + status = H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t)-1); + status = H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t)-1); + write_dset(loc_id, 1, dims, "reference", H5T_STD_REF_OBJ, buf4); } /*------------------------------------------------------------------------- @@ -4532,9 +4555,9 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_dset(loc_id,1,dims,"enum",tid,0); + write_dset(loc_id, 1, dims, "enum", tid, 0); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4544,17 +4567,17 @@ static void write_dset_in(hid_t loc_id, /* Allocate and initialize VL dataset to write */ - buf5[0].len = 1; - buf5[0].p = HDmalloc( 1 * sizeof(int)); - ((int *)buf5[0].p)[0]=1; - buf5[1].len = 2; - buf5[1].p = HDmalloc( 2 * sizeof(int)); - ((int *)buf5[1].p)[0]=2; - ((int *)buf5[1].p)[1]=3; + buf5[0].len = 1; + buf5[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf5[0].p)[0] = 1; + buf5[1].len = 2; + buf5[1].p = HDmalloc(2 * sizeof(int)); + ((int *)buf5[1].p)[0] = 2; + ((int *)buf5[1].p)[1] = 3; - sid = H5Screate_simple(1, dims, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); HDassert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf5); @@ -4575,9 +4598,8 @@ static void write_dset_in(hid_t loc_id, * H5T_INTEGER and H5T_FLOAT *------------------------------------------------------------------------- */ - write_dset(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7); - write_dset(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8); - + write_dset(loc_id, 1, dims, "integer", H5T_NATIVE_INT, buf7); + write_dset(loc_id, 1, dims, "float", H5T_NATIVE_FLOAT, buf8); /*------------------------------------------------------------------------- * 2D @@ -4588,9 +4610,9 @@ static void write_dset_in(hid_t loc_id, * H5T_STRING *------------------------------------------------------------------------- */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_dset(loc_id,2,dims2,"string2D",tid,buf12); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_dset(loc_id, 2, dims2, "string2D", tid, buf12); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4598,26 +4620,26 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcopy(H5T_STD_B8LE); - write_dset(loc_id,2,dims2,"bitfield2D",tid,buf22); + write_dset(loc_id, 2, dims2, "bitfield2D", tid, buf22); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_OPAQUE *------------------------------------------------------------------------- */ - tid = H5Tcreate(H5T_OPAQUE, 1); + tid = H5Tcreate(H5T_OPAQUE, 1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_dset(loc_id,2,dims2,"opaque2D",tid,buf22); + write_dset(loc_id, 2, dims2, "opaque2D", tid, buf22); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_COMPOUND *------------------------------------------------------------------------- */ - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t)); H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_dset(loc_id,2,dims2,"compound2D",tid,buf32); + write_dset(loc_id, 2, dims2, "compound2D", tid, buf32); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4625,14 +4647,13 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ /* Create references to dataset */ - if(dset_name) - { - for(i = 0; i < 3; i++) { - for(j = 0; j < 2; j++) { - status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,(hid_t)-1); + if (dset_name) { + for (i = 0; i < 3; i++) { + for (j = 0; j < 2; j++) { + status = H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, (hid_t)-1); } } - write_dset(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42); + write_dset(loc_id, 2, dims2, "reference2D", H5T_STD_REF_OBJ, buf42); } /*------------------------------------------------------------------------- @@ -4640,9 +4661,9 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_dset(loc_id,2,dims2,"enum2D",tid,0); + write_dset(loc_id, 2, dims2, "enum2D", tid, 0); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4651,20 +4672,20 @@ static void write_dset_in(hid_t loc_id, */ /* Allocate and initialize VL dataset to write */ - n=0; - for(i = 0; i < 3; i++) - for(j = 0; j < 2; j++) { + n = 0; + for (i = 0; i < 3; i++) + for (j = 0; j < 2; j++) { int l; - buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); + buf52[i][j].p = HDmalloc((size_t)(i + 1) * sizeof(int)); buf52[i][j].len = (size_t)(i + 1); - for(l = 0; l < i + 1; l++) + for (l = 0; l < i + 1; l++) ((int *)buf52[i][j].p)[l] = n++; } - sid = H5Screate_simple(2, dims2, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(2, dims2, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf52); HDassert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf52); @@ -4686,13 +4707,13 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ plist_id = H5Pcreate(H5P_DATASET_CREATE); - status = H5Pset_fill_value(plist_id, H5T_NATIVE_INT, &fillvalue); - sid = H5Screate_simple(2, dims2, NULL); - did = H5Dcreate2(loc_id, "integer2D", H5T_NATIVE_INT, sid, H5P_DEFAULT, plist_id, H5P_DEFAULT); - status = H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf72); - status = H5Pclose(plist_id); - status = H5Dclose(did); - status = H5Sclose(sid); + status = H5Pset_fill_value(plist_id, H5T_NATIVE_INT, &fillvalue); + sid = H5Screate_simple(2, dims2, NULL); + did = H5Dcreate2(loc_id, "integer2D", H5T_NATIVE_INT, sid, H5P_DEFAULT, plist_id, H5P_DEFAULT); + status = H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf72); + status = H5Pclose(plist_id); + status = H5Dclose(did); + status = H5Sclose(sid); /*------------------------------------------------------------------------- * H5T_FLOAT @@ -4701,7 +4722,6 @@ static void write_dset_in(hid_t loc_id, write_dset(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82); - /*------------------------------------------------------------------------- * 3D *------------------------------------------------------------------------- @@ -4711,9 +4731,9 @@ static void write_dset_in(hid_t loc_id, * H5T_STRING *------------------------------------------------------------------------- */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_dset(loc_id,3,dims3,"string3D",tid,buf13); + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_dset(loc_id, 3, dims3, "string3D", tid, buf13); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4721,22 +4741,22 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ - n=1; - for(i = 0; i < 4; i++) - for(j = 0; j < 3; j++) - for(k = 0; k < 2; k++) + n = 1; + for (i = 0; i < 4; i++) + for (j = 0; j < 3; j++) + for (k = 0; k < 2; k++) buf23[i][j][k] = (char)n++; tid = H5Tcopy(H5T_STD_B8LE); - write_dset(loc_id,3,dims3,"bitfield3D",tid,buf23); + write_dset(loc_id, 3, dims3, "bitfield3D", tid, buf23); status = H5Tclose(tid); /*------------------------------------------------------------------------- * H5T_OPAQUE *------------------------------------------------------------------------- */ - tid = H5Tcreate(H5T_OPAQUE, 1); + tid = H5Tcreate(H5T_OPAQUE, 1); status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_dset(loc_id,3,dims3,"opaque3D",tid,buf23); + write_dset(loc_id, 3, dims3, "opaque3D", tid, buf23); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4744,17 +4764,17 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ - n=1; - for(i = 0; i < 4; i++) - for(j = 0; j < 3; j++) - for(k = 0; k < 2; k++) { + n = 1; + for (i = 0; i < 4; i++) + for (j = 0; j < 3; j++) + for (k = 0; k < 2; k++) { buf33[i][j][k].a = (char)n++; buf33[i][j][k].b = n++; } - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t)); H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_dset(loc_id,3,dims3,"compound3D",tid,buf33); + write_dset(loc_id, 3, dims3, "compound3D", tid, buf33); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4762,15 +4782,14 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ /* Create references to dataset */ - if(dset_name) - { - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) - status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,(hid_t)-1); + if (dset_name) { + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) + status = H5Rcreate(&buf43[i][j][k], fid, dset_name, H5R_OBJECT, (hid_t)-1); } } - write_dset(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43); + write_dset(loc_id, 3, dims3, "reference3D", H5T_STD_REF_OBJ, buf43); } /*------------------------------------------------------------------------- @@ -4778,9 +4797,9 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_dset(loc_id,3,dims3,"enum3D",tid,0); + write_dset(loc_id, 3, dims3, "enum3D", tid, 0); status = H5Tclose(tid); /*------------------------------------------------------------------------- @@ -4790,20 +4809,20 @@ static void write_dset_in(hid_t loc_id, /* Allocate and initialize VL dataset to write */ n = 0; - for(i = 0; i < 4; i++) - for(j = 0; j < 3; j++) - for(k = 0; k < 2; k++) { + for (i = 0; i < 4; i++) + for (j = 0; j < 3; j++) + for (k = 0; k < 2; k++) { int l; - buf53[i][j][k].p = HDmalloc(((size_t)i + 1) * sizeof(int)); + buf53[i][j][k].p = HDmalloc(((size_t)i + 1) * sizeof(int)); buf53[i][j][k].len = (size_t)(i + 1); - for(l = 0; l < i + 1; l++) + for (l = 0; l < i + 1; l++) ((int *)buf53[i][j][k].p)[l] = n++; } - sid = H5Screate_simple(3, dims3, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(3, dims3, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf53); HDassert(status >= 0); status = H5Treclaim(tid, sid, H5P_DEFAULT, buf53); @@ -4816,10 +4835,10 @@ static void write_dset_in(hid_t loc_id, * H5T_ARRAY *------------------------------------------------------------------------- */ - n=1; - for(i = 0; i < 24; i++) { - for(j = 0; j < (int)dimarray[0]; j++) { - buf63[i][j]=n++; + n = 1; + for (i = 0; i < 24; i++) { + for (j = 0; j < (int)dimarray[0]; j++) { + buf63[i][j] = n++; } } @@ -4831,22 +4850,20 @@ static void write_dset_in(hid_t loc_id, * H5T_INTEGER and H5T_FLOAT *------------------------------------------------------------------------- */ - n=1; f=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - buf73[i][j][k]=n++; - buf83[i][j][k]=f++; + n = 1; + f = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { + buf73[i][j][k] = n++; + buf83[i][j][k] = f++; } } } - write_dset(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73); - write_dset(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83); + write_dset(loc_id, 3, dims3, "integer3D", H5T_NATIVE_INT, buf73); + write_dset(loc_id, 3, dims3, "float3D", H5T_NATIVE_FLOAT, buf83); } - - - /*------------------------------------------------------------------------- * Function: gent_attr_all * @@ -4861,23 +4878,24 @@ static void write_dset_in(hid_t loc_id, *------------------------------------------------------------------------- */ -static void gent_attr_all(void) +static void +gent_attr_all(void) { - hid_t fid; - hid_t did; - hid_t group_id; - hid_t group2_id; - hid_t root_id; - hid_t sid; - hsize_t dims[1] = {2}; - herr_t H5_ATTR_NDEBUG_UNUSED status; + hid_t fid; + hid_t did; + hid_t group_id; + hid_t group2_id; + hid_t root_id; + hid_t sid; + hsize_t dims[1] = {2}; + herr_t H5_ATTR_NDEBUG_UNUSED status; /* Create a file and a dataset */ fid = H5Fcreate(FILE40, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Create a 1D dataset */ - sid = H5Screate_simple(1,dims,NULL); - did = H5Dcreate2(fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); + did = H5Dcreate2(fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Sclose(sid); HDassert(status >= 0); @@ -4891,16 +4909,16 @@ static void gent_attr_all(void) *------------------------------------------------------------------------- */ - write_attr_in(did,"dset",fid); - write_attr_in(group_id,NULL,(hid_t)0); - write_attr_in(root_id,NULL,(hid_t)0); + write_attr_in(did, "dset", fid); + write_attr_in(group_id, NULL, (hid_t)0); + write_attr_in(root_id, NULL, (hid_t)0); /*------------------------------------------------------------------------- * write a series of datasets on group 2 *------------------------------------------------------------------------- */ - write_dset_in(group2_id,"/dset",fid); + write_dset_in(group2_id, "/dset", fid); /* Close */ status = H5Dclose(did); @@ -4917,7 +4935,6 @@ static void gent_attr_all(void) HDassert(status >= 0); } - /*------------------------------------------------------------------------- * Function: write_attr * @@ -4930,13 +4947,12 @@ static void gent_attr_all(void) *------------------------------------------------------------------------- */ -static -int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, - hid_t tid, void *buf) +static int +write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, hid_t tid, void *buf) { - hid_t aid; - hid_t sid; - herr_t status; + hid_t aid; + hid_t sid; + herr_t status; /* Create a buf space */ sid = H5Screate_simple(rank, dims, NULL); @@ -4945,7 +4961,7 @@ int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, aid = H5Acreate2(loc_id, attr_name, tid, sid, H5P_DEFAULT, H5P_DEFAULT); /* Write the buf */ - if(buf) + if (buf) status = H5Awrite(aid, tid, buf); /* Close */ @@ -4969,13 +4985,12 @@ int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, *------------------------------------------------------------------------- */ -static -int write_dset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, - hid_t tid, void *buf ) +static int +write_dset(hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, hid_t tid, void *buf) { - hid_t did; - hid_t sid; - herr_t status; + hid_t did; + hid_t sid; + herr_t status; /* Create a buf space */ sid = H5Screate_simple(rank, dims, NULL); @@ -4984,7 +4999,7 @@ int write_dset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, did = H5Dcreate2(loc_id, dset_name, tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* Write the buf */ - if(buf) + if (buf) status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); /* Close */ @@ -4994,67 +5009,64 @@ int write_dset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, return status; } - -static void gent_compound_complex(void) +static void +gent_compound_complex(void) { /* Structure and array for compound types */ typedef struct Array1Struct { - int a; - const char *b[F41_DIMb]; - char c[F41_ARRAY_DIMc]; - short d[F41_ARRAY_DIMd1][F41_ARRAY_DIMd2]; - float e; - double f[F41_ARRAY_DIMf]; - char g; + int a; + const char *b[F41_DIMb]; + char c[F41_ARRAY_DIMc]; + short d[F41_ARRAY_DIMd1][F41_ARRAY_DIMd2]; + float e; + double f[F41_ARRAY_DIMf]; + char g; } Array1Struct; - Array1Struct Array1[F41_LENGTH]; + Array1Struct Array1[F41_LENGTH]; /* Define the value of the string array */ - const char *quote [F41_DIMb] = { - "A fight is a contract that takes two people to honor.", - "A combative stance means that you've accepted the contract.", - "In which case, you deserve what you get.", - " -- Professor Cheng Man-ch'ing" - }; + const char *quote[F41_DIMb] = {"A fight is a contract that takes two people to honor.", + "A combative stance means that you've accepted the contract.", + "In which case, you deserve what you get.", + " -- Professor Cheng Man-ch'ing"}; /* Define the value of the character array */ - char chararray [F41_ARRAY_DIMc] = {'H', 'e', 'l', 'l', 'o', '!'}; - - - hid_t Array1Structid; /* File datatype identifier */ - hid_t array_tid; /* Array datatype handle */ - hid_t array1_tid; /* Array datatype handle */ - hid_t array2_tid; /* Array datatype handle */ - hid_t array4_tid; /* Array datatype handle */ - hid_t datafile, dataset; /* Datafile/dataset handles */ - hid_t dataspace; /* Dataspace handle */ - herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ - hsize_t dim[] = {F41_LENGTH}; /* Dataspace dimensions */ - hsize_t array_dimb[] = {F41_DIMb}; /* Array dimensions */ - hsize_t array_dimd[]={F41_ARRAY_DIMd1,F41_ARRAY_DIMd2}; /* Array dimensions */ - hsize_t array_dimf[]={F41_ARRAY_DIMf}; /* Array dimensions */ - hid_t str_array_id; + char chararray[F41_ARRAY_DIMc] = {'H', 'e', 'l', 'l', 'o', '!'}; + + hid_t Array1Structid; /* File datatype identifier */ + hid_t array_tid; /* Array datatype handle */ + hid_t array1_tid; /* Array datatype handle */ + hid_t array2_tid; /* Array datatype handle */ + hid_t array4_tid; /* Array datatype handle */ + hid_t datafile, dataset; /* Datafile/dataset handles */ + hid_t dataspace; /* Dataspace handle */ + herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ + hsize_t dim[] = {F41_LENGTH}; /* Dataspace dimensions */ + hsize_t array_dimb[] = {F41_DIMb}; /* Array dimensions */ + hsize_t array_dimd[] = {F41_ARRAY_DIMd1, F41_ARRAY_DIMd2}; /* Array dimensions */ + hsize_t array_dimf[] = {F41_ARRAY_DIMf}; /* Array dimensions */ + hid_t str_array_id; - int m, n, o; /* Array init loop vars */ + int m, n, o; /* Array init loop vars */ /* Initialize the data in the arrays/datastructure */ - for(m = 0; m< F41_LENGTH; m++) { + for (m = 0; m < F41_LENGTH; m++) { Array1[m].a = m; - for(n = 0; n < F41_DIMb; n++) + for (n = 0; n < F41_DIMb; n++) Array1[m].b[n] = quote[n]; - for(n = 0; n < F41_ARRAY_DIMc; n++) + for (n = 0; n < F41_ARRAY_DIMc; n++) Array1[m].c[n] = chararray[n]; - for(n = 0; n < F41_ARRAY_DIMd1; n++) - for(o = 0; o < F41_ARRAY_DIMd2; o++) + for (n = 0; n < F41_ARRAY_DIMd1; n++) + for (o = 0; o < F41_ARRAY_DIMd2; o++) Array1[m].d[n][o] = (short)(m + n + o); - Array1[m].e = (float)((float)m * 0.96F ); + Array1[m].e = (float)((float)m * 0.96F); - for(n = 0; n < F41_ARRAY_DIMf; n++) - Array1[m].f[n] = ((float)m * 1024.9637F ); + for (n = 0; n < F41_ARRAY_DIMf; n++) + Array1[m].f[n] = ((float)m * 1024.9637F); Array1[m].g = 'm'; } @@ -5064,16 +5076,15 @@ static void gent_compound_complex(void) HDassert(dataspace >= 0); /* Create the file */ - datafile = H5Fcreate(FILE41, H5F_ACC_TRUNC, H5P_DEFAULT, - H5P_DEFAULT); + datafile = H5Fcreate(FILE41, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); HDassert(datafile >= 0); /* Copy the array data type for the string array */ - array_tid = H5Tcopy (H5T_C_S1); + array_tid = H5Tcopy(H5T_C_S1); HDassert(array_tid >= 0); /* Set the string array size to Variable */ - status = H5Tset_size (array_tid,H5T_VARIABLE); + status = H5Tset_size(array_tid, H5T_VARIABLE); HDassert(status >= 0); /* Create the array data type for the string array */ @@ -5081,11 +5092,11 @@ static void gent_compound_complex(void) HDassert(str_array_id >= 0); /* Copy the array data type for the character array */ - array1_tid = H5Tcopy (H5T_C_S1); + array1_tid = H5Tcopy(H5T_C_S1); HDassert(array1_tid >= 0); /* Set the character array size */ - status = H5Tset_size (array1_tid, F41_ARRAY_DIMc); + status = H5Tset_size(array1_tid, F41_ARRAY_DIMc); HDassert(status >= 0); /* Create the array data type for the character array */ @@ -5097,45 +5108,37 @@ static void gent_compound_complex(void) HDassert(array4_tid >= 0); /* Create the memory data type */ - Array1Structid = H5Tcreate (H5T_COMPOUND, sizeof(Array1Struct)); + Array1Structid = H5Tcreate(H5T_COMPOUND, sizeof(Array1Struct)); HDassert(Array1Structid >= 0); /* Insert the arrays and variables into the structure */ - status = H5Tinsert(Array1Structid, "a_name", - HOFFSET(Array1Struct, a), H5T_NATIVE_INT); + status = H5Tinsert(Array1Structid, "a_name", HOFFSET(Array1Struct, a), H5T_NATIVE_INT); HDassert(status >= 0); - status = H5Tinsert(Array1Structid, "b_name", - HOFFSET(Array1Struct, b), str_array_id); + status = H5Tinsert(Array1Structid, "b_name", HOFFSET(Array1Struct, b), str_array_id); HDassert(status >= 0); - status = H5Tinsert(Array1Structid, "c_name", - HOFFSET(Array1Struct, c), array1_tid); + status = H5Tinsert(Array1Structid, "c_name", HOFFSET(Array1Struct, c), array1_tid); HDassert(status >= 0); - status = H5Tinsert(Array1Structid, "d_name", - HOFFSET(Array1Struct, d), array2_tid); + status = H5Tinsert(Array1Structid, "d_name", HOFFSET(Array1Struct, d), array2_tid); HDassert(status >= 0); - status = H5Tinsert(Array1Structid, "e_name", - HOFFSET(Array1Struct, e), H5T_NATIVE_FLOAT); + status = H5Tinsert(Array1Structid, "e_name", HOFFSET(Array1Struct, e), H5T_NATIVE_FLOAT); HDassert(status >= 0); - status = H5Tinsert(Array1Structid, "f_name", - HOFFSET(Array1Struct, f), array4_tid); + status = H5Tinsert(Array1Structid, "f_name", HOFFSET(Array1Struct, f), array4_tid); HDassert(status >= 0); - status = H5Tinsert(Array1Structid, "g_name", - HOFFSET(Array1Struct, g), H5T_NATIVE_CHAR); + status = H5Tinsert(Array1Structid, "g_name", HOFFSET(Array1Struct, g), H5T_NATIVE_CHAR); HDassert(status >= 0); /* Create the dataset */ - dataset = H5Dcreate2(datafile, F41_DATASETNAME, Array1Structid, - dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(datafile, F41_DATASETNAME, Array1Structid, dataspace, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT); /* Write data to the dataset */ - status = H5Dwrite(dataset, Array1Structid, H5S_ALL, H5S_ALL, - H5P_DEFAULT, Array1); + status = H5Dwrite(dataset, Array1Structid, H5S_ALL, H5S_ALL, H5P_DEFAULT, Array1); HDassert(status >= 0); /* Release resources */ @@ -5167,21 +5170,21 @@ static void gent_compound_complex(void) HDassert(status >= 0); } - -static void gent_named_dtype_attr(void) +static void +gent_named_dtype_attr(void) { - hid_t fid; - hid_t did; - hid_t sid; - hid_t tid; - hid_t aid; - hid_t gid; - int data=8; + hid_t fid; + hid_t did; + hid_t sid; + hid_t tid; + hid_t aid; + hid_t gid; + int data = 8; herr_t H5_ATTR_NDEBUG_UNUSED ret; /* Create a file */ - fid=H5Fcreate(FILE42, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>0); + fid = H5Fcreate(FILE42, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid > 0); /*------------------------------------------------------------------------- * datatype @@ -5189,8 +5192,8 @@ static void gent_named_dtype_attr(void) */ /* Create a datatype to commit and use */ - tid=H5Tcopy(H5T_NATIVE_INT); - HDassert(tid>0); + tid = H5Tcopy(H5T_NATIVE_INT); + HDassert(tid > 0); /* Commit datatype to file */ ret = H5Tcommit2(fid, F42_TYPENAME, tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -5272,20 +5275,20 @@ static void gent_named_dtype_attr(void) HDassert(ret >= 0); } - /*------------------------------------------------------------------------- * Function: gent_null_space * * Purpose: generates dataset and attribute of null dataspace *------------------------------------------------------------------------- */ -static void gent_null_space(void) +static void +gent_null_space(void) { hid_t fid, root, dataset, space, attr; - int dset_buf = 10; - int point = 4; + int dset_buf = 10; + int point = 4; - fid = H5Fcreate(FILE45, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE45, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); root = H5Gopen2(fid, "/", H5P_DEFAULT); /* null space */ @@ -5313,22 +5316,23 @@ static void gent_null_space(void) * Purpose: generates dataset and attribute with dataspace of 0 dimension size *------------------------------------------------------------------------- */ -static void gent_zero_dim_size(void) +static void +gent_zero_dim_size(void) { - hid_t fid, root, dataset, space, attr; - hsize_t dims1[] = {SPACE3_DIM1, SPACE3_DIM2}; - int dset_buf = 10; - int point = 4; + hid_t fid, root, dataset, space, attr; + hsize_t dims1[] = {SPACE3_DIM1, SPACE3_DIM2}; + int dset_buf = 10; + int point = 4; - fid = H5Fcreate(FILE67, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE67, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); root = H5Gopen2(fid, "/", H5P_DEFAULT); /* dataspace of 0 dimension size */ space = H5Screate_simple(SPACE3_RANK, dims1, NULL); /* dataset */ - dataset = H5Dcreate2(fid, "dset of 0 dimension size", H5T_STD_I32BE, space, H5P_DEFAULT, - H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(fid, "dset of 0 dimension size", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT); /* nothing should be written */ H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &dset_buf); @@ -5350,39 +5354,31 @@ static void gent_zero_dim_size(void) * *------------------------------------------------------------------------- */ -static -int make_dset(hid_t loc_id, - const char *name, - hid_t sid, - hid_t tid, - hid_t dcpl, - void *buf) +static int +make_dset(hid_t loc_id, const char *name, hid_t sid, hid_t tid, hid_t dcpl, void *buf) { - hid_t dsid; + hid_t dsid; /* create the dataset */ - if((dsid = H5Dcreate2(loc_id, name, tid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((dsid = H5Dcreate2(loc_id, name, tid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) return -1; /* write */ - if(H5Dwrite(dsid, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(dsid, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto out; /* close */ - if(H5Dclose(dsid) < 0) + if (H5Dclose(dsid) < 0) return -1; return 0; - out: - H5E_BEGIN_TRY { - H5Dclose(dsid); - } H5E_END_TRY; +out: + H5E_BEGIN_TRY { H5Dclose(dsid); } + H5E_END_TRY; return -1; } - - /*------------------------------------------------------------------------- * Function: make_external * @@ -5393,19 +5389,19 @@ int make_dset(hid_t loc_id, static void make_external(hid_t fid) { - hid_t dcpl; /*dataset creation property list */ - hid_t sid; /*dataspace ID */ - hid_t dsid; /*dataset ID */ - hsize_t cur_size[1]; /*data space current size */ - hsize_t max_size[1]; /*data space maximum size */ - hsize_t size; /*bytes reserved for data in the external file*/ - int H5_ATTR_NDEBUG_UNUSED ret; + hid_t dcpl; /*dataset creation property list */ + hid_t sid; /*dataspace ID */ + hid_t dsid; /*dataset ID */ + hsize_t cur_size[1]; /*data space current size */ + hsize_t max_size[1]; /*data space maximum size */ + hsize_t size; /*bytes reserved for data in the external file*/ + int H5_ATTR_NDEBUG_UNUSED ret; cur_size[0] = max_size[0] = 100; - size = (max_size[0]*sizeof(int)/2); + size = (max_size[0] * sizeof(int) / 2); dcpl = H5Pcreate(H5P_DATASET_CREATE); - ret = H5Pset_external(dcpl, "ext1.bin", (off_t)0, size); + ret = H5Pset_external(dcpl, "ext1.bin", (off_t)0, size); HDassert(ret >= 0); ret = H5Pset_external(dcpl, "ext2.bin", (off_t)0, size); @@ -5434,32 +5430,33 @@ make_external(hid_t fid) * *------------------------------------------------------------------------- */ -static void gent_filters(void) +static void +gent_filters(void) { - hid_t fid; /* file id */ - hid_t dcpl; /* dataset creation property list */ - hid_t sid; /* dataspace ID */ - hid_t tid; /* datatype ID */ + hid_t fid; /* file id */ + hid_t dcpl; /* dataset creation property list */ + hid_t sid; /* dataspace ID */ + hid_t tid; /* datatype ID */ #ifdef H5_HAVE_FILTER_SZIP - unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK; - unsigned szip_pixels_per_block=4; + unsigned szip_options_mask = H5_SZIP_ALLOW_K13_OPTION_MASK | H5_SZIP_NN_OPTION_MASK; + unsigned szip_pixels_per_block = 4; #endif /* H5_HAVE_FILTER_SZIP */ - hsize_t dims1[RANK] = {DIM1,DIM2}; - hsize_t chunk_dims[RANK] = {CDIM1,CDIM2}; - int buf1[DIM1][DIM2]; - int i, j, n; + hsize_t dims1[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int buf1[DIM1][DIM2]; + int i, j, n; int H5_ATTR_NDEBUG_UNUSED ret; - hbool_t supports_comments = FALSE; + hbool_t supports_comments = FALSE; - for(i=n=0; i<DIM1; i++){ - for(j=0; j<DIM2; j++){ - buf1[i][j]=n++; + for (i = n = 0; i < DIM1; i++) { + for (j = 0; j < DIM2; j++) { + buf1[i][j] = n++; } } /* create a file */ - fid = H5Fcreate(FILE44, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); + fid = H5Fcreate(FILE44, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid >= 0); /* Check if we support comments in the current VOL connector */ H5VLquery_optional(fid, H5VL_SUBCLS_OBJECT, H5VL_NATIVE_OBJECT_SET_COMMENT, &supports_comments); @@ -5478,7 +5475,7 @@ static void gent_filters(void) ret = H5Pset_layout(dcpl, H5D_COMPACT); HDassert(ret >= 0); - ret=make_dset(fid,"compact",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "compact", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); if (supports_comments) { @@ -5489,11 +5486,12 @@ static void gent_filters(void) ret = H5Pset_layout(dcpl, H5D_CONTIGUOUS); HDassert(ret >= 0); - ret=make_dset(fid,"contiguous",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "contiguous", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); if (supports_comments) { - ret = H5Oset_comment_by_name(fid, "contiguous", "This is a dataset with contiguous storage", H5P_DEFAULT); + ret = H5Oset_comment_by_name(fid, "contiguous", "This is a dataset with contiguous storage", + H5P_DEFAULT); HDassert(ret >= 0); } @@ -5503,7 +5501,7 @@ static void gent_filters(void) ret = H5Pset_chunk(dcpl, SPACE2_RANK, chunk_dims); HDassert(ret >= 0); - ret=make_dset(fid,"chunked",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "chunked", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); if (supports_comments) { @@ -5525,16 +5523,16 @@ static void gent_filters(void) *------------------------------------------------------------------------- */ #ifdef H5_HAVE_FILTER_SZIP - if(h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { + if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); /* set szip data */ - ret = H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block); + ret = H5Pset_szip(dcpl, szip_options_mask, szip_pixels_per_block); HDassert(ret >= 0); - ret=make_dset(fid,"szip",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "szip", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); } #endif /* H5_HAVE_FILTER_SZIP */ @@ -5543,51 +5541,49 @@ static void gent_filters(void) * GZIP *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); /* set deflate data */ ret = H5Pset_deflate(dcpl, 9); HDassert(ret >= 0); - ret=make_dset(fid,"deflate",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "deflate", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); #endif - /*------------------------------------------------------------------------- * shuffle *------------------------------------------------------------------------- */ /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); /* set the shuffle filter */ ret = H5Pset_shuffle(dcpl); HDassert(ret >= 0); - ret=make_dset(fid,"shuffle",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "shuffle", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); - /*------------------------------------------------------------------------- * checksum *------------------------------------------------------------------------- */ /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); /* set the checksum filter */ ret = H5Pset_fletcher32(dcpl); HDassert(ret >= 0); - ret=make_dset(fid,"fletcher32",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "fletcher32", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5596,16 +5592,16 @@ static void gent_filters(void) */ /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); /* set the checksum filter */ ret = H5Pset_nbit(dcpl); HDassert(ret >= 0); - tid=H5Tcopy(H5T_NATIVE_INT); - H5Tset_precision(tid,H5Tget_size(tid)-1); - ret=make_dset(fid,"nbit",sid,tid,dcpl,buf1); + tid = H5Tcopy(H5T_NATIVE_INT); + H5Tset_precision(tid, H5Tget_size(tid) - 1); + ret = make_dset(fid, "nbit", sid, tid, dcpl, buf1); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5614,14 +5610,14 @@ static void gent_filters(void) */ /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); /* set the scaleoffset filter */ - ret = H5Pset_scaleoffset(dcpl,H5Z_SO_INT,(int)H5Tget_size(H5T_NATIVE_INT)); + ret = H5Pset_scaleoffset(dcpl, H5Z_SO_INT, (int)H5Tget_size(H5T_NATIVE_INT)); HDassert(ret >= 0); - ret=make_dset(fid,"scaleoffset",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "scaleoffset", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5629,7 +5625,7 @@ static void gent_filters(void) *------------------------------------------------------------------------- */ /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); /* set the shuffle filter */ @@ -5637,15 +5633,15 @@ static void gent_filters(void) HDassert(ret >= 0); #ifdef H5_HAVE_FILTER_SZIP - if(h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { - szip_options_mask=H5_SZIP_CHIP_OPTION_MASK | H5_SZIP_EC_OPTION_MASK; + if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { + szip_options_mask = H5_SZIP_CHIP_OPTION_MASK | H5_SZIP_EC_OPTION_MASK; /* set szip data */ - ret = H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block); + ret = H5Pset_szip(dcpl, szip_options_mask, szip_pixels_per_block); HDassert(ret >= 0); } #endif /* H5_HAVE_FILTER_SZIP */ -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) /* set deflate data */ ret = H5Pset_deflate(dcpl, 5); HDassert(ret >= 0); @@ -5659,29 +5655,28 @@ static void gent_filters(void) ret = H5Pset_nbit(dcpl); HDassert(ret >= 0); - ret=make_dset(fid,"all",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "all", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); - /*------------------------------------------------------------------------- * user defined filter *------------------------------------------------------------------------- */ /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); - ret = H5Zregister (H5Z_MYFILTER); + ret = H5Zregister(H5Z_MYFILTER); HDassert(ret >= 0); - ret = H5Pset_filter (dcpl, MYFILTER_ID, 0, 0, NULL); + ret = H5Pset_filter(dcpl, MYFILTER_ID, 0, 0, NULL); HDassert(ret >= 0); - ret=make_dset(fid,"myfilter",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "myfilter", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + ret = H5Premove_filter(dcpl, H5Z_FILTER_ALL); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5696,7 +5691,7 @@ static void gent_filters(void) */ ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY); HDassert(ret >= 0); - ret=make_dset(fid,"alloc_time_early",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "alloc_time_early", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5705,7 +5700,7 @@ static void gent_filters(void) */ ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_INCR); HDassert(ret >= 0); - ret=make_dset(fid,"alloc_time_incr",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "alloc_time_incr", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5714,7 +5709,7 @@ static void gent_filters(void) */ ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_LATE); HDassert(ret >= 0); - ret=make_dset(fid,"alloc_time_late",sid,H5T_NATIVE_INT,dcpl,buf1); + ret = make_dset(fid, "alloc_time_late", sid, H5T_NATIVE_INT, dcpl, buf1); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5747,7 +5742,6 @@ static void gent_filters(void) HDassert(ret >= 0); } - /*------------------------------------------------------------------------- * Function: myfilter * @@ -5757,13 +5751,12 @@ static void gent_filters(void) */ static size_t myfilter(unsigned int H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, - const unsigned int H5_ATTR_UNUSED *cd_values, size_t nbytes, - size_t H5_ATTR_UNUSED *buf_size, void H5_ATTR_UNUSED **buf) + const unsigned int H5_ATTR_UNUSED *cd_values, size_t nbytes, size_t H5_ATTR_UNUSED *buf_size, + void H5_ATTR_UNUSED **buf) { return nbytes; } - /*------------------------------------------------------------------------- * Function: set_local_myfilter * @@ -5775,21 +5768,21 @@ myfilter(unsigned int H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, static herr_t set_local_myfilter(hid_t dcpl_id, hid_t H5_ATTR_UNUSED tid, hid_t H5_ATTR_UNUSED sid) { - unsigned flags; /* Filter flags */ - size_t cd_nelmts = 0; /* Number of filter parameters */ - unsigned cd_values[2] = {5, 6}; /* Filter parameters */ + unsigned flags; /* Filter flags */ + size_t cd_nelmts = 0; /* Number of filter parameters */ + unsigned cd_values[2] = {5, 6}; /* Filter parameters */ /* Get the filter's current parameters */ - if(H5Pget_filter_by_id2(dcpl_id, MYFILTER_ID, &flags, &cd_nelmts, cd_values, 0, NULL, NULL) < 0) - return(FAIL); + if (H5Pget_filter_by_id2(dcpl_id, MYFILTER_ID, &flags, &cd_nelmts, cd_values, 0, NULL, NULL) < 0) + return (FAIL); cd_nelmts = 2; /* Modify the filter's parameters for this dataset */ - if(H5Pmodify_filter(dcpl_id, MYFILTER_ID, flags, cd_nelmts, cd_values) < 0) - return(FAIL); + if (H5Pmodify_filter(dcpl_id, MYFILTER_ID, flags, cd_nelmts, cd_values) < 0) + return (FAIL); - return(SUCCEED); + return (SUCCEED); } /*------------------------------------------------------------------------- @@ -5799,62 +5792,54 @@ set_local_myfilter(hid_t dcpl_id, hid_t H5_ATTR_UNUSED tid, hid_t H5_ATTR_UNUSED * *------------------------------------------------------------------------- */ -static void gent_fcontents(void) +static void +gent_fcontents(void) { - hid_t fid; /* file id */ - hid_t gid1; /* group ID */ - hid_t tid; /* datatype ID */ - hsize_t dims[1]={4}; - int buf[4]={1,2,3,4}; - int H5_ATTR_NDEBUG_UNUSED ret; + hid_t fid; /* file id */ + hid_t gid1; /* group ID */ + hid_t tid; /* datatype ID */ + hsize_t dims[1] = {4}; + int buf[4] = {1, 2, 3, 4}; + int H5_ATTR_NDEBUG_UNUSED ret; /* create a file */ - fid = H5Fcreate(FILE46, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); - - - write_dset(fid,1,dims,"dset",H5T_NATIVE_INT,buf); + fid = H5Fcreate(FILE46, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid >= 0); + write_dset(fid, 1, dims, "dset", H5T_NATIVE_INT, buf); /*------------------------------------------------------------------------- * links *------------------------------------------------------------------------- */ - /* hard link to "dset" */ gid1 = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Lcreate_hard(gid1, "/dset", H5L_SAME_LOC, "dset1", H5P_DEFAULT, H5P_DEFAULT); H5Gclose(gid1); - /* hard link to "dset" */ gid1 = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Lcreate_hard(gid1, "/dset", H5L_SAME_LOC, "dset2", H5P_DEFAULT, H5P_DEFAULT); H5Gclose(gid1); - /* hard link to "g2" */ gid1 = H5Gopen2(fid, "/g1", H5P_DEFAULT); H5Lcreate_hard(gid1, "/g2", H5L_SAME_LOC, "g1.1", H5P_DEFAULT, H5P_DEFAULT); H5Gclose(gid1); - /* hard link to "dset" */ ret = H5Lcreate_hard(fid, "/dset", H5L_SAME_LOC, "dset3", H5P_DEFAULT, H5P_DEFAULT); HDassert(ret >= 0); - /* hard link to "dset" */ ret = H5Lcreate_hard(fid, "/dset", H5L_SAME_LOC, "dset4", H5P_DEFAULT, H5P_DEFAULT); HDassert(ret >= 0); - /* soft link to itself */ ret = H5Lcreate_soft("mylink", fid, "mylink", H5P_DEFAULT, H5P_DEFAULT); HDassert(ret >= 0); - /* soft link to "dset" */ ret = H5Lcreate_soft("/dset", fid, "softlink", H5P_DEFAULT, H5P_DEFAULT); HDassert(ret >= 0); @@ -5877,7 +5862,6 @@ static void gent_fcontents(void) ret = H5Tclose(tid); HDassert(ret >= 0); - /* no name datatype */ tid = H5Tcopy(H5T_NATIVE_INT); ret = H5Tcommit2(fid, "mytype2", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -5888,21 +5872,17 @@ static void gent_fcontents(void) ret = H5Tclose(tid); HDassert(ret >= 0); - /*------------------------------------------------------------------------- * close *------------------------------------------------------------------------- */ - ret = H5Fclose(fid); HDassert(ret >= 0); - /* create a file for the bootblock test */ - fid = H5Fcreate(FILE47, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); - + fid = H5Fcreate(FILE47, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid >= 0); ret = H5Fclose(fid); HDassert(ret >= 0); @@ -5915,35 +5895,34 @@ static void gent_fcontents(void) * *------------------------------------------------------------------------- */ -static void gent_fvalues(void) +static void +gent_fvalues(void) { /* compound datatype */ - typedef struct c_t - { - char a; - double b; + typedef struct c_t { + char a; + double b; } c_t; - - hid_t fid; /* file id */ - hid_t dcpl; /* dataset creation property list */ - hid_t sid; /* dataspace ID */ - hid_t tid; /* datatype ID */ - hid_t did; /* datasetID */ - hsize_t dims[1]={2}; - int buf[2]={1,2}; /* integer */ - int fillval1=-99; /* integer fill value */ - c_t buf2[2]={{1,2},{3,4}}; /* compound */ - c_t fillval2[1]={{1,2}}; /* compound fill value */ - hvl_t buf3[2]; /* vlen */ - hvl_t fillval3; /* vlen fill value */ - hsize_t dimarray[1]={3}; /* array dimension */ - int buf4[2][3]= {{1,2,3},{4,5,6}}; /* array */ - int H5_ATTR_NDEBUG_UNUSED ret; + hid_t fid; /* file id */ + hid_t dcpl; /* dataset creation property list */ + hid_t sid; /* dataspace ID */ + hid_t tid; /* datatype ID */ + hid_t did; /* datasetID */ + hsize_t dims[1] = {2}; + int buf[2] = {1, 2}; /* integer */ + int fillval1 = -99; /* integer fill value */ + c_t buf2[2] = {{1, 2}, {3, 4}}; /* compound */ + c_t fillval2[1] = {{1, 2}}; /* compound fill value */ + hvl_t buf3[2]; /* vlen */ + hvl_t fillval3; /* vlen fill value */ + hsize_t dimarray[1] = {3}; /* array dimension */ + int buf4[2][3] = {{1, 2, 3}, {4, 5, 6}}; /* array */ + int H5_ATTR_NDEBUG_UNUSED ret; /* create a file */ - fid = H5Fcreate(FILE48, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); + fid = H5Fcreate(FILE48, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid >= 0); /* create a space */ sid = H5Screate_simple(1, dims, NULL); @@ -5962,7 +5941,7 @@ static void gent_fvalues(void) ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); HDassert(ret >= 0); - ret=make_dset(fid,"fill_time_ifset",sid,H5T_NATIVE_INT,dcpl,buf); + ret = make_dset(fid, "fill_time_ifset", sid, H5T_NATIVE_INT, dcpl, buf); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5975,7 +5954,7 @@ static void gent_fvalues(void) ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); HDassert(ret >= 0); - ret=make_dset(fid,"fill_time_never",sid,H5T_NATIVE_INT,dcpl,buf); + ret = make_dset(fid, "fill_time_never", sid, H5T_NATIVE_INT, dcpl, buf); HDassert(ret >= 0); /*------------------------------------------------------------------------- @@ -5988,7 +5967,7 @@ static void gent_fvalues(void) ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); HDassert(ret >= 0); - ret=make_dset(fid,"fill_time_alloc",sid,H5T_NATIVE_INT,dcpl,buf); + ret = make_dset(fid, "fill_time_alloc", sid, H5T_NATIVE_INT, dcpl, buf); HDassert(ret >= 0); ret = H5Pclose(dcpl); @@ -5998,19 +5977,19 @@ static void gent_fvalues(void) * dataset with no fill value *------------------------------------------------------------------------- */ - write_dset(fid,1,dims,"no_fill",H5T_NATIVE_INT,buf); + write_dset(fid, 1, dims, "no_fill", H5T_NATIVE_INT, buf); /*------------------------------------------------------------------------- * dataset with a H5T_COMPOUND fill value *------------------------------------------------------------------------- */ dcpl = H5Pcreate(H5P_DATASET_CREATE); - tid = H5Tcreate (H5T_COMPOUND, sizeof(c_t)); + tid = H5Tcreate(H5T_COMPOUND, sizeof(c_t)); H5Tinsert(tid, "a", HOFFSET(c_t, a), H5T_NATIVE_CHAR); H5Tinsert(tid, "b", HOFFSET(c_t, b), H5T_NATIVE_DOUBLE); ret = H5Pset_fill_value(dcpl, tid, &fillval2); HDassert(ret >= 0); - ret=make_dset(fid,"fill_compound",sid,tid,dcpl,buf2); + ret = make_dset(fid, "fill_compound", sid, tid, dcpl, buf2); HDassert(ret >= 0); ret = H5Tclose(tid); HDassert(ret >= 0); @@ -6021,19 +6000,20 @@ static void gent_fvalues(void) * dataset with a H5T_VLEN fill value *------------------------------------------------------------------------- */ - buf3[0].len = 1; - buf3[0].p = HDmalloc( 1 * sizeof(int)); - ((int *)buf3[0].p)[0]=1; - buf3[1].len = 2; - buf3[1].p = HDmalloc(2 * sizeof(int)); + buf3[0].len = 1; + buf3[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf3[0].p)[0] = 1; + buf3[1].len = 2; + buf3[1].p = HDmalloc(2 * sizeof(int)); ((int *)buf3[1].p)[0] = 2; ((int *)buf3[1].p)[1] = 3; - tid = H5Tvlen_create(H5T_NATIVE_INT); + tid = H5Tvlen_create(H5T_NATIVE_INT); dcpl = H5Pcreate(H5P_DATASET_CREATE); - fillval3.p=NULL; fillval3.len=0; - ret = H5Pset_fill_value(dcpl, tid, &fillval3); + fillval3.p = NULL; + fillval3.len = 0; + ret = H5Pset_fill_value(dcpl, tid, &fillval3); HDassert(ret >= 0); did = H5Dcreate2(fid, "fill_vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -6054,7 +6034,6 @@ static void gent_fvalues(void) write_dset(fid, 1, dims, "fill_array", tid, buf4); ret = H5Tclose(tid); - /*------------------------------------------------------------------------- * close *------------------------------------------------------------------------- @@ -6065,7 +6044,6 @@ static void gent_fvalues(void) HDassert(ret >= 0); } - /*------------------------------------------------------------------------- * Function: gent_string * @@ -6073,49 +6051,50 @@ static void gent_fvalues(void) * *------------------------------------------------------------------------- */ -static void gent_string(void) +static void +gent_string(void) { /* compound datatype */ - typedef struct c_t - { - int a; - char str[255]; + typedef struct c_t { + int a; + char str[255]; } c_t; - hid_t fid; /* file id */ - hid_t sid; /* dataspace ID */ - hid_t tid; /* datatype ID */ - hid_t str_tid; /* datatype ID */ - hid_t did; /* dataset ID */ - char buf1[]={"quote \" backspace\b form feed\f new line\n tab\t new line\n carriage return\r"}; - const char *buf2[SPACE1_DIM1]= { - "Four score and seven\n years ago our forefathers brought forth on this continent a new nation,", - "conceived in liberty\n and dedicated to the proposition that all men are created equal.", - "Now we are engaged\n in a great civil war,", - "testing whether that\n nation or any nation so conceived and so dedicated can long endure." - }; - c_t buf3 = {24, "Four score and seven\n years ago our forefathers brought forth on this continent a new nation"}; - char buf4[] = {"Four score and seven\n years ago our forefathers brought forth on this continent a new nation"}; - hsize_t dims1[] = {1}; - hsize_t dims2[] = {SPACE1_DIM1}; - hsize_t dims4[1]; - int H5_ATTR_NDEBUG_UNUSED ret; + hid_t fid; /* file id */ + hid_t sid; /* dataspace ID */ + hid_t tid; /* datatype ID */ + hid_t str_tid; /* datatype ID */ + hid_t did; /* dataset ID */ + char buf1[] = {"quote \" backspace\b form feed\f new line\n tab\t new line\n carriage return\r"}; + const char *buf2[SPACE1_DIM1] = { + "Four score and seven\n years ago our forefathers brought forth on this continent a new nation,", + "conceived in liberty\n and dedicated to the proposition that all men are created equal.", + "Now we are engaged\n in a great civil war,", + "testing whether that\n nation or any nation so conceived and so dedicated can long endure."}; + c_t buf3 = { + 24, "Four score and seven\n years ago our forefathers brought forth on this continent a new nation"}; + char buf4[] = { + "Four score and seven\n years ago our forefathers brought forth on this continent a new nation"}; + hsize_t dims1[] = {1}; + hsize_t dims2[] = {SPACE1_DIM1}; + hsize_t dims4[1]; + int H5_ATTR_NDEBUG_UNUSED ret; dims4[0] = sizeof(buf4); /* create a file */ - fid = H5Fcreate(FILE49, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); + fid = H5Fcreate(FILE49, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid >= 0); /*------------------------------------------------------------------------- * str1 *------------------------------------------------------------------------- */ - tid=H5Tcopy(H5T_C_S1); + tid = H5Tcopy(H5T_C_S1); ret = H5Tset_size(tid, sizeof(buf1)); HDassert(ret >= 0); - write_dset(fid,1,dims1,"str1",tid,buf1); + write_dset(fid, 1, dims1, "str1", tid, buf1); HDassert(ret >= 0); ret = H5Tclose(tid); HDassert(ret >= 0); @@ -6142,13 +6121,13 @@ static void gent_string(void) * str3 *------------------------------------------------------------------------- */ - sid = H5Screate_simple(SPACE1_RANK, dims1, NULL); - tid = H5Tcreate (H5T_COMPOUND, sizeof(c_t)); - str_tid = H5Tcopy( H5T_C_S1 ); - H5Tset_size( str_tid, 255 ); + sid = H5Screate_simple(SPACE1_RANK, dims1, NULL); + tid = H5Tcreate(H5T_COMPOUND, sizeof(c_t)); + str_tid = H5Tcopy(H5T_C_S1); + H5Tset_size(str_tid, 255); H5Tinsert(tid, "a", HOFFSET(c_t, a), H5T_NATIVE_INT); - H5Tinsert(tid, "str", HOFFSET(c_t, str), str_tid ); - ret=make_dset(fid,"str3",sid,tid,H5P_DEFAULT,&buf3); + H5Tinsert(tid, "str", HOFFSET(c_t, str), str_tid); + ret = make_dset(fid, "str3", sid, tid, H5P_DEFAULT, &buf3); HDassert(ret >= 0); ret = H5Tclose(tid); HDassert(ret >= 0); @@ -6162,7 +6141,7 @@ static void gent_string(void) *------------------------------------------------------------------------- */ sid = H5Screate_simple(SPACE1_RANK, dims4, NULL); - ret=make_dset(fid,"str4",sid,H5T_NATIVE_CHAR,H5P_DEFAULT,buf4); + ret = make_dset(fid, "str4", sid, H5T_NATIVE_CHAR, H5P_DEFAULT, buf4); ret = H5Sclose(sid); HDassert(ret >= 0); @@ -6174,7 +6153,6 @@ static void gent_string(void) HDassert(ret >= 0); } - /*------------------------------------------------------------------------- * Function: gent_aindices * @@ -6182,49 +6160,50 @@ static void gent_string(void) * *------------------------------------------------------------------------- */ -static void gent_aindices(void) +static void +gent_aindices(void) { - hid_t fid; /* file id */ - hid_t gid[6]; /* group ids */ - hsize_t dims1[1] = {100}; - hsize_t dims2[2] = {10,10}; - hsize_t dims3[3] = {2,10,10}; - hsize_t dims4[4] = {2,2,10,10}; - int buf1[100]; - int buf2[10][10]; - int buf3[2][10][10]; - int buf4[2][2][10][10]; - int i, j, k, l, n; - int H5_ATTR_NDEBUG_UNUSED ret; - - for(i = n = 0; i < 100; i++) + hid_t fid; /* file id */ + hid_t gid[6]; /* group ids */ + hsize_t dims1[1] = {100}; + hsize_t dims2[2] = {10, 10}; + hsize_t dims3[3] = {2, 10, 10}; + hsize_t dims4[4] = {2, 2, 10, 10}; + int buf1[100]; + int buf2[10][10]; + int buf3[2][10][10]; + int buf4[2][2][10][10]; + int i, j, k, l, n; + int H5_ATTR_NDEBUG_UNUSED ret; + + for (i = n = 0; i < 100; i++) buf1[i] = n++; - for(i = n = 0; i < 10; i++) - for(j = 0; j < 10; j++) + for (i = n = 0; i < 10; i++) + for (j = 0; j < 10; j++) buf2[i][j] = n++; - for(i = n = 0; i < 2; i++) - for(j = 0; j < 10; j++) - for(k = 0; k < 10; k++) + for (i = n = 0; i < 2; i++) + for (j = 0; j < 10; j++) + for (k = 0; k < 10; k++) buf3[i][j][k] = n++; - for(i = n = 0; i < 2; i++) - for(j = 0; j < 2; j++) - for(k = 0; k < 10; k++) - for(l = 0; l < 10; l++) + for (i = n = 0; i < 2; i++) + for (j = 0; j < 2; j++) + for (k = 0; k < 10; k++) + for (l = 0; l < 10; l++) buf4[i][j][k][l] = n++; /* create a file */ - fid = H5Fcreate(FILE50, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); + fid = H5Fcreate(FILE50, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid >= 0); /*------------------------------------------------------------------------- * root datasets *------------------------------------------------------------------------- */ - write_dset(fid,1,dims1,"1d",H5T_NATIVE_INT,buf1); - write_dset(fid,2,dims2,"2d",H5T_NATIVE_INT,buf2); - write_dset(fid,3,dims3,"3d",H5T_NATIVE_INT,buf3); - write_dset(fid,4,dims4,"4d",H5T_NATIVE_INT,buf4); + write_dset(fid, 1, dims1, "1d", H5T_NATIVE_INT, buf1); + write_dset(fid, 2, dims2, "2d", H5T_NATIVE_INT, buf2); + write_dset(fid, 3, dims3, "3d", H5T_NATIVE_INT, buf3); + write_dset(fid, 4, dims4, "4d", H5T_NATIVE_INT, buf4); /*------------------------------------------------------------------------- * test with group indentation @@ -6236,11 +6215,11 @@ static void gent_aindices(void) gid[3] = H5Gcreate2(fid, "g1/g2/g3/g4", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); gid[4] = H5Gcreate2(fid, "g1/g2/g3/g4/g5", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); gid[5] = H5Gcreate2(fid, "g1/g2/g3/g4/g5/g6", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - write_dset(gid[5],1,dims1,"1d",H5T_NATIVE_INT,buf1); - write_dset(gid[5],2,dims2,"2d",H5T_NATIVE_INT,buf2); - write_dset(gid[5],3,dims3,"3d",H5T_NATIVE_INT,buf3); - write_dset(gid[5],4,dims4,"4d",H5T_NATIVE_INT,buf4); - for(i = 0; i < 6; i++) + write_dset(gid[5], 1, dims1, "1d", H5T_NATIVE_INT, buf1); + write_dset(gid[5], 2, dims2, "2d", H5T_NATIVE_INT, buf2); + write_dset(gid[5], 3, dims3, "3d", H5T_NATIVE_INT, buf3); + write_dset(gid[5], 4, dims4, "4d", H5T_NATIVE_INT, buf4); + for (i = 0; i < 6; i++) H5Gclose(gid[i]); /*------------------------------------------------------------------------- @@ -6249,10 +6228,8 @@ static void gent_aindices(void) */ ret = H5Fclose(fid); HDassert(ret >= 0); - } - /*------------------------------------------------------------------------- * Function: gent_longlinks * @@ -6260,13 +6237,14 @@ static void gent_aindices(void) * *------------------------------------------------------------------------- */ -static void gent_longlinks(void) +static void +gent_longlinks(void) { - hid_t fid = (-1); /* File ID */ - hid_t gid = (-1); /* Group ID */ - hid_t H5_ATTR_NDEBUG_UNUSED gid2 = (-1); /* Datatype ID */ - char *objname = NULL; /* Name of object [Long] */ - size_t u; /* Local index variable */ + hid_t fid = (-1); /* File ID */ + hid_t gid = (-1); /* Group ID */ + hid_t H5_ATTR_NDEBUG_UNUSED gid2 = (-1); /* Datatype ID */ + char * objname = NULL; /* Name of object [Long] */ + size_t u; /* Local index variable */ /* Create files */ fid = H5Fcreate(FILE51, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -6277,9 +6255,9 @@ static void gent_longlinks(void) HDassert(gid >= 0); /* Construct very long file name */ - objname = (char*) HDmalloc((size_t)(F51_MAX_NAME_LEN + 1)); + objname = (char *)HDmalloc((size_t)(F51_MAX_NAME_LEN + 1)); HDassert(objname); - for(u = 0; u < F51_MAX_NAME_LEN; u++) + for (u = 0; u < F51_MAX_NAME_LEN; u++) objname[u] = 'a'; objname[F51_MAX_NAME_LEN] = '\0'; @@ -6310,40 +6288,41 @@ static void gent_longlinks(void) * *------------------------------------------------------------------------- */ -static int gent_ldouble(void) +static int +gent_ldouble(void) { hid_t fid; hid_t did; hid_t tid; hid_t sid; hsize_t dims[1] = {3}; - long double buf[3] = {1,2,3}; + long double buf[3] = {1, 2, 3}; - if((fid = H5Fcreate(FILE52, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FILE52, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if((sid = H5Screate_simple(1, dims, NULL)) < 0) + if ((sid = H5Screate_simple(1, dims, NULL)) < 0) goto error; - if((tid = H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) + if ((tid = H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) goto error; - if(H5Tget_size(tid) == 0) + if (H5Tget_size(tid) == 0) goto error; - if((did = H5Dcreate2(fid, "dset", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "dset", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto error; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; return 0; @@ -6351,10 +6330,8 @@ static int gent_ldouble(void) error: HDprintf("error !\n"); return -1; - } - /*------------------------------------------------------------------------- * Function: gent_binary * @@ -6369,16 +6346,15 @@ error: static void gent_binary(void) { - hid_t fid, sid, did, aid; - hsize_t dims[1] = {6}; - int ibuf[6] = {1,2,3,4,5,6}; - float fbuf[6] = {1,2,3,4,5,6}; - double dbuf[6] = {1,2,3,4,5,6}; + hid_t fid, sid, did, aid; + hsize_t dims[1] = {6}; + int ibuf[6] = {1, 2, 3, 4, 5, 6}; + float fbuf[6] = {1, 2, 3, 4, 5, 6}; + double dbuf[6] = {1, 2, 3, 4, 5, 6}; fid = H5Fcreate(FILE55, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); sid = H5Screate_simple(1, dims, NULL); - /*------------------------------------------------------------------------- * integer *------------------------------------------------------------------------- @@ -6407,7 +6383,6 @@ gent_binary(void) H5Aclose(aid); H5Dclose(did); - /* close */ H5Sclose(sid); H5Fclose(fid); @@ -6421,88 +6396,86 @@ gent_binary(void) * *------------------------------------------------------------------------- */ -#define GB4LL ((unsigned long long) 4*1024*1024*1024) -#define DIM_4GB (GB4LL + 10) +#define GB4LL ((unsigned long long)4 * 1024 * 1024 * 1024) +#define DIM_4GB (GB4LL + 10) static void gent_bigdims(void) { - hid_t fid = H5I_INVALID_HID; - hid_t did = H5I_INVALID_HID; - hid_t f_sid = H5I_INVALID_HID; - hid_t m_sid = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; - hid_t dcpl = H5I_INVALID_HID; - hsize_t dims[1]={DIM_4GB}; /* dataset dimensions */ - hsize_t chunk_dims[1]={1024}; /* chunk dimensions */ - hsize_t hs_start[1]; - hsize_t hs_size[1]; /* hyperslab dimensions */ - size_t size; - char fillvalue=0; - char *buf=NULL; - hsize_t i; - char c; - size_t nelmts; - int H5_ATTR_NDEBUG_UNUSED ret; + hid_t fid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t f_sid = H5I_INVALID_HID; + hid_t m_sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; + hid_t dcpl = H5I_INVALID_HID; + hsize_t dims[1] = {DIM_4GB}; /* dataset dimensions */ + hsize_t chunk_dims[1] = {1024}; /* chunk dimensions */ + hsize_t hs_start[1]; + hsize_t hs_size[1]; /* hyperslab dimensions */ + size_t size; + char fillvalue = 0; + char * buf = NULL; + hsize_t i; + char c; + size_t nelmts; + int H5_ATTR_NDEBUG_UNUSED ret; /* create a file */ - fid = H5Fcreate(FILE56, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE56, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); HDassert(fid >= 0); /* create dataset */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto out; - if(H5Pset_fill_value(dcpl, H5T_NATIVE_SCHAR, &fillvalue) < 0) + if (H5Pset_fill_value(dcpl, H5T_NATIVE_SCHAR, &fillvalue) < 0) goto out; - if(H5Pset_chunk(dcpl, 1, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, 1, chunk_dims) < 0) goto out; - if((f_sid = H5Screate_simple(1, dims, NULL)) < 0) + if ((f_sid = H5Screate_simple(1, dims, NULL)) < 0) goto out; - if((did = H5Dcreate2(fid, "dset4gb", H5T_NATIVE_SCHAR, f_sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "dset4gb", H5T_NATIVE_SCHAR, f_sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto out; - if((tid = H5Dget_type(did)) < 0) + if ((tid = H5Dget_type(did)) < 0) goto out; - if((size = H5Tget_size(tid)) <= 0) + if ((size = H5Tget_size(tid)) <= 0) goto out; /* select an hyperslab */ - nelmts = 20; + nelmts = 20; hs_start[0] = GB4LL - 10; hs_size[0] = nelmts; - if((m_sid = H5Screate_simple(1, hs_size, hs_size)) < 0) + if ((m_sid = H5Screate_simple(1, hs_size, hs_size)) < 0) goto out; - buf=(char *) HDmalloc((unsigned)(nelmts*size)); + buf = (char *)HDmalloc((unsigned)(nelmts * size)); - for(i=0, c=0; i<nelmts; i++, c++) - { + for (i = 0, c = 0; i < nelmts; i++, c++) { buf[i] = c; } - if(H5Sselect_hyperslab (f_sid,H5S_SELECT_SET,hs_start,NULL,hs_size,NULL) < 0) + if (H5Sselect_hyperslab(f_sid, H5S_SELECT_SET, hs_start, NULL, hs_size, NULL) < 0) goto out; - if(H5Dwrite (did,H5T_NATIVE_SCHAR,m_sid,f_sid,H5P_DEFAULT,buf) < 0) + if (H5Dwrite(did, H5T_NATIVE_SCHAR, m_sid, f_sid, H5P_DEFAULT, buf) < 0) goto out; - HDfree(buf); - buf=NULL; + buf = NULL; /* close */ - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; - if(H5Sclose(f_sid) < 0) + if (H5Sclose(f_sid) < 0) goto out; f_sid = H5I_INVALID_HID; - if(H5Sclose(m_sid) < 0) + if (H5Sclose(m_sid) < 0) goto out; m_sid = H5I_INVALID_HID; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto out; dcpl = H5I_INVALID_HID; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; did = H5I_INVALID_HID; @@ -6511,21 +6484,21 @@ gent_bigdims(void) return; - out: +out: HDprintf("Error.....\n"); - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(f_sid); H5Sclose(m_sid); H5Tclose(tid); H5Dclose(did); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; return; } - - /*------------------------------------------------------------------------- * Function: gent_hyperslab * @@ -6536,21 +6509,21 @@ gent_bigdims(void) static void gent_hyperslab(void) { - hid_t fid; /* file id */ - hsize_t dims[2] = {32,4097}; /* big enough data size to force a second stripmine read */ - double *buf; - int i; - int H5_ATTR_NDEBUG_UNUSED ret; + hid_t fid; /* file id */ + hsize_t dims[2] = {32, 4097}; /* big enough data size to force a second stripmine read */ + double *buf; + int i; + int H5_ATTR_NDEBUG_UNUSED ret; - buf = (double*) HDmalloc(32 * 4097 * sizeof(double) ); - for(i = 0; i < 32 * 4097; i++) + buf = (double *)HDmalloc(32 * 4097 * sizeof(double)); + for (i = 0; i < 32 * 4097; i++) buf[i] = 1; /* create a file */ - fid = H5Fcreate(FILE57, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); + fid = H5Fcreate(FILE57, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid >= 0); - write_dset(fid,2,dims,"stripmine",H5T_NATIVE_DOUBLE,buf); + write_dset(fid, 2, dims, "stripmine", H5T_NATIVE_DOUBLE, buf); ret = H5Fclose(fid); HDassert(ret >= 0); @@ -6569,23 +6542,22 @@ gent_hyperslab(void) static void gent_group_creation_order(void) { - hid_t fid = H5I_INVALID_HID; /* file ID */ - hid_t gid = H5I_INVALID_HID; /* group ID */ - hid_t gcpl_id = H5I_INVALID_HID; /* group creation property list ID */ - hid_t fcpl_id = H5I_INVALID_HID; /* file creation property list ID (to set root group order) */ + hid_t fid = H5I_INVALID_HID; /* file ID */ + hid_t gid = H5I_INVALID_HID; /* group ID */ + hid_t gcpl_id = H5I_INVALID_HID; /* group creation property list ID */ + hid_t fcpl_id = H5I_INVALID_HID; /* file creation property list ID (to set root group order) */ - if((fcpl_id = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl_id = H5Pcreate(H5P_FILE_CREATE)) < 0) goto out; - if(H5Pset_link_creation_order(fcpl_id, H5P_CRT_ORDER_TRACKED ) < 0) + if (H5Pset_link_creation_order(fcpl_id, H5P_CRT_ORDER_TRACKED) < 0) goto out; - if((fid = H5Fcreate(FILE58, H5F_ACC_TRUNC, fcpl_id, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FILE58, H5F_ACC_TRUNC, fcpl_id, H5P_DEFAULT)) < 0) goto out; - /* create group creation property list */ - if((gcpl_id = H5Pcreate(H5P_GROUP_CREATE)) < 0) + if ((gcpl_id = H5Pcreate(H5P_GROUP_CREATE)) < 0) goto out; /*------------------------------------------------------------------------- @@ -6593,128 +6565,124 @@ gent_group_creation_order(void) *------------------------------------------------------------------------- */ - - if((gid = H5Gcreate2(fid, "2", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "2", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "2/c", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "2/c", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "2/b", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "2/b", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "2/a", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "2/a", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "2/a/a2", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "2/a/a2", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "2/a/a1", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "2/a/a1", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "2/a/a2/a22", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "2/a/a2/a22", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "2/a/a2/a21", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "2/a/a2/a21", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - /*------------------------------------------------------------------------- * create a group "1" with H5P_CRT_ORDER_TRACKED set *------------------------------------------------------------------------- */ - if(H5Pset_link_creation_order(gcpl_id, H5P_CRT_ORDER_TRACKED) < 0) + if (H5Pset_link_creation_order(gcpl_id, H5P_CRT_ORDER_TRACKED) < 0) goto out; - - if((gid = H5Gcreate2(fid, "1", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "1", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "1/c", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "1/c", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "1/b", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "1/b", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "1/a", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "1/a", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "1/a/a2", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "1/a/a2", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "1/a/a1", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "1/a/a1", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "1/a/a2/a22", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "1/a/a2/a22", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - if((gid = H5Gcreate2(fid, "1/a/a2/a21", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "1/a/a2/a21", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; - - if(H5Pclose(gcpl_id) < 0) + if (H5Pclose(gcpl_id) < 0) goto out; gcpl_id = H5I_INVALID_HID; - if(H5Pclose(fcpl_id) < 0) + if (H5Pclose(fcpl_id) < 0) goto out; fcpl_id = H5I_INVALID_HID; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto out; fid = H5I_INVALID_HID; return; - out: +out: HDprintf("Error.....\n"); - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Gclose(gid); H5Pclose(gcpl_id); H5Pclose(fcpl_id); H5Fclose(fid); - - } H5E_END_TRY; + } + H5E_END_TRY; return; - } /*------------------------------------------------------------------------- @@ -6728,47 +6696,47 @@ gent_group_creation_order(void) static void gent_attr_creation_order(void) { - hid_t fid = H5I_INVALID_HID; /* file id */ - hid_t gid = H5I_INVALID_HID; /* group id */ - hid_t did = H5I_INVALID_HID; /* dataset id */ - hid_t sid = H5I_INVALID_HID; /* space id */ - hid_t aid = H5I_INVALID_HID; /* attribute id */ - hid_t tid = H5I_INVALID_HID; /* datatype id */ - hid_t gcpl_id = H5I_INVALID_HID; /* group creation property list ID */ - hid_t dcpl_id = H5I_INVALID_HID; /* dataset creation property list ID */ - hid_t tcpl_id = H5I_INVALID_HID; /* datatype creation property list ID */ - int i; - const char *attr_name[3] = {"c", "b", "a" }; - - if((fid = H5Fcreate(FILE59, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + hid_t fid = H5I_INVALID_HID; /* file id */ + hid_t gid = H5I_INVALID_HID; /* group id */ + hid_t did = H5I_INVALID_HID; /* dataset id */ + hid_t sid = H5I_INVALID_HID; /* space id */ + hid_t aid = H5I_INVALID_HID; /* attribute id */ + hid_t tid = H5I_INVALID_HID; /* datatype id */ + hid_t gcpl_id = H5I_INVALID_HID; /* group creation property list ID */ + hid_t dcpl_id = H5I_INVALID_HID; /* dataset creation property list ID */ + hid_t tcpl_id = H5I_INVALID_HID; /* datatype creation property list ID */ + int i; + const char *attr_name[3] = {"c", "b", "a"}; + + if ((fid = H5Fcreate(FILE59, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* create group creation property list */ - if((gcpl_id = H5Pcreate(H5P_GROUP_CREATE)) < 0) + if ((gcpl_id = H5Pcreate(H5P_GROUP_CREATE)) < 0) goto out; /* create dataset creation property list */ - if((dcpl_id = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl_id = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto out; /* create dataset creation property list */ - if((tcpl_id = H5Pcreate(H5P_DATATYPE_CREATE)) < 0) + if ((tcpl_id = H5Pcreate(H5P_DATATYPE_CREATE)) < 0) goto out; /* enable attribute creation order tracking on dataset property list */ - if(H5Pset_attr_creation_order(dcpl_id, H5P_CRT_ORDER_TRACKED) < 0) + if (H5Pset_attr_creation_order(dcpl_id, H5P_CRT_ORDER_TRACKED) < 0) goto out; /* enable attribute creation order tracking on group property list */ - if(H5Pset_attr_creation_order(gcpl_id, H5P_CRT_ORDER_TRACKED) < 0) + if (H5Pset_attr_creation_order(gcpl_id, H5P_CRT_ORDER_TRACKED) < 0) goto out; /* enable attribute creation order tracking on datatype property list */ - if(H5Pset_attr_creation_order(tcpl_id, H5P_CRT_ORDER_TRACKED) < 0) + if (H5Pset_attr_creation_order(tcpl_id, H5P_CRT_ORDER_TRACKED) < 0) goto out; /* create a dataspace */ - if((sid = H5Screate(H5S_SCALAR)) < 0) + if ((sid = H5Screate(H5S_SCALAR)) < 0) goto out; /*------------------------------------------------------------------------- @@ -6777,74 +6745,68 @@ gent_attr_creation_order(void) */ /* create a dataset */ - if((did = H5Dcreate2(fid, "dt", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, dcpl_id, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "dt", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, dcpl_id, H5P_DEFAULT)) < 0) goto out; /* add attributes */ - for(i = 0; i < 3; i++) - { - if((aid = H5Acreate2(did, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 0; i < 3; i++) { + if ((aid = H5Acreate2(did, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* close attribute */ - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; aid = H5I_INVALID_HID; } /* end for */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; did = H5I_INVALID_HID; - /*------------------------------------------------------------------------- * create a dataset without creation order tracked for attributes and atributes in it *------------------------------------------------------------------------- */ /* create a dataset */ - if((did = H5Dcreate2(fid, "d", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "d", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* add attributes */ - for(i = 0; i < 3; i++) - { - if((aid = H5Acreate2(did, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 0; i < 3; i++) { + if ((aid = H5Acreate2(did, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* close attribute */ - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; aid = H5I_INVALID_HID; } /* end for */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; did = H5I_INVALID_HID; - - /*------------------------------------------------------------------------- * create a group with creation order tracked for attributes and atributes in it *------------------------------------------------------------------------- */ - if((gid = H5Gcreate2(fid, "gt", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "gt", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) goto out; /* add attributes */ - for(i = 0; i < 3; i++) - { - if((aid = H5Acreate2(gid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 0; i < 3; i++) { + if ((aid = H5Acreate2(gid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* close attribute */ - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; aid = H5I_INVALID_HID; } /* end for */ - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; @@ -6853,22 +6815,21 @@ gent_attr_creation_order(void) *------------------------------------------------------------------------- */ - if((gid = H5Gcreate2(fid, "g", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "g", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* add attributes */ - for(i = 0; i < 3; i++) - { - if((aid = H5Acreate2(gid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 0; i < 3; i++) { + if ((aid = H5Acreate2(gid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* close attribute */ - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; aid = H5I_INVALID_HID; } /* end for */ - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; @@ -6877,25 +6838,24 @@ gent_attr_creation_order(void) *------------------------------------------------------------------------- */ - if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) + if ((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) goto out; - if((H5Tcommit2(fid, "tt", tid, H5P_DEFAULT, tcpl_id, H5P_DEFAULT)) < 0) + if ((H5Tcommit2(fid, "tt", tid, H5P_DEFAULT, tcpl_id, H5P_DEFAULT)) < 0) goto out; /* add attributes */ - for(i = 0; i < 3; i++) - { - if((aid = H5Acreate2(tid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 0; i < 3; i++) { + if ((aid = H5Acreate2(tid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* close attribute */ - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; aid = H5I_INVALID_HID; } /* end for */ - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; @@ -6904,25 +6864,24 @@ gent_attr_creation_order(void) *------------------------------------------------------------------------- */ - if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) + if ((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) goto out; - if((H5Tcommit2(fid, "t", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((H5Tcommit2(fid, "t", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* add attributes */ - for(i = 0; i < 3; i++) - { - if((aid = H5Acreate2(tid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 0; i < 3; i++) { + if ((aid = H5Acreate2(tid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* close attribute */ - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; aid = H5I_INVALID_HID; } /* end for */ - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; @@ -6930,22 +6889,21 @@ gent_attr_creation_order(void) * add some attributes to the root group *------------------------------------------------------------------------- */ - if((gid = H5Gopen2(fid, "/", H5P_DEFAULT)) < 0) + if ((gid = H5Gopen2(fid, "/", H5P_DEFAULT)) < 0) goto out; /* add attributes */ - for(i = 0; i < 3; i++) - { - if((aid = H5Acreate2(gid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 0; i < 3; i++) { + if ((aid = H5Acreate2(gid, attr_name[i], H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /* close attribute */ - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; aid = H5I_INVALID_HID; } /* end for */ - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; gid = H5I_INVALID_HID; @@ -6953,29 +6911,28 @@ gent_attr_creation_order(void) * close *------------------------------------------------------------------------- */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto out; sid = H5I_INVALID_HID; - if(H5Pclose(dcpl_id) < 0) + if (H5Pclose(dcpl_id) < 0) goto out; dcpl_id = H5I_INVALID_HID; - if(H5Pclose(gcpl_id) < 0) + if (H5Pclose(gcpl_id) < 0) goto out; gcpl_id = H5I_INVALID_HID; - if(H5Pclose(tcpl_id) < 0) + if (H5Pclose(tcpl_id) < 0) goto out; tcpl_id = H5I_INVALID_HID; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto out; fid = H5I_INVALID_HID; - - return; - out: +out: HDprintf("Error.....\n"); - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Gclose(gid); H5Dclose(did); H5Sclose(sid); @@ -6983,10 +6940,9 @@ gent_attr_creation_order(void) H5Pclose(dcpl_id); H5Pclose(tcpl_id); H5Fclose(fid); - - } H5E_END_TRY; + } + H5E_END_TRY; return; - } /*------------------------------------------------------------------------- @@ -7002,10 +6958,10 @@ gent_attr_creation_order(void) static void gent_fpformat(void) { - hid_t fid, sid, did; - hsize_t dims[1] = {6}; - double dbuf[6] = {-0.1234567f, 0.1234567f, 0, 0, 0, 0}; - float fbuf[6] = {-0.1234567f, 0.1234567f, 0, 0, 0, 0}; + hid_t fid, sid, did; + hsize_t dims[1] = {6}; + double dbuf[6] = {-0.1234567f, 0.1234567f, 0, 0, 0, 0}; + float fbuf[6] = {-0.1234567f, 0.1234567f, 0, 0, 0, 0}; fid = H5Fcreate(FILE60, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); sid = H5Screate_simple(1, dims, NULL); @@ -7018,7 +6974,6 @@ gent_fpformat(void) H5Dwrite(did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dbuf); H5Dclose(did); - /*------------------------------------------------------------------------- * float *------------------------------------------------------------------------- @@ -7027,7 +6982,6 @@ gent_fpformat(void) H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, fbuf); H5Dclose(did); - /* close */ H5Sclose(sid); H5Fclose(fid); @@ -7045,15 +6999,14 @@ gent_fpformat(void) static void gent_extlinks(void) { - hid_t source_fid, target_fid, far_fid, sid, did, gid, gid2, tid; - hsize_t dims[1] = {6}; - int buf[6] = {1, 2, 3, 4, 5, 6}; + hid_t source_fid, target_fid, far_fid, sid, did, gid, gid2, tid; + hsize_t dims[1] = {6}; + int buf[6] = {1, 2, 3, 4, 5, 6}; /* create two files, a source and a target */ source_fid = H5Fcreate(FILE61, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); target_fid = H5Fcreate(FILE62, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - far_fid = H5Fcreate(FILE63, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - + far_fid = H5Fcreate(FILE63, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /*------------------------------------------------------------------------- * create Groups, a Dataset, a committed Datatype, external links, and a @@ -7077,7 +7030,6 @@ gent_extlinks(void) H5Gclose(gid2); H5Gclose(gid); - sid = H5Screate_simple(1, dims, NULL); did = H5Dcreate2(target_fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); @@ -7127,8 +7079,8 @@ gent_extlinks(void) static void gent_fs_strategy_threshold(void) { - hid_t fid; /* File id */ - hid_t fcpl; /* File creation property */ + hid_t fid; /* File id */ + hid_t fcpl; /* File creation property */ /* Create file-creation template */ fcpl = H5Pcreate(H5P_FILE_CREATE); @@ -7162,11 +7114,11 @@ gent_fs_strategy_threshold(void) static void gent_dataset_idx(void) { - hid_t fid, space, dcpl, fapl; - hsize_t dims[2]; - hsize_t maxdims[2]; - int buf[20][10]; - int i, j; + hid_t fid, space, dcpl, fapl; + hsize_t dims[2]; + hsize_t maxdims[2]; + int buf[20][10]; + int i, j; int H5_ATTR_NDEBUG_UNUSED ret; /* Get a copy of the file aaccess property */ @@ -7176,7 +7128,7 @@ gent_dataset_idx(void) ret = H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST); assert(ret >= 0); - fid = H5Fcreate(FILE68a, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + fid = H5Fcreate(FILE68a, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); dcpl = H5Pcreate(H5P_DATASET_CREATE); dims[0] = F68a_CHUNK; @@ -7189,11 +7141,11 @@ gent_dataset_idx(void) /* dataset with fixed dimensions */ dims[0] = F68a_DIM20; dims[1] = F68a_DIM10; - space = H5Screate_simple(RANK, dims, NULL); + space = H5Screate_simple(RANK, dims, NULL); - for(i = 0; i < F68a_DIM20; i++) - for(j = 0; j < F68a_DIM10; j++) - buf[i][j] = j; + for (i = 0; i < F68a_DIM20; i++) + for (j = 0; j < F68a_DIM10; j++) + buf[i][j] = j; ret = make_dset(fid, F68a_DSET_FIXED, space, H5T_NATIVE_INT, dcpl, buf); assert(ret >= 0); @@ -7202,13 +7154,13 @@ gent_dataset_idx(void) /* dataset with non-fixed dimensions */ maxdims[0] = F68a_DIM200; maxdims[1] = F68a_DIM100; - space = H5Screate_simple(RANK, dims, maxdims); + space = H5Screate_simple(RANK, dims, maxdims); ret = make_dset(fid, F68a_DSET_BTREE, space, H5T_NATIVE_INT, dcpl, buf); assert(ret >= 0); H5Sclose(space); -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) /* dataset with fixed dimensions and filters */ /* remove the filters from the dcpl */ @@ -7220,7 +7172,7 @@ gent_dataset_idx(void) assert(ret >= 0); space = H5Screate_simple(RANK, dims, NULL); - ret = make_dset(fid, F68a_DSET_FIXED_FILTER, space, H5T_NATIVE_INT, dcpl, buf); + ret = make_dset(fid, F68a_DSET_FIXED_FILTER, space, H5T_NATIVE_INT, dcpl, buf); assert(ret >= 0); H5Sclose(space); @@ -7245,54 +7197,55 @@ gent_dataset_idx(void) static void gent_packedbits(void) { - hid_t fid = H5I_INVALID_HID; - hid_t dataset = H5I_INVALID_HID; - hid_t space = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t dataset = H5I_INVALID_HID; + hid_t space = H5I_INVALID_HID; hsize_t dims[2]; - uint8_t **dsetu8 = NULL; - uint16_t **dsetu16 = NULL; - uint32_t **dsetu32 = NULL; - uint64_t **dsetu64 = NULL; - int8_t **dset8 = NULL; - int16_t **dset16 = NULL; - int32_t **dset32 = NULL; - int64_t **dset64 = NULL; - double **dsetdbl = NULL; - - uint8_t valu8bits; - uint16_t valu16bits; - uint32_t valu32bits; - uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; + uint8_t ** dsetu8 = NULL; + uint16_t **dsetu16 = NULL; + uint32_t **dsetu32 = NULL; + uint64_t **dsetu64 = NULL; + int8_t ** dset8 = NULL; + int16_t ** dset16 = NULL; + int32_t ** dset32 = NULL; + int64_t ** dset64 = NULL; + double ** dsetdbl = NULL; + + uint8_t valu8bits; + uint16_t valu16bits; + uint32_t valu32bits; + uint64_t valu64bits; + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; unsigned int i, j; /* Create arrays */ - H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8); H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F66_XDIM, F66_YDIM16); H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F66_XDIM, F66_YDIM32); H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F66_XDIM, F66_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8); - H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16); - H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32); - H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16); + H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32); + H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64); + H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8); fid = H5Fcreate(FILE66, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Dataset of 8 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU08, H5T_STD_U8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu8bits = (uint8_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu8[i][0] = valu8bits; - for(j = 1; j < dims[1]; j++) + for (j = 1; j < dims[1]; j++) dsetu8[i][j] = (uint8_t)(dsetu8[i][j - 1] << 1); valu8bits = (uint8_t)(valu8bits << 1); } @@ -7302,15 +7255,16 @@ gent_packedbits(void) H5Dclose(dataset); /* Dataset of 16 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM16; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM16; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU16, H5T_STD_U16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu16bits = (uint16_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu16[i][0] = valu16bits; - for(j = 1; j < dims[1]; j++) - dsetu16[i][j] = (uint16_t)(dsetu16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) + dsetu16[i][j] = (uint16_t)(dsetu16[i][j - 1] << 1); valu16bits = (uint16_t)(valu16bits << 1); } @@ -7319,15 +7273,16 @@ gent_packedbits(void) H5Dclose(dataset); /* Dataset of 32 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM32; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM32; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU32, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu32bits = (uint32_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu32[i][0] = valu32bits; - for(j = 1; j < dims[1]; j++) - dsetu32[i][j] = dsetu32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) + dsetu32[i][j] = dsetu32[i][j - 1] << 1; valu32bits <<= 1; } @@ -7336,15 +7291,16 @@ gent_packedbits(void) H5Dclose(dataset); /* Dataset of 64 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM64; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU64, H5T_STD_U64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu64[i][0] = valu64bits; - for(j = 1; j < dims[1]; j++) - dsetu64[i][j] = dsetu64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) + dsetu64[i][j] = dsetu64[i][j - 1] << 1; valu64bits <<= 1; } @@ -7353,15 +7309,16 @@ gent_packedbits(void) H5Dclose(dataset); /* Dataset of 8 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS08, H5T_STD_I8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val8bits = (int8_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val8bits = (int8_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset8[i][0] = val8bits; - for(j = 1; j < dims[1]; j++) - dset8[i][j] = (int8_t)(dset8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) + dset8[i][j] = (int8_t)(dset8[i][j - 1] << 1); val8bits = (int8_t)(val8bits << 1); } @@ -7370,15 +7327,16 @@ gent_packedbits(void) H5Dclose(dataset); /* Dataset of 16 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM16; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM16; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS16, H5T_STD_I16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val16bits = (int16_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val16bits = (int16_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset16[i][0] = val16bits; - for(j = 1; j < dims[1]; j++) - dset16[i][j] = (int16_t)(dset16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) + dset16[i][j] = (int16_t)(dset16[i][j - 1] << 1); val16bits = (int16_t)(val16bits << 1); } @@ -7387,15 +7345,16 @@ gent_packedbits(void) H5Dclose(dataset); /* Dataset of 32 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM32; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM32; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS32, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val32bits = (int32_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val32bits = (int32_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset32[i][0] = val32bits; - for(j = 1; j < dims[1]; j++) - dset32[i][j] = dset32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) + dset32[i][j] = dset32[i][j - 1] << 1; val32bits <<= 1; } @@ -7404,15 +7363,16 @@ gent_packedbits(void) H5Dclose(dataset); /* Dataset of 64 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM64; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS64, H5T_STD_I64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val64bits = (int64_t) ~0L; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val64bits = (int64_t)~0L; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset64[i][0] = val64bits; - for(j = 1; j < dims[1]; j++) - dset64[i][j] = dset64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) + dset64[i][j] = dset64[i][j - 1] << 1; val64bits <<= 1; } @@ -7421,12 +7381,13 @@ gent_packedbits(void) H5Dclose(dataset); /* Double Dummy set for failure tests */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DUMMYDBL, H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < dims[0]; i++) - for(j = 0; j < dims[1]; j++) + for (i = 0; i < dims[0]; i++) + for (j = 0; j < dims[1]; j++) dsetdbl[i][j] = 0.0001F * (float)j + (float)i; H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl[0]); @@ -7460,57 +7421,58 @@ gent_packedbits(void) static void gent_attr_intsize(void) { - hid_t fid = H5I_INVALID_HID; - hid_t attr = H5I_INVALID_HID; - hid_t space = H5I_INVALID_HID; - hid_t root = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t attr = H5I_INVALID_HID; + hid_t space = H5I_INVALID_HID; + hid_t root = H5I_INVALID_HID; hsize_t dims[2]; - uint8_t **dsetu8 = NULL; - uint16_t **dsetu16 = NULL; - uint32_t **dsetu32 = NULL; - uint64_t **dsetu64 = NULL; - int8_t **dset8 = NULL; - int16_t **dset16 = NULL; - int32_t **dset32 = NULL; - int64_t **dset64 = NULL; - double **dsetdbl = NULL; - - uint8_t valu8bits; - uint16_t valu16bits; - uint32_t valu32bits; - uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; + uint8_t ** dsetu8 = NULL; + uint16_t **dsetu16 = NULL; + uint32_t **dsetu32 = NULL; + uint64_t **dsetu64 = NULL; + int8_t ** dset8 = NULL; + int16_t ** dset16 = NULL; + int32_t ** dset32 = NULL; + int64_t ** dset64 = NULL; + double ** dsetdbl = NULL; + + uint8_t valu8bits; + uint16_t valu16bits; + uint32_t valu32bits; + uint64_t valu64bits; + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; unsigned int i, j; /* Create arrays */ - H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8); H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F66_XDIM, F66_YDIM16); H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F66_XDIM, F66_YDIM32); H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F66_XDIM, F66_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8); - H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16); - H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32); - H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16); + H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32); + H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64); + H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8); - fid = H5Fcreate(FILE69, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE69, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); root = H5Gopen2(fid, "/", H5P_DEFAULT); /* Attribute of 8 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DATASETU08, H5T_STD_U8LE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DATASETU08, H5T_STD_U8LE, space, H5P_DEFAULT, H5P_DEFAULT); - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu8bits = (uint8_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu8[i][0] = valu8bits; - for(j = 1; j < dims[1]; j++) { - dsetu8[i][j] = (uint8_t)(dsetu8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dsetu8[i][j] = (uint8_t)(dsetu8[i][j - 1] << 1); } valu8bits = (uint8_t)(valu8bits << 1); } @@ -7520,15 +7482,16 @@ gent_attr_intsize(void) H5Aclose(attr); /* Attribute of 16 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM16; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DATASETU16, H5T_STD_U16LE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM16; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DATASETU16, H5T_STD_U16LE, space, H5P_DEFAULT, H5P_DEFAULT); - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu16bits = (uint16_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu16[i][0] = valu16bits; - for(j = 1; j < dims[1]; j++) { - dsetu16[i][j] = (uint16_t)(dsetu16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dsetu16[i][j] = (uint16_t)(dsetu16[i][j - 1] << 1); } valu16bits = (uint16_t)(valu16bits << 1); } @@ -7538,15 +7501,16 @@ gent_attr_intsize(void) H5Aclose(attr); /* Attribute of 32 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM32; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DATASETU32, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM32; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DATASETU32, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT); - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu32bits = (uint32_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu32[i][0] = valu32bits; - for(j = 1; j < dims[1]; j++) { - dsetu32[i][j] = dsetu32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dsetu32[i][j] = dsetu32[i][j - 1] << 1; } valu32bits <<= 1; } @@ -7556,15 +7520,16 @@ gent_attr_intsize(void) H5Aclose(attr); /* Attribute of 64 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM64; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DATASETU64, H5T_STD_U64LE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DATASETU64, H5T_STD_U64LE, space, H5P_DEFAULT, H5P_DEFAULT); - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu64[i][0] = valu64bits; - for(j = 1; j < dims[1]; j++) { - dsetu64[i][j] = dsetu64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dsetu64[i][j] = dsetu64[i][j - 1] << 1; } valu64bits <<= 1; } @@ -7574,15 +7539,16 @@ gent_attr_intsize(void) H5Aclose(attr); /* Attribute of 8 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DATASETS08, H5T_STD_I8LE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DATASETS08, H5T_STD_I8LE, space, H5P_DEFAULT, H5P_DEFAULT); - val8bits = (int8_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val8bits = (int8_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset8[i][0] = val8bits; - for(j = 1; j < dims[1]; j++) { - dset8[i][j] = (int8_t)(dset8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dset8[i][j] = (int8_t)(dset8[i][j - 1] << 1); } val8bits = (int8_t)(val8bits << 1); } @@ -7592,15 +7558,16 @@ gent_attr_intsize(void) H5Aclose(attr); /* Attribute of 16 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM16; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DATASETS16, H5T_STD_I16LE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM16; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DATASETS16, H5T_STD_I16LE, space, H5P_DEFAULT, H5P_DEFAULT); - val16bits = (int16_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val16bits = (int16_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset16[i][0] = val16bits; - for(j = 1; j < dims[1]; j++) { - dset16[i][j] = (int16_t)(dset16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dset16[i][j] = (int16_t)(dset16[i][j - 1] << 1); } val16bits = (int16_t)(val16bits << 1); } @@ -7610,15 +7577,16 @@ gent_attr_intsize(void) H5Aclose(attr); /* Attribute of 32 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM32; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DATASETS32, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM32; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DATASETS32, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT); - val32bits = (int32_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val32bits = (int32_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset32[i][0] = val32bits; - for(j = 1; j < dims[1]; j++) { - dset32[i][j] = dset32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dset32[i][j] = dset32[i][j - 1] << 1; } val32bits <<= 1; } @@ -7628,15 +7596,16 @@ gent_attr_intsize(void) H5Aclose(attr); /* Attribute of 64 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM64; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DATASETS64, H5T_STD_I64LE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DATASETS64, H5T_STD_I64LE, space, H5P_DEFAULT, H5P_DEFAULT); - val64bits = (int64_t) ~0L; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val64bits = (int64_t)~0L; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset64[i][0] = val64bits; - for(j = 1; j < dims[1]; j++) { - dset64[i][j] = dset64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dset64[i][j] = dset64[i][j - 1] << 1; } val64bits <<= 1; } @@ -7646,12 +7615,13 @@ gent_attr_intsize(void) H5Aclose(attr); /* Double Dummy set for failure tests */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(root, F66_DUMMYDBL, H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(root, F66_DUMMYDBL, H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < dims[0]; i++) - for(j = 0; j < dims[1]; j++) + for (i = 0; i < dims[0]; i++) + for (j = 0; j < dims[1]; j++) dsetdbl[i][j] = 0.0001F * (float)j + (float)i; H5Awrite(attr, H5T_NATIVE_DOUBLE, dsetdbl[0]); @@ -7676,77 +7646,85 @@ gent_attr_intsize(void) static void gent_nodata(void) { - hid_t fid, dataset, space; + hid_t fid, dataset, space; hsize_t dims[2]; fid = H5Fcreate(FILE87, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Dataset of 8 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU08, H5T_STD_U8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); /* Dataset of 16 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM16; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM16; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU16, H5T_STD_U16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); /* Dataset of 32 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM32; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM32; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU32, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); /* Dataset of 64 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM64; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU64, H5T_STD_U64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); /* Dataset of 8 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS08, H5T_STD_I8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); /* Dataset of 16 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM16; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM16; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS16, H5T_STD_I16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); /* Dataset of 32 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM32; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM32; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS32, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); /* Dataset of 64 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM64; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS64, H5T_STD_I64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); /* Double Dummy set for failure tests */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DUMMYDBL, H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Sclose(space); H5Dclose(dataset); H5Fclose(fid); } - /*------------------------------------------------------------------------- * Function: gent_charsets * @@ -7760,83 +7738,88 @@ gent_nodata(void) static void gent_charsets(void) { - hid_t fid, did, sid; + hid_t fid, did, sid; herr_t H5_ATTR_NDEBUG_UNUSED status; - hsize_t dim[] = {1}; /* Dataspace dimensions */ + hsize_t dim[] = {1}; /* Dataspace dimensions */ typedef struct CharSetInfo { - const char *ascii_p_; - const char *utf8_p_; + const char *ascii_p_; + const char *utf8_p_; } CharSetInfo; - hid_t charset_dtid = H5Tcreate( H5T_COMPOUND, sizeof( CharSetInfo ) ); - hid_t ascii_dtid = H5Tcreate( H5T_STRING, H5T_VARIABLE ); - hid_t utf8_dtid = H5Tcreate( H5T_STRING, H5T_VARIABLE ); - const char * writeData[] = { "ascii", "utf8", }; + hid_t charset_dtid = H5Tcreate(H5T_COMPOUND, sizeof(CharSetInfo)); + hid_t ascii_dtid = H5Tcreate(H5T_STRING, H5T_VARIABLE); + hid_t utf8_dtid = H5Tcreate(H5T_STRING, H5T_VARIABLE); + const char *writeData[] = { + "ascii", + "utf8", + }; - sid = H5Screate_simple( 1, dim, NULL ); - fid = H5Fcreate( FILE68, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); - status = H5Tset_cset( ascii_dtid, H5T_CSET_ASCII ); + sid = H5Screate_simple(1, dim, NULL); + fid = H5Fcreate(FILE68, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + status = H5Tset_cset(ascii_dtid, H5T_CSET_ASCII); HDassert(status >= 0); - H5Tinsert( charset_dtid, "ascii", HOFFSET(CharSetInfo, ascii_p_ ), ascii_dtid ); + H5Tinsert(charset_dtid, "ascii", HOFFSET(CharSetInfo, ascii_p_), ascii_dtid); - status = H5Tset_cset( utf8_dtid, H5T_CSET_UTF8 ); + status = H5Tset_cset(utf8_dtid, H5T_CSET_UTF8); HDassert(status >= 0); - H5Tinsert( charset_dtid, "utf8", HOFFSET( CharSetInfo, utf8_p_ ), utf8_dtid ); + H5Tinsert(charset_dtid, "utf8", HOFFSET(CharSetInfo, utf8_p_), utf8_dtid); - did = H5Dcreate2( fid, "CharSets", charset_dtid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); + did = H5Dcreate2(fid, "CharSets", charset_dtid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite( did, charset_dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, writeData ); + status = H5Dwrite(did, charset_dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, writeData); HDassert(status >= 0); - H5Tclose( charset_dtid ); - H5Tclose( ascii_dtid ); - H5Tclose( utf8_dtid ); - H5Sclose( sid ); - H5Dclose( did ); - H5Fclose( fid ); + H5Tclose(charset_dtid); + H5Tclose(ascii_dtid); + H5Tclose(utf8_dtid); + H5Sclose(sid); + H5Dclose(did); + H5Fclose(fid); } -static void gent_compound_intsizes(void) { - hid_t fid, dataset, space; - hsize_t dims[2]; - hsize_t array_dim8[]={F70_XDIM,F70_YDIM8}; /* Array dimensions */ - hsize_t array_dim16[]={F70_XDIM,F70_YDIM16}; /* Array dimensions */ - hsize_t array_dim32[]={F70_XDIM,F70_YDIM32}; /* Array dimensions */ - hsize_t array_dim64[]={F70_XDIM,F70_YDIM64}; /* Array dimensions */ - hid_t arrayu8_tid; /* Array datatype handle */ - hid_t arrayu16_tid; /* Array datatype handle */ - hid_t arrayu32_tid; /* Array datatype handle */ - hid_t arrayu64_tid; /* Array datatype handle */ - hid_t array8_tid; /* Array datatype handle */ - hid_t array16_tid; /* Array datatype handle */ - hid_t array32_tid; /* Array datatype handle */ - hid_t array64_tid; /* Array datatype handle */ - hid_t arraydbl_tid; /* Array datatype handle */ +static void +gent_compound_intsizes(void) +{ + hid_t fid, dataset, space; + hsize_t dims[2]; + hsize_t array_dim8[] = {F70_XDIM, F70_YDIM8}; /* Array dimensions */ + hsize_t array_dim16[] = {F70_XDIM, F70_YDIM16}; /* Array dimensions */ + hsize_t array_dim32[] = {F70_XDIM, F70_YDIM32}; /* Array dimensions */ + hsize_t array_dim64[] = {F70_XDIM, F70_YDIM64}; /* Array dimensions */ + hid_t arrayu8_tid; /* Array datatype handle */ + hid_t arrayu16_tid; /* Array datatype handle */ + hid_t arrayu32_tid; /* Array datatype handle */ + hid_t arrayu64_tid; /* Array datatype handle */ + hid_t array8_tid; /* Array datatype handle */ + hid_t array16_tid; /* Array datatype handle */ + hid_t array32_tid; /* Array datatype handle */ + hid_t array64_tid; /* Array datatype handle */ + hid_t arraydbl_tid; /* Array datatype handle */ uint8_t valu8bits; uint16_t valu16bits; uint32_t valu32bits; uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; /* Structure and array for compound types */ typedef struct Array1Struct { - uint8_t dsetu8[F70_XDIM][F70_YDIM8]; - uint16_t dsetu16[F70_XDIM][F70_YDIM16]; - uint32_t dsetu32[F70_XDIM][F70_YDIM32]; - uint64_t dsetu64[F70_XDIM][F70_YDIM64]; - int8_t dset8[F70_XDIM][F70_YDIM8]; - int16_t dset16[F70_XDIM][F70_YDIM16]; - int32_t dset32[F70_XDIM][F70_YDIM32]; - int64_t dset64[F70_XDIM][F70_YDIM64]; - double dsetdbl[F70_XDIM][F70_YDIM8]; + uint8_t dsetu8[F70_XDIM][F70_YDIM8]; + uint16_t dsetu16[F70_XDIM][F70_YDIM16]; + uint32_t dsetu32[F70_XDIM][F70_YDIM32]; + uint64_t dsetu64[F70_XDIM][F70_YDIM64]; + int8_t dset8[F70_XDIM][F70_YDIM8]; + int16_t dset16[F70_XDIM][F70_YDIM16]; + int32_t dset32[F70_XDIM][F70_YDIM32]; + int64_t dset64[F70_XDIM][F70_YDIM64]; + double dsetdbl[F70_XDIM][F70_YDIM8]; } Array1Struct; Array1Struct *Array1; - hid_t Array1Structid; /* File datatype identifier */ - herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ - hsize_t dim[] = { F70_LENGTH }; /* Dataspace dimensions */ + hid_t Array1Structid; /* File datatype identifier */ + herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ + hsize_t dim[] = {F70_LENGTH}; /* Dataspace dimensions */ int m, n, o; /* Array init loop vars */ @@ -7848,98 +7831,107 @@ static void gent_compound_intsizes(void) { for (m = 0; m < F70_LENGTH; m++) { /* Array of 8 bits unsigned int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM8; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM8; - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu8bits = (uint8_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dsetu8[n][0] = valu8bits; - for(o = 1; o < (int)dims[1]; o++) - Array1[m].dsetu8[n][o] = (uint8_t)(Array1[m].dsetu8[n][o-1] << 1); + for (o = 1; o < (int)dims[1]; o++) + Array1[m].dsetu8[n][o] = (uint8_t)(Array1[m].dsetu8[n][o - 1] << 1); valu8bits = (uint8_t)(valu8bits << 1); } /* Array of 16 bits unsigned int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM16; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM16; - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu16bits = (uint16_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dsetu16[n][0] = valu16bits; - for(o = 1; o < (int)dims[1]; o++) - Array1[m].dsetu16[n][o] = (uint16_t)(Array1[m].dsetu16[n][o-1] << 1); + for (o = 1; o < (int)dims[1]; o++) + Array1[m].dsetu16[n][o] = (uint16_t)(Array1[m].dsetu16[n][o - 1] << 1); valu16bits = (uint16_t)(valu16bits << 1); } /* Array of 32 bits unsigned int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM32; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM32; - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu32bits = (uint32_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dsetu32[n][0] = valu32bits; - for(o = 1; o < (int)dims[1]; o++) - Array1[m].dsetu32[n][o] = Array1[m].dsetu32[n][o-1] << 1; + for (o = 1; o < (int)dims[1]; o++) + Array1[m].dsetu32[n][o] = Array1[m].dsetu32[n][o - 1] << 1; valu32bits <<= 1; } /* Array of 64 bits unsigned int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM64; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM64; - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dsetu64[n][0] = valu64bits; - for(o = 1; o < (int)dims[1]; o++) - Array1[m].dsetu64[n][o] = Array1[m].dsetu64[n][o-1] << 1; + for (o = 1; o < (int)dims[1]; o++) + Array1[m].dsetu64[n][o] = Array1[m].dsetu64[n][o - 1] << 1; valu64bits <<= 1; } /* Array of 8 bits signed int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM8; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM8; - val8bits = (int8_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val8bits = (int8_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dset8[n][0] = val8bits; - for(o = 1; o < (int)dims[1]; o++) - Array1[m].dset8[n][o] = (int8_t)(Array1[m].dset8[n][o-1] << 1); + for (o = 1; o < (int)dims[1]; o++) + Array1[m].dset8[n][o] = (int8_t)(Array1[m].dset8[n][o - 1] << 1); val8bits = (int8_t)(val8bits << 1); } /* Array of 16 bits signed int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM16; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM16; - val16bits = (int16_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val16bits = (int16_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dset16[n][0] = val16bits; - for(o = 1; o < (int)dims[1]; o++) - Array1[m].dset16[n][o] = (int16_t)(Array1[m].dset16[n][o-1] << 1); + for (o = 1; o < (int)dims[1]; o++) + Array1[m].dset16[n][o] = (int16_t)(Array1[m].dset16[n][o - 1] << 1); val16bits = (int16_t)(val16bits << 1); } /* Array of 32 bits signed int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM32; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM32; - val32bits = (int32_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val32bits = (int32_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dset32[n][0] = val32bits; - for(o = 1; o < (int)dims[1]; o++) - Array1[m].dset32[n][o] = Array1[m].dset32[n][o-1] << 1; + for (o = 1; o < (int)dims[1]; o++) + Array1[m].dset32[n][o] = Array1[m].dset32[n][o - 1] << 1; val32bits <<= 1; } /* Array of 64 bits signed int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM64; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM64; - val64bits = (int64_t) ~0L; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val64bits = (int64_t)~0L; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dset64[n][0] = val64bits; - for(o = 1; o < (int)dims[1]; o++) - Array1[m].dset64[n][o] = Array1[m].dset64[n][o-1] << 1; + for (o = 1; o < (int)dims[1]; o++) + Array1[m].dset64[n][o] = Array1[m].dset64[n][o - 1] << 1; val64bits <<= 1; } /* Double Dummy set for failure tests */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM8; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM8; - for(n = 0; n < (int)dims[0]; n++) - for(o = 0; o < (int)dims[1]; o++) + for (n = 0; n < (int)dims[0]; n++) + for (o = 0; o < (int)dims[1]; o++) Array1[m].dsetdbl[n][o] = 0.0001F * (float)o + (float)n; } @@ -8069,47 +8061,49 @@ static void gent_compound_intsizes(void) { HDfree(Array1); } -static void gent_compound_attr_intsizes(void) { - hid_t fid, attr, space, root; - hsize_t dims[2]; - hsize_t array_dim8[]={F70_XDIM,F70_YDIM8}; /* Array dimensions */ - hsize_t array_dim16[]={F70_XDIM,F70_YDIM16}; /* Array dimensions */ - hsize_t array_dim32[]={F70_XDIM,F70_YDIM32}; /* Array dimensions */ - hsize_t array_dim64[]={F70_XDIM,F70_YDIM64}; /* Array dimensions */ - hid_t arrayu8_tid; /* Array datatype handle */ - hid_t arrayu16_tid; /* Array datatype handle */ - hid_t arrayu32_tid; /* Array datatype handle */ - hid_t arrayu64_tid; /* Array datatype handle */ - hid_t array8_tid; /* Array datatype handle */ - hid_t array16_tid; /* Array datatype handle */ - hid_t array32_tid; /* Array datatype handle */ - hid_t array64_tid; /* Array datatype handle */ - hid_t arraydbl_tid; /* Array datatype handle */ +static void +gent_compound_attr_intsizes(void) +{ + hid_t fid, attr, space, root; + hsize_t dims[2]; + hsize_t array_dim8[] = {F70_XDIM, F70_YDIM8}; /* Array dimensions */ + hsize_t array_dim16[] = {F70_XDIM, F70_YDIM16}; /* Array dimensions */ + hsize_t array_dim32[] = {F70_XDIM, F70_YDIM32}; /* Array dimensions */ + hsize_t array_dim64[] = {F70_XDIM, F70_YDIM64}; /* Array dimensions */ + hid_t arrayu8_tid; /* Array datatype handle */ + hid_t arrayu16_tid; /* Array datatype handle */ + hid_t arrayu32_tid; /* Array datatype handle */ + hid_t arrayu64_tid; /* Array datatype handle */ + hid_t array8_tid; /* Array datatype handle */ + hid_t array16_tid; /* Array datatype handle */ + hid_t array32_tid; /* Array datatype handle */ + hid_t array64_tid; /* Array datatype handle */ + hid_t arraydbl_tid; /* Array datatype handle */ uint8_t valu8bits; uint16_t valu16bits; uint32_t valu32bits; uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; /* Structure and array for compound types */ typedef struct Array1Struct { - uint8_t dsetu8[F70_XDIM][F70_YDIM8]; - uint16_t dsetu16[F70_XDIM][F70_YDIM16]; - uint32_t dsetu32[F70_XDIM][F70_YDIM32]; - uint64_t dsetu64[F70_XDIM][F70_YDIM64]; - int8_t dset8[F70_XDIM][F70_YDIM8]; - int16_t dset16[F70_XDIM][F70_YDIM16]; - int32_t dset32[F70_XDIM][F70_YDIM32]; - int64_t dset64[F70_XDIM][F70_YDIM64]; - double dsetdbl[F70_XDIM][F70_YDIM8]; + uint8_t dsetu8[F70_XDIM][F70_YDIM8]; + uint16_t dsetu16[F70_XDIM][F70_YDIM16]; + uint32_t dsetu32[F70_XDIM][F70_YDIM32]; + uint64_t dsetu64[F70_XDIM][F70_YDIM64]; + int8_t dset8[F70_XDIM][F70_YDIM8]; + int16_t dset16[F70_XDIM][F70_YDIM16]; + int32_t dset32[F70_XDIM][F70_YDIM32]; + int64_t dset64[F70_XDIM][F70_YDIM64]; + double dsetdbl[F70_XDIM][F70_YDIM8]; } Array1Struct; Array1Struct *Array1 = NULL; - hid_t Array1Structid; /* File datatype identifier */ - herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ - hsize_t dim[] = { F70_LENGTH }; /* Dataspace dimensions */ + hid_t Array1Structid; /* File datatype identifier */ + herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ + hsize_t dim[] = {F70_LENGTH}; /* Dataspace dimensions */ int m, n, o; /* Array init loop vars */ @@ -8119,106 +8113,115 @@ static void gent_compound_attr_intsizes(void) { for (m = 0; m < F70_LENGTH; m++) { /* Array of 8 bits unsigned int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM8; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM8; - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu8bits = (uint8_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dsetu8[n][0] = valu8bits; - for(o = 1; o < (int)dims[1]; o++) { - Array1[m].dsetu8[n][o] = (uint8_t)(Array1[m].dsetu8[n][o-1] << 1); + for (o = 1; o < (int)dims[1]; o++) { + Array1[m].dsetu8[n][o] = (uint8_t)(Array1[m].dsetu8[n][o - 1] << 1); } valu8bits = (uint8_t)(valu8bits << 1); } /* Array of 16 bits unsigned int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM16; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM16; - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu16bits = (uint16_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dsetu16[n][0] = valu16bits; - for(o = 1; o < (int)dims[1]; o++) { - Array1[m].dsetu16[n][o] = (uint16_t)(Array1[m].dsetu16[n][o-1] << 1); + for (o = 1; o < (int)dims[1]; o++) { + Array1[m].dsetu16[n][o] = (uint16_t)(Array1[m].dsetu16[n][o - 1] << 1); } valu16bits = (uint16_t)(valu16bits << 1); } /* Array of 32 bits unsigned int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM32; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM32; - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu32bits = (uint32_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dsetu32[n][0] = valu32bits; - for(o = 1; o < (int)dims[1]; o++) { - Array1[m].dsetu32[n][o] = Array1[m].dsetu32[n][o-1] << 1; + for (o = 1; o < (int)dims[1]; o++) { + Array1[m].dsetu32[n][o] = Array1[m].dsetu32[n][o - 1] << 1; } valu32bits <<= 1; } /* Array of 64 bits unsigned int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM64; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM64; - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dsetu64[n][0] = valu64bits; - for(o = 1; o < (int)dims[1]; o++) { - Array1[m].dsetu64[n][o] = Array1[m].dsetu64[n][o-1] << 1; + for (o = 1; o < (int)dims[1]; o++) { + Array1[m].dsetu64[n][o] = Array1[m].dsetu64[n][o - 1] << 1; } valu64bits <<= 1; } /* Array of 8 bits signed int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM8; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM8; - val8bits = (int8_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val8bits = (int8_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dset8[n][0] = val8bits; - for(o = 1; o < (int)dims[1]; o++) { - Array1[m].dset8[n][o] = (int8_t)(Array1[m].dset8[n][o-1] << 1); + for (o = 1; o < (int)dims[1]; o++) { + Array1[m].dset8[n][o] = (int8_t)(Array1[m].dset8[n][o - 1] << 1); } val8bits = (int8_t)(val8bits << 1); } /* Array of 16 bits signed int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM16; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM16; - val16bits = (int16_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val16bits = (int16_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dset16[n][0] = val16bits; - for(o = 1; o < (int)dims[1]; o++) { - Array1[m].dset16[n][o] = (int16_t)(Array1[m].dset16[n][o-1] << 1); + for (o = 1; o < (int)dims[1]; o++) { + Array1[m].dset16[n][o] = (int16_t)(Array1[m].dset16[n][o - 1] << 1); } val16bits = (int16_t)(val16bits << 1); } /* Array of 32 bits signed int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM32; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM32; - val32bits = (int32_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val32bits = (int32_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dset32[n][0] = val32bits; - for(o = 1; o < (int)dims[1]; o++) { - Array1[m].dset32[n][o] = Array1[m].dset32[n][o-1] << 1; + for (o = 1; o < (int)dims[1]; o++) { + Array1[m].dset32[n][o] = Array1[m].dset32[n][o - 1] << 1; } val32bits <<= 1; } /* Array of 64 bits signed int */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM64; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM64; - val64bits = (int64_t) ~0L; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val64bits = (int64_t)~0L; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Array1[m].dset64[n][0] = val64bits; - for(o = 1; o < (int)dims[1]; o++) { - Array1[m].dset64[n][o] = Array1[m].dset64[n][o-1] << 1; + for (o = 1; o < (int)dims[1]; o++) { + Array1[m].dset64[n][o] = Array1[m].dset64[n][o - 1] << 1; } val64bits <<= 1; } /* Double Dummy set for failure tests */ - dims[0] = F70_XDIM; dims[1] = F70_YDIM8; + dims[0] = F70_XDIM; + dims[1] = F70_YDIM8; - for(n = 0; n < (int)dims[0]; n++) - for(o = 0; o < (int)dims[1]; o++) + for (n = 0; n < (int)dims[0]; n++) + for (o = 0; o < (int)dims[1]; o++) Array1[m].dsetdbl[n][o] = 0.0001F * (float)o + (float)n; } @@ -8350,51 +8353,53 @@ static void gent_compound_attr_intsizes(void) { HDfree(Array1); } -static void gent_nested_compound_dt(void) { /* test nested data type */ - hid_t fid, group, dataset, space, type, create_plist, type1, type2; - hid_t array_dt, enum_dt; +static void +gent_nested_compound_dt(void) +{ /* test nested data type */ + hid_t fid, group, dataset, space, type, create_plist, type1, type2; + hid_t array_dt, enum_dt; enumtype val; typedef struct { - int a; - float b; + int a; + float b; } dset1_t; dset1_t dset1[10]; typedef struct { - int a; - float b; - enumtype c; + int a; + float b; + enumtype c; } dset2_t; dset2_t dset2[10]; typedef struct { - int a[5]; - float b[5][6]; - dset1_t c; + int a[5]; + float b[5][6]; + dset1_t c; } dset3_t; dset3_t dset3[10]; enumtype dset4[] = {RED, GREEN, BLUE, GREEN, WHITE, BLUE}; - int i, j, k; + int i, j, k; unsigned ndims; - hsize_t dim[2]; + hsize_t dim[2]; hsize_t sdim, maxdim; sdim = 10; - for(i = 0; i < (int)sdim; i++) { + for (i = 0; i < (int)sdim; i++) { dset1[i].a = i; - dset1[i].b = (float)(i*i); + dset1[i].b = (float)(i * i); dset2[i].a = i; dset2[i].b = (float)((float)i + (float)i * 0.1F); dset2[i].c = GREEN; - for(j = 0; j < 5; j++) { + for (j = 0; j < 5; j++) { dset3[i].a[j] = i * j; - for(k = 0; k < 6; k++) { + for (k = 0; k < 6; k++) { dset3[i].b[j][k] = (float)((float)i * (float)j * (float)k * 1.0F); } } @@ -8409,13 +8414,12 @@ static void gent_nested_compound_dt(void) { /* test nested data type */ sdim = 2; H5Pset_chunk(create_plist, 1, &sdim); - - sdim = 6; + sdim = 6; maxdim = H5S_UNLIMITED; space = H5Screate_simple(1, &sdim, &maxdim); - type = H5Tcreate (H5T_COMPOUND, sizeof(dset1[0])); + type = H5Tcreate(H5T_COMPOUND, sizeof(dset1[0])); H5Tinsert(type, "a_name", HOFFSET(dset1_t, a), H5T_STD_I32LE); H5Tinsert(type, "b_name", HOFFSET(dset1_t, b), H5T_IEEE_F32LE); @@ -8427,20 +8431,20 @@ static void gent_nested_compound_dt(void) { /* test nested data type */ H5Dclose(dataset); /* Create the shared enumerated datatype. */ - enum_dt = H5Tenum_create (H5T_NATIVE_INT); - val = (enumtype) RED; - H5Tenum_insert (enum_dt, "Red", &val); - val = (enumtype) GREEN; - H5Tenum_insert (enum_dt, "Green", &val); - val = (enumtype) BLUE; - H5Tenum_insert (enum_dt, "Blue", &val); - val = (enumtype) WHITE; - H5Tenum_insert (enum_dt, "White", &val); - val = (enumtype) BLACK; - H5Tenum_insert (enum_dt, "Black", &val); - H5Tcommit2(fid, "enumtype", enum_dt, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset2[0])); + enum_dt = H5Tenum_create(H5T_NATIVE_INT); + val = (enumtype)RED; + H5Tenum_insert(enum_dt, "Red", &val); + val = (enumtype)GREEN; + H5Tenum_insert(enum_dt, "Green", &val); + val = (enumtype)BLUE; + H5Tenum_insert(enum_dt, "Blue", &val); + val = (enumtype)WHITE; + H5Tenum_insert(enum_dt, "White", &val); + val = (enumtype)BLACK; + H5Tenum_insert(enum_dt, "Black", &val); + H5Tcommit2(fid, "enumtype", enum_dt, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset2[0])); H5Tinsert(type2, "a_name", HOFFSET(dset2_t, a), H5T_NATIVE_INT); H5Tinsert(type2, "b_name", HOFFSET(dset2_t, b), H5T_NATIVE_FLOAT); @@ -8466,19 +8470,22 @@ static void gent_nested_compound_dt(void) { /* test nested data type */ group = H5Gcreate2(fid, "/group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset3_t)); + type2 = H5Tcreate(H5T_COMPOUND, sizeof(dset3_t)); - ndims = 1; dim[0] = 5; + ndims = 1; + dim[0] = 5; array_dt = H5Tarray_create2(H5T_STD_I32LE, ndims, dim); H5Tinsert(type2, "int_name", HOFFSET(dset3_t, a), array_dt); H5Tclose(array_dt); - ndims = 2; dim[0] = 5; dim[1] = 6; + ndims = 2; + dim[0] = 5; + dim[1] = 6; array_dt = H5Tarray_create2(H5T_IEEE_F32LE, ndims, dim); H5Tinsert(type2, "float_name", HOFFSET(dset3_t, b), array_dt); H5Tclose(array_dt); - H5Tinsert (type2, "cmpd_name", HOFFSET (dset3_t, c), type1); + H5Tinsert(type2, "cmpd_name", HOFFSET(dset3_t, c), type1); dataset = H5Dcreate2(group, "dset3", type2, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); @@ -8496,7 +8503,6 @@ static void gent_nested_compound_dt(void) { /* test nested data type */ H5Pclose(create_plist); H5Fclose(fid); - } /*------------------------------------------------------------------------- @@ -8512,57 +8518,58 @@ static void gent_nested_compound_dt(void) { /* test nested data type */ static void gent_intscalars(void) { - hid_t fid = H5I_INVALID_HID; - hid_t dataset = H5I_INVALID_HID; - hid_t space = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t dataset = H5I_INVALID_HID; + hid_t space = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; hsize_t dims[2]; - uint8_t **dsetu8 = NULL; - uint16_t **dsetu16 = NULL; - uint32_t **dsetu32 = NULL; - uint64_t **dsetu64 = NULL; - int8_t **dset8 = NULL; - int16_t **dset16 = NULL; - int32_t **dset32 = NULL; - int64_t **dset64 = NULL; - double **dsetdbl = NULL; - - uint8_t valu8bits; - uint16_t valu16bits; - uint32_t valu32bits; - uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; + uint8_t ** dsetu8 = NULL; + uint16_t **dsetu16 = NULL; + uint32_t **dsetu32 = NULL; + uint64_t **dsetu64 = NULL; + int8_t ** dset8 = NULL; + int16_t ** dset16 = NULL; + int32_t ** dset32 = NULL; + int64_t ** dset64 = NULL; + double ** dsetdbl = NULL; + + uint8_t valu8bits; + uint16_t valu16bits; + uint32_t valu32bits; + uint64_t valu64bits; + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; unsigned int i, j; /* Create arrays */ - H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8); H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F73_XDIM, F73_YDIM16); H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F73_XDIM, F73_YDIM32); H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F73_XDIM, F73_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8); - H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16); - H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32); - H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16); + H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32); + H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64); + H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8); fid = H5Fcreate(FILE73, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Dataset of 8 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U8LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U8LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETU08, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu8bits = (uint8_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu8[i][0] = valu8bits; - for(j = 1; j < dims[1]; j++) { - dsetu8[i][j] = (uint8_t)(dsetu8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dsetu8[i][j] = (uint8_t)(dsetu8[i][j - 1] << 1); } valu8bits = (uint8_t)(valu8bits << 1); } @@ -8572,16 +8579,17 @@ gent_intscalars(void) H5Dclose(dataset); /* Dataset of 16 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM16; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U16LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM16; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U16LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETU16, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu16bits = (uint16_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu16[i][0] = valu16bits; - for(j = 1; j < dims[1]; j++) { - dsetu16[i][j] = (uint16_t)(dsetu16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dsetu16[i][j] = (uint16_t)(dsetu16[i][j - 1] << 1); } valu16bits = (uint16_t)(valu16bits << 1); } @@ -8591,16 +8599,17 @@ gent_intscalars(void) H5Dclose(dataset); /* Dataset of 32 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM32; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U32LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM32; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U32LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETU32, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu32bits = (uint32_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu32[i][0] = valu32bits; - for(j = 1; j < dims[1]; j++) { - dsetu32[i][j] = dsetu32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dsetu32[i][j] = dsetu32[i][j - 1] << 1; } valu32bits <<= 1; } @@ -8610,16 +8619,17 @@ gent_intscalars(void) H5Dclose(dataset); /* Dataset of 64 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM64; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U64LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM64; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U64LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETU64, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu64[i][0] = valu64bits; - for(j = 1; j < dims[1]; j++) { - dsetu64[i][j] = dsetu64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dsetu64[i][j] = dsetu64[i][j - 1] << 1; } valu64bits <<= 1; } @@ -8629,16 +8639,17 @@ gent_intscalars(void) H5Dclose(dataset); /* Dataset of 8 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I8LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I8LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETS08, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val8bits = (int8_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val8bits = (int8_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset8[i][0] = val8bits; - for(j = 1; j < dims[1]; j++) { - dset8[i][j] = (int8_t)(dset8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dset8[i][j] = (int8_t)(dset8[i][j - 1] << 1); } val8bits = (int8_t)(val8bits << 1); } @@ -8648,16 +8659,17 @@ gent_intscalars(void) H5Dclose(dataset); /* Dataset of 16 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM16; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I16LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM16; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I16LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETS16, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val16bits = (int16_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val16bits = (int16_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset16[i][0] = val16bits; - for(j = 1; j < dims[1]; j++) { - dset16[i][j] = (int16_t)(dset16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dset16[i][j] = (int16_t)(dset16[i][j - 1] << 1); } val16bits = (int16_t)(val16bits << 1); } @@ -8667,16 +8679,17 @@ gent_intscalars(void) H5Dclose(dataset); /* Dataset of 32 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM32; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I32LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM32; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I32LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETS32, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val32bits = (int32_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val32bits = (int32_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset32[i][0] = val32bits; - for(j = 1; j < dims[1]; j++) { - dset32[i][j] = dset32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dset32[i][j] = dset32[i][j - 1] << 1; } val32bits <<= 1; } @@ -8686,16 +8699,17 @@ gent_intscalars(void) H5Dclose(dataset); /* Dataset of 64 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM64; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I64LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM64; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I64LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETS64, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val64bits = (int64_t) ~0L; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val64bits = (int64_t)~0L; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset64[i][0] = val64bits; - for(j = 1; j < dims[1]; j++) { - dset64[i][j] = dset64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dset64[i][j] = dset64[i][j - 1] << 1; } val64bits <<= 1; } @@ -8705,13 +8719,14 @@ gent_intscalars(void) H5Dclose(dataset); /* Double Dummy set for failure tests */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_NATIVE_DOUBLE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_NATIVE_DOUBLE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DUMMYDBL, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < dims[0]; i++) - for(j = 0; j < dims[1]; j++) + for (i = 0; i < dims[0]; i++) + for (j = 0; j < dims[1]; j++) dsetdbl[i][j] = 0.0001F * (float)j + (float)i; H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl[0]); @@ -8745,60 +8760,60 @@ gent_intscalars(void) static void gent_attr_intscalars(void) { - hid_t fid = H5I_INVALID_HID; - hid_t attr = H5I_INVALID_HID; - hid_t space = H5I_INVALID_HID; - hid_t root = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t attr = H5I_INVALID_HID; + hid_t space = H5I_INVALID_HID; + hid_t root = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; hsize_t dims[2]; + uint8_t ** dsetu8 = NULL; + uint16_t **dsetu16 = NULL; + uint32_t **dsetu32 = NULL; + uint64_t **dsetu64 = NULL; + int8_t ** dset8 = NULL; + int16_t ** dset16 = NULL; + int32_t ** dset32 = NULL; + int64_t ** dset64 = NULL; + double ** dsetdbl = NULL; - uint8_t **dsetu8 = NULL; - uint16_t **dsetu16 = NULL; - uint32_t **dsetu32 = NULL; - uint64_t **dsetu64 = NULL; - int8_t **dset8 = NULL; - int16_t **dset16 = NULL; - int32_t **dset32 = NULL; - int64_t **dset64 = NULL; - double **dsetdbl = NULL; - - uint8_t valu8bits; - uint16_t valu16bits; - uint32_t valu32bits; - uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; + uint8_t valu8bits; + uint16_t valu16bits; + uint32_t valu32bits; + uint64_t valu64bits; + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; unsigned int i, j; /* Create arrays */ - H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8); H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F73_XDIM, F73_YDIM16); H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F73_XDIM, F73_YDIM32); H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F73_XDIM, F73_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8); - H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16); - H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32); - H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16); + H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32); + H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64); + H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8); - fid = H5Fcreate(FILE74, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE74, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); root = H5Gopen2(fid, "/", H5P_DEFAULT); /* Attribute of 8 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U8LE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DATASETU08, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U8LE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DATASETU08, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + valu8bits = (uint8_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu8[i][0] = valu8bits; - for(j = 1; j < dims[1]; j++) { - dsetu8[i][j] = (uint8_t)(dsetu8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dsetu8[i][j] = (uint8_t)(dsetu8[i][j - 1] << 1); } valu8bits = (uint8_t)(valu8bits << 1); } @@ -8808,16 +8823,17 @@ gent_attr_intscalars(void) H5Aclose(attr); /* Attribute of 16 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM16; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U16LE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DATASETU16, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + dims[0] = F73_XDIM; + dims[1] = F73_YDIM16; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U16LE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DATASETU16, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + valu16bits = (uint16_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu16[i][0] = valu16bits; - for(j = 1; j < dims[1]; j++) { - dsetu16[i][j] = (uint16_t)(dsetu16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dsetu16[i][j] = (uint16_t)(dsetu16[i][j - 1] << 1); } valu16bits = (uint16_t)(valu16bits << 1); } @@ -8827,16 +8843,17 @@ gent_attr_intscalars(void) H5Aclose(attr); /* Attribute of 32 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM32; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U32LE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DATASETU32, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + dims[0] = F73_XDIM; + dims[1] = F73_YDIM32; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U32LE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DATASETU32, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + valu32bits = (uint32_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu32[i][0] = valu32bits; - for(j = 1; j < dims[1]; j++) { - dsetu32[i][j] = dsetu32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dsetu32[i][j] = dsetu32[i][j - 1] << 1; } valu32bits <<= 1; } @@ -8846,16 +8863,17 @@ gent_attr_intscalars(void) H5Aclose(attr); /* Attribute of 64 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM64; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U64LE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DATASETU64, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + dims[0] = F73_XDIM; + dims[1] = F73_YDIM64; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U64LE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DATASETU64, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu64[i][0] = valu64bits; - for(j = 1; j < dims[1]; j++) { - dsetu64[i][j] = dsetu64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dsetu64[i][j] = dsetu64[i][j - 1] << 1; } valu64bits <<= 1; } @@ -8865,16 +8883,17 @@ gent_attr_intscalars(void) H5Aclose(attr); /* Attribute of 8 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I8LE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DATASETS08, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - val8bits = (int8_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I8LE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DATASETS08, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + val8bits = (int8_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset8[i][0] = val8bits; - for(j = 1; j < dims[1]; j++) { - dset8[i][j] = (int8_t)(dset8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dset8[i][j] = (int8_t)(dset8[i][j - 1] << 1); } val8bits = (int8_t)(val8bits << 1); } @@ -8884,16 +8903,17 @@ gent_attr_intscalars(void) H5Aclose(attr); /* Attribute of 16 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM16; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I16LE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DATASETS16, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - val16bits = (int16_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + dims[0] = F73_XDIM; + dims[1] = F73_YDIM16; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I16LE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DATASETS16, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + val16bits = (int16_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset16[i][0] = val16bits; - for(j = 1; j < dims[1]; j++) { - dset16[i][j] = (int16_t)(dset16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dset16[i][j] = (int16_t)(dset16[i][j - 1] << 1); } val16bits = (int16_t)(val16bits << 1); } @@ -8903,16 +8923,17 @@ gent_attr_intscalars(void) H5Aclose(attr); /* Attribute of 32 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM32; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I32LE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DATASETS32, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - val32bits = (int32_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + dims[0] = F73_XDIM; + dims[1] = F73_YDIM32; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I32LE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DATASETS32, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + val32bits = (int32_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset32[i][0] = val32bits; - for(j = 1; j < dims[1]; j++) { - dset32[i][j] = dset32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dset32[i][j] = dset32[i][j - 1] << 1; } val32bits <<= 1; } @@ -8922,16 +8943,17 @@ gent_attr_intscalars(void) H5Aclose(attr); /* Attribute of 64 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM64; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I64LE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DATASETS64, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - val64bits = (int64_t) ~0L; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + dims[0] = F73_XDIM; + dims[1] = F73_YDIM64; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I64LE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DATASETS64, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + val64bits = (int64_t)~0L; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset64[i][0] = val64bits; - for(j = 1; j < dims[1]; j++) { - dset64[i][j] = dset64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dset64[i][j] = dset64[i][j - 1] << 1; } val64bits <<= 1; } @@ -8941,13 +8963,14 @@ gent_attr_intscalars(void) H5Aclose(attr); /* Double Dummy set for failure tests */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_NATIVE_DOUBLE, F73_ARRAY_RANK, dims); - attr = H5Acreate2(root, F73_DUMMYDBL, tid, space, H5P_DEFAULT, H5P_DEFAULT); - - for(i = 0; i < dims[0]; i++) - for(j = 0; j < dims[1]; j++) + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_NATIVE_DOUBLE, F73_ARRAY_RANK, dims); + attr = H5Acreate2(root, F73_DUMMYDBL, tid, space, H5P_DEFAULT, H5P_DEFAULT); + + for (i = 0; i < dims[0]; i++) + for (j = 0; j < dims[1]; j++) dsetdbl[i][j] = 0.0001F * (float)j + (float)i; H5Awrite(attr, tid, dsetdbl[0]); @@ -8981,28 +9004,29 @@ gent_attr_intscalars(void) static void gent_string_scalars(void) { - hid_t fid, attr, dataset, space, tid, root; - hsize_t dims[2]; - char string[F73_XDIM][F73_YDIM8]; + hid_t fid, attr, dataset, space, tid, root; + hsize_t dims[2]; + char string[F73_XDIM][F73_YDIM8]; unsigned int i, j; - fid = H5Fcreate(FILE75, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE75, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); root = H5Gopen2(fid, "/", H5P_DEFAULT); /* string scalar */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tcopy(H5T_C_S1); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tcopy(H5T_C_S1); H5Tset_size(tid, F73_XDIM * F73_YDIM8); memset(string, ' ', F73_XDIM * F73_YDIM8); - for(i = 0; i < dims[0]; i++) { + for (i = 0; i < dims[0]; i++) { string[i][0] = (char)('A' + i); - for(j = 1; j < dims[1]; j++) { - string[i][j] = (char)(string[i][j-1] + 1); + for (j = 1; j < dims[1]; j++) { + string[i][j] = (char)(string[i][j - 1] + 1); } } - string[dims[0]-1][dims[1]-1] = 0; + string[dims[0] - 1][dims[1] - 1] = 0; /* Dataset of string scalar */ dataset = H5Dcreate2(fid, "the_str", tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -9021,47 +9045,49 @@ gent_string_scalars(void) H5Fclose(fid); } -static void gent_compound_int_array(void) { - hid_t fid, dataset, space; - hsize_t dims[1]; +static void +gent_compound_int_array(void) +{ + hid_t fid, dataset, space; + hsize_t dims[1]; uint8_t valu8bits; uint16_t valu16bits; uint32_t valu32bits; uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; - hsize_t array_dim8[]={F76_DIM8}; /* Array dimensions */ - hsize_t array_dim16[]={F76_DIM16}; /* Array dimensions */ - hsize_t array_dim32[]={F76_DIM32}; /* Array dimensions */ - hsize_t array_dim64[]={F76_DIM64}; /* Array dimensions */ - hid_t arrayu8_tid; /* Array datatype handle */ - hid_t arrayu16_tid; /* Array datatype handle */ - hid_t arrayu32_tid; /* Array datatype handle */ - hid_t arrayu64_tid; /* Array datatype handle */ - hid_t array8_tid; /* Array datatype handle */ - hid_t array16_tid; /* Array datatype handle */ - hid_t array32_tid; /* Array datatype handle */ - hid_t array64_tid; /* Array datatype handle */ - hid_t arraydbl_tid; /* Array datatype handle */ + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; + hsize_t array_dim8[] = {F76_DIM8}; /* Array dimensions */ + hsize_t array_dim16[] = {F76_DIM16}; /* Array dimensions */ + hsize_t array_dim32[] = {F76_DIM32}; /* Array dimensions */ + hsize_t array_dim64[] = {F76_DIM64}; /* Array dimensions */ + hid_t arrayu8_tid; /* Array datatype handle */ + hid_t arrayu16_tid; /* Array datatype handle */ + hid_t arrayu32_tid; /* Array datatype handle */ + hid_t arrayu64_tid; /* Array datatype handle */ + hid_t array8_tid; /* Array datatype handle */ + hid_t array16_tid; /* Array datatype handle */ + hid_t array32_tid; /* Array datatype handle */ + hid_t array64_tid; /* Array datatype handle */ + hid_t arraydbl_tid; /* Array datatype handle */ /* Structure and array for compound types */ typedef struct Cmpd1Struct { - uint8_t dsetu8[F76_DIM8]; - uint16_t dsetu16[F76_DIM16]; - uint32_t dsetu32[F76_DIM32]; - uint64_t dsetu64[F76_DIM64]; - int8_t dset8[F76_DIM8]; - int16_t dset16[F76_DIM16]; - int32_t dset32[F76_DIM32]; - int64_t dset64[F76_DIM64]; - double dsetdbl[F76_DIM8]; + uint8_t dsetu8[F76_DIM8]; + uint16_t dsetu16[F76_DIM16]; + uint32_t dsetu32[F76_DIM32]; + uint64_t dsetu64[F76_DIM64]; + int8_t dset8[F76_DIM8]; + int16_t dset16[F76_DIM16]; + int32_t dset32[F76_DIM32]; + int64_t dset64[F76_DIM64]; + double dsetdbl[F76_DIM8]; } Cmpd1Struct; Cmpd1Struct *Cmpd1; - hid_t Cmpd1Structid; /* File datatype identifier */ - herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ - hsize_t dim[] = { F76_LENGTH }; /* Dataspace dimensions */ + hid_t Cmpd1Structid; /* File datatype identifier */ + herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ + hsize_t dim[] = {F76_LENGTH}; /* Dataspace dimensions */ int m, n; /* Array init loop vars */ @@ -9075,26 +9101,26 @@ static void gent_compound_int_array(void) { /* Array of 8 bits unsigned int */ dims[0] = F76_DIM8; - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu8bits = (uint8_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Cmpd1[m].dsetu8[n] = valu8bits; - valu8bits = (uint8_t)(valu8bits << 1); + valu8bits = (uint8_t)(valu8bits << 1); } /* Array of 16 bits unsigned int */ dims[0] = F76_DIM16; - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu16bits = (uint16_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Cmpd1[m].dsetu16[n] = valu16bits; - valu16bits = (uint16_t)(valu16bits << 1); + valu16bits = (uint16_t)(valu16bits << 1); } /* Array of 32 bits unsigned int */ dims[0] = F76_DIM32; - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu32bits = (uint32_t)~0u; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Cmpd1[m].dsetu32[n] = valu32bits; valu32bits <<= 1; } @@ -9102,8 +9128,8 @@ static void gent_compound_int_array(void) { /* Array of 64 bits unsigned int */ dims[0] = F76_DIM64; - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Cmpd1[m].dsetu64[n] = valu64bits; valu64bits <<= 1; } @@ -9111,26 +9137,26 @@ static void gent_compound_int_array(void) { /* Array of 8 bits signed int */ dims[0] = F76_DIM8; - val8bits = (int8_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val8bits = (int8_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Cmpd1[m].dset8[n] = val8bits; - val8bits = (int8_t)(val8bits << 1); + val8bits = (int8_t)(val8bits << 1); } /* Array of 16 bits signed int */ dims[0] = F76_DIM16; - val16bits = (int16_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val16bits = (int16_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Cmpd1[m].dset16[n] = val16bits; - val16bits = (int16_t)(val16bits << 1); + val16bits = (int16_t)(val16bits << 1); } /* Array of 32 bits signed int */ dims[0] = F76_DIM32; - val32bits = (int32_t) ~0; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val32bits = (int32_t)~0; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Cmpd1[m].dset32[n] = val32bits; val32bits <<= 1; } @@ -9138,8 +9164,8 @@ static void gent_compound_int_array(void) { /* Array of 64 bits signed int */ dims[0] = F76_DIM64; - val64bits = (int64_t) ~0L; /* all 1s */ - for(n = 0; n < (int)dims[0]; n++){ + val64bits = (int64_t)~0L; /* all 1s */ + for (n = 0; n < (int)dims[0]; n++) { Cmpd1[m].dset64[n] = val64bits; val64bits <<= 1; } @@ -9147,7 +9173,7 @@ static void gent_compound_int_array(void) { /* Double Dummy set for failure tests */ dims[0] = F76_DIM8; - for(n = 0; n < (int)dims[0]; n++) + for (n = 0; n < (int)dims[0]; n++) Cmpd1[m].dsetdbl[n] = 0.0001F + (float)n; } @@ -9277,47 +9303,49 @@ static void gent_compound_int_array(void) { HDfree(Cmpd1); } -static void gent_compound_ints(void) { - hid_t fid, dataset, space; - uint8_t valu8bits = (uint8_t) ~0u; /* all 1s */ - uint16_t valu16bits = (uint16_t) ~0u; /* all 1s */ - uint32_t valu32bits = (uint32_t) ~0u; /* all 1s */ - uint64_t valu64bits = (uint64_t) ~0Lu; /* all 1s */ - int8_t val8bits = (int8_t) ~0; /* all 1s */ - int16_t val16bits = (int16_t) ~0; /* all 1s */ - int32_t val32bits = (int32_t) ~0; /* all 1s */ - int64_t val64bits = (int64_t) ~0L; /* all 1s */ +static void +gent_compound_ints(void) +{ + hid_t fid, dataset, space; + uint8_t valu8bits = (uint8_t)~0u; /* all 1s */ + uint16_t valu16bits = (uint16_t)~0u; /* all 1s */ + uint32_t valu32bits = (uint32_t)~0u; /* all 1s */ + uint64_t valu64bits = (uint64_t)~0Lu; /* all 1s */ + int8_t val8bits = (int8_t)~0; /* all 1s */ + int16_t val16bits = (int16_t)~0; /* all 1s */ + int32_t val32bits = (int32_t)~0; /* all 1s */ + int64_t val64bits = (int64_t)~0L; /* all 1s */ /* Structure and array for compound types */ typedef struct Cmpd1Struct { - uint8_t dsetu8; - uint16_t dsetu16; - uint32_t dsetu32; - uint64_t dsetu64; - int8_t dset8; - int16_t dset16; - int32_t dset32; - int64_t dset64; - double dsetdbl; + uint8_t dsetu8; + uint16_t dsetu16; + uint32_t dsetu32; + uint64_t dsetu64; + int8_t dset8; + int16_t dset16; + int32_t dset32; + int64_t dset64; + double dsetdbl; } Cmpd1Struct; Cmpd1Struct *Cmpd1; typedef struct Cmpd2Struct { - uint64_t dsetu64; - uint32_t dsetu32; - uint16_t dsetu16; - uint8_t dsetu8; - int64_t dset64; - int32_t dset32; - int16_t dset16; - int8_t dset8; - double dsetdbl; + uint64_t dsetu64; + uint32_t dsetu32; + uint16_t dsetu16; + uint8_t dsetu8; + int64_t dset64; + int32_t dset32; + int16_t dset16; + int8_t dset8; + double dsetdbl; } Cmpd2Struct; Cmpd2Struct *Cmpd2; - hid_t Cmpd1Structid; /* File datatype identifier */ - hid_t Cmpd2Structid; /* File datatype identifier */ - herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ - hsize_t dim[] = { F77_LENGTH }; /* Dataspace dimensions */ + hid_t Cmpd1Structid; /* File datatype identifier */ + hid_t Cmpd2Structid; /* File datatype identifier */ + herr_t H5_ATTR_NDEBUG_UNUSED status; /* Error checking variable */ + hsize_t dim[] = {F77_LENGTH}; /* Dataspace dimensions */ int m; /* Array init loop vars */ @@ -9331,57 +9359,57 @@ static void gent_compound_ints(void) { for (m = 0; m < F77_LENGTH; m++) { /* Array of 8 bits unsigned int */ - if((m % F76_DIM8) == 0) - valu8bits = (uint8_t) ~0u; /* all 1s */ + if ((m % F76_DIM8) == 0) + valu8bits = (uint8_t)~0u; /* all 1s */ Cmpd1[m].dsetu8 = valu8bits; Cmpd2[m].dsetu8 = valu8bits; - valu8bits = (uint8_t)(valu8bits << 1); + valu8bits = (uint8_t)(valu8bits << 1); /* Array of 16 bits unsigned int */ - if((m % F76_DIM16) == 0) - valu16bits = (uint16_t) ~0u; /* all 1s */ + if ((m % F76_DIM16) == 0) + valu16bits = (uint16_t)~0u; /* all 1s */ Cmpd1[m].dsetu16 = valu16bits; Cmpd2[m].dsetu16 = valu16bits; - valu16bits = (uint16_t)(valu16bits << 1); + valu16bits = (uint16_t)(valu16bits << 1); /* Array of 32 bits unsigned int */ - if((m % F76_DIM32) == 0) - valu32bits = (uint32_t) ~0u; /* all 1s */ + if ((m % F76_DIM32) == 0) + valu32bits = (uint32_t)~0u; /* all 1s */ Cmpd1[m].dsetu32 = valu32bits; Cmpd2[m].dsetu32 = valu32bits; valu32bits <<= 1; /* Array of 64 bits unsigned int */ - if((m % F76_DIM64) == 0) - valu64bits = (uint64_t) ~0Lu; /* all 1s */ + if ((m % F76_DIM64) == 0) + valu64bits = (uint64_t)~0Lu; /* all 1s */ Cmpd1[m].dsetu64 = valu64bits; Cmpd2[m].dsetu64 = valu64bits; valu64bits <<= 1; /* Array of 8 bits signed int */ - if((m % F76_DIM8) == 0) - val8bits = (int8_t) ~0; /* all 1s */ + if ((m % F76_DIM8) == 0) + val8bits = (int8_t)~0; /* all 1s */ Cmpd1[m].dset8 = val8bits; Cmpd2[m].dset8 = val8bits; - val8bits = (int8_t)(val8bits << 1); + val8bits = (int8_t)(val8bits << 1); /* Array of 16 bits signed int */ - if((m % F76_DIM16) == 0) - val16bits = (int16_t) ~0; /* all 1s */ + if ((m % F76_DIM16) == 0) + val16bits = (int16_t)~0; /* all 1s */ Cmpd1[m].dset16 = val16bits; Cmpd2[m].dset16 = val16bits; - val16bits = (int16_t)(val16bits << 1); + val16bits = (int16_t)(val16bits << 1); /* Array of 32 bits signed int */ - if((m % F76_DIM32) == 0) - val32bits = (int32_t) ~0; /* all 1s */ + if ((m % F76_DIM32) == 0) + val32bits = (int32_t)~0; /* all 1s */ Cmpd1[m].dset32 = val32bits; Cmpd2[m].dset32 = val32bits; val32bits <<= 1; /* Array of 64 bits signed int */ - if((m % F76_DIM64) == 0) - val64bits = (int64_t) ~0L; /* all 1s */ + if ((m % F76_DIM64) == 0) + val64bits = (int64_t)~0L; /* all 1s */ Cmpd1[m].dset64 = val64bits; Cmpd2[m].dset64 = val64bits; val64bits <<= 1; @@ -9521,58 +9549,59 @@ static void gent_compound_ints(void) { static void gent_intattrscalars(void) { - hid_t fid = H5I_INVALID_HID; - hid_t attr = H5I_INVALID_HID; - hid_t dataset = H5I_INVALID_HID; - hid_t space = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t attr = H5I_INVALID_HID; + hid_t dataset = H5I_INVALID_HID; + hid_t space = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; hsize_t dims[2]; - uint8_t **dsetu8 = NULL; - uint16_t **dsetu16 = NULL; - uint32_t **dsetu32 = NULL; - uint64_t **dsetu64 = NULL; - int8_t **dset8 = NULL; - int16_t **dset16 = NULL; - int32_t **dset32 = NULL; - int64_t **dset64 = NULL; - double **dsetdbl = NULL; - - uint8_t valu8bits; - uint16_t valu16bits; - uint32_t valu32bits; - uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; + uint8_t ** dsetu8 = NULL; + uint16_t **dsetu16 = NULL; + uint32_t **dsetu32 = NULL; + uint64_t **dsetu64 = NULL; + int8_t ** dset8 = NULL; + int16_t ** dset16 = NULL; + int32_t ** dset32 = NULL; + int64_t ** dset64 = NULL; + double ** dsetdbl = NULL; + + uint8_t valu8bits; + uint16_t valu16bits; + uint32_t valu32bits; + uint64_t valu64bits; + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; unsigned int i, j; /* Create arrays */ - H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F73_XDIM, F73_YDIM8); H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F73_XDIM, F73_YDIM16); H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F73_XDIM, F73_YDIM32); H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F73_XDIM, F73_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8); - H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16); - H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32); - H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F73_XDIM, F73_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F73_XDIM, F73_YDIM16); + H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F73_XDIM, F73_YDIM32); + H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F73_XDIM, F73_YDIM64); + H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F73_XDIM, F73_YDIM8); fid = H5Fcreate(FILE78, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Dataset of 8 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U8LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U8LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETU08, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu8bits = (uint8_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu8[i][0] = valu8bits; - for(j = 1; j < dims[1]; j++) { - dsetu8[i][j] = (uint8_t)(dsetu8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dsetu8[i][j] = (uint8_t)(dsetu8[i][j - 1] << 1); } valu8bits = (uint8_t)(valu8bits << 1); } @@ -9586,16 +9615,17 @@ gent_intattrscalars(void) H5Dclose(dataset); /* Dataset of 16 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM16; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U16LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM16; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U16LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETU16, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu16bits = (uint16_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu16[i][0] = valu16bits; - for(j = 1; j < dims[1]; j++) { - dsetu16[i][j] = (uint16_t)(dsetu16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dsetu16[i][j] = (uint16_t)(dsetu16[i][j - 1] << 1); } valu16bits = (uint16_t)(valu16bits << 1); } @@ -9609,16 +9639,17 @@ gent_intattrscalars(void) H5Dclose(dataset); /* Dataset of 32 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM32; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U32LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM32; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U32LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETU32, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu32bits = (uint32_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu32[i][0] = valu32bits; - for(j = 1; j < dims[1]; j++) { - dsetu32[i][j] = dsetu32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dsetu32[i][j] = dsetu32[i][j - 1] << 1; } valu32bits <<= 1; } @@ -9632,16 +9663,17 @@ gent_intattrscalars(void) H5Dclose(dataset); /* Dataset of 64 bits unsigned int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM64; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_U64LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM64; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_U64LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETU64, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dsetu64[i][0] = valu64bits; - for(j = 1; j < dims[1]; j++) { - dsetu64[i][j] = dsetu64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dsetu64[i][j] = dsetu64[i][j - 1] << 1; } valu64bits <<= 1; } @@ -9655,16 +9687,17 @@ gent_intattrscalars(void) H5Dclose(dataset); /* Dataset of 8 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I8LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I8LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETS08, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val8bits = (int8_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val8bits = (int8_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset8[i][0] = val8bits; - for(j = 1; j < dims[1]; j++) { - dset8[i][j] = (int8_t)(dset8[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dset8[i][j] = (int8_t)(dset8[i][j - 1] << 1); } val8bits = (int8_t)(val8bits << 1); } @@ -9678,16 +9711,17 @@ gent_intattrscalars(void) H5Dclose(dataset); /* Dataset of 16 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM16; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I16LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM16; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I16LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETS16, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val16bits = (int16_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val16bits = (int16_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset16[i][0] = val16bits; - for(j = 1; j < dims[1]; j++) { - dset16[i][j] = (int16_t)(dset16[i][j-1] << 1); + for (j = 1; j < dims[1]; j++) { + dset16[i][j] = (int16_t)(dset16[i][j - 1] << 1); } val16bits = (int16_t)(val16bits << 1); } @@ -9701,16 +9735,17 @@ gent_intattrscalars(void) H5Dclose(dataset); /* Dataset of 32 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM32; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I32LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM32; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I32LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETS32, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val32bits = (int32_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val32bits = (int32_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset32[i][0] = val32bits; - for(j = 1; j < dims[1]; j++) { - dset32[i][j] = dset32[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dset32[i][j] = dset32[i][j - 1] << 1; } val32bits <<= 1; } @@ -9724,16 +9759,17 @@ gent_intattrscalars(void) H5Dclose(dataset); /* Dataset of 64 bits signed int */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM64; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_STD_I64LE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM64; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_STD_I64LE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DATASETS64, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val64bits = (int64_t) ~0L; /* all 1s */ - for(i = 0; i < dims[0]; i++){ + val64bits = (int64_t)~0L; /* all 1s */ + for (i = 0; i < dims[0]; i++) { dset64[i][0] = val64bits; - for(j = 1; j < dims[1]; j++) { - dset64[i][j] = dset64[i][j-1] << 1; + for (j = 1; j < dims[1]; j++) { + dset64[i][j] = dset64[i][j - 1] << 1; } val64bits <<= 1; } @@ -9747,13 +9783,14 @@ gent_intattrscalars(void) H5Dclose(dataset); /* Double Dummy set for failure tests */ - dims[0] = F73_XDIM; dims[1] = F73_YDIM8; - space = H5Screate(H5S_SCALAR); - tid = H5Tarray_create2(H5T_NATIVE_DOUBLE, F73_ARRAY_RANK, dims); + dims[0] = F73_XDIM; + dims[1] = F73_YDIM8; + space = H5Screate(H5S_SCALAR); + tid = H5Tarray_create2(H5T_NATIVE_DOUBLE, F73_ARRAY_RANK, dims); dataset = H5Dcreate2(fid, F73_DUMMYDBL, tid, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < dims[0]; i++) - for(j = 0; j < dims[1]; j++) + for (i = 0; i < dims[0]; i++) + for (j = 0; j < dims[1]; j++) dsetdbl[i][j] = 0.0001F * (float)j + (float)i; H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl); @@ -9790,80 +9827,80 @@ gent_intattrscalars(void) static void gent_intsattrs(void) { - hid_t fid = H5I_INVALID_HID; - hid_t attr = H5I_INVALID_HID; - hid_t dataset = H5I_INVALID_HID; - hid_t space = H5I_INVALID_HID; - hid_t aspace = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t attr = H5I_INVALID_HID; + hid_t dataset = H5I_INVALID_HID; + hid_t space = H5I_INVALID_HID; + hid_t aspace = H5I_INVALID_HID; hsize_t dims[2], adims[1]; + uint8_t ** dsetu8 = NULL; + uint16_t **dsetu16 = NULL; + uint32_t **dsetu32 = NULL; + uint64_t **dsetu64 = NULL; + int8_t ** dset8 = NULL; + int16_t ** dset16 = NULL; + int32_t ** dset32 = NULL; + int64_t ** dset64 = NULL; + double ** dsetdbl = NULL; + + uint8_t * asetu8 = NULL; + uint16_t *asetu16 = NULL; + uint32_t *asetu32 = NULL; + uint64_t *asetu64 = NULL; + int8_t * aset8 = NULL; + int16_t * aset16 = NULL; + int32_t * aset32 = NULL; + int64_t * aset64 = NULL; + double * asetdbl = NULL; - uint8_t **dsetu8 = NULL; - uint16_t **dsetu16 = NULL; - uint32_t **dsetu32 = NULL; - uint64_t **dsetu64 = NULL; - int8_t **dset8 = NULL; - int16_t **dset16 = NULL; - int32_t **dset32 = NULL; - int64_t **dset64 = NULL; - double **dsetdbl = NULL; - - uint8_t *asetu8 = NULL; - uint16_t *asetu16 = NULL; - uint32_t *asetu32 = NULL; - uint64_t *asetu64 = NULL; - int8_t *aset8 = NULL; - int16_t *aset16 = NULL; - int32_t *aset32 = NULL; - int64_t *aset64 = NULL; - double *asetdbl = NULL; - - uint8_t valu8bits; - uint16_t valu16bits; - uint32_t valu32bits; - uint64_t valu64bits; - int8_t val8bits; - int16_t val16bits; - int32_t val32bits; - int64_t val64bits; + uint8_t valu8bits; + uint16_t valu16bits; + uint32_t valu32bits; + uint64_t valu64bits; + int8_t val8bits; + int16_t val16bits; + int32_t val32bits; + int64_t val64bits; unsigned int i, j; /* Create arrays */ - H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dsetu8, uint8_t, F66_XDIM, F66_YDIM8); H5TEST_ALLOCATE_2D_ARRAY(dsetu16, uint16_t, F66_XDIM, F66_YDIM16); H5TEST_ALLOCATE_2D_ARRAY(dsetu32, uint32_t, F66_XDIM, F66_YDIM32); H5TEST_ALLOCATE_2D_ARRAY(dsetu64, uint64_t, F66_XDIM, F66_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8); - H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16); - H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32); - H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64); - H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset8, int8_t, F66_XDIM, F66_YDIM8); + H5TEST_ALLOCATE_2D_ARRAY(dset16, int16_t, F66_XDIM, F66_YDIM16); + H5TEST_ALLOCATE_2D_ARRAY(dset32, int32_t, F66_XDIM, F66_YDIM32); + H5TEST_ALLOCATE_2D_ARRAY(dset64, int64_t, F66_XDIM, F66_YDIM64); + H5TEST_ALLOCATE_2D_ARRAY(dsetdbl, double, F66_XDIM, F66_YDIM8); - asetu8 = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(uint8_t)); + asetu8 = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(uint8_t)); asetu16 = HDcalloc(F66_XDIM * F66_YDIM16, sizeof(uint16_t)); asetu32 = HDcalloc(F66_XDIM * F66_YDIM32, sizeof(uint32_t)); asetu64 = HDcalloc(F66_XDIM * F66_YDIM64, sizeof(uint64_t)); - aset8 = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(int8_t)); + aset8 = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(int8_t)); aset16 = HDcalloc(F66_XDIM * F66_YDIM16, sizeof(int16_t)); aset32 = HDcalloc(F66_XDIM * F66_YDIM32, sizeof(int32_t)); aset64 = HDcalloc(F66_XDIM * F66_YDIM64, sizeof(int64_t)); - asetdbl = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(double)); + asetdbl = HDcalloc(F66_XDIM * F66_YDIM8, sizeof(double)); fid = H5Fcreate(FILE79, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Dataset of 8 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU08, H5T_STD_U8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu8bits = (uint8_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ - dsetu8[i][0] = valu8bits; - asetu8[i*dims[1]] = dsetu8[i][0]; - for(j = 1; j < dims[1]; j++) { - dsetu8[i][j] = (uint8_t)(dsetu8[i][j-1] << 1); - asetu8[i*dims[1]+j] = dsetu8[i][j]; + valu8bits = (uint8_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { + dsetu8[i][0] = valu8bits; + asetu8[i * dims[1]] = dsetu8[i][0]; + for (j = 1; j < dims[1]; j++) { + dsetu8[i][j] = (uint8_t)(dsetu8[i][j - 1] << 1); + asetu8[i * dims[1] + j] = dsetu8[i][j]; } valu8bits = (uint8_t)(valu8bits << 1); } @@ -9871,8 +9908,8 @@ gent_intsattrs(void) H5Dwrite(dataset, H5T_NATIVE_UINT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8[0]); /* Attribute of 8 bits unsigned int */ adims[0] = F66_XDIM * F66_YDIM8; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DATASETU08, H5T_STD_U8LE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DATASETU08, H5T_STD_U8LE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_UINT8, asetu8); H5Aclose(attr); H5Sclose(aspace); @@ -9880,17 +9917,18 @@ gent_intsattrs(void) H5Dclose(dataset); /* Dataset of 16 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM16; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM16; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU16, H5T_STD_U16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu16bits = (uint16_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ - dsetu16[i][0] = valu16bits; - asetu16[i*dims[1]] = dsetu16[i][0]; - for(j = 1; j < dims[1]; j++) { - dsetu16[i][j] = (uint16_t)(dsetu16[i][j-1] << 1); - asetu16[i*dims[1]+j] = dsetu16[i][j]; + valu16bits = (uint16_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { + dsetu16[i][0] = valu16bits; + asetu16[i * dims[1]] = dsetu16[i][0]; + for (j = 1; j < dims[1]; j++) { + dsetu16[i][j] = (uint16_t)(dsetu16[i][j - 1] << 1); + asetu16[i * dims[1] + j] = dsetu16[i][j]; } valu16bits = (uint16_t)(valu16bits << 1); } @@ -9898,8 +9936,8 @@ gent_intsattrs(void) H5Dwrite(dataset, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16[0]); /* Attribute of 16 bits unsigned int */ adims[0] = F66_XDIM * F66_YDIM16; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DATASETU16, H5T_STD_U16LE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DATASETU16, H5T_STD_U16LE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_UINT16, asetu16); H5Aclose(attr); H5Sclose(aspace); @@ -9907,17 +9945,18 @@ gent_intsattrs(void) H5Dclose(dataset); /* Dataset of 32 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM32; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM32; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU32, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu32bits = (uint32_t) ~0u; /* all 1s */ - for(i = 0; i < dims[0]; i++){ - dsetu32[i][0] = valu32bits; - asetu32[i*dims[1]] = dsetu32[i][0]; - for(j = 1; j < dims[1]; j++) { - dsetu32[i][j] = dsetu32[i][j-1] << 1; - asetu32[i*dims[1]+j] = dsetu32[i][j]; + valu32bits = (uint32_t)~0u; /* all 1s */ + for (i = 0; i < dims[0]; i++) { + dsetu32[i][0] = valu32bits; + asetu32[i * dims[1]] = dsetu32[i][0]; + for (j = 1; j < dims[1]; j++) { + dsetu32[i][j] = dsetu32[i][j - 1] << 1; + asetu32[i * dims[1] + j] = dsetu32[i][j]; } valu32bits <<= 1; } @@ -9925,8 +9964,8 @@ gent_intsattrs(void) H5Dwrite(dataset, H5T_NATIVE_UINT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32[0]); /* Attribute of 32 bits unsigned int */ adims[0] = F66_XDIM * F66_YDIM32; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DATASETU32, H5T_STD_U32LE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DATASETU32, H5T_STD_U32LE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_UINT32, asetu32); H5Aclose(attr); H5Sclose(aspace); @@ -9934,17 +9973,18 @@ gent_intsattrs(void) H5Dclose(dataset); /* Dataset of 64 bits unsigned int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM64; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETU64, H5T_STD_U64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - valu64bits = (uint64_t) ~0Lu; /* all 1s */ - for(i = 0; i < dims[0]; i++){ - dsetu64[i][0] = valu64bits; - asetu64[i*dims[1]] = dsetu64[i][0]; - for(j = 1; j < dims[1]; j++) { - dsetu64[i][j] = dsetu64[i][j-1] << 1; - asetu64[i*dims[1]+j] = dsetu64[i][j]; + valu64bits = (uint64_t)~0Lu; /* all 1s */ + for (i = 0; i < dims[0]; i++) { + dsetu64[i][0] = valu64bits; + asetu64[i * dims[1]] = dsetu64[i][0]; + for (j = 1; j < dims[1]; j++) { + dsetu64[i][j] = dsetu64[i][j - 1] << 1; + asetu64[i * dims[1] + j] = dsetu64[i][j]; } valu64bits <<= 1; } @@ -9952,8 +9992,8 @@ gent_intsattrs(void) H5Dwrite(dataset, H5T_NATIVE_UINT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64[0]); /* Attribute of 64 bits unsigned int */ adims[0] = F66_XDIM * F66_YDIM64; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DATASETU64, H5T_STD_U64LE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DATASETU64, H5T_STD_U64LE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_UINT64, asetu64); H5Aclose(attr); H5Sclose(aspace); @@ -9961,17 +10001,18 @@ gent_intsattrs(void) H5Dclose(dataset); /* Dataset of 8 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS08, H5T_STD_I8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val8bits = (int8_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ - dset8[i][0] = val8bits; - aset8[i*dims[1]] = dset8[i][0]; - for(j = 1; j < dims[1]; j++) { - dset8[i][j] = (int8_t)(dset8[i][j-1] << 1); - aset8[i*dims[1]+j] = dset8[i][j]; + val8bits = (int8_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { + dset8[i][0] = val8bits; + aset8[i * dims[1]] = dset8[i][0]; + for (j = 1; j < dims[1]; j++) { + dset8[i][j] = (int8_t)(dset8[i][j - 1] << 1); + aset8[i * dims[1] + j] = dset8[i][j]; } val8bits = (int8_t)(val8bits << 1); } @@ -9979,8 +10020,8 @@ gent_intsattrs(void) H5Dwrite(dataset, H5T_NATIVE_INT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8[0]); /* Attribute of 8 bits signed int */ adims[0] = F66_XDIM * F66_YDIM8; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DATASETS08, H5T_STD_I8LE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DATASETS08, H5T_STD_I8LE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_INT8, aset8); H5Aclose(attr); H5Sclose(aspace); @@ -9988,17 +10029,18 @@ gent_intsattrs(void) H5Dclose(dataset); /* Dataset of 16 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM16; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM16; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS16, H5T_STD_I16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val16bits = (int16_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ - dset16[i][0] = val16bits; - aset16[i*dims[1]] = dset16[i][0]; - for(j = 1; j < dims[1]; j++) { - dset16[i][j] = (int16_t)(dset16[i][j-1] << 1); - aset16[i*dims[1]+j] = dset16[i][j]; + val16bits = (int16_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { + dset16[i][0] = val16bits; + aset16[i * dims[1]] = dset16[i][0]; + for (j = 1; j < dims[1]; j++) { + dset16[i][j] = (int16_t)(dset16[i][j - 1] << 1); + aset16[i * dims[1] + j] = dset16[i][j]; } val16bits = (int16_t)(val16bits << 1); } @@ -10006,8 +10048,8 @@ gent_intsattrs(void) H5Dwrite(dataset, H5T_NATIVE_INT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16[0]); /* Attribute of 16 bits signed int */ adims[0] = F66_XDIM * F66_YDIM16; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DATASETS16, H5T_STD_I16LE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DATASETS16, H5T_STD_I16LE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_INT16, aset16); H5Aclose(attr); H5Sclose(aspace); @@ -10015,17 +10057,18 @@ gent_intsattrs(void) H5Dclose(dataset); /* Dataset of 32 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM32; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM32; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS32, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val32bits = (int32_t) ~0; /* all 1s */ - for(i = 0; i < dims[0]; i++){ - dset32[i][0] = val32bits; - aset32[i*dims[1]] = dset32[i][0]; - for(j = 1; j < dims[1]; j++) { - dset32[i][j] = dset32[i][j-1] << 1; - aset32[i*dims[1]+j] = dset32[i][j]; + val32bits = (int32_t)~0; /* all 1s */ + for (i = 0; i < dims[0]; i++) { + dset32[i][0] = val32bits; + aset32[i * dims[1]] = dset32[i][0]; + for (j = 1; j < dims[1]; j++) { + dset32[i][j] = dset32[i][j - 1] << 1; + aset32[i * dims[1] + j] = dset32[i][j]; } val32bits <<= 1; } @@ -10033,8 +10076,8 @@ gent_intsattrs(void) H5Dwrite(dataset, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32[0]); /* Attribute of 32 bits signed int */ adims[0] = F66_XDIM * F66_YDIM32; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DATASETS32, H5T_STD_I32LE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DATASETS32, H5T_STD_I32LE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_INT32, aset32); H5Aclose(attr); H5Sclose(aspace); @@ -10042,17 +10085,18 @@ gent_intsattrs(void) H5Dclose(dataset); /* Dataset of 64 bits signed int */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM64; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DATASETS64, H5T_STD_I64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - val64bits = (int64_t) ~0L; /* all 1s */ - for(i = 0; i < dims[0]; i++){ - dset64[i][0] = val64bits; - aset64[i*dims[1]] = dset64[i][0]; - for(j = 1; j < dims[1]; j++) { - dset64[i][j] = dset64[i][j-1] << 1; - aset64[i*dims[1]+j] = dset64[i][j]; + val64bits = (int64_t)~0L; /* all 1s */ + for (i = 0; i < dims[0]; i++) { + dset64[i][0] = val64bits; + aset64[i * dims[1]] = dset64[i][0]; + for (j = 1; j < dims[1]; j++) { + dset64[i][j] = dset64[i][j - 1] << 1; + aset64[i * dims[1] + j] = dset64[i][j]; } val64bits <<= 1; } @@ -10060,8 +10104,8 @@ gent_intsattrs(void) H5Dwrite(dataset, H5T_NATIVE_INT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64[0]); /* Attribute of 64 bits signed int */ adims[0] = F66_XDIM * F66_YDIM64; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DATASETS64, H5T_STD_I64LE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DATASETS64, H5T_STD_I64LE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_INT64, aset64); H5Aclose(attr); H5Sclose(aspace); @@ -10069,21 +10113,22 @@ gent_intsattrs(void) H5Dclose(dataset); /* Double Dummy set for failure tests */ - dims[0] = F66_XDIM; dims[1] = F66_YDIM8; - space = H5Screate_simple(2, dims, NULL); + dims[0] = F66_XDIM; + dims[1] = F66_YDIM8; + space = H5Screate_simple(2, dims, NULL); dataset = H5Dcreate2(fid, F66_DUMMYDBL, H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < dims[0]; i++) - for(j = 0; j < dims[1]; j++) { - dsetdbl[i][j] = 0.0001F * (float)j + (float)i; - asetdbl[i*dims[1]+j] = dsetdbl[i][j]; + for (i = 0; i < dims[0]; i++) + for (j = 0; j < dims[1]; j++) { + dsetdbl[i][j] = 0.0001F * (float)j + (float)i; + asetdbl[i * dims[1] + j] = dsetdbl[i][j]; } H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl[0]); /* Attribute of double */ adims[0] = F66_XDIM * F66_YDIM8; - aspace = H5Screate_simple(1, adims, NULL); - attr = H5Acreate2(dataset, F66_DUMMYDBL, H5T_IEEE_F64BE, aspace, H5P_DEFAULT, H5P_DEFAULT); + aspace = H5Screate_simple(1, adims, NULL); + attr = H5Acreate2(dataset, F66_DUMMYDBL, H5T_IEEE_F64BE, aspace, H5P_DEFAULT, H5P_DEFAULT); H5Awrite(attr, H5T_NATIVE_DOUBLE, asetdbl); H5Aclose(attr); H5Sclose(aspace); @@ -10112,25 +10157,26 @@ gent_intsattrs(void) HDfree(asetdbl); } -static void gent_bitnopaquefields(void) +static void +gent_bitnopaquefields(void) { /* Compound datatype */ - typedef struct s_t - { - uint8_t a; - uint16_t b; - uint32_t c; - uint64_t d; + typedef struct s_t { + uint8_t a; + uint16_t b; + uint32_t c; + uint64_t d; } s_t; - hid_t file_id=H5I_INVALID_HID, grp=H5I_INVALID_HID, type=H5I_INVALID_HID, space=H5I_INVALID_HID, dset=H5I_INVALID_HID; - size_t i; + hid_t file_id = H5I_INVALID_HID, grp = H5I_INVALID_HID, type = H5I_INVALID_HID, space = H5I_INVALID_HID, + dset = H5I_INVALID_HID; + size_t i; hsize_t nelmts = F80_DIM32; - uint8_t buf[F80_DIM32]; /* bitfield, opaque */ - uint16_t buf2[F80_DIM32]; /* bitfield, opaque */ - uint32_t buf3[F80_DIM32]; /* bitfield, opaque */ - uint64_t buf4[F80_DIM32]; /* bitfield, opaque */ - s_t buf5[F80_DIM32]; /* compound */ + uint8_t buf[F80_DIM32]; /* bitfield, opaque */ + uint16_t buf2[F80_DIM32]; /* bitfield, opaque */ + uint32_t buf3[F80_DIM32]; /* bitfield, opaque */ + uint64_t buf4[F80_DIM32]; /* bitfield, opaque */ + s_t buf5[F80_DIM32]; /* compound */ file_id = H5Fcreate(FILE80, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -10138,7 +10184,8 @@ static void gent_bitnopaquefields(void) /* bitfield_1 */ if ((type = H5Tcopy(H5T_STD_B8LE)) >= 0) { if ((space = H5Screate_simple(1, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(grp, "bitfield_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { + if ((dset = H5Dcreate2(grp, "bitfield_1", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { for (i = 0; i < nelmts; i++) { buf[i] = (uint8_t)(0xff ^ i); } @@ -10153,7 +10200,8 @@ static void gent_bitnopaquefields(void) /* bitfield_2 */ if ((type = H5Tcopy(H5T_STD_B16LE)) >= 0) { if ((space = H5Screate_simple(1, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(grp, "bitfield_2", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { + if ((dset = H5Dcreate2(grp, "bitfield_2", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { for (i = 0; i < nelmts; i++) { buf2[i] = (uint16_t)(0xffff ^ (i * 16)); } @@ -10168,7 +10216,8 @@ static void gent_bitnopaquefields(void) /* bitfield_3 */ if ((type = H5Tcopy(H5T_STD_B32LE)) >= 0) { if ((space = H5Screate_simple(1, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(grp, "bitfield_3", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { + if ((dset = H5Dcreate2(grp, "bitfield_3", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { for (i = 0; i < nelmts; i++) { buf3[i] = (uint32_t)0xffffffff ^ (uint32_t)(i * 32); } @@ -10183,7 +10232,8 @@ static void gent_bitnopaquefields(void) /* bitfield_4 */ if ((type = H5Tcopy(H5T_STD_B64LE)) >= 0) { if ((space = H5Screate_simple(1, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(grp, "bitfield_4", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { + if ((dset = H5Dcreate2(grp, "bitfield_4", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { for (i = 0; i < nelmts; i++) { buf4[i] = (uint64_t)0xffffffffffffffff ^ (uint64_t)(i * 64); } @@ -10203,8 +10253,9 @@ static void gent_bitnopaquefields(void) if ((type = H5Tcreate(H5T_OPAQUE, 1)) >= 0) { if ((H5Tset_tag(type, "1-byte opaque type")) >= 0) { if ((space = H5Screate_simple(1, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(grp, "opaque_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { - for(i = 0; i < nelmts; i++) + if ((dset = H5Dcreate2(grp, "opaque_1", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { + for (i = 0; i < nelmts; i++) H5_CHECKED_ASSIGN(buf[i], uint8_t, 0xff ^ i, size_t); H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); H5Dclose(dset); @@ -10219,8 +10270,9 @@ static void gent_bitnopaquefields(void) if ((type = H5Tcreate(H5T_OPAQUE, 2)) >= 0) { if ((H5Tset_tag(type, "2-byte opaque type")) >= 0) { if ((space = H5Screate_simple(1, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(grp, "opaque_2", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { - for(i = 0; i < nelmts; i++) + if ((dset = H5Dcreate2(grp, "opaque_2", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { + for (i = 0; i < nelmts; i++) H5_CHECKED_ASSIGN(buf2[i], uint16_t, 0xffff ^ (i * 16), size_t); H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf2); @@ -10242,8 +10294,9 @@ static void gent_bitnopaquefields(void) H5Tinsert(type, "c", HOFFSET(s_t, c), H5T_STD_B32LE); H5Tinsert(type, "d", HOFFSET(s_t, d), H5T_STD_B64LE); if ((space = H5Screate_simple(1, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(grp, "compound_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { - for(i = 0; i < nelmts; i++) { + if ((dset = H5Dcreate2(grp, "compound_1", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { + for (i = 0; i < nelmts; i++) { H5_CHECKED_ASSIGN(buf5[i].a, uint8_t, 0xff ^ i, size_t); H5_CHECKED_ASSIGN(buf5[i].b, uint16_t, 0xffff ^ (i * 16), size_t); buf5[i].c = (uint32_t)0xffffffff ^ (uint32_t)(i * 32); @@ -10273,23 +10326,27 @@ static void gent_bitnopaquefields(void) static void gent_intsfourdims(void) { - hid_t fid, dataset, space; - hsize_t dims[F81_RANK]; - uint32_t dset1[F81_ZDIM][F81_YDIM][F81_XDIM][F81_WDIM]; + hid_t fid, dataset, space; + hsize_t dims[F81_RANK]; + uint32_t dset1[F81_ZDIM][F81_YDIM][F81_XDIM][F81_WDIM]; unsigned int i, j, k, l; fid = H5Fcreate(FILE81, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); /* Dataset of 32 bits unsigned int */ - dims[0] = F81_ZDIM; dims[1] = F81_YDIM; dims[2] = F81_XDIM; dims[3] = F81_WDIM; - space = H5Screate_simple(F81_RANK, dims, NULL); + dims[0] = F81_ZDIM; + dims[1] = F81_YDIM; + dims[2] = F81_XDIM; + dims[3] = F81_WDIM; + space = H5Screate_simple(F81_RANK, dims, NULL); dataset = H5Dcreate2(fid, F81_DATASETNAME, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for(i = 0; i < F81_ZDIM; i++) - for(j = 0; j < F81_YDIM; j++) - for(k = 0; k < F81_XDIM; k++) - for(l = 0; l < F81_WDIM; l++) - dset1[i][j][k][l] = i*F81_YDIM*F81_XDIM*F81_WDIM + j*F81_XDIM*F81_WDIM + k*F81_WDIM + l; + for (i = 0; i < F81_ZDIM; i++) + for (j = 0; j < F81_YDIM; j++) + for (k = 0; k < F81_XDIM; k++) + for (l = 0; l < F81_WDIM; l++) + dset1[i][j][k][l] = + i * F81_YDIM * F81_XDIM * F81_WDIM + j * F81_XDIM * F81_WDIM + k * F81_WDIM + l; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); H5Sclose(space); @@ -10305,7 +10362,8 @@ gent_intsfourdims(void) * various sizes, dimensions, member types and nesting. *------------------------------------------------------------------------- */ -static void gent_compound_complex2(void) +static void +gent_compound_complex2(void) { /* Third-level nested compound */ typedef struct { @@ -10325,45 +10383,42 @@ static void gent_compound_complex2(void) } further_nested; typedef struct { - char further_nested_string[11]; - char further_nested_string_array[4][13]; + char further_nested_string[11]; + char further_nested_string_array[4][13]; third_level_compound deep_nest; } further_nested2; /* First First-level nested compound */ - typedef struct - { + typedef struct { double nested_a; char nested_string[23]; char nested_string_array[4][12]; } nested_compound; /* Second First-level nested compound */ - typedef struct - { + typedef struct { float a; further_nested b; further_nested2 c; } multiple_nested_compound; /* Compound datatype with different member types */ - typedef struct - { + typedef struct { /* Arrays nested inside compound */ unsigned int a[4]; int b[6]; float c[2][4]; - nested_compound d; /* Compound inside compound */ - multiple_nested_compound e; /* Compound inside compound with further nested compound */ + nested_compound d; /* Compound inside compound */ + multiple_nested_compound e; /* Compound inside compound with further nested compound */ } compound; - compound *buf; /* compound */ + compound *buf; /* compound */ - hid_t file, type=H5I_INVALID_HID, space=H5I_INVALID_HID, dset=H5I_INVALID_HID; - hid_t dset_array_a, dset_array_b, dset_array_c; - hid_t cmpd_tid1 = H5I_INVALID_HID, cmpd_tid2 = H5I_INVALID_HID, cmpd_tid3 = H5I_INVALID_HID; - size_t i; - size_t j, k; + hid_t file, type = H5I_INVALID_HID, space = H5I_INVALID_HID, dset = H5I_INVALID_HID; + hid_t dset_array_a, dset_array_b, dset_array_c; + hid_t cmpd_tid1 = H5I_INVALID_HID, cmpd_tid2 = H5I_INVALID_HID, cmpd_tid3 = H5I_INVALID_HID; + size_t i; + size_t j, k; unsigned dset_array_ndims; hsize_t dset_array_a_dims[1], dset_array_b_dims[1], dset_array_c_dims[2]; hsize_t nelmts = F82_DIM32; @@ -10377,23 +10432,27 @@ static void gent_compound_complex2(void) if ((space = H5Screate_simple(F82_RANK, &nelmts, NULL)) >= 0) { /* CompoundComplex1D */ if ((type = H5Tcreate(H5T_COMPOUND, sizeof(compound))) >= 0) { - hid_t str_type, array; + hid_t str_type, array; hsize_t dims[1]; - hid_t nest1, nest2; + hid_t nest1, nest2; /* Insert top-level array members */ - dset_array_ndims = 1; dset_array_a_dims[0] = 4; - dset_array_a = H5Tarray_create2(H5T_STD_U32LE, dset_array_ndims, dset_array_a_dims); + dset_array_ndims = 1; + dset_array_a_dims[0] = 4; + dset_array_a = H5Tarray_create2(H5T_STD_U32LE, dset_array_ndims, dset_array_a_dims); H5Tinsert(type, "a", HOFFSET(compound, a), dset_array_a); H5Tclose(dset_array_a); - dset_array_ndims = 1; dset_array_b_dims[0] = 6; - dset_array_b = H5Tarray_create2(H5T_STD_I32LE, dset_array_ndims, dset_array_b_dims); + dset_array_ndims = 1; + dset_array_b_dims[0] = 6; + dset_array_b = H5Tarray_create2(H5T_STD_I32LE, dset_array_ndims, dset_array_b_dims); H5Tinsert(type, "b", HOFFSET(compound, b), dset_array_b); H5Tclose(dset_array_b); - dset_array_ndims = 2; dset_array_c_dims[0] = 2; dset_array_c_dims[1] = 4; - dset_array_c = H5Tarray_create2(H5T_IEEE_F32LE, dset_array_ndims, dset_array_c_dims); + dset_array_ndims = 2; + dset_array_c_dims[0] = 2; + dset_array_c_dims[1] = 4; + dset_array_c = H5Tarray_create2(H5T_IEEE_F32LE, dset_array_ndims, dset_array_c_dims); H5Tinsert(type, "c", HOFFSET(compound, c), dset_array_c); H5Tclose(dset_array_c); @@ -10402,16 +10461,16 @@ static void gent_compound_complex2(void) H5Tinsert(cmpd_tid1, "nested_double", HOFFSET(nested_compound, nested_a), H5T_IEEE_F64LE); - dims[0] = 1; + dims[0] = 1; str_type = mkstr(23, H5T_STR_NULLTERM); - array = H5Tarray_create2(str_type, 1, dims); + array = H5Tarray_create2(str_type, 1, dims); H5Tinsert(cmpd_tid1, "nested_string", HOFFSET(nested_compound, nested_string), array); H5Tclose(array); H5Tclose(str_type); - dims[0] = 4; + dims[0] = 4; str_type = mkstr(12, H5T_STR_NULLTERM); - array = H5Tarray_create2(str_type, 1, dims); + array = H5Tarray_create2(str_type, 1, dims); H5Tinsert(cmpd_tid1, "nested_string_array", HOFFSET(nested_compound, nested_string_array), array); H5Tclose(array); H5Tclose(str_type); @@ -10427,7 +10486,7 @@ static void gent_compound_complex2(void) nest1 = H5Tcreate(H5T_COMPOUND, sizeof(further_nested)); dims[0] = 5; - array = H5Tarray_create2(H5T_STD_U32LE, 1, dims); + array = H5Tarray_create2(H5T_STD_U32LE, 1, dims); H5Tinsert(nest1, "nested_unsigned_int", HOFFSET(further_nested, multiple_nested_a), array); H5Tclose(array); @@ -10449,17 +10508,18 @@ static void gent_compound_complex2(void) /* Add second further nested compound */ nest2 = H5Tcreate(H5T_COMPOUND, sizeof(further_nested2)); - dims[0] = 1; + dims[0] = 1; str_type = mkstr(11, H5T_STR_NULLTERM); - array = H5Tarray_create2(str_type, 1, dims); + array = H5Tarray_create2(str_type, 1, dims); H5Tinsert(nest2, "nested_string", HOFFSET(further_nested2, further_nested_string), array); H5Tclose(array); H5Tclose(str_type); - dims[0] = 4; + dims[0] = 4; str_type = mkstr(13, H5T_STR_NULLTERM); - array = H5Tarray_create2(str_type, 1, dims); - H5Tinsert(nest2, "nested_string_array", HOFFSET(further_nested2, further_nested_string_array), array); + array = H5Tarray_create2(str_type, 1, dims); + H5Tinsert(nest2, "nested_string_array", HOFFSET(further_nested2, further_nested_string_array), + array); H5Tclose(array); H5Tclose(str_type); @@ -10467,8 +10527,9 @@ static void gent_compound_complex2(void) cmpd_tid3 = H5Tcreate(H5T_COMPOUND, sizeof(third_level_compound)); dims[0] = 10; - array = H5Tarray_create2(H5T_STD_I16LE, 1, dims); - H5Tinsert(cmpd_tid3, "deep_nested_short", HOFFSET(third_level_compound, deep_nested_short), array); + array = H5Tarray_create2(H5T_STD_I16LE, 1, dims); + H5Tinsert(cmpd_tid3, "deep_nested_short", HOFFSET(third_level_compound, deep_nested_short), + array); H5Tclose(array); array = H5Tarray_create2(H5T_STD_I32LE, 1, dims); @@ -10480,11 +10541,13 @@ static void gent_compound_complex2(void) H5Tclose(array); array = H5Tarray_create2(H5T_IEEE_F64LE, 1, dims); - H5Tinsert(cmpd_tid3, "deep_nested_double", HOFFSET(third_level_compound, deep_nested_double), array); + H5Tinsert(cmpd_tid3, "deep_nested_double", HOFFSET(third_level_compound, deep_nested_double), + array); H5Tclose(array); array = H5Tarray_create2(H5T_IEEE_F32LE, 1, dims); - H5Tinsert(cmpd_tid3, "deep_nested_float", HOFFSET(third_level_compound, deep_nested_float), array); + H5Tinsert(cmpd_tid3, "deep_nested_float", HOFFSET(third_level_compound, deep_nested_float), + array); H5Tclose(array); H5Tinsert(nest2, "deep_nested_compound", HOFFSET(further_nested2, deep_nest), cmpd_tid3); @@ -10494,19 +10557,19 @@ static void gent_compound_complex2(void) H5Tinsert(type, "multiple_nested_compound", HOFFSET(compound, e), cmpd_tid2); - - if ((dset = H5Dcreate2(file, F82_DATASETNAME, type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { - for(i = 0; i < nelmts; i++) { + if ((dset = H5Dcreate2(file, F82_DATASETNAME, type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { + for (i = 0; i < nelmts; i++) { for (j = 0; j < dset_array_a_dims[0]; j++) - buf[i].a[j] = (unsigned int)(j + i*10); + buf[i].a[j] = (unsigned int)(j + i * 10); for (j = 0; j < dset_array_b_dims[0]; j++) - buf[i].b[j] = (int)(j - i*10); + buf[i].b[j] = (int)(j - i * 10); for (j = 0; j < dset_array_c_dims[0]; j++) for (k = 0; k < dset_array_c_dims[1]; k++) - buf[i].c[j][k] = (float)(j + k + i*10) + (float)(j) * 0.1F; + buf[i].c[j][k] = (float)(j + k + i * 10) + (float)(j)*0.1F; /* Set up first nested compound */ - buf[i].d.nested_a = (double) i; + buf[i].d.nested_a = (double)i; HDstrcpy(buf[i].d.nested_string, "This is a test string."); @@ -10514,13 +10577,13 @@ static void gent_compound_complex2(void) HDstrcpy(buf[i].d.nested_string_array[j], "String test"); /* Set up multiple nested compound */ - buf[i].e.a = (float) i; + buf[i].e.a = (float)i; for (j = 0; j < 5; j++) { - buf[i].e.b.multiple_nested_a[j] = (unsigned int)(j + i*10); - buf[i].e.b.multiple_nested_b[j] = (int)(j - i*10); - buf[i].e.b.multiple_nested_c[j] = (unsigned long)(j + i*10); - buf[i].e.b.multiple_nested_d[j] = (long)(j - i*10); + buf[i].e.b.multiple_nested_a[j] = (unsigned int)(j + i * 10); + buf[i].e.b.multiple_nested_b[j] = (int)(j - i * 10); + buf[i].e.b.multiple_nested_c[j] = (unsigned long)(j + i * 10); + buf[i].e.b.multiple_nested_d[j] = (long)(j - i * 10); } HDstrcpy(buf[i].e.c.further_nested_string, "1234567890"); @@ -10528,11 +10591,11 @@ static void gent_compound_complex2(void) HDstrcpy(buf[i].e.c.further_nested_string_array[j], "STRING ARRAY"); for (j = 0; j < 10; j++) { - buf[i].e.c.deep_nest.deep_nested_short[j] = (short)(j + i*10); - buf[i].e.c.deep_nest.deep_nested_int[j] = (int)(j - i*10); - buf[i].e.c.deep_nest.deep_nested_long[j] = (long)(j + i*10); - buf[i].e.c.deep_nest.deep_nested_double[j] = (double)(j + i*10); - buf[i].e.c.deep_nest.deep_nested_float[j] = (float)(j + i*10); + buf[i].e.c.deep_nest.deep_nested_short[j] = (short)(j + i * 10); + buf[i].e.c.deep_nest.deep_nested_int[j] = (int)(j - i * 10); + buf[i].e.c.deep_nest.deep_nested_long[j] = (long)(j + i * 10); + buf[i].e.c.deep_nest.deep_nested_double[j] = (double)(j + i * 10); + buf[i].e.c.deep_nest.deep_nested_float[j] = (float)(j + i * 10); } } @@ -10550,74 +10613,71 @@ static void gent_compound_complex2(void) } /* CompoundComplex2D */ -/* if ((type = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) >= 0) { - H5Tinsert(type, "a", HOFFSET(s_t, a), H5T_STD_B8LE); - H5Tinsert(type, "b", HOFFSET(s_t, b), H5T_STD_B16LE); - H5Tinsert(type, "c", HOFFSET(s_t, c), H5T_STD_B32LE); - H5Tinsert(type, "d", HOFFSET(s_t, d), H5T_STD_B64LE); - if ((space = H5Screate_simple(F82_RANK2, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(file, "compound_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { - for(i = 0; i < nelmts; i++) { - buf5[i].a = (unsigned char)0xff ^ (unsigned char)i; - buf5[i].b = (unsigned int)0xffff ^ (unsigned int)(i * 16); - buf5[i].c = (unsigned long)0xffffffff ^ (unsigned long)(i * 32); - buf5[i].d = (unsigned long long)0xffffffffffffffff ^ (unsigned long long)(i * 64); - } + /* if ((type = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) >= 0) { + H5Tinsert(type, "a", HOFFSET(s_t, a), H5T_STD_B8LE); + H5Tinsert(type, "b", HOFFSET(s_t, b), H5T_STD_B16LE); + H5Tinsert(type, "c", HOFFSET(s_t, c), H5T_STD_B32LE); + H5Tinsert(type, "d", HOFFSET(s_t, d), H5T_STD_B64LE); + if ((space = H5Screate_simple(F82_RANK2, &nelmts, NULL)) >= 0) { + if ((dset = H5Dcreate2(file, "compound_1", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { for(i = 0; i < nelmts; i++) { buf5[i].a = (unsigned char)0xff ^ (unsigned char)i; + buf5[i].b = (unsigned int)0xffff ^ (unsigned int)(i * 16); + buf5[i].c = (unsigned long)0xffffffff ^ (unsigned long)(i * 32); + buf5[i].d = (unsigned long long)0xffffffffffffffff ^ (unsigned long long)(i * 64); + } - H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); - H5Dclose(dset); + H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); + H5Dclose(dset); + } + H5Sclose(space); } - H5Sclose(space); + H5Tclose(type); } - H5Tclose(type); - } -*/ + */ /* CompoundComplex3D */ -/* if ((type = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) >= 0) { - H5Tinsert(type, "a", HOFFSET(s_t, a), H5T_STD_B8LE); - H5Tinsert(type, "b", HOFFSET(s_t, b), H5T_STD_B16LE); - H5Tinsert(type, "c", HOFFSET(s_t, c), H5T_STD_B32LE); - H5Tinsert(type, "d", HOFFSET(s_t, d), H5T_STD_B64LE); - if ((space = H5Screate_simple(F82_RANK3, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(file, "compound_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { - for(i = 0; i < nelmts; i++) { - buf5[i].a = (unsigned char)0xff ^ (unsigned char)i; - buf5[i].b = (unsigned int)0xffff ^ (unsigned int)(i * 16); - buf5[i].c = (unsigned long)0xffffffff ^ (unsigned long)(i * 32); - buf5[i].d = (unsigned long long)0xffffffffffffffff ^ (unsigned long long)(i * 64); - } + /* if ((type = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) >= 0) { + H5Tinsert(type, "a", HOFFSET(s_t, a), H5T_STD_B8LE); + H5Tinsert(type, "b", HOFFSET(s_t, b), H5T_STD_B16LE); + H5Tinsert(type, "c", HOFFSET(s_t, c), H5T_STD_B32LE); + H5Tinsert(type, "d", HOFFSET(s_t, d), H5T_STD_B64LE); + if ((space = H5Screate_simple(F82_RANK3, &nelmts, NULL)) >= 0) { + if ((dset = H5Dcreate2(file, "compound_1", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { for(i = 0; i < nelmts; i++) { buf5[i].a = (unsigned char)0xff ^ (unsigned char)i; + buf5[i].b = (unsigned int)0xffff ^ (unsigned int)(i * 16); + buf5[i].c = (unsigned long)0xffffffff ^ (unsigned long)(i * 32); + buf5[i].d = (unsigned long long)0xffffffffffffffff ^ (unsigned long long)(i * 64); + } - H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); - H5Dclose(dset); + H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); + H5Dclose(dset); + } + H5Sclose(space); } - H5Sclose(space); + H5Tclose(type); } - H5Tclose(type); - } -*/ + */ /* CompoundComplex4D */ -/* if ((type = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) >= 0) { - H5Tinsert(type, "a", HOFFSET(s_t, a), H5T_STD_B8LE); - H5Tinsert(type, "b", HOFFSET(s_t, b), H5T_STD_B16LE); - H5Tinsert(type, "c", HOFFSET(s_t, c), H5T_STD_B32LE); - H5Tinsert(type, "d", HOFFSET(s_t, d), H5T_STD_B64LE); - if ((space = H5Screate_simple(F82_RANK4, &nelmts, NULL)) >= 0) { - if ((dset = H5Dcreate2(file, "compound_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { - for(i = 0; i < nelmts; i++) { - buf5[i].a = (unsigned char)0xff ^ (unsigned char)i; - buf5[i].b = (unsigned int)0xffff ^ (unsigned int)(i * 16); - buf5[i].c = (unsigned long)0xffffffff ^ (unsigned long)(i * 32); - buf5[i].d = (unsigned long long)0xffffffffffffffff ^ (unsigned long long)(i * 64); - } + /* if ((type = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) >= 0) { + H5Tinsert(type, "a", HOFFSET(s_t, a), H5T_STD_B8LE); + H5Tinsert(type, "b", HOFFSET(s_t, b), H5T_STD_B16LE); + H5Tinsert(type, "c", HOFFSET(s_t, c), H5T_STD_B32LE); + H5Tinsert(type, "d", HOFFSET(s_t, d), H5T_STD_B64LE); + if ((space = H5Screate_simple(F82_RANK4, &nelmts, NULL)) >= 0) { + if ((dset = H5Dcreate2(file, "compound_1", type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { for(i = 0; i < nelmts; i++) { buf5[i].a = (unsigned char)0xff ^ (unsigned char)i; + buf5[i].b = (unsigned int)0xffff ^ (unsigned int)(i * 16); + buf5[i].c = (unsigned long)0xffffffff ^ (unsigned long)(i * 32); + buf5[i].d = (unsigned long long)0xffffffffffffffff ^ (unsigned long long)(i * 64); + } - H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); - H5Dclose(dset); + H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); + H5Dclose(dset); + } + H5Sclose(space); } - H5Sclose(space); + H5Tclose(type); } - H5Tclose(type); - } -*/ + */ H5Fclose(file); HDfree(buf); @@ -10630,32 +10690,30 @@ static void gent_compound_complex2(void) * length strings. *------------------------------------------------------------------------- */ -static void gent_vlenstr_array(void) +static void +gent_vlenstr_array(void) { /* Compound datatype with different member types */ - typedef struct compound - { + typedef struct compound { /* Array of variable-length strings*/ const char *vlen_array[F83_ARRAYDIM]; } compound; - compound buf[F83_DIM]; + compound buf[F83_DIM]; const char *test[F83_ARRAYDIM] = { - "This is a variable-length test string.", - "This test string is also variable-length.", - "A final test of variable-length strings. This string is longer than the others." - }; - const char *buffer[F83_DIM*F83_ARRAYDIM]; + "This is a variable-length test string.", "This test string is also variable-length.", + "A final test of variable-length strings. This string is longer than the others."}; + const char *buffer[F83_DIM * F83_ARRAYDIM]; - hid_t file, type=H5I_INVALID_HID, space=H5I_INVALID_HID, dset=H5I_INVALID_HID; + hid_t file, type = H5I_INVALID_HID, space = H5I_INVALID_HID, dset = H5I_INVALID_HID; hid_t cmpd_tid1, array_tid; - int i, j; + int i, j; hsize_t dims[] = {F83_DIM}, arraydim[] = {F83_ARRAYDIM}; /* Initialize scalar data */ for (i = 0; i < F83_DIM; i++) for (j = 0; j < 3; j++) - buffer[j + 3*i] = test[j]; + buffer[j + 3 * i] = test[j]; /* Initialize compound data */ for (i = 0; i < F83_DIM; i++) @@ -10670,7 +10728,8 @@ static void gent_vlenstr_array(void) /* ScalarArrayOfVlenStr */ if ((type = H5Tarray_create2(array_tid, F83_RANK, arraydim)) >= 0) { - if ((dset = H5Dcreate2(file, F83_DATASETNAME, type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { + if ((dset = H5Dcreate2(file, F83_DATASETNAME, type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { if (H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buffer) < 0) HDfprintf(stderr, "gent_vlenstr_array H5Dwrite failed\n"); @@ -10691,7 +10750,8 @@ static void gent_vlenstr_array(void) array_tid = H5Tarray_create2(cmpd_tid1, F83_RANK, arraydim); H5Tinsert(type, "vlen_str_array", HOFFSET(compound, vlen_array), array_tid); - if ((dset = H5Dcreate2(file, F83_DATASETNAME2, type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) >= 0) { + if ((dset = H5Dcreate2(file, F83_DATASETNAME2, type, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) >= 0) { if (H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) HDfprintf(stderr, "gent_vlenstr_array H5Dwrite failed\n"); @@ -10712,34 +10772,35 @@ static void gent_vlenstr_array(void) * Purpose: Generate a file to be used in testing user defined filter plugin3. *------------------------------------------------------------------------- */ -static void gent_udfilter(void) +static void +gent_udfilter(void) { - hid_t fid; /* file id */ - hid_t dcpl; /* dataset creation property list */ - hid_t dsid; /* dataset ID */ - hid_t sid; /* dataspace ID */ - - hsize_t dims1[RANK] = {DIM1,DIM2}; - hsize_t chunk_dims[RANK] = {CDIM1,CDIM2}; - int buf1[DIM1][DIM2]; - int i, j, n; - int H5_ATTR_NDEBUG_UNUSED ret; - - for(i=n=0; i<DIM1; i++){ - for(j=0; j<DIM2; j++){ - buf1[i][j]=n++; + hid_t fid; /* file id */ + hid_t dcpl; /* dataset creation property list */ + hid_t dsid; /* dataset ID */ + hid_t sid; /* dataspace ID */ + + hsize_t dims1[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int buf1[DIM1][DIM2]; + int i, j, n; + int H5_ATTR_NDEBUG_UNUSED ret; + + for (i = n = 0; i < DIM1; i++) { + for (j = 0; j < DIM2; j++) { + buf1[i][j] = n++; } } /* create a file */ - fid = H5Fcreate(FILE84, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); + fid = H5Fcreate(FILE84, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid >= 0); /* create a space */ sid = H5Screate_simple(SPACE2_RANK, dims1, NULL); dcpl = H5Pcreate(H5P_DATASET_CREATE); - HDassert(dcpl>=0); + HDassert(dcpl >= 0); ret = H5Pset_layout(dcpl, H5D_CHUNKED); HDassert(ret >= 0); @@ -10747,10 +10808,10 @@ static void gent_udfilter(void) ret = H5Pset_chunk(dcpl, SPACE2_RANK, chunk_dims); HDassert(ret >= 0); - ret = H5Zregister (H5Z_DYNLIBUD); + ret = H5Zregister(H5Z_DYNLIBUD); HDassert(ret >= 0); - ret = H5Pset_filter (dcpl, H5Z_FILTER_DYNLIBUD, H5Z_FLAG_MANDATORY, 0, NULL); + ret = H5Pset_filter(dcpl, H5Z_FILTER_DYNLIBUD, H5Z_FLAG_MANDATORY, 0, NULL); HDassert(ret >= 0); /* create the dataset */ @@ -10797,38 +10858,37 @@ static void gent_udfilter(void) *------------------------------------------------------------------------- */ static size_t -H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, - size_t *buf_size, void **buf) +H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, size_t nbytes, + size_t *buf_size, void **buf) { - char *int_ptr = (char *)*buf; /* Pointer to the data values */ - size_t buf_left = *buf_size; /* Amount of data buffer left to process */ + char * int_ptr = (char *)*buf; /* Pointer to the data values */ + size_t buf_left = *buf_size; /* Amount of data buffer left to process */ /* Check for the correct number of parameters */ - if(cd_nelmts > 0) - return(0); + if (cd_nelmts > 0) + return (0); /* Assignment to eliminate unused parameter warning. */ cd_values = cd_values; - if(flags & H5Z_FLAG_REVERSE) { /*read*/ + if (flags & H5Z_FLAG_REVERSE) { /*read*/ /* Subtract the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = (int8_t)(temp - MULTIPLIER); + *int_ptr = (int8_t)(temp - MULTIPLIER); int_ptr++; buf_left -= sizeof(*int_ptr); - } /* end while */ - } /* end if */ + } /* end while */ + } /* end if */ else { /*write*/ /* Add the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = (int8_t)(temp + MULTIPLIER); + *int_ptr = (int8_t)(temp + MULTIPLIER); int_ptr++; buf_left -= sizeof(*int_ptr); } /* end while */ - } /* end else */ + } /* end else */ return nbytes; } /* end H5Z_filter_dynlibud() */ @@ -10845,13 +10905,14 @@ H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, * Purpose: generates dataset and attribute of null dataspace in a group *------------------------------------------------------------------------- */ -static void gent_null_space_group(void) +static void +gent_null_space_group(void) { hid_t fid, root, group, dataset, space, attr; - int dset_buf = 10; - int point = 4; + int dset_buf = 10; + int point = 4; - fid = H5Fcreate(FILE85, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(FILE85, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); root = H5Gopen2(fid, "/", H5P_DEFAULT); group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -10891,75 +10952,78 @@ static void gent_null_space_group(void) static void gent_err_attr_dspace(void) { - hid_t fid = H5I_INVALID_HID; /* File identifier */ - hid_t fcpl = H5I_INVALID_HID; /* File access property list */ - hid_t sid = H5I_INVALID_HID; /* Dataspace identifier */ - hid_t aid = H5I_INVALID_HID; /* Attribute identifier */ - hsize_t dims = 2; /* Dimensino size */ - int wdata[2] = {7, 42}; /* The buffer to write */ - int fd = -1; /* The file descriptor */ - char val = 6; /* An invalid version */ + hid_t fid = H5I_INVALID_HID; /* File identifier */ + hid_t fcpl = H5I_INVALID_HID; /* File access property list */ + hid_t sid = H5I_INVALID_HID; /* Dataspace identifier */ + hid_t aid = H5I_INVALID_HID; /* Attribute identifier */ + hsize_t dims = 2; /* Dimensino size */ + int wdata[2] = {7, 42}; /* The buffer to write */ + int fd = -1; /* The file descriptor */ + char val = 6; /* An invalid version */ /* Create an fcpl */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto error; /* Set up the dataspace message to be shared */ - if(H5Pset_shared_mesg_nindexes(fcpl, 1) < 0) + if (H5Pset_shared_mesg_nindexes(fcpl, 1) < 0) goto error; - if(H5Pset_shared_mesg_index(fcpl, 0, H5O_SHMESG_SDSPACE_FLAG, 1) < 0) + if (H5Pset_shared_mesg_index(fcpl, 0, H5O_SHMESG_SDSPACE_FLAG, 1) < 0) goto error; /* Create the file with the shared message setting */ - if((fid = H5Fcreate(FILE86, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FILE86, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) goto error; /* Create the dataspace */ - if((sid = H5Screate_simple(1, &dims, &dims)) < 0) + if ((sid = H5Screate_simple(1, &dims, &dims)) < 0) goto error; /* Create an attribute with shared dataspace */ - if((aid = H5Acreate2(fid, "attribute", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((aid = H5Acreate2(fid, "attribute", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if(H5Awrite(aid, H5T_NATIVE_INT, wdata) < 0) + if (H5Awrite(aid, H5T_NATIVE_INT, wdata) < 0) goto error; /* Closing */ - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; /* This section of code will write an illegal version to the "version" field of the shared dataspace message */ - if((fd = HDopen(FILE86, O_RDWR, 0633)) < 0) + if ((fd = HDopen(FILE86, O_RDWR, 0633)) < 0) goto error; /* Offset of the "version" field to modify is as follows: */ /* 1916: offset of the object header containing the attribute message */ /* 32: offset of the attribute message in the object header */ /* 30: offset in the attribute message containing the version of the shared dataspace message */ - if(HDlseek(fd, 1916+32+30, SEEK_SET) < 0) + if (HDlseek(fd, 1916 + 32 + 30, SEEK_SET) < 0) goto error; - if(HDwrite(fd, &val, 1) < 0) + if (HDwrite(fd, &val, 1) < 0) goto error; - if(HDclose(fd) < 0) + if (HDclose(fd) < 0) goto error; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(fcpl); H5Aclose(aid); H5Sclose(sid); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; } /* gen_err_attr_dspace() */ -int main(void) +int +main(void) { gent_group(); gent_attribute(); @@ -11057,4 +11121,3 @@ int main(void) return 0; } - diff --git a/tools/test/h5format_convert/h5fc_chk_idx.c b/tools/test/h5format_convert/h5fc_chk_idx.c index 2fbbec4..2f54199 100644 --- a/tools/test/h5format_convert/h5fc_chk_idx.c +++ b/tools/test/h5format_convert/h5fc_chk_idx.c @@ -43,16 +43,16 @@ usage(void) int main(int argc, char *argv[]) { - char *fname = NULL; - char *dname = NULL; - hid_t fid = H5I_INVALID_HID; - hid_t did = H5I_INVALID_HID; + char * fname = NULL; + char * dname = NULL; + hid_t fid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; H5D_chunk_index_t idx_type; /* h5fc_chk_idx fname dname */ - if(argc != 3) { - usage(); - HDexit(EXIT_FAILURE); + if (argc != 3) { + usage(); + HDexit(EXIT_FAILURE); } /* end if */ /* Duplicate the file name & dataset name */ @@ -60,42 +60,41 @@ main(int argc, char *argv[]) dname = HDstrdup(argv[2]); /* Try opening the file */ - if((fid = h5tools_fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT, FALSE, NULL, (size_t)0)) < 0) { - HDfprintf(stderr, "h5fc_chk_idx: unable to open the file\n"); - HDexit(EXIT_FAILURE); + if ((fid = h5tools_fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT, FALSE, NULL, (size_t)0)) < 0) { + HDfprintf(stderr, "h5fc_chk_idx: unable to open the file\n"); + HDexit(EXIT_FAILURE); } /* end if */ /* Open the dataset */ - if((did = H5Dopen2(fid, dname, H5P_DEFAULT)) < 0) { - HDfprintf(stderr, "h5fc_chk_idx: unable to open the dataset\n"); - HDexit(EXIT_FAILURE); + if ((did = H5Dopen2(fid, dname, H5P_DEFAULT)) < 0) { + HDfprintf(stderr, "h5fc_chk_idx: unable to open the dataset\n"); + HDexit(EXIT_FAILURE); } /* end if */ /* Get the dataset's chunk indexing type */ - if(H5Dget_chunk_index_type(did, &idx_type) < 0) { - HDfprintf(stderr, "h5fc_chk_idx: unable to get chunk index type for the dataset\n"); - HDexit(EXIT_FAILURE); + if (H5Dget_chunk_index_type(did, &idx_type) < 0) { + HDfprintf(stderr, "h5fc_chk_idx: unable to get chunk index type for the dataset\n"); + HDexit(EXIT_FAILURE); } /* end if */ /* Close the dataset */ - if(H5Dclose(did) < 0) { - HDfprintf(stderr, "h5fc_chk_idx: unable to close the dataset\n"); - HDexit(EXIT_FAILURE); + if (H5Dclose(did) < 0) { + HDfprintf(stderr, "h5fc_chk_idx: unable to close the dataset\n"); + HDexit(EXIT_FAILURE); } /* end if */ /* Close the file */ - if(H5Fclose(fid) < 0) { - HDfprintf(stderr, "h5fc_chk_idx_type: cannot close the file\n"); - HDexit(EXIT_FAILURE); + if (H5Fclose(fid) < 0) { + HDfprintf(stderr, "h5fc_chk_idx_type: cannot close the file\n"); + HDexit(EXIT_FAILURE); } /* end if */ /* Return success when the chunk indexing type is version 1 B-tree */ - if(idx_type == H5D_CHUNK_IDX_BTREE) - HDexit(EXIT_SUCCESS); + if (idx_type == H5D_CHUNK_IDX_BTREE) + HDexit(EXIT_SUCCESS); else { - HDfprintf(stderr, "Error: chunk indexing type is %d\n", idx_type); - HDexit(EXIT_FAILURE); + HDfprintf(stderr, "Error: chunk indexing type is %d\n", idx_type); + HDexit(EXIT_FAILURE); } /* end if */ } /* main() */ - diff --git a/tools/test/h5format_convert/h5fc_gentest.c b/tools/test/h5format_convert/h5fc_gentest.c index 1e9e2cf..8e05854 100644 --- a/tools/test/h5format_convert/h5fc_gentest.c +++ b/tools/test/h5format_convert/h5fc_gentest.c @@ -24,45 +24,42 @@ #include "hdf5.h" #include "H5private.h" -#define NON_V3_FILE "h5fc_non_v3.h5" -#define EDGE_V3_FILE "h5fc_edge_v3.h5" -#define ERR_LEVEL_FILE "h5fc_err_level.h5" - -const char *FILENAME[] = { - "h5fc_ext1_i.h5", /* 0 */ - "h5fc_ext1_s.h5", /* 1 */ - "h5fc_ext1_f.h5", /* 2 */ - "h5fc_ext2_is.h5", /* 3 */ - "h5fc_ext2_if.h5", /* 4 */ - "h5fc_ext2_sf.h5", /* 5 */ - "h5fc_ext3_isf.h5", /* 6 */ - "h5fc_ext_none.h5", /* 7 */ - NULL -}; - -#define GROUP "GROUP" - -#define DSET_COMPACT "DSET_COMPACT" -#define DSET_CONTIGUOUS "DSET_CONTIGUOUS" - -#define DSET_EA "DSET_EA" -#define DSET_NDATA_EA "DSET_NDATA_EA" +#define NON_V3_FILE "h5fc_non_v3.h5" +#define EDGE_V3_FILE "h5fc_edge_v3.h5" +#define ERR_LEVEL_FILE "h5fc_err_level.h5" + +const char *FILENAME[] = {"h5fc_ext1_i.h5", /* 0 */ + "h5fc_ext1_s.h5", /* 1 */ + "h5fc_ext1_f.h5", /* 2 */ + "h5fc_ext2_is.h5", /* 3 */ + "h5fc_ext2_if.h5", /* 4 */ + "h5fc_ext2_sf.h5", /* 5 */ + "h5fc_ext3_isf.h5", /* 6 */ + "h5fc_ext_none.h5", /* 7 */ + NULL}; + +#define GROUP "GROUP" + +#define DSET_COMPACT "DSET_COMPACT" +#define DSET_CONTIGUOUS "DSET_CONTIGUOUS" + +#define DSET_EA "DSET_EA" +#define DSET_NDATA_EA "DSET_NDATA_EA" #define DSET_BT2 "DSET_BT2" -#define DSET_NDATA_BT2 "DSET_NDATA_BT2" -#define DSET_FA "DSET_FA" -#define DSET_NDATA_FA "DSET_NDATA_FA" -#define DSET_NONE "DSET_NONE" -#define DSET_NDATA_NONE "DSET_NDATA_NONE" +#define DSET_NDATA_BT2 "DSET_NDATA_BT2" +#define DSET_FA "DSET_FA" +#define DSET_NDATA_FA "DSET_NDATA_FA" +#define DSET_NONE "DSET_NONE" +#define DSET_NDATA_NONE "DSET_NDATA_NONE" -#define DSET_EDGE "DSET_EDGE" -#define DSET_ERR "DSET_ERR" +#define DSET_EDGE "DSET_EDGE" +#define DSET_ERR "DSET_ERR" #define ISTORE_IK 64 #define ISTORE_ERR 1 #define NUM 500 - /* * Function: gen_non() * @@ -77,42 +74,42 @@ const char *FILENAME[] = { static void gen_non(const char *fname) { - hid_t fid = H5I_INVALID_HID; /* file id */ - hid_t fcpl = H5I_INVALID_HID; /* file creation property list */ - hid_t gid = H5I_INVALID_HID; /* group id */ - hid_t sid = H5I_INVALID_HID; /* space id */ - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ - hid_t did1 = -1, did2 = H5I_INVALID_HID; /* dataset id */ - hsize_t dims1[1] = {10}; /* dataset dimension */ - hsize_t dims2[2] = {4, 6}; /* dataset dimension */ - hsize_t max_dims[2]; /* maximum dataset dimension */ - hsize_t c_dims[2] = {2, 3}; /* chunk dimension */ - int i; /* local index variable */ - int buf[24]; /* data buffer */ + hid_t fid = H5I_INVALID_HID; /* file id */ + hid_t fcpl = H5I_INVALID_HID; /* file creation property list */ + hid_t gid = H5I_INVALID_HID; /* group id */ + hid_t sid = H5I_INVALID_HID; /* space id */ + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ + hid_t did1 = -1, did2 = H5I_INVALID_HID; /* dataset id */ + hsize_t dims1[1] = {10}; /* dataset dimension */ + hsize_t dims2[2] = {4, 6}; /* dataset dimension */ + hsize_t max_dims[2]; /* maximum dataset dimension */ + hsize_t c_dims[2] = {2, 3}; /* chunk dimension */ + int i; /* local index variable */ + int buf[24]; /* data buffer */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto error; - if(H5Pset_shared_mesg_nindexes(fcpl, 4) < 0) + if (H5Pset_shared_mesg_nindexes(fcpl, 4) < 0) goto error; - if(H5Pset_istore_k(fcpl, 64) < 0) + if (H5Pset_istore_k(fcpl, 64) < 0) goto error; /* Create an empty file with latest-format */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC|H5F_ACC_SWMR_WRITE, fcpl, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC | H5F_ACC_SWMR_WRITE, fcpl, H5P_DEFAULT)) < 0) goto error; /* Create a group */ - if((gid = H5Gcreate2(fid, GROUP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, GROUP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create data */ - for(i = 0; i < 24; i++) + for (i = 0; i < 24; i++) buf[i] = i; /* Set chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl, 2, c_dims) < 0) + if (H5Pset_chunk(dcpl, 2, c_dims) < 0) goto error; /* @@ -122,17 +119,17 @@ gen_non(const char *fname) /* Create dataspace */ max_dims[0] = 10; max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) + if ((sid = H5Screate_simple(2, dims2, max_dims)) < 0) goto error; /* Create the dataset */ - if((did1 = H5Dcreate2(fid, DSET_NDATA_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(fid, DSET_NDATA_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Closing */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; /* @@ -143,35 +140,35 @@ gen_non(const char *fname) max_dims[0] = 10; max_dims[0] = H5S_UNLIMITED; max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) + if ((sid = H5Screate_simple(2, dims2, max_dims)) < 0) goto error; /* Create the dataset */ - if((did1 = H5Dcreate2(gid, DSET_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(gid, DSET_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Write to the dataset */ - if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Closing */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; /* Re-open the file with old format */ - if((fid = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) + if ((fid = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) goto error; /* Open the group */ - if((gid = H5Gopen2(fid, GROUP, H5P_DEFAULT)) < 0) + if ((gid = H5Gopen2(fid, GROUP, H5P_DEFAULT)) < 0) goto error; /* @@ -179,23 +176,23 @@ gen_non(const char *fname) */ /* Set chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl, 2, c_dims) < 0) + if (H5Pset_chunk(dcpl, 2, c_dims) < 0) goto error; /* Create dataspace */ max_dims[0] = H5S_UNLIMITED; max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) + if ((sid = H5Screate_simple(2, dims2, max_dims)) < 0) goto error; /* Create the dataset */ - if((did1 = H5Dcreate2(fid, DSET_NDATA_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(fid, DSET_NDATA_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Close the dataspace */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; /* @@ -205,25 +202,25 @@ gen_non(const char *fname) /* Create dataspace */ max_dims[0] = 10; max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) + if ((sid = H5Screate_simple(2, dims2, max_dims)) < 0) goto error; /* Create the dataset */ - if((did2 = H5Dcreate2(gid, DSET_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did2 = H5Dcreate2(gid, DSET_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Write to the dataset */ - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Closing */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; - if(H5Dclose(did2) < 0) + if (H5Dclose(did2) < 0) goto error; /* @@ -231,61 +228,64 @@ gen_non(const char *fname) */ /* Create dataspace */ - if((sid = H5Screate_simple(1, dims1, NULL)) < 0) + if ((sid = H5Screate_simple(1, dims1, NULL)) < 0) goto error; - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_layout(dcpl, H5D_COMPACT) < 0) + if (H5Pset_layout(dcpl, H5D_COMPACT) < 0) goto error; /* Create the dataset */ - if((did1 = H5Dcreate2(gid, DSET_COMPACT, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(gid, DSET_COMPACT, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < + 0) goto error; /* Closing */ - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; /* * Create a contiguous dataset with (2d with data) in the file */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_layout(dcpl, H5D_CONTIGUOUS) < 0) + if (H5Pset_layout(dcpl, H5D_CONTIGUOUS) < 0) goto error; - if((sid = H5Screate_simple(2, dims2, NULL)) < 0) + if ((sid = H5Screate_simple(2, dims2, NULL)) < 0) goto error; /* Create the dataset */ - if((did2 = H5Dcreate2(fid, DSET_CONTIGUOUS, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did2 = H5Dcreate2(fid, DSET_CONTIGUOUS, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto error; /* Write to the dataset */ - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Closing */ - if(H5Dclose(did2) < 0) + if (H5Dclose(did2) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Gclose(gid) < 0) - goto error; - if(H5Pclose(fcpl) < 0) - goto error; - if(H5Fclose(fid) < 0) + if (H5Gclose(gid) < 0) + goto error; + if (H5Pclose(fcpl) < 0) + goto error; + if (H5Fclose(fid) < 0) goto error; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); H5Dclose(did1); @@ -293,7 +293,8 @@ error: H5Gclose(gid); H5Fclose(fcpl); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; } /* gen_non() */ @@ -307,75 +308,76 @@ error: static void gen_edge(const char *fname) { - hid_t fid = H5I_INVALID_HID; /* file id */ - hid_t fapl = H5I_INVALID_HID; /* file access property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace id */ - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ - hid_t did = H5I_INVALID_HID; /* dataset id */ - hsize_t dims2[2] = {12, 6}; /* Dataset dimensions */ - hsize_t c_dims[2] = {5, 5}; /* Chunk dimensions */ - float buf[12][6]; /* Buffer for writing data */ - int i, j; /* local index variable */ + hid_t fid = H5I_INVALID_HID; /* file id */ + hid_t fapl = H5I_INVALID_HID; /* file access property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace id */ + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ + hid_t did = H5I_INVALID_HID; /* dataset id */ + hsize_t dims2[2] = {12, 6}; /* Dataset dimensions */ + hsize_t c_dims[2] = {5, 5}; /* Chunk dimensions */ + float buf[12][6]; /* Buffer for writing data */ + int i, j; /* local index variable */ /* Create a new format file */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) goto error; - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + if (H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) goto error; - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) goto error; /* Set chunk, filter, no-filter-edge-chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl, 2, c_dims) < 0) + if (H5Pset_chunk(dcpl, 2, c_dims) < 0) goto error; - if(H5Pset_deflate(dcpl, 9) < 0) + if (H5Pset_deflate(dcpl, 9) < 0) goto error; - if(H5Pset_chunk_opts(dcpl, H5D_CHUNK_DONT_FILTER_PARTIAL_CHUNKS) < 0) + if (H5Pset_chunk_opts(dcpl, H5D_CHUNK_DONT_FILTER_PARTIAL_CHUNKS) < 0) goto error; /* Create dataspace */ - if((sid = H5Screate_simple(2, dims2, NULL)) < 0) + if ((sid = H5Screate_simple(2, dims2, NULL)) < 0) goto error; /* Create the dataset */ - if((did = H5Dcreate2(fid, DSET_EDGE, H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, DSET_EDGE, H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Create data */ - for (i = 0; i< 12; i++) - for (j = 0; j< 6; j++) + for (i = 0; i < 12; i++) + for (j = 0; j < 6; j++) buf[i][j] = 100.0F; /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Closing */ - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; - if(H5Pclose(fapl) < 0) + if (H5Pclose(fapl) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); H5Dclose(did); H5Fclose(fid); H5Pclose(fapl); - } H5E_END_TRY; + } + H5E_END_TRY; } /* gen_edge() */ - /* * Function: gen_err_level() * @@ -395,30 +397,30 @@ error: static void gen_err_level(const char *fname) { - hid_t fid = H5I_INVALID_HID; /* file ID */ - hid_t fapl = H5I_INVALID_HID; /* file access property list */ - hid_t fcpl = H5I_INVALID_HID; /* file creation property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace id */ - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t did = H5I_INVALID_HID; /* dataset ID */ - hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ - hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ - unsigned char *buf = NULL; /* buffer for data */ - hsize_t dims[2] = {0, 1}; /* dataset dimension sizes */ - hsize_t max_dims[2] = {1, H5S_UNLIMITED}; /* dataset maximum dimension sizes */ - hsize_t chunk_dims[2] = {1, 1}; /* chunk dimension sizes */ - int n = 0; /* local index variable */ + hid_t fid = H5I_INVALID_HID; /* file ID */ + hid_t fapl = H5I_INVALID_HID; /* file access property list */ + hid_t fcpl = H5I_INVALID_HID; /* file creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace id */ + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t did = H5I_INVALID_HID; /* dataset ID */ + hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ + hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ + unsigned char *buf = NULL; /* buffer for data */ + hsize_t dims[2] = {0, 1}; /* dataset dimension sizes */ + hsize_t max_dims[2] = {1, H5S_UNLIMITED}; /* dataset maximum dimension sizes */ + hsize_t chunk_dims[2] = {1, 1}; /* chunk dimension sizes */ + int n = 0; /* local index variable */ /* Create a new format file */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) goto error; - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + if (H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) goto error; /* Set 'K' value to 1 in file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto error; - if(H5Pset_istore_k(fcpl, ISTORE_ERR) < 0) + if (H5Pset_istore_k(fcpl, ISTORE_ERR) < 0) goto error; /* Initialize data buffer */ @@ -426,87 +428,88 @@ gen_err_level(const char *fname) HDmemset(buf, 42, NUM * sizeof(unsigned char)); /* Create the test file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) goto error; /* Create a chunked dataset with extensible array chunk index */ - if((sid = H5Screate_simple(2, dims, max_dims)) < 0) + if ((sid = H5Screate_simple(2, dims, max_dims)) < 0) goto error; - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl, 2, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, 2, chunk_dims) < 0) goto error; - if((did = H5Dcreate2(fid, DSET_ERR, H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, DSET_ERR, H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Closing */ - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; /* Re-open the file */ - if((fid = H5Fopen(fname, H5F_ACC_RDWR, fapl)) < 0) + if ((fid = H5Fopen(fname, H5F_ACC_RDWR, fapl)) < 0) goto error; /* Open the dataset */ - if((did = H5Dopen2(fid, DSET_ERR, H5P_DEFAULT)) < 0) + if ((did = H5Dopen2(fid, DSET_ERR, H5P_DEFAULT)) < 0) goto error; /* Loop through appending 1 element at a time */ - for(n = 0; n < NUM; n++) { - hsize_t start[2] = {0, 0}; - hsize_t count[2] = {1, 1}; - hsize_t extent[2] = {0, 0}; + for (n = 0; n < NUM; n++) { + hsize_t start[2] = {0, 0}; + hsize_t count[2] = {1, 1}; + hsize_t extent[2] = {0, 0}; + + start[0] = 0; + start[1] = (hsize_t)n; + extent[0] = 1; + extent[1] = (hsize_t)(n + 1); + + /* Set current dimension sizes for the dataset */ + if (H5Dset_extent(did, extent) < 0) + goto error; - start[0] = 0; - start[1] = (hsize_t)n; - extent[0] = 1; - extent[1] = (hsize_t)(n + 1); + /* Set up memory dataspace */ + if ((msid = H5Screate_simple(2, count, NULL)) < 0) + goto error; - /* Set current dimension sizes for the dataset */ - if(H5Dset_extent(did, extent) < 0) - goto error; + /* Get file dataspace */ + if ((fsid = H5Dget_space(did)) < 0) + goto error; - /* Set up memory dataspace */ - if((msid = H5Screate_simple(2, count, NULL)) < 0) - goto error; + if ((H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, count, NULL)) < 0) + goto error; - /* Get file dataspace */ - if((fsid = H5Dget_space(did)) < 0) - goto error; + /* Write to the dataset */ + if (H5Dwrite(did, H5T_NATIVE_UCHAR, msid, fsid, H5P_DEFAULT, buf) < 0) + goto error; - if((H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, count, NULL)) < 0) - goto error; + if (H5Sclose(fsid) < 0) + goto error; + if (H5Sclose(msid) < 0) + goto error; + } - /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_UCHAR, msid, fsid, H5P_DEFAULT, buf) < 0) + /* Closing */ + if (H5Dclose(did) < 0) goto error; - - if(H5Sclose(fsid) < 0) + if (H5Fclose(fid) < 0) goto error; - if(H5Sclose(msid) < 0) + if (H5Pclose(fapl) < 0) goto error; - } - - /* Closing */ - if(H5Dclose(did) < 0) - goto error; - if(H5Fclose(fid) < 0) - goto error; - if(H5Pclose(fapl) < 0) - goto error; error: - if(buf) + if (buf) free(buf); - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); H5Dclose(did); @@ -515,7 +518,8 @@ error: H5Fclose(fid); H5Pclose(fapl); H5Pclose(fcpl); - } H5E_END_TRY; + } + H5E_END_TRY; } /* gen_err_level() */ @@ -534,26 +538,26 @@ error: static void gen_ext(const char *fname, unsigned new_format, unsigned what) { - hid_t fid = H5I_INVALID_HID; /* file id */ - hid_t fapl = H5I_INVALID_HID; /* file access property list */ - hid_t fcpl = H5I_INVALID_HID; /* file creation property list */ - hid_t gid = H5I_INVALID_HID; /* group id */ - hid_t sid = H5I_INVALID_HID; /* space id */ - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ - hid_t did1 = H5I_INVALID_HID, did2 = H5I_INVALID_HID; /* dataset id */ - hsize_t dims1[1] = {10}; /* dataset dimension */ - hsize_t dims2[2] = {4, 6}; /* dataset dimension */ - hsize_t max_dims[2]; /* maximum dataset dimension */ - hsize_t c_dims[2] = {2, 3}; /* chunk dimension */ - int i; /* local index variable */ - int buf[24]; /* data buffer */ - - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) - goto error; - - if(new_format) { + hid_t fid = H5I_INVALID_HID; /* file id */ + hid_t fapl = H5I_INVALID_HID; /* file access property list */ + hid_t fcpl = H5I_INVALID_HID; /* file creation property list */ + hid_t gid = H5I_INVALID_HID; /* group id */ + hid_t sid = H5I_INVALID_HID; /* space id */ + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ + hid_t did1 = H5I_INVALID_HID, did2 = H5I_INVALID_HID; /* dataset id */ + hsize_t dims1[1] = {10}; /* dataset dimension */ + hsize_t dims2[2] = {4, 6}; /* dataset dimension */ + hsize_t max_dims[2]; /* maximum dataset dimension */ + hsize_t c_dims[2] = {2, 3}; /* chunk dimension */ + int i; /* local index variable */ + int buf[24]; /* data buffer */ + + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + goto error; + + if (new_format) { /* Create a new format file */ - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + if (H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) goto error; } /* end if */ @@ -561,68 +565,68 @@ gen_ext(const char *fname, unsigned new_format, unsigned what) fcpl = H5Pcreate(H5P_FILE_CREATE); /* Generate messages that might be placed in superblock extension */ - switch(what) { - case 0: - H5Pset_istore_k(fcpl, ISTORE_IK); - break; - case 1: - H5Pset_shared_mesg_nindexes(fcpl, 4); - break; - case 2: - H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, (hsize_t)1); - break; - case 3: - H5Pset_istore_k(fcpl, ISTORE_IK); - H5Pset_shared_mesg_nindexes(fcpl, 4); - break; - case 4: - H5Pset_istore_k(fcpl, ISTORE_IK); - H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1); - break; - case 5: - H5Pset_shared_mesg_nindexes(fcpl, 4); - H5Pset_file_space_page_size(fcpl, (hsize_t)512); - break; - case 6: - H5Pset_istore_k(fcpl, ISTORE_IK); - H5Pset_shared_mesg_nindexes(fcpl, 4); - H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_NONE, FALSE, (hsize_t)1); - break; - default: - break; + switch (what) { + case 0: + H5Pset_istore_k(fcpl, ISTORE_IK); + break; + case 1: + H5Pset_shared_mesg_nindexes(fcpl, 4); + break; + case 2: + H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, (hsize_t)1); + break; + case 3: + H5Pset_istore_k(fcpl, ISTORE_IK); + H5Pset_shared_mesg_nindexes(fcpl, 4); + break; + case 4: + H5Pset_istore_k(fcpl, ISTORE_IK); + H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1); + break; + case 5: + H5Pset_shared_mesg_nindexes(fcpl, 4); + H5Pset_file_space_page_size(fcpl, (hsize_t)512); + break; + case 6: + H5Pset_istore_k(fcpl, ISTORE_IK); + H5Pset_shared_mesg_nindexes(fcpl, 4); + H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_NONE, FALSE, (hsize_t)1); + break; + default: + break; } /* Create the file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) goto error; /* Create a group */ - if((gid = H5Gcreate2(fid, GROUP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, GROUP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Set chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl, 2, c_dims) < 0) + if (H5Pset_chunk(dcpl, 2, c_dims) < 0) goto error; - /* * Create a contiguous dataset */ /* Create dataspace */ - if((sid = H5Screate_simple(1, dims1, NULL)) < 0) + if ((sid = H5Screate_simple(1, dims1, NULL)) < 0) goto error; /* Create the dataset */ - if((did1 = H5Dcreate2(fid, DSET_CONTIGUOUS, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(fid, DSET_CONTIGUOUS, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto error; /* Closing */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; /* @@ -633,33 +637,32 @@ gen_ext(const char *fname, unsigned new_format, unsigned what) /* Create dataspace */ max_dims[0] = 10; max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) + if ((sid = H5Screate_simple(2, dims2, max_dims)) < 0) goto error; /* Create the 2 datasets */ - if((did1 = H5Dcreate2(gid, DSET_NDATA_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(gid, DSET_NDATA_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if((did2 = H5Dcreate2(fid, DSET_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did2 = H5Dcreate2(fid, DSET_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Create data */ - for(i = 0; i < 24; i++) + for (i = 0; i < 24; i++) buf[i] = i; /* Write to one dataset */ - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Closing */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; - if(H5Dclose(did2) < 0) + if (H5Dclose(did2) < 0) goto error; - /* * Create 2 chunked datasets with version 2 B-tree chunk indexing type * (one with data; one without data) @@ -669,26 +672,26 @@ gen_ext(const char *fname, unsigned new_format, unsigned what) max_dims[0] = 10; max_dims[0] = H5S_UNLIMITED; max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) + if ((sid = H5Screate_simple(2, dims2, max_dims)) < 0) goto error; /* Create the 2 datasets */ - if((did1 = H5Dcreate2(fid, DSET_NDATA_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(fid, DSET_NDATA_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if((did2 = H5Dcreate2(gid, DSET_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did2 = H5Dcreate2(gid, DSET_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Write to one dataset */ - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Closing */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; - if(H5Dclose(did2) < 0) + if (H5Dclose(did2) < 0) goto error; /* @@ -699,70 +702,70 @@ gen_ext(const char *fname, unsigned new_format, unsigned what) /* Create dataspace */ max_dims[0] = 20; max_dims[1] = 10; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) + if ((sid = H5Screate_simple(2, dims2, max_dims)) < 0) goto error; /* Create the datasets */ - if((did1 = H5Dcreate2(fid, DSET_FA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(fid, DSET_FA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if((did2 = H5Dcreate2(gid, DSET_NDATA_FA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did2 = H5Dcreate2(gid, DSET_NDATA_FA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Write to the dataset */ - if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Closing */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; - if(H5Dclose(did2) < 0) + if (H5Dclose(did2) < 0) goto error; - /* * Create 2 chunked datasets with implicit chunk indexing type * (one with data; one without data) */ /* Create dataspace */ - if((sid = H5Screate_simple(2, dims2, NULL)) < 0) + if ((sid = H5Screate_simple(2, dims2, NULL)) < 0) goto error; /* Set early allocation */ - if(H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY) < 0) + if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY) < 0) goto error; /* Create the 2 datasets */ - if((did1 = H5Dcreate2(fid, DSET_NONE, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(fid, DSET_NONE, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if((did2 = H5Dcreate2(gid, DSET_NDATA_NONE, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did2 = H5Dcreate2(gid, DSET_NDATA_NONE, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Write to one dataset */ - if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Closing */ - if(H5Dclose(did1) < 0) + if (H5Dclose(did1) < 0) goto error; - if(H5Dclose(did2) < 0) + if (H5Dclose(did2) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); H5Dclose(did1); @@ -771,7 +774,8 @@ error: H5Fclose(fid); H5Pclose(fapl); H5Pclose(fcpl); - } H5E_END_TRY; + } + H5E_END_TRY; } /* end gen_ext() */ @@ -790,19 +794,18 @@ main(void) gen_err_level(ERR_LEVEL_FILE); /* Generate old/new format file with/without messages in the superblock extension */ - for(new_format = FALSE; new_format <= TRUE; new_format++) { - for(i = 0; i < 8; i++) { + for (new_format = FALSE; new_format <= TRUE; new_format++) { + for (i = 0; i < 8; i++) { char filename[50]; HDmemset(filename, 0, sizeof(filename)); - if(!new_format) + if (!new_format) HDstrcat(filename, "old_"); HDstrcat(filename, FILENAME[i]); gen_ext(filename, new_format, i); } /* end for */ - } /* end for */ + } /* end for */ return 0; } /* end main */ - diff --git a/tools/test/h5import/h5importtest.c b/tools/test/h5import/h5importtest.c index 580530a..6e41b7f 100644 --- a/tools/test/h5import/h5importtest.c +++ b/tools/test/h5import/h5importtest.c @@ -32,40 +32,40 @@ int main(void) { - int nrow = 3, ncol = 4, npln = 5; - int i, j, k; - FILE *sp; - char machine_order[3] = {0, 0, 0}; + int nrow = 3, ncol = 4, npln = 5; + int i, j, k; + FILE *sp; + char machine_order[3] = {0, 0, 0}; - float row4[3], col4[4], pln4[5]; - float rowo4 = 11.0F, colo4 = 21.0F, plno4 = 51.0F; - float rowi4 = 1.0F, coli4 = 2.0F, plni4 = 5.0F; + float row4[3], col4[4], pln4[5]; + float rowo4 = 11.0F, colo4 = 21.0F, plno4 = 51.0F; + float rowi4 = 1.0F, coli4 = 2.0F, plni4 = 5.0F; - int b32i3[5][3][4]; - int row4i[3], col4i[4], pln4i[5]; - int rowo4i = 11 , colo4i = 21 , plno4i = 51 ; - int rowi4i = 1 , coli4i = 2 , plni4i = 5 ; + int b32i3[5][3][4]; + int row4i[3], col4i[4], pln4i[5]; + int rowo4i = 11, colo4i = 21, plno4i = 51; + int rowi4i = 1, coli4i = 2, plni4i = 5; #ifdef H5_SIZEOF_LONG_LONG long long row4i64[3], col4i64[4], pln4i64[5]; - long long rowo4i64 = (long long)11 , colo4i64 = (long long)21 , plno4i64 = (long long)51 ; - long long rowi4i64 = (long long)1 , coli4i64 = (long long)2 , plni4i64 = (long long)5 ; + long long rowo4i64 = (long long)11, colo4i64 = (long long)21, plno4i64 = (long long)51; + long long rowi4i64 = (long long)1, coli4i64 = (long long)2, plni4i64 = (long long)5; #endif - short b16i3[5][3][4]; - short row4i16[3], col4i16[4], pln4i16[5]; - short rowo4i16 = (short)11 , colo4i16 = (short)21 , plno4i16 = (short)51 ; - short rowi4i16 = (short)1 , coli4i16 = (short)2 , plni4i16 = (short)5 ; + short b16i3[5][3][4]; + short row4i16[3], col4i16[4], pln4i16[5]; + short rowo4i16 = (short)11, colo4i16 = (short)21, plno4i16 = (short)51; + short rowi4i16 = (short)1, coli4i16 = (short)2, plni4i16 = (short)5; - char b8i3[5][3][4]; - char row4i8[3], col4i8[4], pln4i8[5]; - char rowo4i8 = (char)11 , colo4i8 = (char)21 , plno4i8 = (char)51 ; - char rowi4i8 = (char)1 , coli4i8 = (char)2 , plni4i8 = (char)5 ; + char b8i3[5][3][4]; + char row4i8[3], col4i8[4], pln4i8[5]; + char rowo4i8 = (char)11, colo4i8 = (char)21, plno4i8 = (char)51; + char rowi4i8 = (char)1, coli4i8 = (char)2, plni4i8 = (char)5; - double b64r3[5][3][4]; - double row8[3], col8[4], pln8[5]; - double rowo8 = 11.0F, colo8 = 21.0F, plno8 = 51.0F; - double rowi8 = 1.0F, coli8 = 2.0F, plni8 = 5.0F; + double b64r3[5][3][4]; + double row8[3], col8[4], pln8[5]; + double rowo8 = 11.0F, colo8 = 21.0F, plno8 = 51.0F; + double rowi8 = 1.0F, coli8 = 2.0F, plni8 = 5.0F; /* Initialize machine endian */ volatile uint32_t ibyte = 0x01234567; @@ -76,19 +76,18 @@ main(void) HDstrcpy(machine_order, "BE"); /* - * initialize the row, column, and plane vectors - * - * row values start at 11 and increment by 1 => 11, 12, 13 - * column values start at 21 and increment by 2 => 21, 23, 25, 27 - * plane values start at 51 and increment by 5 => 51, 56, 61, 66, 71 - */ - + * initialize the row, column, and plane vectors + * + * row values start at 11 and increment by 1 => 11, 12, 13 + * column values start at 21 and increment by 2 => 21, 23, 25, 27 + * plane values start at 51 and increment by 5 => 51, 56, 61, 66, 71 + */ /* - * build array elements - rank 2 - * - * element value = sum of row value and col values - */ + * build array elements - rank 2 + * + * element value = sum of row value and col values + */ row4[0] = rowo4; col4[0] = colo4; @@ -116,46 +115,43 @@ main(void) col4i8[0] = colo4i8; pln4i8[0] = plno4i8; - for (i = 1; i < nrow; i++) - { - row4[i] = row4[i - 1] + rowi4; - row8[i] = row8[i - 1] + rowi8; + for (i = 1; i < nrow; i++) { + row4[i] = row4[i - 1] + rowi4; + row8[i] = row8[i - 1] + rowi8; row4i[i] = row4i[i - 1] + rowi4i; #ifdef H5_SIZEOF_LONG_LONG row4i64[i] = row4i64[i - 1] + rowi4i64; #endif row4i16[i] = (short)(row4i16[i - 1] + rowi4i16); - row4i8[i] = (char)(row4i8[i - 1] + rowi4i8); + row4i8[i] = (char)(row4i8[i - 1] + rowi4i8); } - for (j = 1; j < ncol; j++) - { - col4[j] = col4[j - 1] + coli4; - col8[j] = col8[j - 1] + coli8; + for (j = 1; j < ncol; j++) { + col4[j] = col4[j - 1] + coli4; + col8[j] = col8[j - 1] + coli8; col4i[j] = col4i[j - 1] + coli4i; #ifdef H5_SIZEOF_LONG_LONG col4i64[j] = col4i64[j - 1] + coli4i64; #endif col4i16[j] = (short)(col4i16[j - 1] + coli4i16); - col4i8[j] = (char)(col4i8[j - 1] + coli4i8); + col4i8[j] = (char)(col4i8[j - 1] + coli4i8); } - for (k = 1; k < npln; k++) - { - pln4[k] = pln4[k - 1] + plni4; - pln8[k] = pln8[k - 1] + plni8; + for (k = 1; k < npln; k++) { + pln4[k] = pln4[k - 1] + plni4; + pln8[k] = pln8[k - 1] + plni8; pln4i[k] = pln4i[k - 1] + plni4i; #ifdef H5_SIZEOF_LONG_LONG pln4i64[k] = pln4i64[k - 1] + plni4i64; #endif pln4i16[k] = (short)(pln4i16[k - 1] + plni4i16); - pln4i8[k] = (char)(pln4i8[k - 1] + plni4i8); + pln4i8[k] = (char)(pln4i8[k - 1] + plni4i8); } /* - * build array elements - rank 3 - * - * element value = sum of row value, col, and plane values - */ + * build array elements - rank 3 + * + * element value = sum of row value, col, and plane values + */ for (i = 0; i < nrow; i++) for (j = 0; j < ncol; j++) @@ -163,296 +159,267 @@ main(void) b64r3[k][i][j] = row8[i] + col8[j] + pln8[k]; b32i3[k][i][j] = row4i[i] + col4i[j] + pln4i[k]; b16i3[k][i][j] = (short)(row4i16[i] + col4i16[j] + pln4i16[k]); - b8i3[k][i][j] = (char)(row4i8[i] + col4i8[j] + pln4i8[k]); + b8i3[k][i][j] = (char)(row4i8[i] + col4i8[j] + pln4i8[k]); } - - #ifndef UNICOS #ifdef REBUILDTEXTFILES - /*------------------------------------------------------------------------- - * TOOLTEST txtin8.txt -c $srcdir/testfiles/txtin8.conf -o txtin8.h5 - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * TOOLTEST txtin8.txt -c $srcdir/testfiles/txtin8.conf -o txtin8.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("txtin8.txt", "w"); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - (void) HDfprintf(sp, "%10u", b8i3[k][i][j]); - (void) HDfprintf(sp, "\n"); - } + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { + for (j = 0; j < ncol; j++) + (void)HDfprintf(sp, "%10u", b8i3[k][i][j]); + (void)HDfprintf(sp, "\n"); + } } - (void) HDfclose(sp); + (void)HDfclose(sp); - /*------------------------------------------------------------------------- - * TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5 - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("txtin16.txt", "w"); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - (void) HDfprintf(sp, "%10u", b16i3[k][i][j]); - (void) HDfprintf(sp, "\n"); - } + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { + for (j = 0; j < ncol; j++) + (void)HDfprintf(sp, "%10u", b16i3[k][i][j]); + (void)HDfprintf(sp, "\n"); + } } - (void) HDfclose(sp); + (void)HDfclose(sp); - /*------------------------------------------------------------------------- - * TOOLTEST txtin32.txt -c $srcdir/testfiles/textin32.conf -o textin32.h5 - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * TOOLTEST txtin32.txt -c $srcdir/testfiles/textin32.conf -o textin32.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("txtin32.txt", "w"); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { for (j = 0; j < ncol; j++) - (void) HDfprintf(sp, "%10d", b32i3[k][i][j]); - (void) HDfprintf(sp, "\n"); + (void)HDfprintf(sp, "%10d", b32i3[k][i][j]); + (void)HDfprintf(sp, "\n"); } } - (void) HDfclose(sp); + (void)HDfclose(sp); #endif - /*------------------------------------------------------------------------- - * TOOLTEST binin32.bin -c binin32.conf -o binin32.h5 - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * TOOLTEST binin32.bin -c binin32.conf -o binin32.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("binin32.bin", OPEN_FLAGS); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - { - (void) HDfwrite((char *) &b32i3[k][i][j], sizeof(int), 1, sp); + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { + for (j = 0; j < ncol; j++) { + (void)HDfwrite((char *)&b32i3[k][i][j], sizeof(int), 1, sp); } } } - (void) HDfclose(sp); + (void)HDfclose(sp); sp = HDfopen("binin32.conf", "w"); - (void) HDfprintf(sp, "PATH /int/bin/32-bit\n"); - (void) HDfprintf(sp, "INPUT-CLASS IN\n"); - (void) HDfprintf(sp, "INPUT-SIZE 32\n"); - (void) HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); - (void) HDfprintf(sp, "RANK 3\n"); - (void) HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); - (void) HDfprintf(sp, "OUTPUT-BYTE-ORDER BE\n"); - (void) HDfprintf(sp, "DIMENSION-SIZES 5 3 4\n"); - (void) HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 1 2 1\n"); - (void) HDfprintf(sp, "\n"); - (void) HDfclose(sp); - - /*------------------------------------------------------------------------- - * TOOLTEST binuin32.bin -c binuin32.conf -o binuin32.h5 - *------------------------------------------------------------------------- - */ + (void)HDfprintf(sp, "PATH /int/bin/32-bit\n"); + (void)HDfprintf(sp, "INPUT-CLASS IN\n"); + (void)HDfprintf(sp, "INPUT-SIZE 32\n"); + (void)HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); + (void)HDfprintf(sp, "RANK 3\n"); + (void)HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); + (void)HDfprintf(sp, "OUTPUT-BYTE-ORDER BE\n"); + (void)HDfprintf(sp, "DIMENSION-SIZES 5 3 4\n"); + (void)HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 1 2 1\n"); + (void)HDfprintf(sp, "\n"); + (void)HDfclose(sp); + + /*------------------------------------------------------------------------- + * TOOLTEST binuin32.bin -c binuin32.conf -o binuin32.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("binuin32.bin", OPEN_FLAGS); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - { - (void) HDfwrite((char *) &b32i3[k][i][j], sizeof(unsigned int), 1, sp); + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { + for (j = 0; j < ncol; j++) { + (void)HDfwrite((char *)&b32i3[k][i][j], sizeof(unsigned int), 1, sp); } } } - (void) HDfclose(sp); + (void)HDfclose(sp); sp = HDfopen("binuin32.conf", "w"); - (void) HDfprintf(sp, "PATH /int/buin/32-bit\n"); - (void) HDfprintf(sp, "INPUT-CLASS UIN\n"); - (void) HDfprintf(sp, "INPUT-SIZE 32\n"); - (void) HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); - (void) HDfprintf(sp, "RANK 3\n"); - (void) HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); - (void) HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); - (void) HDfprintf(sp, "DIMENSION-SIZES 5 3 4\n"); - (void) HDfprintf(sp, "\n"); - (void) HDfclose(sp); - - /*------------------------------------------------------------------------- - * TOOLTEST binin16.bin -c binin16.conf -o binin16.h5 - *------------------------------------------------------------------------- - */ + (void)HDfprintf(sp, "PATH /int/buin/32-bit\n"); + (void)HDfprintf(sp, "INPUT-CLASS UIN\n"); + (void)HDfprintf(sp, "INPUT-SIZE 32\n"); + (void)HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); + (void)HDfprintf(sp, "RANK 3\n"); + (void)HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); + (void)HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); + (void)HDfprintf(sp, "DIMENSION-SIZES 5 3 4\n"); + (void)HDfprintf(sp, "\n"); + (void)HDfclose(sp); + + /*------------------------------------------------------------------------- + * TOOLTEST binin16.bin -c binin16.conf -o binin16.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("binin16.bin", OPEN_FLAGS); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - { - (void) HDfwrite((char *) &b16i3[k][i][j], sizeof(short), 1, sp); + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { + for (j = 0; j < ncol; j++) { + (void)HDfwrite((char *)&b16i3[k][i][j], sizeof(short), 1, sp); } } } - (void) HDfclose(sp); + (void)HDfclose(sp); sp = HDfopen("binin16.conf", "w"); - (void) HDfprintf(sp, "PATH /int/bin/16-bit\n"); - (void) HDfprintf(sp, "INPUT-CLASS IN\n"); - (void) HDfprintf(sp, "INPUT-SIZE 16\n"); - (void) HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); - (void) HDfprintf(sp, "RANK 3\n"); - (void) HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); - (void) HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); - (void) HDfprintf(sp, "DIMENSION-SIZES 2 3 4\n"); - (void) HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n"); - (void) HDfprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 8\n"); - (void) HDfprintf(sp, "\n"); - (void) HDfclose(sp); - - /*------------------------------------------------------------------------- - * TOOLTEST binuin16.bin -c binuin16.conf -o binuin16.h5 - *------------------------------------------------------------------------- - */ + (void)HDfprintf(sp, "PATH /int/bin/16-bit\n"); + (void)HDfprintf(sp, "INPUT-CLASS IN\n"); + (void)HDfprintf(sp, "INPUT-SIZE 16\n"); + (void)HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); + (void)HDfprintf(sp, "RANK 3\n"); + (void)HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); + (void)HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); + (void)HDfprintf(sp, "DIMENSION-SIZES 2 3 4\n"); + (void)HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n"); + (void)HDfprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 8\n"); + (void)HDfprintf(sp, "\n"); + (void)HDfclose(sp); + + /*------------------------------------------------------------------------- + * TOOLTEST binuin16.bin -c binuin16.conf -o binuin16.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("binuin16.bin", OPEN_FLAGS); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - { - (void) HDfwrite((char *) &b16i3[k][i][j], sizeof(unsigned short), 1, sp); + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { + for (j = 0; j < ncol; j++) { + (void)HDfwrite((char *)&b16i3[k][i][j], sizeof(unsigned short), 1, sp); } } } - (void) HDfclose(sp); + (void)HDfclose(sp); sp = HDfopen("binuin16.conf", "w"); - (void) HDfprintf(sp, "PATH /int/buin/16-bit\n"); - (void) HDfprintf(sp, "INPUT-CLASS UIN\n"); - (void) HDfprintf(sp, "INPUT-SIZE 16\n"); - (void) HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); - (void) HDfprintf(sp, "RANK 3\n"); - (void) HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); - (void) HDfprintf(sp, "OUTPUT-BYTE-ORDER BE\n"); - (void) HDfprintf(sp, "DIMENSION-SIZES 2 3 4\n"); - (void) HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n"); - (void) HDfprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 8\n"); - (void) HDfprintf(sp, "\n"); - (void) HDfclose(sp); - - /*------------------------------------------------------------------------- - * TOOLTEST binin8.bin -c binin8.conf -o binin8.h5 - *------------------------------------------------------------------------- - */ + (void)HDfprintf(sp, "PATH /int/buin/16-bit\n"); + (void)HDfprintf(sp, "INPUT-CLASS UIN\n"); + (void)HDfprintf(sp, "INPUT-SIZE 16\n"); + (void)HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); + (void)HDfprintf(sp, "RANK 3\n"); + (void)HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); + (void)HDfprintf(sp, "OUTPUT-BYTE-ORDER BE\n"); + (void)HDfprintf(sp, "DIMENSION-SIZES 2 3 4\n"); + (void)HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n"); + (void)HDfprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 8\n"); + (void)HDfprintf(sp, "\n"); + (void)HDfclose(sp); + + /*------------------------------------------------------------------------- + * TOOLTEST binin8.bin -c binin8.conf -o binin8.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("binin8.bin", OPEN_FLAGS); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - { - (void) HDfwrite((char *) &b8i3[k][i][j], sizeof(char), 1, sp); + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { + for (j = 0; j < ncol; j++) { + (void)HDfwrite((char *)&b8i3[k][i][j], sizeof(char), 1, sp); } } } - (void) HDfclose(sp); + (void)HDfclose(sp); sp = HDfopen("binin8.conf", "w"); - (void) HDfprintf(sp, "PATH /int/bin/8-bit\n"); - (void) HDfprintf(sp, "INPUT-CLASS IN\n"); - (void) HDfprintf(sp, "INPUT-SIZE 8\n"); - (void) HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); - (void) HDfprintf(sp, "RANK 3\n"); - (void) HDfprintf(sp, "OUTPUT-CLASS IN\n"); - (void) HDfprintf(sp, "OUTPUT-SIZE 16\n"); - (void) HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); - (void) HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); - (void) HDfprintf(sp, "DIMENSION-SIZES 5 3 4\n"); - (void) HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n"); - (void) HDfprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 -1\n"); - (void) HDfprintf(sp, "COMPRESSION-PARAM 3\n"); - (void) HDfprintf(sp, "\n"); - (void) HDfclose(sp); + (void)HDfprintf(sp, "PATH /int/bin/8-bit\n"); + (void)HDfprintf(sp, "INPUT-CLASS IN\n"); + (void)HDfprintf(sp, "INPUT-SIZE 8\n"); + (void)HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); + (void)HDfprintf(sp, "RANK 3\n"); + (void)HDfprintf(sp, "OUTPUT-CLASS IN\n"); + (void)HDfprintf(sp, "OUTPUT-SIZE 16\n"); + (void)HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); + (void)HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); + (void)HDfprintf(sp, "DIMENSION-SIZES 5 3 4\n"); + (void)HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n"); + (void)HDfprintf(sp, "MAXIMUM-DIMENSIONS -1 -1 -1\n"); + (void)HDfprintf(sp, "COMPRESSION-PARAM 3\n"); + (void)HDfprintf(sp, "\n"); + (void)HDfclose(sp); #endif /* UNICOS */ - /*------------------------------------------------------------------------- - * TOOLTEST binfp64.bin -c binfp64.conf -o binfp64.h5 - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * TOOLTEST binfp64.bin -c binfp64.conf -o binfp64.h5 + *------------------------------------------------------------------------- + */ - /* - * binary 64-bit file - rank 2 & 3 - */ + /* + * binary 64-bit file - rank 2 & 3 + */ sp = HDfopen("binfp64.bin", OPEN_FLAGS); - for (k = 0; k < npln; k++) - { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - { - (void) HDfwrite((char *) &b64r3[k][i][j], sizeof(double), 1, sp); + for (k = 0; k < npln; k++) { + for (i = 0; i < nrow; i++) { + for (j = 0; j < ncol; j++) { + (void)HDfwrite((char *)&b64r3[k][i][j], sizeof(double), 1, sp); } } } - (void) HDfclose(sp); + (void)HDfclose(sp); sp = HDfopen("binfp64.conf", "w"); - (void) HDfprintf(sp, "PATH /fp/bin/64-bit\n"); - (void) HDfprintf(sp, "INPUT-CLASS FP\n"); - (void) HDfprintf(sp, "INPUT-SIZE 64\n"); - (void) HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); - (void) HDfprintf(sp, "RANK 3\n"); - (void) HDfprintf(sp, "OUTPUT-ARCHITECTURE IEEE\n"); - (void) HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); - (void) HDfprintf(sp, "DIMENSION-SIZES 5 3 4\n"); - (void) HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n"); - (void) HDfprintf(sp, "MAXIMUM-DIMENSIONS -1 6 7\n"); - (void) HDfprintf(sp, "COMPRESSION-PARAM 8\n"); - (void) HDfprintf(sp, "\n"); - (void) HDfclose(sp); - - /*------------------------------------------------------------------------- - * TOOLTEST binin8w.bin -c binin8w.conf -o binin8w.h5 - *------------------------------------------------------------------------- - */ + (void)HDfprintf(sp, "PATH /fp/bin/64-bit\n"); + (void)HDfprintf(sp, "INPUT-CLASS FP\n"); + (void)HDfprintf(sp, "INPUT-SIZE 64\n"); + (void)HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); + (void)HDfprintf(sp, "RANK 3\n"); + (void)HDfprintf(sp, "OUTPUT-ARCHITECTURE IEEE\n"); + (void)HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); + (void)HDfprintf(sp, "DIMENSION-SIZES 5 3 4\n"); + (void)HDfprintf(sp, "CHUNKED-DIMENSION-SIZES 2 2 2\n"); + (void)HDfprintf(sp, "MAXIMUM-DIMENSIONS -1 6 7\n"); + (void)HDfprintf(sp, "COMPRESSION-PARAM 8\n"); + (void)HDfprintf(sp, "\n"); + (void)HDfclose(sp); + + /*------------------------------------------------------------------------- + * TOOLTEST binin8w.bin -c binin8w.conf -o binin8w.h5 + *------------------------------------------------------------------------- + */ { /* test CR+LF (13,10) and EOF (26) in windows */ - char bin8w[4] = {13,10,26,0}; + char bin8w[4] = {13, 10, 26, 0}; sp = HDfopen("binin8w.bin", OPEN_FLAGS); - for (i = 0; i < 4; i++) - { + for (i = 0; i < 4; i++) { char c = bin8w[i]; - if ( HDfwrite( &c, sizeof(char), 1, sp) != 1 ) + if (HDfwrite(&c, sizeof(char), 1, sp) != 1) HDprintf("error writing file\n"); } HDfclose(sp); sp = HDfopen("binin8w.conf", "w"); - (void) HDfprintf(sp, "INPUT-CLASS IN\n"); - (void) HDfprintf(sp, "INPUT-SIZE 8\n"); - (void) HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); - (void) HDfprintf(sp, "RANK 1\n"); - (void) HDfprintf(sp, "OUTPUT-CLASS IN\n"); - (void) HDfprintf(sp, "OUTPUT-SIZE 8\n"); - (void) HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); - (void) HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); - (void) HDfprintf(sp, "DIMENSION-SIZES 4\n"); - (void) HDfprintf(sp, "\n"); - (void) HDfclose(sp); - + (void)HDfprintf(sp, "INPUT-CLASS IN\n"); + (void)HDfprintf(sp, "INPUT-SIZE 8\n"); + (void)HDfprintf(sp, "INPUT-BYTE-ORDER %s\n", machine_order); + (void)HDfprintf(sp, "RANK 1\n"); + (void)HDfprintf(sp, "OUTPUT-CLASS IN\n"); + (void)HDfprintf(sp, "OUTPUT-SIZE 8\n"); + (void)HDfprintf(sp, "OUTPUT-ARCHITECTURE STD\n"); + (void)HDfprintf(sp, "OUTPUT-BYTE-ORDER LE\n"); + (void)HDfprintf(sp, "DIMENSION-SIZES 4\n"); + (void)HDfprintf(sp, "\n"); + (void)HDfclose(sp); } return (EXIT_SUCCESS); } - diff --git a/tools/test/h5jam/getub.c b/tools/test/h5jam/getub.c index f496a7a..9e9cd4d 100644 --- a/tools/test/h5jam/getub.c +++ b/tools/test/h5jam/getub.c @@ -21,11 +21,9 @@ void parse_command_line(int argc, const char *argv[]); #define PROGRAM_NAME "getub" char *nbytes = NULL; -static const char *s_opts = "c:"; /* add more later ? */ -static struct long_options l_opts[] = { - {"c", require_arg, 'c'}, /* input file */ - {NULL, 0, '\0'} -}; +static const char * s_opts = "c:"; /* add more later ? */ +static struct long_options l_opts[] = {{"c", require_arg, 'c'}, /* input file */ + {NULL, 0, '\0'}}; /*------------------------------------------------------------------------- * Function: usage @@ -36,7 +34,7 @@ static struct long_options l_opts[] = { *------------------------------------------------------------------------- */ static void -usage (const char *prog) +usage(const char *prog) { HDfflush(stdout); HDfprintf(stdout, "usage: %s -c nb file] \n", prog); @@ -59,33 +57,33 @@ parse_command_line(int argc, const char *argv[]) int opt; /* parse command line options */ - while((opt = get_option (argc, argv, s_opts, l_opts)) != EOF) { - switch((char) opt) { - case 'c': - nbytes = HDstrdup(opt_arg); - break; - case '?': - default: - usage(h5tools_getprogname()); - HDexit(EXIT_FAILURE); + while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) { + switch ((char)opt) { + case 'c': + nbytes = HDstrdup(opt_arg); + break; + case '?': + default: + usage(h5tools_getprogname()); + HDexit(EXIT_FAILURE); } /* end switch */ - } /* end while */ + } /* end while */ - if(argc <= opt_ind) { - error_msg("missing file name\n"); - usage(h5tools_getprogname()); - HDexit(EXIT_FAILURE); + if (argc <= opt_ind) { + error_msg("missing file name\n"); + usage(h5tools_getprogname()); + HDexit(EXIT_FAILURE); } /* end if */ } /* end parse_command_line() */ int main(int argc, const char *argv[]) { - int fd = H5I_INVALID_HID; + int fd = H5I_INVALID_HID; unsigned size; - char *filename = NULL; - long res; - char *buf = NULL; + char * filename = NULL; + long res; + char * buf = NULL; h5tools_setprogname(PROGRAM_NAME); h5tools_setstatus(EXIT_SUCCESS); @@ -95,14 +93,14 @@ main(int argc, const char *argv[]) parse_command_line(argc, argv); - if(NULL == nbytes) { + if (NULL == nbytes) { /* missing arg */ error_msg("missing size\n"); usage(h5tools_getprogname()); goto error; } /* end if */ - if(argc <= (opt_ind)) { + if (argc <= (opt_ind)) { error_msg("missing file name\n"); usage(h5tools_getprogname()); goto error; @@ -111,30 +109,30 @@ main(int argc, const char *argv[]) filename = HDstrdup(argv[opt_ind]); size = 0; - if(EOF == (res = sscanf(nbytes, "%u", &size))) { - /* fail */ - error_msg("missing file name\n"); - usage(h5tools_getprogname()); - goto error; + if (EOF == (res = sscanf(nbytes, "%u", &size))) { + /* fail */ + error_msg("missing file name\n"); + usage(h5tools_getprogname()); + goto error; } /* end if */ - if((fd = HDopen(filename, O_RDONLY, 0)) < 0) { + if ((fd = HDopen(filename, O_RDONLY, 0)) < 0) { error_msg("can't open file %s\n", filename); goto error; } /* end if */ - if(NULL == (buf = (char *)HDmalloc((unsigned)(size + 1)))) { + if (NULL == (buf = (char *)HDmalloc((unsigned)(size + 1)))) { error_msg("can't allocate buffer \n"); goto error; } /* end if */ res = HDread(fd, buf, (unsigned)size); - if(res < (long)size) { + if (res < (long)size) { error_msg("Bad read \n"); goto error; } /* end if */ - if(HDwrite(1, buf, (unsigned)size) < 0) { + if (HDwrite(1, buf, (unsigned)size) < 0) { error_msg("Bad write \n"); goto error; } /* end if */ @@ -146,10 +144,9 @@ main(int argc, const char *argv[]) return EXIT_SUCCESS; error: - if(buf) + if (buf) HDfree(buf); - if(fd >= 0) + if (fd >= 0) HDclose(fd); return EXIT_FAILURE; } /* end main() */ - diff --git a/tools/test/h5jam/h5jamgentest.c b/tools/test/h5jam/h5jamgentest.c index 56b4ead..aac226e 100644 --- a/tools/test/h5jam/h5jamgentest.c +++ b/tools/test/h5jam/h5jamgentest.c @@ -1,4 +1,4 @@ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright by The HDF Group. * * Copyright by the Board of Trustees of the University of Illinois. * * All rights reserved. * @@ -64,31 +64,24 @@ char pattern[11] = "abcdefghij"; *------------------------------------------------------------------------- */ - #define BUF_SIZE 1024 /* Element selection information */ -typedef enum{ - RED, - GREEN, - BLUE, - WHITE, - BLACK -} enumtype; +typedef enum { RED, GREEN, BLUE, WHITE, BLACK } enumtype; /* Compound datatype */ typedef struct s1_t { unsigned int a; unsigned int b; - float c; + float c; } s1_t; - /* A UD link traversal function. Shouldn't actually be called. */ -static hid_t UD_traverse(const char H5_ATTR_UNUSED * link_name, hid_t H5_ATTR_UNUSED cur_group, - const void H5_ATTR_UNUSED * udata, size_t H5_ATTR_UNUSED udata_size, hid_t H5_ATTR_UNUSED lapl_id, - hid_t H5_ATTR_UNUSED dxpl_id) +static hid_t +UD_traverse(const char H5_ATTR_UNUSED *link_name, hid_t H5_ATTR_UNUSED cur_group, + const void H5_ATTR_UNUSED *udata, size_t H5_ATTR_UNUSED udata_size, hid_t H5_ATTR_UNUSED lapl_id, + hid_t H5_ATTR_UNUSED dxpl_id) { return -1; } @@ -106,8 +99,6 @@ const H5L_class_t UD_link_class[1] = {{ NULL /* Query callback */ }}; - - /* gent_ub with no ub, identical to gent_all from h5dumpgentest.c @@ -126,184 +117,188 @@ g2 : dset2.1 dset2.2 udlink */ static void -gent_ub(const char * filename, size_t ub_size, size_t ub_fill) +gent_ub(const char *filename, size_t ub_size, size_t ub_fill) { - hid_t fid, group, attr, dataset, space; - hid_t create_plist; + hid_t fid, group, attr, dataset, space; + hid_t create_plist; hsize_t dims[2]; - int data[2][2], dset1[10][10], dset2[20]; - char buf[BUF_SIZE]; - int i, j; - size_t u; - float dset2_1[10], dset2_2[3][5]; - int fd; - char *bp; - - if(ub_size > 0) - { - create_plist = H5Pcreate(H5P_FILE_CREATE); - H5Pset_userblock(create_plist, (hsize_t)ub_size); - fid = H5Fcreate(filename, H5F_ACC_TRUNC, create_plist, H5P_DEFAULT); - } - else - { - fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - } - - /* create groups */ - group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Gclose(group); - - group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Gclose(group); - - group = H5Gcreate2(fid, "/g1/g1.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Gclose(group); - - group = H5Gcreate2(fid, "/g1/g1.2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Gclose(group); - - group = H5Gcreate2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Gclose(group); - - /* root attributes */ - group = H5Gopen2(fid, "/", H5P_DEFAULT); - - dims[0] = 10; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(group, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); - HDsprintf(buf, "abcdefghi"); - H5Awrite(attr, H5T_NATIVE_SCHAR, buf); - H5Sclose(space); - H5Aclose(attr); - - dims[0] = 2; dims[1] = 2; - space = H5Screate_simple(2, dims, NULL); - attr = H5Acreate2(group, "attr2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT); - data[0][0] = 0; data[0][1] = 1; data[1][0] = 2; data[1][1] = 3; - H5Awrite(attr, H5T_NATIVE_INT, data); - H5Sclose(space); - H5Aclose(attr); - - H5Gclose(group); - - group = H5Gopen2(fid, "/g1/g1.1", H5P_DEFAULT); - - /* dset1.1.1 */ - dims[0] = 10; dims[1] = 10; - space = H5Screate_simple(2, dims, NULL); - dataset = H5Dcreate2(group, "dset1.1.1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for (i = 0; i < 10; i++) - for (j = 0; j < 10; j++) - dset1[i][j] = j*i; - H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); - H5Sclose(space); - - /* attributes of dset1.1.1 */ - dims[0] = 27; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(dataset, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); - HDsprintf(buf, "1st attribute of dset1.1.1"); - H5Awrite(attr, H5T_NATIVE_SCHAR, buf); - H5Sclose(space); - H5Aclose(attr); - - dims[0] = 27; - space = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(dataset, "attr2", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); - HDsprintf(buf, "2nd attribute of dset1.1.1"); - H5Awrite(attr, H5T_NATIVE_SCHAR, buf); - H5Sclose(space); - H5Aclose(attr); - - H5Dclose(dataset); - - /* dset1.1.2 */ - dims[0] = 20; - space = H5Screate_simple(1, dims, NULL); - dataset = H5Dcreate2(group, "dset1.1.2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for (i = 0; i < 20; i++) - dset2[i] = i; - H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); - H5Sclose(space); - H5Dclose(dataset); - - H5Gclose(group); - - /* external link */ - H5Lcreate_external("somefile", "somepath", fid, "/g1/g1.2/extlink", H5P_DEFAULT, H5P_DEFAULT); - - /* soft link */ - group = H5Gopen2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT); - H5Lcreate_soft("somevalue", group, "slink", H5P_DEFAULT, H5P_DEFAULT); - H5Gclose(group); - - group = H5Gopen2(fid, "/g2", H5P_DEFAULT); - - /* dset2.1 */ - dims[0] = 10; - space = H5Screate_simple(1, dims, NULL); - dataset = H5Dcreate2(group, "dset2.1", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for (i = 0; i < 10; i++) - dset2_1[i] = (float)((float)i * 0.1F + 1.0F); - H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_1); - H5Sclose(space); - H5Dclose(dataset); - - /* dset2.2 */ - dims[0] = 3; dims[1] = 5; - space = H5Screate_simple(2, dims, NULL); - dataset = H5Dcreate2(group, "dset2.2", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - for (i = 0; i < 3; i++) - for (j = 0; j < 5; j++) + int data[2][2], dset1[10][10], dset2[20]; + char buf[BUF_SIZE]; + int i, j; + size_t u; + float dset2_1[10], dset2_2[3][5]; + int fd; + char * bp; + + if (ub_size > 0) { + create_plist = H5Pcreate(H5P_FILE_CREATE); + H5Pset_userblock(create_plist, (hsize_t)ub_size); + fid = H5Fcreate(filename, H5F_ACC_TRUNC, create_plist, H5P_DEFAULT); + } + else { + fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + } + + /* create groups */ + group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Gclose(group); + + group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Gclose(group); + + group = H5Gcreate2(fid, "/g1/g1.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Gclose(group); + + group = H5Gcreate2(fid, "/g1/g1.2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Gclose(group); + + group = H5Gcreate2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Gclose(group); + + /* root attributes */ + group = H5Gopen2(fid, "/", H5P_DEFAULT); + + dims[0] = 10; + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(group, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); + HDsprintf(buf, "abcdefghi"); + H5Awrite(attr, H5T_NATIVE_SCHAR, buf); + H5Sclose(space); + H5Aclose(attr); + + dims[0] = 2; + dims[1] = 2; + space = H5Screate_simple(2, dims, NULL); + attr = H5Acreate2(group, "attr2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT); + data[0][0] = 0; + data[0][1] = 1; + data[1][0] = 2; + data[1][1] = 3; + H5Awrite(attr, H5T_NATIVE_INT, data); + H5Sclose(space); + H5Aclose(attr); + + H5Gclose(group); + + group = H5Gopen2(fid, "/g1/g1.1", H5P_DEFAULT); + + /* dset1.1.1 */ + dims[0] = 10; + dims[1] = 10; + space = H5Screate_simple(2, dims, NULL); + dataset = H5Dcreate2(group, "dset1.1.1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + for (i = 0; i < 10; i++) + for (j = 0; j < 10; j++) + dset1[i][j] = j * i; + H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); + H5Sclose(space); + + /* attributes of dset1.1.1 */ + dims[0] = 27; + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(dataset, "attr1", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); + HDsprintf(buf, "1st attribute of dset1.1.1"); + H5Awrite(attr, H5T_NATIVE_SCHAR, buf); + H5Sclose(space); + H5Aclose(attr); + + dims[0] = 27; + space = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(dataset, "attr2", H5T_STD_I8BE, space, H5P_DEFAULT, H5P_DEFAULT); + HDsprintf(buf, "2nd attribute of dset1.1.1"); + H5Awrite(attr, H5T_NATIVE_SCHAR, buf); + H5Sclose(space); + H5Aclose(attr); + + H5Dclose(dataset); + + /* dset1.1.2 */ + dims[0] = 20; + space = H5Screate_simple(1, dims, NULL); + dataset = H5Dcreate2(group, "dset1.1.2", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + for (i = 0; i < 20; i++) + dset2[i] = i; + H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); + H5Sclose(space); + H5Dclose(dataset); + + H5Gclose(group); + + /* external link */ + H5Lcreate_external("somefile", "somepath", fid, "/g1/g1.2/extlink", H5P_DEFAULT, H5P_DEFAULT); + + /* soft link */ + group = H5Gopen2(fid, "/g1/g1.2/g1.2.1", H5P_DEFAULT); + H5Lcreate_soft("somevalue", group, "slink", H5P_DEFAULT, H5P_DEFAULT); + H5Gclose(group); + + group = H5Gopen2(fid, "/g2", H5P_DEFAULT); + + /* dset2.1 */ + dims[0] = 10; + space = H5Screate_simple(1, dims, NULL); + dataset = H5Dcreate2(group, "dset2.1", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + for (i = 0; i < 10; i++) + dset2_1[i] = (float)((float)i * 0.1F + 1.0F); + H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_1); + H5Sclose(space); + H5Dclose(dataset); + + /* dset2.2 */ + dims[0] = 3; + dims[1] = 5; + space = H5Screate_simple(2, dims, NULL); + dataset = H5Dcreate2(group, "dset2.2", H5T_IEEE_F32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + for (i = 0; i < 3; i++) + for (j = 0; j < 5; j++) dset2_2[i][j] = (float)(((float)i + 1.0F) * (float)j * 0.1F); - H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_2); - H5Sclose(space); - H5Dclose(dataset); + H5Dwrite(dataset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2_2); + H5Sclose(space); + H5Dclose(dataset); - H5Gclose(group); + H5Gclose(group); - /* user-defined link */ - H5Lregister(UD_link_class); - H5Lcreate_ud(fid, "/g2/udlink", (H5L_type_t)MY_LINKCLASS, NULL, (size_t)0, H5P_DEFAULT, H5P_DEFAULT); + /* user-defined link */ + H5Lregister(UD_link_class); + H5Lcreate_ud(fid, "/g2/udlink", (H5L_type_t)MY_LINKCLASS, NULL, (size_t)0, H5P_DEFAULT, H5P_DEFAULT); - H5Fclose(fid); + H5Fclose(fid); - /* If a user block is being used, write to it here */ - if(ub_size > 0) { - HDassert(ub_size <= BUF_SIZE); + /* If a user block is being used, write to it here */ + if (ub_size > 0) { + HDassert(ub_size <= BUF_SIZE); - fd = HDopen(filename, O_RDWR); - HDassert(fd >= 0); + fd = HDopen(filename, O_RDWR); + HDassert(fd >= 0); - /* fill buf with pattern */ - HDmemset(buf, '\0', ub_size); - bp = buf; - for (u = 0; u < ub_fill; u++) - *bp++ = pattern[u % 10]; + /* fill buf with pattern */ + HDmemset(buf, '\0', ub_size); + bp = buf; + for (u = 0; u < ub_fill; u++) + *bp++ = pattern[u % 10]; - HDwrite(fd, buf, ub_size); + HDwrite(fd, buf, ub_size); - HDclose(fd); - } + HDclose(fd); + } } static void create_textfile(const char *name, size_t size) { - char *buf; - int fd; + char * buf; + int fd; size_t i; - char *bp; + char * bp; - fd = HDcreat(name,0777); + fd = HDcreat(name, 0777); HDassert(fd >= 0); buf = (char *)HDcalloc(size, (size_t)1); HDassert(buf); /* fill buf with pattern */ bp = buf; - for(i = 0; i < size; i++) + for (i = 0; i < size; i++) *bp++ = pattern[i % 10]; HDwrite(fd, buf, size); @@ -319,22 +314,22 @@ void create_binfile(char *name, off_t size) { char *buf; - int fd; - int i; + int fd; + int i; char *bp; - fd = creat(name,0777); + fd = creat(name, 0777); HDassert(fd >= 0); - buf = HDcalloc(size,1); + buf = HDcalloc(size, 1); HDassert(buf); /* fill buf with pattern */ bp = buf; for (i = 0; i < size; i++) - *bp++ = (char) i & 0xff; + *bp++ = (char)i & 0xff; - HDwrite(fd,buf,size); + HDwrite(fd, buf, size); HDclose(fd); } @@ -346,32 +341,32 @@ create_binfile(char *name, off_t size) *------------------------------------------------------------------------- */ - -int main(void) +int +main(void) { -/* -create_textfile(UBTXT1, (size_t)0); -*/ -create_textfile(UBTXT2, (size_t)10); -create_textfile(UBTXT3, (size_t)511); -create_textfile(UBTXT4, (size_t)512); -create_textfile(UBTXT5, (size_t)513); -/* -create_textfile(UBTXT6, (size_t)1023); -create_textfile(UBTXT7, (size_t)1024); -create_textfile(UBTXT8, (size_t)1025); -create_textfile(UBTXT9, (size_t)2047); -create_textfile(UBTXT10, (size_t)2048); -create_textfile(UBTXT11, (size_t)2049); - -create_binfile(UBBIN1, (off_t)0); -create_binfile(UBBIN2, (off_t)10); -create_binfile(UBBIN3, (off_t)511); -create_binfile(UBBIN4, (off_t)512); -create_binfile(UBBIN5, (off_t)513); - -*/ + /* + create_textfile(UBTXT1, (size_t)0); + */ + create_textfile(UBTXT2, (size_t)10); + create_textfile(UBTXT3, (size_t)511); + create_textfile(UBTXT4, (size_t)512); + create_textfile(UBTXT5, (size_t)513); + /* + create_textfile(UBTXT6, (size_t)1023); + create_textfile(UBTXT7, (size_t)1024); + create_textfile(UBTXT8, (size_t)1025); + create_textfile(UBTXT9, (size_t)2047); + create_textfile(UBTXT10, (size_t)2048); + create_textfile(UBTXT11, (size_t)2049); + + create_binfile(UBBIN1, (off_t)0); + create_binfile(UBBIN2, (off_t)10); + create_binfile(UBBIN3, (off_t)511); + create_binfile(UBBIN4, (off_t)512); + create_binfile(UBBIN5, (off_t)513); + + */ gent_ub(FILE7, (size_t)0, (size_t)0); gent_ub(FILE8, (size_t)512, HDstrlen(pattern)); gent_ub(FILE9, (size_t)1024, (size_t)513); diff --git a/tools/test/h5jam/tellub.c b/tools/test/h5jam/tellub.c index 453444d..afb7e95 100644 --- a/tools/test/h5jam/tellub.c +++ b/tools/test/h5jam/tellub.c @@ -24,12 +24,8 @@ * parameters. The long-named ones can be partially spelled. When * adding more, make sure that they don't clash with each other. */ -static const char *s_opts = "h"; -static struct long_options l_opts[] = { - {"help", no_arg, 'h'}, - {"hel", no_arg, 'h'}, - {NULL, 0, '\0'} -}; +static const char * s_opts = "h"; +static struct long_options l_opts[] = {{"help", no_arg, 'h'}, {"hel", no_arg, 'h'}, {NULL, 0, '\0'}}; /*------------------------------------------------------------------------- * Function: usage @@ -40,12 +36,11 @@ static struct long_options l_opts[] = { *------------------------------------------------------------------------- */ static void -usage (const char *prog) +usage(const char *prog) { HDfflush(stdout); HDfprintf(stdout, "usage: %s h5_file\n", prog); - HDfprintf(stdout, - " Check that h5_fil is HDF5 file and print size of user block \n"); + HDfprintf(stdout, " Check that h5_fil is HDF5 file and print size of user block \n"); HDfprintf(stdout, " %s -h\n", prog); HDfprintf(stdout, " Print a usage message and exit\n"); } /* end usage() */ @@ -61,20 +56,20 @@ usage (const char *prog) */ static void -parse_command_line (int argc, const char *argv[]) +parse_command_line(int argc, const char *argv[]) { int opt; /* parse command line options */ - while ((opt = get_option (argc, argv, s_opts, l_opts)) != EOF) { - switch ((char) opt) { + while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) { + switch ((char)opt) { case 'h': - usage (h5tools_getprogname()); + usage(h5tools_getprogname()); h5tools_setstatus(EXIT_SUCCESS); break; case '?': default: - usage (h5tools_getprogname()); + usage(h5tools_getprogname()); h5tools_setstatus(EXIT_FAILURE); } } @@ -82,7 +77,7 @@ parse_command_line (int argc, const char *argv[]) /* check for file name to be processed */ if (argc <= opt_ind) { error_msg("missing file name\n"); - usage (h5tools_getprogname()); + usage(h5tools_getprogname()); h5tools_setstatus(EXIT_FAILURE); } } /* end parse_command_line() */ @@ -90,8 +85,8 @@ parse_command_line (int argc, const char *argv[]) static void leave(int ret) { - h5tools_close(); - HDexit(ret); + h5tools_close(); + HDexit(ret); } /*------------------------------------------------------------------------- @@ -103,14 +98,14 @@ leave(int ret) *------------------------------------------------------------------------- */ int -main (int argc, const char *argv[]) +main(int argc, const char *argv[]) { - char *ifname; - hid_t ifile = H5I_INVALID_HID; + char * ifname; + hid_t ifile = H5I_INVALID_HID; hsize_t usize; - htri_t testval; - herr_t status; - hid_t plist = H5I_INVALID_HID; + htri_t testval; + herr_t status; + hid_t plist = H5I_INVALID_HID; h5tools_setprogname(PROGRAMNAME); h5tools_setstatus(EXIT_SUCCESS); @@ -123,9 +118,9 @@ main (int argc, const char *argv[]) /* enable error reporting if command line option */ h5tools_error_report(); - if(argc <= (opt_ind)) { + if (argc <= (opt_ind)) { error_msg("missing file name\n"); - usage (h5tools_getprogname()); + usage(h5tools_getprogname()); h5tools_setstatus(EXIT_FAILURE); goto done; } @@ -134,7 +129,7 @@ main (int argc, const char *argv[]) testval = H5Fis_accessible(ifname, H5P_DEFAULT); - if(testval <= 0) { + if (testval <= 0) { error_msg("Input HDF5 file is not HDF \"%s\"\n", ifname); h5tools_setstatus(EXIT_FAILURE); goto done; @@ -142,33 +137,32 @@ main (int argc, const char *argv[]) ifile = H5Fopen(ifname, H5F_ACC_RDONLY, H5P_DEFAULT); - if(ifile < 0) { + if (ifile < 0) { error_msg("Can't open input HDF5 file \"%s\"\n", ifname); h5tools_setstatus(EXIT_FAILURE); goto done; } plist = H5Fget_create_plist(ifile); - if(plist < 0) { + if (plist < 0) { error_msg("Can't get file creation plist for file \"%s\"\n", ifname); h5tools_setstatus(EXIT_FAILURE); goto done; } status = H5Pget_userblock(plist, &usize); - if(status < 0) { + if (status < 0) { error_msg("Can't get user block for file \"%s\"\n", ifname); h5tools_setstatus(EXIT_FAILURE); goto done; } - HDprintf("%ld\n", (long) usize); + HDprintf("%ld\n", (long)usize); done: - H5Pclose (plist); - if(ifile >= 0) - H5Fclose (ifile); + H5Pclose(plist); + if (ifile >= 0) + H5Fclose(ifile); leave(h5tools_getstatus()); } /* end main() */ - diff --git a/tools/test/h5ls/dynlib_ls.c b/tools/test/h5ls/dynlib_ls.c index 661a6dc..32d2daf 100644 --- a/tools/test/h5ls/dynlib_ls.c +++ b/tools/test/h5ls/dynlib_ls.c @@ -17,25 +17,33 @@ #include <stdio.h> #include "H5PLextern.h" -#define H5Z_FILTER_DYNLIBUD 300 -#define MULTIPLIER 3 +#define H5Z_FILTER_DYNLIBUD 300 +#define MULTIPLIER 3 -static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf); +static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, + size_t nbytes, size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_DYNLIBUD[1] = {{ H5Z_CLASS_T_VERS, /* H5Z_class_t version */ H5Z_FILTER_DYNLIBUD, /* Filter id number */ 1, 1, /* Encoding and decoding enabled */ - "dynlibud", /* Filter name for debugging */ + "dynlibud", /* Filter name for debugging */ NULL, /* The "can apply" callback */ NULL, /* The "set local" callback */ - (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ + (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */ }}; -H5PL_type_t H5PLget_plugin_type(void) {return H5PL_TYPE_FILTER;} -const void *H5PLget_plugin_info(void) {return H5Z_DYNLIBUD;} +H5PL_type_t +H5PLget_plugin_type(void) +{ + return H5PL_TYPE_FILTER; +} +const void * +H5PLget_plugin_info(void) +{ + return H5Z_DYNLIBUD; +} /*------------------------------------------------------------------------- * Function: H5Z_filter_dynlibud @@ -51,39 +59,37 @@ const void *H5PLget_plugin_info(void) {return H5Z_DYNLIBUD;} *------------------------------------------------------------------------- */ static size_t -H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, - size_t *buf_size, void **buf) +H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, size_t nbytes, + size_t *buf_size, void **buf) { - char *int_ptr = (char *)*buf; /* Pointer to the data values */ - size_t buf_left = *buf_size; /* Amount of data buffer left to process */ + char * int_ptr = (char *)*buf; /* Pointer to the data values */ + size_t buf_left = *buf_size; /* Amount of data buffer left to process */ /* Check for the correct number of parameters */ - if(cd_nelmts > 0) - return(0); + if (cd_nelmts > 0) + return (0); /* Assignment to eliminate unused parameter warning. */ cd_values = cd_values; - if(flags & H5Z_FLAG_REVERSE) { /*read*/ + if (flags & H5Z_FLAG_REVERSE) { /*read*/ /* Subtract the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = (int8_t)(temp - MULTIPLIER); + *int_ptr = (int8_t)(temp - MULTIPLIER); int_ptr++; buf_left -= sizeof(*int_ptr); - } /* end while */ - } /* end if */ + } /* end while */ + } /* end if */ else { /*write*/ /* Add the original value with MULTIPLIER */ - while(buf_left > 0) { + while (buf_left > 0) { char temp = *int_ptr; - *int_ptr = (int8_t)(temp + MULTIPLIER); + *int_ptr = (int8_t)(temp + MULTIPLIER); int_ptr++; buf_left -= sizeof(*int_ptr); } /* end while */ - } /* end else */ + } /* end else */ return nbytes; } /* end H5Z_filter_dynlibud() */ - diff --git a/tools/test/h5repack/dynlib_rpk.c b/tools/test/h5repack/dynlib_rpk.c index 29c3eae..1899586 100644 --- a/tools/test/h5repack/dynlib_rpk.c +++ b/tools/test/h5repack/dynlib_rpk.c @@ -20,24 +20,32 @@ #include <stdio.h> #include "H5PLextern.h" -#define H5Z_FILTER_DYNLIB1 257 +#define H5Z_FILTER_DYNLIB1 257 -static size_t H5Z_filter_dynlib1(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf); +static size_t H5Z_filter_dynlib1(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, + size_t nbytes, size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_DYNLIB1[1] = {{ - H5Z_CLASS_T_VERS, /* H5Z_class_t version */ + H5Z_CLASS_T_VERS, /* H5Z_class_t version */ H5Z_FILTER_DYNLIB1, /* Filter id number */ - 1, 1, /* Encoding and decoding enabled */ - "dynlib1", /* Filter name for debugging */ - NULL, /* The "can apply" callback */ - NULL, /* The "set local" callback */ - (H5Z_func_t)H5Z_filter_dynlib1, /* The actual filter function */ + 1, 1, /* Encoding and decoding enabled */ + "dynlib1", /* Filter name for debugging */ + NULL, /* The "can apply" callback */ + NULL, /* The "set local" callback */ + (H5Z_func_t)H5Z_filter_dynlib1, /* The actual filter function */ }}; -H5PL_type_t H5PLget_plugin_type(void) {return H5PL_TYPE_FILTER;} -const void *H5PLget_plugin_info(void) {return H5Z_DYNLIB1;} +H5PL_type_t +H5PLget_plugin_type(void) +{ + return H5PL_TYPE_FILTER; +} +const void * +H5PLget_plugin_info(void) +{ + return H5Z_DYNLIB1; +} /*------------------------------------------------------------------------- * Function: H5Z_filter_dynlib1 @@ -57,39 +65,37 @@ const void *H5PLget_plugin_info(void) {return H5Z_DYNLIB1;} *------------------------------------------------------------------------- */ static size_t -H5Z_filter_dynlib1(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, - size_t *buf_size, void **buf) +H5Z_filter_dynlib1(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, size_t nbytes, + size_t *buf_size, void **buf) { - int *int_ptr = (int *)*buf; /* Pointer to the data values */ - size_t buf_left = *buf_size; /* Amount of data buffer left to process */ - int add_on = 0; + int * int_ptr = (int *)*buf; /* Pointer to the data values */ + size_t buf_left = *buf_size; /* Amount of data buffer left to process */ + int add_on = 0; /* Check for the correct number of parameters */ - if(cd_nelmts == 0) + if (cd_nelmts == 0) return 0; /* Check that permanent parameters are set correctly */ - if(cd_values[0] > 9) + if (cd_values[0] > 9) return 0; add_on = (int)cd_values[0]; - if(flags & H5Z_FLAG_REVERSE) { /*read*/ + if (flags & H5Z_FLAG_REVERSE) { /*read*/ /* Substract the "add on" value to all the data values */ - while(buf_left > 0) { + while (buf_left > 0) { *int_ptr++ -= add_on; buf_left -= sizeof(int); - } /* end while */ - } /* end if */ + } /* end while */ + } /* end if */ else { /*write*/ /* Add the "add on" value to all the data values */ - while(buf_left > 0) { + while (buf_left > 0) { *int_ptr++ += add_on; buf_left -= sizeof(int); } /* end while */ - } /* end else */ + } /* end else */ return nbytes; } /* end H5Z_filter_dynlib1() */ - diff --git a/tools/test/h5repack/dynlib_vrpk.c b/tools/test/h5repack/dynlib_vrpk.c index 06d90ff..4891743 100644 --- a/tools/test/h5repack/dynlib_vrpk.c +++ b/tools/test/h5repack/dynlib_vrpk.c @@ -17,26 +17,35 @@ #include <stdio.h> #include "H5PLextern.h" -#define H5Z_FILTER_DYNLIB4 260 +#define H5Z_FILTER_DYNLIB4 260 -#define PUSH_ERR(func, minor, str) H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, H5E_ERR_CLS, H5E_PLUGIN, minor, str) +#define PUSH_ERR(func, minor, str) \ + H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, H5E_ERR_CLS, H5E_PLUGIN, minor, str) -static size_t H5Z_filter_dynlib4(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf); +static size_t H5Z_filter_dynlib4(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, + size_t nbytes, size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_DYNLIB4[1] = {{ - H5Z_CLASS_T_VERS, /* H5Z_class_t version */ + H5Z_CLASS_T_VERS, /* H5Z_class_t version */ H5Z_FILTER_DYNLIB4, /* Filter id number */ - 1, 1, /* Encoding and decoding enabled */ - "dynlib4", /* Filter name for debugging */ - NULL, /* The "can apply" callback */ - NULL, /* The "set local" callback */ - (H5Z_func_t)H5Z_filter_dynlib4, /* The actual filter function */ + 1, 1, /* Encoding and decoding enabled */ + "dynlib4", /* Filter name for debugging */ + NULL, /* The "can apply" callback */ + NULL, /* The "set local" callback */ + (H5Z_func_t)H5Z_filter_dynlib4, /* The actual filter function */ }}; -H5PL_type_t H5PLget_plugin_type(void) {return H5PL_TYPE_FILTER;} -const void *H5PLget_plugin_info(void) {return H5Z_DYNLIB4;} +H5PL_type_t +H5PLget_plugin_type(void) +{ + return H5PL_TYPE_FILTER; +} +const void * +H5PLget_plugin_info(void) +{ + return H5Z_DYNLIB4; +} /*------------------------------------------------------------------------- * Function: H5Z_filter_dynlib4 @@ -53,50 +62,48 @@ const void *H5PLget_plugin_info(void) {return H5Z_DYNLIB4;} *------------------------------------------------------------------------- */ static size_t -H5Z_filter_dynlib4(unsigned int flags, size_t cd_nelmts, - const unsigned int *cd_values, size_t nbytes, - size_t *buf_size, void **buf) +H5Z_filter_dynlib4(unsigned int flags, size_t cd_nelmts, const unsigned int *cd_values, size_t nbytes, + size_t *buf_size, void **buf) { - int *int_ptr = (int *)*buf; /* Pointer to the data values */ - size_t buf_left = *buf_size; /* Amount of data buffer left to process */ - int add_on = 0; + int * int_ptr = (int *)*buf; /* Pointer to the data values */ + size_t buf_left = *buf_size; /* Amount of data buffer left to process */ + int add_on = 0; unsigned ver_info[3]; /* Check for the library version */ - if(H5get_libversion(&ver_info[0], &ver_info[1], &ver_info[2]) < 0) { + if (H5get_libversion(&ver_info[0], &ver_info[1], &ver_info[2]) < 0) { PUSH_ERR("dynlib4", H5E_CALLBACK, "H5get_libversion"); - return(0); + return (0); } /* Check for the correct number of parameters */ - if(cd_nelmts == 0) - return(0); + if (cd_nelmts == 0) + return (0); /* Check that permanent parameters are set correctly */ - if(cd_values[0] > 9) - return(0); + if (cd_values[0] > 9) + return (0); - if(ver_info[0] != cd_values[1] || ver_info[1] != cd_values[2]) { + if (ver_info[0] != cd_values[1] || ver_info[1] != cd_values[2]) { PUSH_ERR("dynlib4", H5E_CALLBACK, "H5get_libversion does not match"); - return(0); + return (0); } add_on = (int)cd_values[0]; - if(flags & H5Z_FLAG_REVERSE) { /*read*/ + if (flags & H5Z_FLAG_REVERSE) { /*read*/ /* Substract the "add on" value to all the data values */ - while(buf_left > 0) { + while (buf_left > 0) { *int_ptr++ -= add_on; buf_left -= sizeof(int); - } /* end while */ - } /* end if */ + } /* end while */ + } /* end if */ else { /*write*/ /* Add the "add on" value to all the data values */ - while(buf_left > 0) { + while (buf_left > 0) { *int_ptr++ += add_on; buf_left -= sizeof(int); } /* end while */ - } /* end else */ + } /* end else */ return nbytes; } /* end H5Z_filter_dynlib4() */ - diff --git a/tools/test/h5repack/h5repackgentest.c b/tools/test/h5repack/h5repackgentest.c index 7604964..4a6d854 100644 --- a/tools/test/h5repack/h5repackgentest.c +++ b/tools/test/h5repack/h5repackgentest.c @@ -35,28 +35,34 @@ #include "hdf5.h" #include "H5private.h" -#define MAX_NAME_SIZE 256 +#define MAX_NAME_SIZE 256 #define FILE_INT32LE_1 "h5repack_int32le_1d" #define FILE_INT32LE_2 "h5repack_int32le_2d" #define FILE_INT32LE_3 "h5repack_int32le_3d" -#define FILE_UINT8BE "h5repack_uint8be" -#define FILE_F32LE "h5repack_f32le" - -#define H5REPACKGENTEST_OOPS { \ - ret_value = -1; \ - goto done; \ -} - -#define H5REPACKGENTEST_COMMON_CLEANUP(dcpl, file, space) { \ - if ((dcpl) != H5P_DEFAULT && (dcpl) != H5I_INVALID_HID) { \ - (void)H5Pclose((dcpl)); \ - } \ - if ((file) != H5I_INVALID_HID) { (void)H5Fclose((file)); } \ - if ((space) != H5I_INVALID_HID) { (void)H5Sclose((space)); } \ -} +#define FILE_UINT8BE "h5repack_uint8be" +#define FILE_F32LE "h5repack_f32le" + +#define H5REPACKGENTEST_OOPS \ + { \ + ret_value = -1; \ + goto done; \ + } + +#define H5REPACKGENTEST_COMMON_CLEANUP(dcpl, file, space) \ + { \ + if ((dcpl) != H5P_DEFAULT && (dcpl) != H5I_INVALID_HID) { \ + (void)H5Pclose((dcpl)); \ + } \ + if ((file) != H5I_INVALID_HID) { \ + (void)H5Fclose((file)); \ + } \ + if ((space) != H5I_INVALID_HID) { \ + (void)H5Sclose((space)); \ + } \ + } struct external_def { - hsize_t type_size; + hsize_t type_size; unsigned n_elts_per_file; unsigned n_elts_total; }; @@ -66,14 +72,13 @@ struct external_def { * Returns 0 on success, -1 on failure. */ static int -__make_dataset(hid_t file_id, const char *dset_name, - hid_t mem_type_id, hid_t space_id, hid_t dcpl_id, void *wdata) { - hid_t dset_id = H5I_INVALID_HID; +__make_dataset(hid_t file_id, const char *dset_name, hid_t mem_type_id, hid_t space_id, hid_t dcpl_id, + void *wdata) +{ + hid_t dset_id = H5I_INVALID_HID; int ret_value = 0; - dset_id = H5Dcreate2(file_id, dset_name, mem_type_id, space_id, - H5P_DEFAULT, dcpl_id, - H5P_DEFAULT); + dset_id = H5Dcreate2(file_id, dset_name, mem_type_id, space_id, H5P_DEFAULT, dcpl_id, H5P_DEFAULT); if (dset_id == H5I_INVALID_HID) H5REPACKGENTEST_OOPS; @@ -82,7 +87,7 @@ __make_dataset(hid_t file_id, const char *dset_name, done: if (dset_id != H5I_INVALID_HID) - (void) H5Dclose(dset_id); + (void)H5Dclose(dset_id); return ret_value; } /* end __make_dataset() */ @@ -96,11 +101,12 @@ done: * Returns 0 on success, -1 on failure. */ static int -__set_dcpl_external_list(hid_t dcpl, const char *filename, - unsigned n_elts_per_file, unsigned n_elts_total, hsize_t elt_size) { +__set_dcpl_external_list(hid_t dcpl, const char *filename, unsigned n_elts_per_file, unsigned n_elts_total, + hsize_t elt_size) +{ char name[MAX_NAME_SIZE]; unsigned n_external_files = 0; - unsigned i = 0; + unsigned i = 0; if (NULL == filename || '\0' == *filename) return -1; @@ -109,7 +115,6 @@ __set_dcpl_external_list(hid_t dcpl, const char *filename, if (n_elts_total != (n_external_files * n_elts_per_file)) return -1; - for (i = 0; i < n_external_files; i++) { if (HDsnprintf(name, MAX_NAME_SIZE, "%s_ex-%u.dat", filename, i) >= MAX_NAME_SIZE) return -1; @@ -127,12 +132,13 @@ __set_dcpl_external_list(hid_t dcpl, const char *filename, * Returns 0 on success, -1 on failure. */ static int -__make_file(const char *basename, struct external_def *ext, - hid_t type_id, hsize_t rank, hsize_t *dims, void *wdata) { +__make_file(const char *basename, struct external_def *ext, hid_t type_id, hsize_t rank, hsize_t *dims, + void *wdata) +{ char filename[MAX_NAME_SIZE]; - hid_t file_id = H5I_INVALID_HID; - hid_t dcpl_id = H5P_DEFAULT; - hid_t space_id = H5I_INVALID_HID; + hid_t file_id = H5I_INVALID_HID; + hid_t dcpl_id = H5P_DEFAULT; + hid_t space_id = H5I_INVALID_HID; int ret_value = 0; if (HDsnprintf(filename, MAX_NAME_SIZE, "%s%s.h5", basename, (NULL != ext) ? "_ex" : "") >= MAX_NAME_SIZE) @@ -143,7 +149,8 @@ __make_file(const char *basename, struct external_def *ext, if (dcpl_id == H5I_INVALID_HID) H5REPACKGENTEST_OOPS; - if (__set_dcpl_external_list(dcpl_id, basename, ext->n_elts_per_file, ext->n_elts_total, ext->type_size) < 0) + if (__set_dcpl_external_list(dcpl_id, basename, ext->n_elts_per_file, ext->n_elts_total, + ext->type_size) < 0) H5REPACKGENTEST_OOPS; } @@ -155,29 +162,29 @@ __make_file(const char *basename, struct external_def *ext, if (file_id == H5I_INVALID_HID) H5REPACKGENTEST_OOPS; - if (__make_dataset(file_id, "dset", type_id, space_id, dcpl_id, wdata) < 0) H5REPACKGENTEST_OOPS; done: H5REPACKGENTEST_COMMON_CLEANUP(dcpl_id, file_id, space_id); -return ret_value; + return ret_value; } /* end __make_file() */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Returns 0 on success, -1 on failure. */ static int -generate_int32le_1d(hbool_t external) { - int32_t wdata[12]; - hsize_t dims[] = { 12 }; - struct external_def *def_ptr = NULL; - struct external_def def = { (hsize_t) sizeof(int32_t), 6, 12 }; - int32_t n = 0; - int ret_value = 0; +generate_int32le_1d(hbool_t external) +{ + int32_t wdata[12]; + hsize_t dims[] = {12}; + struct external_def *def_ptr = NULL; + struct external_def def = {(hsize_t)sizeof(int32_t), 6, 12}; + int32_t n = 0; + int ret_value = 0; /* Generate values - */ + */ for (n = 0; n < 12; n++) { wdata[n] = n - 6; } @@ -193,16 +200,17 @@ generate_int32le_1d(hbool_t external) { * Returns 0 on success, -1 on failure. */ static int -generate_int32le_2d(hbool_t external) { - int32_t wdata[64]; - hsize_t dims[] = { 8, 8 }; - struct external_def *def_ptr = NULL; - struct external_def def = { (hsize_t) sizeof(int32_t), 64, 64 }; - int32_t n = 0; - int ret_value = 0; +generate_int32le_2d(hbool_t external) +{ + int32_t wdata[64]; + hsize_t dims[] = {8, 8}; + struct external_def *def_ptr = NULL; + struct external_def def = {(hsize_t)sizeof(int32_t), 64, 64}; + int32_t n = 0; + int ret_value = 0; /* Generate values - */ + */ for (n = 0; n < 64; n++) { wdata[n] = n - 32; } @@ -218,19 +226,20 @@ generate_int32le_2d(hbool_t external) { * Returns 0 on success, -1 on failure. */ static int -generate_int32le_3d(hbool_t external) { - hsize_t dims[] = { 8, 8, 8 }; - int32_t wdata[512]; /* 8^3, from dims */ - struct external_def *def_ptr = NULL; - struct external_def def = { (hsize_t) sizeof(int32_t), 512, 512 }; - int32_t n = 0; - int i = 0; - int j = 0; - int k = 0; - int ret_value = 0; +generate_int32le_3d(hbool_t external) +{ + hsize_t dims[] = {8, 8, 8}; + int32_t wdata[512]; /* 8^3, from dims */ + struct external_def *def_ptr = NULL; + struct external_def def = {(hsize_t)sizeof(int32_t), 512, 512}; + int32_t n = 0; + int i = 0; + int j = 0; + int k = 0; + int ret_value = 0; /* generate values, alternating positive and negative - */ + */ for (i = 0, n = 0; (hsize_t)i < dims[0]; i++) { for (j = 0; (hsize_t)j < dims[1]; j++) { for (k = 0; (hsize_t)k < dims[2]; k++, n++) { @@ -250,19 +259,20 @@ generate_int32le_3d(hbool_t external) { * Returns 0 on success, -1 on failure. */ static int -generate_uint8be(hbool_t external) { - hsize_t dims[] = { 4, 8, 8 }; - uint8_t wdata[256]; /* 4*8*8, from dims */ - struct external_def *def_ptr = NULL; - struct external_def def = { (hsize_t) sizeof(uint8_t), 64, 256 }; - uint8_t n = 0; - int i = 0; - int j = 0; - int k = 0; - int ret_value = 0; +generate_uint8be(hbool_t external) +{ + hsize_t dims[] = {4, 8, 8}; + uint8_t wdata[256]; /* 4*8*8, from dims */ + struct external_def *def_ptr = NULL; + struct external_def def = {(hsize_t)sizeof(uint8_t), 64, 256}; + uint8_t n = 0; + int i = 0; + int j = 0; + int k = 0; + int ret_value = 0; /* Generate values, ping-pong from ends of range - */ + */ for (i = 0, n = 0; (hsize_t)i < dims[0]; i++) { for (j = 0; (hsize_t)j < dims[1]; j++) { for (k = 0; (hsize_t)k < dims[2]; k++, n++) { @@ -282,16 +292,17 @@ generate_uint8be(hbool_t external) { * Returns 0 on success, -1 on failure. */ static int -generate_f32le(hbool_t external) { - hsize_t dims[] = { 12, 6 }; - float wdata[72]; /* 12*6, from dims */ - struct external_def *def_ptr = NULL; - struct external_def def = { (hsize_t) sizeof(float), 72, 72 }; - float n = 0; - int i = 0; - int j = 0; - int k = 0; - int ret_value = 0; +generate_f32le(hbool_t external) +{ + hsize_t dims[] = {12, 6}; + float wdata[72]; /* 12*6, from dims */ + struct external_def *def_ptr = NULL; + struct external_def def = {(hsize_t)sizeof(float), 72, 72}; + float n = 0; + int i = 0; + int j = 0; + int k = 0; + int ret_value = 0; /* Generate values */ for (i = 0, k = 0, n = 0; (hsize_t)i < dims[0]; i++) { @@ -312,7 +323,8 @@ generate_f32le(hbool_t external) { * Return 0 on success, nonzero on failure. */ int -main(void) { +main(void) +{ int i = 0; for (i = 0; i < 2; i++) { @@ -336,4 +348,3 @@ main(void) { return EXIT_SUCCESS; } /* end main() */ - diff --git a/tools/test/h5repack/h5repacktst.c b/tools/test/h5repack/h5repacktst.c index 2666e95..ea9ded1 100644 --- a/tools/test/h5repack/h5repacktst.c +++ b/tools/test/h5repack/h5repacktst.c @@ -17,39 +17,42 @@ #include "h5tools.h" #include "h5tools_utils.h" -#define GOERROR {H5_FAILED(); goto error;} - +#define GOERROR \ + { \ + H5_FAILED(); \ + goto error; \ + } /* fill value test */ -#define FNAME0 "h5repack_fill.h5" -#define FNAME0OUT "h5repack_fill_out.h5" +#define FNAME0 "h5repack_fill.h5" +#define FNAME0OUT "h5repack_fill_out.h5" /* HDF5 objects and all dataset datatypes */ -#define FNAME1 "h5repack_objs.h5" -#define FNAME1OUT "h5repack_objs_out.h5" +#define FNAME1 "h5repack_objs.h5" +#define FNAME1OUT "h5repack_objs_out.h5" /* attributes, all datatypes */ -#define FNAME2 "h5repack_attr.h5" -#define FNAME2OUT "h5repack_attr_out.h5" +#define FNAME2 "h5repack_attr.h5" +#define FNAME2OUT "h5repack_attr_out.h5" /* hard links */ -#define FNAME3 "h5repack_hlink.h5" -#define FNAME3OUT "h5repack_hlink_out.h5" +#define FNAME3 "h5repack_hlink.h5" +#define FNAME3OUT "h5repack_hlink_out.h5" /* layout */ -#define FNAME4 "h5repack_layout.h5" -#define FNAME4OUT "h5repack_layout_out.h5" +#define FNAME4 "h5repack_layout.h5" +#define FNAME4OUT "h5repack_layout_out.h5" /* H5D_ALLOC_TIME_EARLY */ -#define FNAME5 "h5repack_early.h5" -#define FNAME5OUT "h5repack_early_out.h5" -#define FNAME6 "h5repack_early2.h5" +#define FNAME5 "h5repack_early.h5" +#define FNAME5OUT "h5repack_early_out.h5" +#define FNAME6 "h5repack_early2.h5" #ifdef H5_HAVE_FILTER_SZIP /* SZIP filter */ -#define FNAME7 "h5repack_szip.h5" -#define FNAME7OUT "h5repack_szip_out.h5" +#define FNAME7 "h5repack_szip.h5" +#define FNAME7OUT "h5repack_szip_out.h5" #endif /* GZIP filter */ -#define FNAME8 "h5repack_deflate.h5" -#define FNAME8OUT "h5repack_deflate_out.h5" +#define FNAME8 "h5repack_deflate.h5" +#define FNAME8OUT "h5repack_deflate_out.h5" /* GZIP filter */ -#define FNAME9 "h5repack_shuffle.h5" -#define FNAME9OUT "h5repack_shuffle_out.h5" +#define FNAME9 "h5repack_shuffle.h5" +#define FNAME9OUT "h5repack_shuffle_out.h5" /* Fletcher filter */ #define FNAME10 "h5repack_fletcher.h5" #define FNAME10OUT "h5repack_fletcher_out.h5" @@ -72,58 +75,55 @@ #define FNAME16 "h5repack_ub.h5" #define FNAME16OUT "h5repack_ub_out.h5" /* Named datatypes */ -#define FNAME17 "h5repack_named_dtypes.h5" -#define FNAME17OUT "h5repack_named_dtypes_out.h5" +#define FNAME17 "h5repack_named_dtypes.h5" +#define FNAME17OUT "h5repack_named_dtypes_out.h5" -#define FNAME18 "h5repack_layout2.h5" +#define FNAME18 "h5repack_layout2.h5" /* Files for testing file space paging */ -#define FSPACE_OUT "h5repack_fspace_OUT.h5" /* The output file */ -#define NELMTS(X) (sizeof(X)/sizeof(X[0])) /* # of elements */ +#define FSPACE_OUT "h5repack_fspace_OUT.h5" /* The output file */ +#define NELMTS(X) (sizeof(X) / sizeof(X[0])) /* # of elements */ const char *H5REPACK_FSPACE_FNAMES[] = { - "h5repack_latest.h5", /* 0 */ - "h5repack_default.h5", /* 1 */ - "h5repack_page_persist.h5", /* 2 */ - "h5repack_fsm_aggr_persist.h5", /* 3 */ - "h5repack_page_threshold.h5", /* 4 */ - "h5repack_fsm_aggr_threshold.h5", /* 5 */ - "h5repack_aggr.h5", /* 6 */ - "h5repack_none.h5" /* 7 */ + "h5repack_latest.h5", /* 0 */ + "h5repack_default.h5", /* 1 */ + "h5repack_page_persist.h5", /* 2 */ + "h5repack_fsm_aggr_persist.h5", /* 3 */ + "h5repack_page_threshold.h5", /* 4 */ + "h5repack_fsm_aggr_threshold.h5", /* 5 */ + "h5repack_aggr.h5", /* 6 */ + "h5repack_none.h5" /* 7 */ }; -#define FNAME_UB "ublock.bin" +#define FNAME_UB "ublock.bin" /* obj and region references */ -#define FNAME_REF "h5repack_refs.h5" +#define FNAME_REF "h5repack_refs.h5" /* obj and region references in attr of compound and vlen type */ -#define FNAME_ATTR_REF "h5repack_attr_refs.h5" +#define FNAME_ATTR_REF "h5repack_attr_refs.h5" -const char *H5REPACK_FILENAMES[] = { - "h5repack_big_out", - NULL -}; +const char *H5REPACK_FILENAMES[] = {"h5repack_big_out", NULL}; #define H5REPACK_EXTFILE "h5repack_ext.bin" /* Name of tool */ #define PROGRAMNAME "h5repacktst" -#define DIM1 40 -#define DIM2 20 -#define CDIM1 DIM1/2 -#define CDIM2 DIM2/2 -#define RANK 2 +#define DIM1 40 +#define DIM2 20 +#define CDIM1 DIM1 / 2 +#define CDIM2 DIM2 / 2 +#define RANK 2 /* Size of userblock (for userblock test) */ -#define USERBLOCK_SIZE 2048 +#define USERBLOCK_SIZE 2048 /* obj and region references */ -#define NAME_OBJ_DS1 "Dset1" -#define NAME_OBJ_GRP "Group" +#define NAME_OBJ_DS1 "Dset1" +#define NAME_OBJ_GRP "Group" #define NAME_OBJ_NDTYPE "NamedDatatype" -#define NAME_OBJ_DS2 "Dset2" -#define REG_REF_DS1 "Dset_REGREF" +#define NAME_OBJ_DS2 "Dset2" +#define REG_REF_DS1 "Dset_REGREF" /*------------------------------------------------------------------------- * prototypes @@ -148,21 +148,20 @@ static int make_all_filters(hid_t loc_id); static int make_fill(hid_t loc_id); static int make_big(hid_t loc_id); static int make_testfiles(void); -static int write_dset_in(hid_t loc_id,const char* dset_name,hid_t file_id,int make_diffs ); -static int write_attr_in(hid_t loc_id,const char* dset_name,hid_t fid,int make_diffs ); -static int write_dset(hid_t loc_id,int rank,hsize_t *dims,const char *dset_name,hid_t tid,void *buf ); -static int make_dset(hid_t loc_id,const char *name,hid_t sid,hid_t dcpl,void *buf); -static int make_attr(hid_t loc_id,int rank,hsize_t *dims,const char *attr_name,hid_t tid,void *buf); +static int write_dset_in(hid_t loc_id, const char *dset_name, hid_t file_id, int make_diffs); +static int write_attr_in(hid_t loc_id, const char *dset_name, hid_t fid, int make_diffs); +static int write_dset(hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, hid_t tid, void *buf); +static int make_dset(hid_t loc_id, const char *name, hid_t sid, hid_t dcpl, void *buf); +static int make_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, hid_t tid, void *buf); static int make_dset_reg_ref(hid_t loc_id); static int make_external(hid_t loc_id); static int make_userblock(void); -static int verify_userblock( const char* filename); +static int verify_userblock(const char *filename); static int make_userblock_file(void); static int make_named_dtype(hid_t loc_id); static int make_references(hid_t loc_id); static int make_complex_attr_references(hid_t loc_id); - /*------------------------------------------------------------------------- * Function: main * @@ -173,18 +172,19 @@ static int make_complex_attr_references(hid_t loc_id); *------------------------------------------------------------------------- */ -int main (void) +int +main(void) { - pack_opt_t pack_options; - diff_opt_t diff_options; + pack_opt_t pack_options; + diff_opt_t diff_options; - unsigned j; /* Local index variable for testing file space */ - const char *fname; /* File name for testing file space */ + unsigned j; /* Local index variable for testing file space */ + const char *fname; /* File name for testing file space */ - h5_stat_t file_stat; - h5_stat_size_t fsize1, fsize2; /* file sizes */ -#if defined (H5_HAVE_FILTER_SZIP) - int szip_can_encode = 0; + h5_stat_t file_stat; + h5_stat_size_t fsize1, fsize2; /* file sizes */ +#if defined(H5_HAVE_FILTER_SZIP) + int szip_can_encode = 0; #endif h5tools_setprogname(PROGRAMNAME); @@ -194,8 +194,8 @@ int main (void) h5tools_init(); /* initialize */ - HDmemset(&diff_options, 0, sizeof (diff_opt_t)); - HDmemset(&pack_options, 0, sizeof (pack_opt_t)); + HDmemset(&diff_options, 0, sizeof(diff_opt_t)); + HDmemset(&pack_options, 0, sizeof(pack_opt_t)); /* run tests */ puts("Testing h5repack:"); @@ -218,153 +218,150 @@ int main (void) *------------------------------------------------------------------------- */ TESTING(" files with file space info setting--no options (-S, -P, -T, -G) are set"); - j = 0; /* #0 */ + j = 0; /* #0 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); fname = H5REPACK_FSPACE_FNAMES[j]; - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; - if(h5repack(fname, FSPACE_OUT, &pack_options) < 0) + if (h5repack(fname, FSPACE_OUT, &pack_options) < 0) GOERROR; - if(h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) + if (h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); - TESTING(" files with file space info setting--all options -S, -P, -T, -G are set"); - ++j; /* #1 */ + ++j; /* #1 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); fname = H5REPACK_FSPACE_FNAMES[j]; - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; - pack_options.fs_strategy = H5F_FSPACE_STRATEGY_NONE; - pack_options.fs_persist = -1; /* "FALSE" is set via -P 0 */ + pack_options.fs_strategy = H5F_FSPACE_STRATEGY_NONE; + pack_options.fs_persist = -1; /* "FALSE" is set via -P 0 */ pack_options.fs_threshold = 1; - pack_options.fs_pagesize = 8192; - if(h5repack(fname, FSPACE_OUT, &pack_options) < 0) + pack_options.fs_pagesize = 8192; + if (h5repack(fname, FSPACE_OUT, &pack_options) < 0) GOERROR; - if(h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) + if (h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); - TESTING(" files with file space info setting--options -S and -T are set"); - ++j; /* #2 */ + ++j; /* #2 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); fname = H5REPACK_FSPACE_FNAMES[j]; - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; - pack_options.fs_strategy = (H5F_fspace_strategy_t)-1; /* "FSM_AGGR" specified via -S FSM_AGGR */ - pack_options.fs_threshold = -1; /* "0" specified via -T 0 */ - if(h5repack(fname, FSPACE_OUT, &pack_options) < 0) + pack_options.fs_strategy = (H5F_fspace_strategy_t)-1; /* "FSM_AGGR" specified via -S FSM_AGGR */ + pack_options.fs_threshold = -1; /* "0" specified via -T 0 */ + if (h5repack(fname, FSPACE_OUT, &pack_options) < 0) GOERROR; - if(h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) + if (h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); - TESTING(" files with file space info setting-- options -S and -P are set & -L"); - ++j; /* #3 */ + ++j; /* #3 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); fname = H5REPACK_FSPACE_FNAMES[j]; - if(h5repack_init(&pack_options, 0, TRUE) < 0) + if (h5repack_init(&pack_options, 0, TRUE) < 0) GOERROR; pack_options.fs_strategy = H5F_FSPACE_STRATEGY_PAGE; /* "PAGE" specified via -S */ - pack_options.fs_persist = TRUE; - if(h5repack(fname, FSPACE_OUT, &pack_options) < 0) + pack_options.fs_persist = TRUE; + if (h5repack(fname, FSPACE_OUT, &pack_options) < 0) GOERROR; - if(h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) + if (h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); TESTING(" files with file space info setting-- options -P and -T are set & -L"); - ++j; /* #4 */ + ++j; /* #4 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); fname = H5REPACK_FSPACE_FNAMES[j]; - if(h5repack_init(&pack_options, 0, TRUE) < 0) + if (h5repack_init(&pack_options, 0, TRUE) < 0) GOERROR; - pack_options.fs_persist = -1; /* "FALSE" is set via -P 0 */ + pack_options.fs_persist = -1; /* "FALSE" is set via -P 0 */ pack_options.fs_threshold = 2; - if(h5repack(fname, FSPACE_OUT, &pack_options) < 0) + if (h5repack(fname, FSPACE_OUT, &pack_options) < 0) GOERROR; - if(h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) + if (h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); TESTING(" files with file space info setting-- options -S and -G are set & -L"); - ++j; /* #5 */ + ++j; /* #5 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); fname = H5REPACK_FSPACE_FNAMES[j]; - if(h5repack_init(&pack_options, 0, TRUE) < 0) + if (h5repack_init(&pack_options, 0, TRUE) < 0) GOERROR; pack_options.fs_strategy = H5F_FSPACE_STRATEGY_PAGE; pack_options.fs_pagesize = 8192; - if(h5repack(fname, FSPACE_OUT, &pack_options) < 0) + if (h5repack(fname, FSPACE_OUT, &pack_options) < 0) GOERROR; - if(h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) + if (h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); TESTING(" files with file space info setting-- options -S, -P, -T, -G are set"); - ++j; /* #6 */ + ++j; /* #6 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); fname = H5REPACK_FSPACE_FNAMES[j]; - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; - pack_options.fs_strategy = H5F_FSPACE_STRATEGY_NONE; - pack_options.fs_persist = -1; /* "FALSE" is set via -P 0 */ + pack_options.fs_strategy = H5F_FSPACE_STRATEGY_NONE; + pack_options.fs_persist = -1; /* "FALSE" is set via -P 0 */ pack_options.fs_threshold = 1; - pack_options.fs_pagesize = 8192; - if(h5repack(fname, FSPACE_OUT, &pack_options) < 0) + pack_options.fs_pagesize = 8192; + if (h5repack(fname, FSPACE_OUT, &pack_options) < 0) GOERROR; - if(h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) + if (h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); TESTING(" files with file space info setting-- options -S, -T, -G are set & -L"); - ++j; /* #7 */ + ++j; /* #7 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); fname = H5REPACK_FSPACE_FNAMES[j]; - if(h5repack_init(&pack_options, 0, TRUE) < 0) + if (h5repack_init(&pack_options, 0, TRUE) < 0) GOERROR; - pack_options.fs_strategy = H5F_FSPACE_STRATEGY_AGGR; + pack_options.fs_strategy = H5F_FSPACE_STRATEGY_AGGR; pack_options.fs_threshold = 1; - pack_options.fs_pagesize = 4096; - if(h5repack(fname, FSPACE_OUT, &pack_options) < 0) + pack_options.fs_pagesize = 4096; + if (h5repack(fname, FSPACE_OUT, &pack_options) < 0) GOERROR; - if(h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(fname, FSPACE_OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) + if (h5repack_verify(fname, FSPACE_OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); @@ -388,7 +385,6 @@ int main (void) GOERROR; PASSED(); - /*------------------------------------------------------------------------- * file with all kinds of dataset datatypes *------------------------------------------------------------------------- @@ -408,7 +404,6 @@ int main (void) GOERROR; PASSED(); - /*------------------------------------------------------------------------- * file with attributes *------------------------------------------------------------------------- @@ -565,7 +560,7 @@ int main (void) TESTING(" adding szip filter"); -#if defined (H5_HAVE_FILTER_SZIP) +#if defined(H5_HAVE_FILTER_SZIP) if (h5tools_can_encode(H5Z_FILTER_SZIP) > 0) szip_can_encode = 1; @@ -575,7 +570,7 @@ int main (void) */ if (szip_can_encode) { - if (h5repack_init (&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; if (h5repack_addfilter("dset2:SZIP=8,EC", &pack_options) < 0) GOERROR; @@ -587,7 +582,7 @@ int main (void) GOERROR; if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options) <= 0) GOERROR; - if (h5repack_end (&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); @@ -599,14 +594,13 @@ int main (void) SKIPPED(); #endif - /*------------------------------------------------------------------------- * test all objects option *------------------------------------------------------------------------- */ TESTING(" adding szip filter to all"); -#if defined (H5_HAVE_FILTER_SZIP) +#if defined(H5_HAVE_FILTER_SZIP) if (szip_can_encode) { if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; @@ -630,7 +624,6 @@ int main (void) SKIPPED(); #endif - TESTING(" addding shuffle filter"); /*------------------------------------------------------------------------- @@ -679,7 +672,6 @@ int main (void) PASSED(); - TESTING(" adding checksum filter"); /*------------------------------------------------------------------------- @@ -726,7 +718,6 @@ int main (void) PASSED(); - TESTING(" filter queue fletcher, shuffle, deflate, szip"); /*------------------------------------------------------------------------- @@ -743,7 +734,7 @@ int main (void) if (h5repack_addfilter("dset1:SHUF", &pack_options) < 0) GOERROR; -#if defined (H5_HAVE_FILTER_SZIP) +#if defined(H5_HAVE_FILTER_SZIP) if (szip_can_encode) { if (h5repack_addfilter("dset1:SZIP=8,NN", &pack_options) < 0) GOERROR; @@ -766,7 +757,6 @@ int main (void) PASSED(); - TESTING(" adding layout chunked (old format)"); /*------------------------------------------------------------------------- @@ -782,7 +772,7 @@ int main (void) GOERROR; if (h5diff(FNAME4, FNAME4OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options ) <= 0) + if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options) <= 0) GOERROR; if (h5repack_end(&pack_options) < 0) GOERROR; @@ -804,7 +794,7 @@ int main (void) GOERROR; if (h5diff(FNAME4, FNAME4OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options ) <= 0) + if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options) <= 0) GOERROR; if (h5repack_end(&pack_options) < 0) GOERROR; @@ -933,7 +923,6 @@ int main (void) PASSED(); - TESTING(" layout compact to contiguous conversion"); /*------------------------------------------------------------------------- @@ -986,9 +975,9 @@ int main (void) GOERROR; if (h5repack(FNAME4, FNAME4OUT, &pack_options) < 0) GOERROR; - if (h5diff(FNAME4, FNAME4OUT, NULL, NULL, &diff_options) >0) + if (h5diff(FNAME4, FNAME4OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options)<= 0) + if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options) <= 0) GOERROR; if (h5repack_end(&pack_options) < 0) GOERROR; @@ -1110,7 +1099,6 @@ int main (void) GOERROR; PASSED(); - /*------------------------------------------------------------------------- * the following tests assume the input files have filters * FNAME7 @@ -1122,7 +1110,7 @@ int main (void) */ TESTING(" copy of szip filter"); -#if defined (H5_HAVE_FILTER_SZIP) +#if defined(H5_HAVE_FILTER_SZIP) if (szip_can_encode) { if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; @@ -1148,7 +1136,7 @@ int main (void) TESTING(" removing szip filter"); -#if defined (H5_HAVE_FILTER_SZIP) +#if defined(H5_HAVE_FILTER_SZIP) if (szip_can_encode) { if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; @@ -1172,7 +1160,6 @@ int main (void) SKIPPED(); #endif - TESTING(" copy of deflate filter"); #ifdef H5_HAVE_FILTER_DEFLATE @@ -1192,7 +1179,6 @@ int main (void) SKIPPED(); #endif - TESTING(" removing deflate filter"); #ifdef H5_HAVE_FILTER_DEFLATE @@ -1214,8 +1200,6 @@ int main (void) SKIPPED(); #endif - - TESTING(" copy of shuffle filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1231,7 +1215,6 @@ int main (void) PASSED(); - TESTING(" removing shuffle filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1249,7 +1232,6 @@ int main (void) PASSED(); - TESTING(" copy of fletcher filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1265,7 +1247,6 @@ int main (void) PASSED(); - TESTING(" removing fletcher filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1283,7 +1264,6 @@ int main (void) PASSED(); - TESTING(" copy of nbit filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1299,7 +1279,6 @@ int main (void) PASSED(); - TESTING(" removing nbit filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1317,7 +1296,6 @@ int main (void) PASSED(); - TESTING(" adding nbit filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1328,14 +1306,13 @@ int main (void) GOERROR; if (h5diff(FNAME12, FNAME12OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if (h5repack_verify(FNAME12, FNAME12OUT, &pack_options)<= 0) + if (h5repack_verify(FNAME12, FNAME12OUT, &pack_options) <= 0) GOERROR; if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); - TESTING(" copy of scaleoffset filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1351,7 +1328,6 @@ int main (void) PASSED(); - TESTING(" removing scaleoffset filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1369,7 +1345,6 @@ int main (void) PASSED(); - TESTING(" adding scaleoffset filter"); if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1387,7 +1362,6 @@ int main (void) PASSED(); - /*------------------------------------------------------------------------- * file with all filters * dset_all @@ -1399,7 +1373,7 @@ int main (void) */ TESTING(" filter conversion from deflate to szip"); -#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_SZIP) && defined(H5_HAVE_FILTER_DEFLATE) if (szip_can_encode) { if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1426,7 +1400,7 @@ int main (void) TESTING(" filter conversion from szip to deflate"); -#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_SZIP) && defined(H5_HAVE_FILTER_DEFLATE) if (szip_can_encode) { if (h5repack_init(&pack_options, 0, FALSE) < 0) @@ -1451,7 +1425,6 @@ int main (void) SKIPPED(); #endif - /*------------------------------------------------------------------------- * test the NONE global option *------------------------------------------------------------------------- @@ -1459,7 +1432,7 @@ int main (void) TESTING(" removing all filters"); -#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_SZIP) && defined(H5_HAVE_FILTER_DEFLATE) if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; @@ -1519,17 +1492,17 @@ int main (void) *------------------------------------------------------------------------- */ TESTING(" file with userblock"); - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; - if(h5repack(FNAME16, FNAME16OUT, &pack_options) < 0) + if (h5repack(FNAME16, FNAME16OUT, &pack_options) < 0) GOERROR; - if(h5diff(FNAME16, FNAME16OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(FNAME16, FNAME16OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(FNAME16, FNAME16OUT, &pack_options) <= 0) + if (h5repack_verify(FNAME16, FNAME16OUT, &pack_options) <= 0) GOERROR; - if(verify_userblock(FNAME16OUT) < 0) + if (verify_userblock(FNAME16OUT) < 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); @@ -1540,7 +1513,7 @@ int main (void) TESTING(" latest file format options"); if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; - pack_options.latest = 1; + pack_options.latest = 1; pack_options.grp_compact = 10; pack_options.grp_indexed = 5; pack_options.msg_size[0] = 10; @@ -1552,13 +1525,12 @@ int main (void) GOERROR; if (h5diff(FNAME1, FNAME1OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if (h5repack_verify(FNAME1, FNAME1OUT, &pack_options)<=0) + if (h5repack_verify(FNAME1, FNAME1OUT, &pack_options) <= 0) GOERROR; if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); - /*------------------------------------------------------------------------- * test several global filters *------------------------------------------------------------------------- @@ -1566,7 +1538,7 @@ int main (void) TESTING(" several global filters"); -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; @@ -1588,7 +1560,6 @@ int main (void) SKIPPED(); #endif - /*------------------------------------------------------------------------- * test file with userblock *------------------------------------------------------------------------- @@ -1597,31 +1568,29 @@ int main (void) #ifdef H5_HAVE_FILTER_DEFLATE - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; /* add the options for a user block size and user block filename */ - pack_options.ublock_size = USERBLOCK_SIZE; + pack_options.ublock_size = USERBLOCK_SIZE; pack_options.ublock_filename = FNAME_UB; - if(h5repack(FNAME8, FNAME8OUT, &pack_options) < 0) + if (h5repack(FNAME8, FNAME8OUT, &pack_options) < 0) GOERROR; - if(h5diff(FNAME8, FNAME8OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(FNAME8, FNAME8OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(FNAME8, FNAME8OUT, &pack_options) <= 0) + if (h5repack_verify(FNAME8, FNAME8OUT, &pack_options) <= 0) GOERROR; - if(verify_userblock(FNAME8OUT) < 0) + if (verify_userblock(FNAME8OUT) < 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; - PASSED(); #else SKIPPED(); #endif - /*------------------------------------------------------------------------- * test file with aligment *------------------------------------------------------------------------- @@ -1630,18 +1599,18 @@ int main (void) #ifdef H5_HAVE_FILTER_DEFLATE - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; /* add the options for aligment */ pack_options.alignment = 1; pack_options.threshold = 1; - if(h5repack(FNAME8, FNAME8OUT, &pack_options) < 0) + if (h5repack(FNAME8, FNAME8OUT, &pack_options) < 0) GOERROR; - if(h5diff(FNAME8, FNAME8OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(FNAME8, FNAME8OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(FNAME8, FNAME8OUT, &pack_options) <= 0) + if (h5repack_verify(FNAME8, FNAME8OUT, &pack_options) <= 0) GOERROR; /* verify aligment */ @@ -1655,7 +1624,7 @@ int main (void) GOERROR; if ((fapl = H5Fget_access_plist(fid)) < 0) GOERROR; - if (H5Pget_alignment(fapl, &threshold, &alignment) < 0) + if (H5Pget_alignment(fapl, &threshold, &alignment) < 0) GOERROR; if (threshold != 1) GOERROR; @@ -1665,14 +1634,11 @@ int main (void) GOERROR; if (H5Fclose(fid) < 0) GOERROR; - } - - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; - PASSED(); #else SKIPPED(); @@ -1684,19 +1650,18 @@ int main (void) */ TESTING(" file with committed datatypes"); - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; - if(h5repack(FNAME17, FNAME17OUT, &pack_options) < 0) + if (h5repack(FNAME17, FNAME17OUT, &pack_options) < 0) GOERROR; - if(h5diff(FNAME17, FNAME17OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(FNAME17, FNAME17OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(FNAME17, FNAME17OUT, &pack_options) <= 0) + if (h5repack_verify(FNAME17, FNAME17OUT, &pack_options) <= 0) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; - PASSED(); /*------------------------------------------------------------------------- @@ -1711,48 +1676,46 @@ int main (void) /* First run without metadata option. No need to verify the correctness */ /* since this has been verified by earlier tests. Just record the file */ /* size of the output file. */ - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; - if(h5repack(FNAME4, FNAME4OUT, &pack_options) < 0) + if (h5repack(FNAME4, FNAME4OUT, &pack_options) < 0) GOERROR; - if(HDstat(FNAME4OUT, &file_stat) < 0) + if (HDstat(FNAME4OUT, &file_stat) < 0) GOERROR; fsize1 = file_stat.st_size; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; /* run it again with metadata option */ - if(h5repack_init(&pack_options, 0, FALSE) < 0) + if (h5repack_init(&pack_options, 0, FALSE) < 0) GOERROR; pack_options.meta_block_size = 8192; - if(h5repack(FNAME4, FNAME4OUT, &pack_options) < 0) + if (h5repack(FNAME4, FNAME4OUT, &pack_options) < 0) GOERROR; - if(h5diff(FNAME4, FNAME4OUT, NULL, NULL, &diff_options) > 0) + if (h5diff(FNAME4, FNAME4OUT, NULL, NULL, &diff_options) > 0) GOERROR; - if(h5repack_verify(FNAME4, FNAME4OUT, &pack_options) <= 0) + if (h5repack_verify(FNAME4, FNAME4OUT, &pack_options) <= 0) GOERROR; /* record the file size of the output file */ - if(HDstat(FNAME4OUT, &file_stat) < 0) + if (HDstat(FNAME4OUT, &file_stat) < 0) GOERROR; fsize2 = file_stat.st_size; /* verify second file size is larger than the first one */ - if(fsize2 <= fsize1) + if (fsize2 <= fsize1) GOERROR; - if(h5repack_end(&pack_options) < 0) + if (h5repack_end(&pack_options) < 0) GOERROR; PASSED(); - /*------------------------------------------------------------------------- * clean temporary test files *------------------------------------------------------------------------- */ { - hid_t fapl; + hid_t fapl; fapl = h5_fileaccess(); h5_clean_files(H5REPACK_FILENAMES, fapl); - } puts("All h5repack tests passed."); @@ -1764,105 +1727,103 @@ int main (void) error: puts("***** H5REPACK TESTS FAILED *****"); return 1; - } - /*------------------------------------------------------------------------- -* Function: make_testfiles -* -* Purpose: make a test file with all types of HDF5 objects, -* datatypes and filters -* -*------------------------------------------------------------------------- -*/ -static -int make_testfiles(void) + * Function: make_testfiles + * + * Purpose: make a test file with all types of HDF5 objects, + * datatypes and filters + * + *------------------------------------------------------------------------- + */ +static int +make_testfiles(void) { - hid_t fid = H5I_INVALID_HID; - hid_t fcpl = H5I_INVALID_HID; /* File creation property list */ - hid_t fapl = H5I_INVALID_HID; /* File access property list */ - unsigned j; /* Local index variable */ + hid_t fid = H5I_INVALID_HID; + hid_t fcpl = H5I_INVALID_HID; /* File creation property list */ + hid_t fapl = H5I_INVALID_HID; /* File access property list */ + unsigned j; /* Local index variable */ /*------------------------------------------------------------------------- * create a file for general copy test *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME0, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME0, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_fill(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create another file for general copy test (all datatypes) *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_all_objects(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file for attributes copy test *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_attributes(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file for hard links test *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME3, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME3, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_hlinks(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file for layouts test *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME4, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME4, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_layout(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file for layout conversion test *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME18, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME18, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; - if(make_layout2(fid) < 0) + if (make_layout2(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * for test layout conversions form chunk with unlimited max dims *------------------------------------------------------------------------- */ - if((fid = H5Fcreate("h5repack_layout3.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate("h5repack_layout3.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; - if(make_layout3(fid) < 0) + if (make_layout3(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- @@ -1872,131 +1833,130 @@ int make_testfiles(void) if (make_early() < 0) goto out; - /*------------------------------------------------------------------------- - * create a file with the SZIP filter - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a file with the SZIP filter + *------------------------------------------------------------------------- + */ #ifdef H5_HAVE_FILTER_SZIP - if((fid = H5Fcreate(FNAME7, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME7, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_szip(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; #endif /* H5_HAVE_FILTER_SZIP */ - /*------------------------------------------------------------------------- * create a file with the deflate filter *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME8, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME8, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_deflate(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file with the shuffle filter *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME9, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME9, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_shuffle(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file with the fletcher32 filter *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME10, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME10, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_fletcher32(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file with all the filters *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME11, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME11, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_all_filters(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file with the nbit filter *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME12, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME12, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_nbit(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file with the scaleoffset filter *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME13, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME13, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_scaleoffset(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a big dataset *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME14, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME14, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_big(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file with external dataset *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME15, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME15, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_external(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file with userblock *------------------------------------------------------------------------- */ - if(make_userblock() < 0) + if (make_userblock() < 0) goto out; /*------------------------------------------------------------------------- * create a userblock file *------------------------------------------------------------------------- */ - if(make_userblock_file() < 0) + if (make_userblock_file() < 0) goto out; /*------------------------------------------------------------------------- * create a file with named datatypes *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME17, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME17, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_named_dtype(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- @@ -2005,23 +1965,23 @@ int make_testfiles(void) * add attribute with obj and region reference type (bug1726) *------------------------------------------------------------------------- */ - if((fid = H5Fcreate(FNAME_REF, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME_REF, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; /* create reference type datasets */ if (make_references(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- * create a file with obj and region references in attribute of compound and * vlen datatype *-------------------------------------------------------------------------*/ - if((fid = H5Fcreate(FNAME_ATTR_REF, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME_ATTR_REF, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; if (make_complex_attr_references(fid) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /*------------------------------------------------------------------------- @@ -2029,11 +1989,11 @@ int make_testfiles(void) *------------------------------------------------------------------------- */ /* Create file access property list */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) return -1; /* Set to use latest library format */ - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + if (H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) return -1; /* @@ -2042,9 +2002,9 @@ int make_testfiles(void) * default: inpage=4096 */ j = 0; - if((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[j], H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + if ((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[j], H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) return -1; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /* @@ -2053,9 +2013,9 @@ int make_testfiles(void) * default: inpage=4096 */ HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); - if((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; /* @@ -2066,21 +2026,20 @@ int make_testfiles(void) * latest format */ /* Create file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) return -1; - if(H5Pset_file_space_page_size(fcpl, (hsize_t)512) < 0) + if (H5Pset_file_space_page_size(fcpl, (hsize_t)512) < 0) return -1; - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, TRUE, (hsize_t)1) < 0) + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, TRUE, (hsize_t)1) < 0) return -1; HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); - if((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, fapl)) < 0) + if ((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, fapl)) < 0) return -1; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) return -1; - /* * #3 -- h5repack_fsm_aggr_persist.h5 * Setting: @@ -2088,19 +2047,18 @@ int make_testfiles(void) * default: inpage=4096 */ /* Create file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) return -1; - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1) < 0) + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1) < 0) return -1; HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); - if((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) return -1; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) return -1; - /* * #4 -- h5repack_page_threshold.h5 * Setting: @@ -2110,18 +2068,18 @@ int make_testfiles(void) */ /* Create file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) return -1; - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, (hsize_t)3) < 0) + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, (hsize_t)3) < 0) return -1; - if(H5Pset_file_space_page_size(fcpl, (hsize_t)8192) < 0) + if (H5Pset_file_space_page_size(fcpl, (hsize_t)8192) < 0) return -1; HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); - if((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, fapl)) < 0) + if ((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, fapl)) < 0) return -1; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) return -1; /* @@ -2132,18 +2090,18 @@ int make_testfiles(void) */ /* Create file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) return -1; - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, FALSE, (hsize_t)3) < 0) + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, FALSE, (hsize_t)3) < 0) return -1; - if(H5Pset_file_space_page_size(fcpl, (hsize_t)FS_PAGESIZE_DEF) < 0) + if (H5Pset_file_space_page_size(fcpl, (hsize_t)FS_PAGESIZE_DEF) < 0) return -1; HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); - if((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) return -1; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) return -1; /* @@ -2154,16 +2112,16 @@ int make_testfiles(void) */ /* Create file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) return -1; - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_AGGR, FALSE, (hsize_t)1) < 0) + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_AGGR, FALSE, (hsize_t)1) < 0) return -1; HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); - if((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, fapl)) < 0) + if ((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, fapl)) < 0) return -1; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) return -1; /* @@ -2174,21 +2132,21 @@ int make_testfiles(void) */ /* Create file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) return -1; - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_NONE, FALSE, (hsize_t)1) < 0) + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_NONE, FALSE, (hsize_t)1) < 0) return -1; - if(H5Pset_file_space_page_size(fcpl, (hsize_t)8192) < 0) + if (H5Pset_file_space_page_size(fcpl, (hsize_t)8192) < 0) return -1; HDassert(j < NELMTS(H5REPACK_FSPACE_FNAMES)); - if((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(H5REPACK_FSPACE_FNAMES[++j], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) return -1; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) return -1; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) return -1; - if(H5Pclose(fapl) < 0) + if (H5Pclose(fapl) < 0) return -1; return 0; @@ -2198,47 +2156,44 @@ out: return -1; } - - /*------------------------------------------------------------------------- -* Function: make_all_objects -* -* Purpose: make a test file with all types of HDF5 objects -* -*------------------------------------------------------------------------- -*/ -static -int make_all_objects(hid_t loc_id) + * Function: make_all_objects + * + * Purpose: make a test file with all types of HDF5 objects + * + *------------------------------------------------------------------------- + */ +static int +make_all_objects(hid_t loc_id) { - hid_t did = H5I_INVALID_HID; - hid_t gid = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; - hid_t rid = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hid_t gcplid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t gid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; + hid_t rid = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t gcplid = H5I_INVALID_HID; hsize_t dims[1] = {2}; /* compound datatype */ - typedef struct s_t - { - int a; - float b; + typedef struct s_t { + int a; + float b; } s_t; /*------------------------------------------------------------------------- - * H5G_DATASET - *------------------------------------------------------------------------- - */ + * H5G_DATASET + *------------------------------------------------------------------------- + */ if ((sid = H5Screate_simple(1, dims, NULL)) < 0) goto out; - if ((did = H5Dcreate2(loc_id, "dset_referenced", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(loc_id, "dset_referenced", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto out; - /*------------------------------------------------------------------------- - * H5G_GROUP - *------------------------------------------------------------------------- - */ - if ((gid = H5Gcreate2(loc_id, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + * H5G_GROUP + *------------------------------------------------------------------------- + */ + if ((gid = H5Gcreate2(loc_id, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; if (H5Gclose(gid) < 0) goto out; @@ -2254,9 +2209,9 @@ int make_all_objects(hid_t loc_id) goto out; /*------------------------------------------------------------------------- - * H5G_TYPE - *------------------------------------------------------------------------- - */ + * H5G_TYPE + *------------------------------------------------------------------------- + */ /* create a compound datatype */ if ((tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) < 0) @@ -2269,27 +2224,27 @@ int make_all_objects(hid_t loc_id) goto out; /*------------------------------------------------------------------------- - * H5G_LINK - *------------------------------------------------------------------------- - */ + * H5G_LINK + *------------------------------------------------------------------------- + */ if (H5Lcreate_soft("dset", loc_id, "link", H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; /*------------------------------------------------------------------------- - * H5G_UDLINK - *------------------------------------------------------------------------- - */ + * H5G_UDLINK + *------------------------------------------------------------------------- + */ /* Create an external link. Other UD links are not supported by h5repack */ if (H5Lcreate_external("file", "path", loc_id, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; /*------------------------------------------------------------------------- - * write a series of datasetes at root - *------------------------------------------------------------------------- - */ + * write a series of datasetes at root + *------------------------------------------------------------------------- + */ - if ((rid = H5Gopen2(loc_id, "/", H5P_DEFAULT)) < 0) + if ((rid = H5Gopen2(loc_id, "/", H5P_DEFAULT)) < 0) goto out; if (write_dset_in(rid, "dset_referenced", loc_id, 0) < 0) goto out; @@ -2317,58 +2272,58 @@ out: H5Sclose(sid); H5Tclose(tid); H5Pclose(gcplid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } - /*------------------------------------------------------------------------- -* Function: make_attributes -* -* Purpose: make a test file with all types of attributes -* -*------------------------------------------------------------------------- -*/ -static -int make_attributes(hid_t loc_id) + * Function: make_attributes + * + * Purpose: make a test file with all types of attributes + * + *------------------------------------------------------------------------- + */ +static int +make_attributes(hid_t loc_id) { - hid_t did = H5I_INVALID_HID; - hid_t gid = H5I_INVALID_HID; - hid_t rid = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t gid = H5I_INVALID_HID; + hid_t rid = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; hsize_t dims[1] = {2}; /*------------------------------------------------------------------------- - * H5G_DATASET - *------------------------------------------------------------------------- - */ + * H5G_DATASET + *------------------------------------------------------------------------- + */ if ((sid = H5Screate_simple(1, dims, NULL)) < 0) goto out; - if ((did = H5Dcreate2(loc_id, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(loc_id, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; /*------------------------------------------------------------------------- - * H5G_GROUP - *------------------------------------------------------------------------- - */ - if ((gid = H5Gcreate2(loc_id, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + * H5G_GROUP + *------------------------------------------------------------------------- + */ + if ((gid = H5Gcreate2(loc_id, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if ((rid = H5Gopen2(loc_id, "/", H5P_DEFAULT)) < 0) + if ((rid = H5Gopen2(loc_id, "/", H5P_DEFAULT)) < 0) goto out; /*------------------------------------------------------------------------- - * write a series of attributes on the dataset, group, and root group - *------------------------------------------------------------------------- - */ + * write a series of attributes on the dataset, group, and root group + *------------------------------------------------------------------------- + */ - if ( write_attr_in(did, "dset", loc_id, 0) < 0) + if (write_attr_in(did, "dset", loc_id, 0) < 0) goto out; if (write_attr_in(gid, "dset", loc_id, 0) < 0) goto out; if (write_attr_in(rid, "dset", loc_id, 0) < 0) goto out; - /* close */ + /* close */ if (H5Dclose(did) < 0) goto out; if (H5Gclose(gid) < 0) @@ -2387,59 +2342,58 @@ out: H5Gclose(gid); H5Gclose(rid); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; - } /*------------------------------------------------------------------------- -* Function: make_hlinks -* -* Purpose: make a test file with hard links -* -*------------------------------------------------------------------------- -*/ -static -int make_hlinks(hid_t loc_id) + * Function: make_hlinks + * + * Purpose: make a test file with hard links + * + *------------------------------------------------------------------------- + */ +static int +make_hlinks(hid_t loc_id) { - hid_t g1id =- 1; - hid_t g2id = H5I_INVALID_HID; - hid_t g3id = H5I_INVALID_HID; - hsize_t dims[2] = {3,2}; - int buf[3][2] = {{1,1}, {1,2}, {2,2}}; + hid_t g1id = -1; + hid_t g2id = H5I_INVALID_HID; + hid_t g3id = H5I_INVALID_HID; + hsize_t dims[2] = {3, 2}; + int buf[3][2] = {{1, 1}, {1, 2}, {2, 2}}; /*------------------------------------------------------------------------- - * create a dataset and some hard links to it - *------------------------------------------------------------------------- - */ + * create a dataset and some hard links to it + *------------------------------------------------------------------------- + */ - if(write_dset(loc_id, 2, dims, "dset", H5T_NATIVE_INT, buf) < 0) + if (write_dset(loc_id, 2, dims, "dset", H5T_NATIVE_INT, buf) < 0) return -1; - if(H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link1 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link1 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0) return -1; - if(H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link2 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link2 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0) return -1; - if(H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link3 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Lcreate_hard(loc_id, "dset", H5L_SAME_LOC, "link3 to dset", H5P_DEFAULT, H5P_DEFAULT) < 0) return -1; /*------------------------------------------------------------------------- - * create a group and some hard links to it - *------------------------------------------------------------------------- - */ + * create a group and some hard links to it + *------------------------------------------------------------------------- + */ - if((g1id = H5Gcreate2(loc_id, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((g1id = H5Gcreate2(loc_id, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if((g2id = H5Gcreate2(g1id, "g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((g2id = H5Gcreate2(g1id, "g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if((g3id = H5Gcreate2(g2id, "g3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((g3id = H5Gcreate2(g2id, "g3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Lcreate_hard(loc_id, "g1", g2id, "link1 to g1", H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Lcreate_hard(loc_id, "g1", g2id, "link1 to g1", H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; - if(H5Lcreate_hard(g1id, "g2", g3id, "link1 to g2", H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Lcreate_hard(g1id, "g2", g3id, "link1 to g2", H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; - /* close */ if (H5Gclose(g1id) < 0) goto out; @@ -2456,31 +2410,30 @@ out: H5Gclose(g1id); H5Gclose(g2id); H5Gclose(g3id); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; - } - /*------------------------------------------------------------------------- -* Function: make_szip -* -* Purpose: make a dataset with the SZIP filter -* -*------------------------------------------------------------------------- -*/ + * Function: make_szip + * + * Purpose: make a dataset with the SZIP filter + * + *------------------------------------------------------------------------- + */ #ifdef H5_HAVE_FILTER_SZIP -static -int make_szip(hid_t loc_id) +static int +make_szip(hid_t loc_id) { - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace ID */ - unsigned szip_options_mask = H5_SZIP_ALLOW_K13_OPTION_MASK | H5_SZIP_NN_OPTION_MASK; + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace ID */ + unsigned szip_options_mask = H5_SZIP_ALLOW_K13_OPTION_MASK | H5_SZIP_NN_OPTION_MASK; unsigned szip_pixels_per_block = 8; - hsize_t dims[RANK] = {DIM1, DIM2}; - hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; - int **buf = NULL; - int szip_can_encode = 0; + hsize_t dims[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int ** buf = NULL; + int szip_can_encode = 0; /* Create and fill array */ H5TEST_ALLOCATE_2D_ARRAY(buf, int, DIM1, DIM2); @@ -2489,26 +2442,26 @@ int make_szip(hid_t loc_id) H5TEST_FILL_2D_ARRAY(buf, int, DIM1, DIM2); /* create a space */ - if((sid = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((sid = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* create a dcpl */ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /* set up chunk */ - if(H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; /*------------------------------------------------------------------------- - * SZIP - *------------------------------------------------------------------------- - */ + * SZIP + *------------------------------------------------------------------------- + */ /* Make sure encoding is enabled */ if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) szip_can_encode = 1; if (szip_can_encode) { /* set szip data */ - if(H5Pset_szip (dcpl, szip_options_mask, szip_pixels_per_block) < 0) + if (H5Pset_szip(dcpl, szip_options_mask, szip_pixels_per_block) < 0) goto error; if (make_dset(loc_id, "dset_szip", sid, dcpl, buf[0]) < 0) goto error; @@ -2516,9 +2469,9 @@ int make_szip(hid_t loc_id) else /* WARNING? SZIP is decoder only, can't generate test files */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; HDfree(buf); @@ -2526,10 +2479,12 @@ int make_szip(hid_t loc_id) return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); @@ -2537,23 +2492,21 @@ error: } #endif /* H5_HAVE_FILTER_SZIP */ - - /*------------------------------------------------------------------------- -* Function: make_deflate -* -* Purpose: make a dataset with the deflate filter -* -*------------------------------------------------------------------------- -*/ -static -int make_deflate(hid_t loc_id) + * Function: make_deflate + * + * Purpose: make a dataset with the deflate filter + * + *------------------------------------------------------------------------- + */ +static int +make_deflate(hid_t loc_id) { - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace ID */ - hsize_t dims[RANK] = {DIM1,DIM2}; - hsize_t chunk_dims[RANK] = {CDIM1,CDIM2}; - int **buf = NULL; + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace ID */ + hsize_t dims[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int ** buf = NULL; hobj_ref_t bufref[1]; /* reference */ hsize_t dims1r[1] = {1}; @@ -2564,22 +2517,22 @@ int make_deflate(hid_t loc_id) H5TEST_FILL_2D_ARRAY(buf, int, DIM1, DIM2); /* create a space */ - if((sid = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((sid = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* create a dcpl */ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /* set up chunk */ - if(H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; - /*------------------------------------------------------------------------- - * GZIP - *------------------------------------------------------------------------- - */ -#if defined (H5_HAVE_FILTER_DEFLATE) + /*------------------------------------------------------------------------- + * GZIP + *------------------------------------------------------------------------- + */ +#if defined(H5_HAVE_FILTER_DEFLATE) /* set deflate data */ - if(H5Pset_deflate(dcpl, 9) < 0) + if (H5Pset_deflate(dcpl, 9) < 0) goto error; if (make_dset(loc_id, "dset_deflate", sid, dcpl, buf[0]) < 0) goto error; @@ -2592,14 +2545,13 @@ int make_deflate(hid_t loc_id) goto error; #endif - /*------------------------------------------------------------------------- - * close space and dcpl - *------------------------------------------------------------------------- - */ - if(H5Sclose(sid) < 0) + * close space and dcpl + *------------------------------------------------------------------------- + */ + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; HDfree(buf); @@ -2607,32 +2559,33 @@ int make_deflate(hid_t loc_id) return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); return -1; } - /*------------------------------------------------------------------------- -* Function: make_shuffle -* -* Purpose: make a dataset with the shuffle filter -* -*------------------------------------------------------------------------- -*/ -static -int make_shuffle(hid_t loc_id) + * Function: make_shuffle + * + * Purpose: make a dataset with the shuffle filter + * + *------------------------------------------------------------------------- + */ +static int +make_shuffle(hid_t loc_id) { - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace ID */ - hsize_t dims[RANK]={DIM1,DIM2}; - hsize_t chunk_dims[RANK]={CDIM1,CDIM2}; - int **buf = NULL; + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace ID */ + hsize_t dims[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int ** buf = NULL; /* Create and fill array */ H5TEST_ALLOCATE_2D_ARRAY(buf, int, DIM1, DIM2); @@ -2641,19 +2594,19 @@ int make_shuffle(hid_t loc_id) H5TEST_FILL_2D_ARRAY(buf, int, DIM1, DIM2); /* create a space */ - if((sid = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((sid = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* create a dcpl */ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /* set up chunk */ - if(H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; /*------------------------------------------------------------------------- - * shuffle - *------------------------------------------------------------------------- - */ + * shuffle + *------------------------------------------------------------------------- + */ /* set the shuffle filter */ if (H5Pset_shuffle(dcpl) < 0) @@ -2661,14 +2614,13 @@ int make_shuffle(hid_t loc_id) if (make_dset(loc_id, "dset_shuffle", sid, dcpl, buf[0]) < 0) goto error; - /*------------------------------------------------------------------------- - * close space and dcpl - *------------------------------------------------------------------------- - */ - if(H5Sclose(sid) < 0) + * close space and dcpl + *------------------------------------------------------------------------- + */ + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; HDfree(buf); @@ -2676,10 +2628,12 @@ int make_shuffle(hid_t loc_id) return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); @@ -2687,20 +2641,20 @@ error: } /*------------------------------------------------------------------------- -* Function: make_fletcher32 -* -* Purpose: make a dataset with the fletcher32 filter -* -*------------------------------------------------------------------------- -*/ -static -int make_fletcher32(hid_t loc_id) + * Function: make_fletcher32 + * + * Purpose: make a dataset with the fletcher32 filter + * + *------------------------------------------------------------------------- + */ +static int +make_fletcher32(hid_t loc_id) { - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace ID */ - hsize_t dims[RANK]={DIM1,DIM2}; - hsize_t chunk_dims[RANK]={CDIM1,CDIM2}; - int **buf = NULL; + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace ID */ + hsize_t dims[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int ** buf = NULL; /* Create and fill array */ H5TEST_ALLOCATE_2D_ARRAY(buf, int, DIM1, DIM2); @@ -2709,23 +2663,22 @@ int make_fletcher32(hid_t loc_id) H5TEST_FILL_2D_ARRAY(buf, int, DIM1, DIM2); /* create a space */ - if((sid = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((sid = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* create a dataset creation property list; the same DCPL is used for all dsets */ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /* set up chunk */ - if(H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; - /*------------------------------------------------------------------------- - * fletcher32 - *------------------------------------------------------------------------- - */ + * fletcher32 + *------------------------------------------------------------------------- + */ /* remove the filters from the dcpl */ - if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) + if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; /* set the checksum filter */ if (H5Pset_fletcher32(dcpl) < 0) @@ -2734,12 +2687,12 @@ int make_fletcher32(hid_t loc_id) goto error; /*------------------------------------------------------------------------- - * close space and dcpl - *------------------------------------------------------------------------- - */ - if(H5Sclose(sid) < 0) + * close space and dcpl + *------------------------------------------------------------------------- + */ + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; HDfree(buf); @@ -2747,34 +2700,35 @@ int make_fletcher32(hid_t loc_id) return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); return -1; } - /*------------------------------------------------------------------------- -* Function: make_nbit -* -* Purpose: make a dataset with the nbit filter -* -*------------------------------------------------------------------------- -*/ -static -int make_nbit(hid_t loc_id) + * Function: make_nbit + * + * Purpose: make a dataset with the nbit filter + * + *------------------------------------------------------------------------- + */ +static int +make_nbit(hid_t loc_id) { - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace ID */ - hid_t dtid = H5I_INVALID_HID; - hid_t dsid = H5I_INVALID_HID; - hsize_t dims[RANK]={DIM1,DIM2}; - hsize_t chunk_dims[RANK]={CDIM1,CDIM2}; - int **buf = NULL; + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace ID */ + hid_t dtid = H5I_INVALID_HID; + hid_t dsid = H5I_INVALID_HID; + hsize_t dims[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int ** buf = NULL; /* Create and fill array */ H5TEST_ALLOCATE_2D_ARRAY(buf, int, DIM1, DIM2); @@ -2783,45 +2737,45 @@ int make_nbit(hid_t loc_id) H5TEST_FILL_2D_ARRAY(buf, int, DIM1, DIM2); /* create a space */ - if((sid = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((sid = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* create a dataset creation property list; the same DCPL is used for all dsets */ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /* set up chunk */ - if(H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; dtid = H5Tcopy(H5T_NATIVE_INT); - if (H5Tset_precision(dtid,(H5Tget_precision(dtid) - 1)) < 0) + if (H5Tset_precision(dtid, (H5Tget_precision(dtid) - 1)) < 0) goto error; /* remove the filters from the dcpl */ - if(H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) + if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; - if(H5Pset_nbit(dcpl) < 0) + if (H5Pset_nbit(dcpl) < 0) goto error; - if((dsid = H5Dcreate2(loc_id, "dset_nbit", dtid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((dsid = H5Dcreate2(loc_id, "dset_nbit", dtid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if(H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) + if (H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) goto error; H5Dclose(dsid); - if(H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) + if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; - if((dsid = H5Dcreate2(loc_id, "dset_int31", dtid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((dsid = H5Dcreate2(loc_id, "dset_int31", dtid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if(H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) + if (H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) goto error; H5Dclose(dsid); /*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ - if(H5Sclose(sid) < 0) + * close + *------------------------------------------------------------------------- + */ + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; if (H5Tclose(dtid) < 0) goto error; @@ -2831,36 +2785,37 @@ int make_nbit(hid_t loc_id) return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Tclose(dtid); H5Pclose(dcpl); H5Sclose(sid); H5Dclose(dsid); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); return -1; } - /*------------------------------------------------------------------------- -* Function: make_scaleoffset -* -* Purpose: make a dataset with the scaleoffset filter -* -*------------------------------------------------------------------------- -*/ -static -int make_scaleoffset(hid_t loc_id) + * Function: make_scaleoffset + * + * Purpose: make a dataset with the scaleoffset filter + * + *------------------------------------------------------------------------- + */ +static int +make_scaleoffset(hid_t loc_id) { - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace ID */ - hid_t dtid = H5I_INVALID_HID; - hid_t dsid = H5I_INVALID_HID; - hsize_t dims[RANK] = {DIM1,DIM2}; - hsize_t chunk_dims[RANK] = {CDIM1,CDIM2}; - int **buf = NULL; + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace ID */ + hid_t dtid = H5I_INVALID_HID; + hid_t dsid = H5I_INVALID_HID; + hsize_t dims[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int ** buf = NULL; /* Create and fill array */ H5TEST_ALLOCATE_2D_ARRAY(buf, int, DIM1, DIM2); @@ -2869,41 +2824,41 @@ int make_scaleoffset(hid_t loc_id) H5TEST_FILL_2D_ARRAY(buf, int, DIM1, DIM2); /* create a space */ - if((sid = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((sid = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* create a dataset creation property list; the same DCPL is used for all dsets */ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /* set up chunk */ - if(H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; dtid = H5Tcopy(H5T_NATIVE_INT); /* remove the filters from the dcpl */ - if(H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) + if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; - if(H5Pset_scaleoffset(dcpl, H5Z_SO_INT, 31) < 0) + if (H5Pset_scaleoffset(dcpl, H5Z_SO_INT, 31) < 0) goto error; - if((dsid = H5Dcreate2(loc_id, "dset_scaleoffset", dtid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((dsid = H5Dcreate2(loc_id, "dset_scaleoffset", dtid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if(H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) + if (H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) goto error; H5Dclose(dsid); - if((dsid = H5Dcreate2(loc_id, "dset_none", dtid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((dsid = H5Dcreate2(loc_id, "dset_none", dtid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if(H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) + if (H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) goto error; H5Tclose(dtid); H5Dclose(dsid); /*------------------------------------------------------------------------- - * close space and dcpl - *------------------------------------------------------------------------- - */ - if(H5Sclose(sid) < 0) + * close space and dcpl + *------------------------------------------------------------------------- + */ + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; HDfree(buf); @@ -2911,41 +2866,42 @@ int make_scaleoffset(hid_t loc_id) return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(dsid); H5Tclose(dtid); H5Pclose(dcpl); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); return -1; } - /*------------------------------------------------------------------------- -* Function: make_all_filters -* -* Purpose: make a file with all filters -* -*------------------------------------------------------------------------- -*/ -static -int make_all_filters(hid_t loc_id) + * Function: make_all_filters + * + * Purpose: make a file with all filters + * + *------------------------------------------------------------------------- + */ +static int +make_all_filters(hid_t loc_id) { - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid = H5I_INVALID_HID; /* dataspace ID */ - hid_t dtid = H5I_INVALID_HID; - hid_t dsid = H5I_INVALID_HID; -#if defined (H5_HAVE_FILTER_SZIP) - unsigned szip_options_mask = H5_SZIP_ALLOW_K13_OPTION_MASK | H5_SZIP_NN_OPTION_MASK; + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace ID */ + hid_t dtid = H5I_INVALID_HID; + hid_t dsid = H5I_INVALID_HID; +#if defined(H5_HAVE_FILTER_SZIP) + unsigned szip_options_mask = H5_SZIP_ALLOW_K13_OPTION_MASK | H5_SZIP_NN_OPTION_MASK; unsigned szip_pixels_per_block = 8; #endif /* H5_HAVE_FILTER_SZIP */ - hsize_t dims[RANK]={DIM1,DIM2}; - hsize_t chunk_dims[RANK]={CDIM1,CDIM2}; - int **buf = NULL; -#if defined (H5_HAVE_FILTER_SZIP) + hsize_t dims[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int ** buf = NULL; +#if defined(H5_HAVE_FILTER_SZIP) int szip_can_encode = 0; #endif @@ -2956,7 +2912,7 @@ int make_all_filters(hid_t loc_id) H5TEST_FILL_2D_ARRAY(buf, int, DIM1, DIM2); /* create a space */ - if((sid = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((sid = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* create a dataset creation property list; the same DCPL is used for all dsets */ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) @@ -2973,24 +2929,23 @@ int make_all_filters(hid_t loc_id) if (H5Pset_fletcher32(dcpl) < 0) goto error; -#if defined (H5_HAVE_FILTER_SZIP) - if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) - { +#if defined(H5_HAVE_FILTER_SZIP) + if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { szip_can_encode = 1; } - if (szip_can_encode) - { + if (szip_can_encode) { /* set szip data */ - if(H5Pset_szip (dcpl,szip_options_mask, szip_pixels_per_block) < 0) + if (H5Pset_szip(dcpl, szip_options_mask, szip_pixels_per_block) < 0) goto error; - } else { + } + else { /* WARNING? SZIP is decoder only, can't generate test data using szip */ } #endif -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) /* set deflate data */ - if(H5Pset_deflate(dcpl, 9) < 0) + if (H5Pset_deflate(dcpl, 9) < 0) goto error; #endif @@ -2998,7 +2953,7 @@ int make_all_filters(hid_t loc_id) goto error; /* remove the filters from the dcpl */ - if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) + if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; /* set the checksum filter */ if (H5Pset_fletcher32(dcpl) < 0) @@ -3006,28 +2961,25 @@ int make_all_filters(hid_t loc_id) if (make_dset(loc_id, "dset_fletcher32", sid, dcpl, buf[0]) < 0) goto error; - - /* Make sure encoding is enabled */ -#if defined (H5_HAVE_FILTER_SZIP) - if (szip_can_encode) - { + /* Make sure encoding is enabled */ +#if defined(H5_HAVE_FILTER_SZIP) + if (szip_can_encode) { /* remove the filters from the dcpl */ - if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) + if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; /* set szip data */ - if(H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block) < 0) + if (H5Pset_szip(dcpl, szip_options_mask, szip_pixels_per_block) < 0) goto error; if (make_dset(loc_id, "dset_szip", sid, dcpl, buf[0]) < 0) goto error; - } else - { + } + else { /* WARNING? SZIP is decoder only, can't generate test dataset */ } #endif - /* remove the filters from the dcpl */ - if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) + if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; /* set the shuffle filter */ if (H5Pset_shuffle(dcpl) < 0) @@ -3035,20 +2987,17 @@ int make_all_filters(hid_t loc_id) if (make_dset(loc_id, "dset_shuffle", sid, dcpl, buf[0]) < 0) goto error; - -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) /* remove the filters from the dcpl */ - if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) + if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; /* set deflate data */ - if(H5Pset_deflate(dcpl, 1) < 0) + if (H5Pset_deflate(dcpl, 1) < 0) goto error; if (make_dset(loc_id, "dset_deflate", sid, dcpl, buf[0]) < 0) goto error; #endif - - /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto error; @@ -3059,20 +3008,20 @@ int make_all_filters(hid_t loc_id) goto error; if (H5Tset_precision(dtid, (H5Tget_precision(dtid) - 1)) < 0) goto error; - if((dsid = H5Dcreate2(loc_id, "dset_nbit", dtid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((dsid = H5Dcreate2(loc_id, "dset_nbit", dtid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if(H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) + if (H5Dwrite(dsid, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) goto error; /* close */ - if(H5Tclose(dtid) < 0) + if (H5Tclose(dtid) < 0) goto error; - if(H5Dclose(dsid) < 0) + if (H5Dclose(dsid) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; HDfree(buf); @@ -3086,35 +3035,34 @@ error: H5Dclose(dsid); H5Pclose(dcpl); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); return -1; } - - /*------------------------------------------------------------------------- -* Function: make_early -* -* Purpose: create a file for the H5D_ALLOC_TIME_EARLY test -* -*------------------------------------------------------------------------- -*/ -static -int make_early(void) + * Function: make_early + * + * Purpose: create a file for the H5D_ALLOC_TIME_EARLY test + * + *------------------------------------------------------------------------- + */ +static int +make_early(void) { - hsize_t dims[1] ={3000}; - hsize_t cdims[1]={30}; - hid_t fid=H5I_INVALID_HID; - hid_t did=H5I_INVALID_HID; - hid_t sid=H5I_INVALID_HID; - hid_t tid=H5I_INVALID_HID; - hid_t dcpl=H5I_INVALID_HID; + hsize_t dims[1] = {3000}; + hsize_t cdims[1] = {30}; + hid_t fid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; + hid_t dcpl = H5I_INVALID_HID; int i; char name[16]; - int iter=100; + int iter = 100; if ((fid = H5Fcreate(FNAME5, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; @@ -3130,8 +3078,7 @@ int make_early(void) if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY) < 0) goto out; - for(i = 0; i < iter; i++) - { + for (i = 0; i < iter; i++) { if ((fid = H5Fopen(FNAME5, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) goto out; if ((did = H5Dcreate2(fid, "early", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) @@ -3152,15 +3099,14 @@ int make_early(void) } /*------------------------------------------------------------------------- - * do the same without close/opening the file and creating the dataset - *------------------------------------------------------------------------- - */ + * do the same without close/opening the file and creating the dataset + *------------------------------------------------------------------------- + */ if ((fid = H5Fcreate(FNAME6, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) return -1; - for(i = 0; i < iter; i++) - { + for (i = 0; i < iter; i++) { if ((tid = H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) goto out; HDsprintf(name, "%d", i); @@ -3187,28 +3133,28 @@ out: H5Sclose(sid); H5Dclose(did); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } - /*------------------------------------------------------------------------- -* Function: make_layout -* -* Purpose: make several datasets with several layouts in location LOC_ID -* -*------------------------------------------------------------------------- -*/ -static -int make_layout(hid_t loc_id) + * Function: make_layout + * + * Purpose: make several datasets with several layouts in location LOC_ID + * + *------------------------------------------------------------------------- + */ +static int +make_layout(hid_t loc_id) { - hid_t dcpl=H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid=H5I_INVALID_HID; /* dataspace ID */ - hsize_t dims[RANK]={DIM1,DIM2}; - hsize_t chunk_dims[RANK]={CDIM1,CDIM2}; - int **buf = NULL; - int i; - char name[16]; + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid = H5I_INVALID_HID; /* dataspace ID */ + hsize_t dims[RANK] = {DIM1, DIM2}; + hsize_t chunk_dims[RANK] = {CDIM1, CDIM2}; + int ** buf = NULL; + int i; + char name[16]; /* Create and fill array */ H5TEST_ALLOCATE_2D_ARRAY(buf, int, DIM1, DIM2); @@ -3216,63 +3162,61 @@ int make_layout(hid_t loc_id) goto error; H5TEST_FILL_2D_ARRAY(buf, int, DIM1, DIM2); - /*------------------------------------------------------------------------- - * make several dataset with no filters - *------------------------------------------------------------------------- - */ - for (i=0; i<4; i++) { - HDsprintf(name,"dset%d",i+1); + * make several dataset with no filters + *------------------------------------------------------------------------- + */ + for (i = 0; i < 4; i++) { + HDsprintf(name, "dset%d", i + 1); if (write_dset(loc_id, RANK, dims, name, H5T_NATIVE_INT, buf[0]) < 0) goto error; } - /*------------------------------------------------------------------------- - * make several dataset with several layout options - *------------------------------------------------------------------------- - */ + * make several dataset with several layout options + *------------------------------------------------------------------------- + */ /* create a space */ - if((sid = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((sid = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* create a dataset creation property list; the same DCPL is used for all dsets */ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; /*------------------------------------------------------------------------- - * H5D_COMPACT - *------------------------------------------------------------------------- - */ - if(H5Pset_layout (dcpl,H5D_COMPACT) < 0) + * H5D_COMPACT + *------------------------------------------------------------------------- + */ + if (H5Pset_layout(dcpl, H5D_COMPACT) < 0) goto error; if (make_dset(loc_id, "dset_compact", sid, dcpl, buf[0]) < 0) goto error; /*------------------------------------------------------------------------- - * H5D_CONTIGUOUS - *------------------------------------------------------------------------- - */ - if(H5Pset_layout (dcpl,H5D_CONTIGUOUS) < 0) + * H5D_CONTIGUOUS + *------------------------------------------------------------------------- + */ + if (H5Pset_layout(dcpl, H5D_CONTIGUOUS) < 0) goto error; if (make_dset(loc_id, "dset_contiguous", sid, dcpl, buf[0]) < 0) goto error; /*------------------------------------------------------------------------- - * H5D_CHUNKED - *------------------------------------------------------------------------- - */ - if(H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) + * H5D_CHUNKED + *------------------------------------------------------------------------- + */ + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; if (make_dset(loc_id, "dset_chunk", sid, dcpl, buf[0]) < 0) goto error; /*------------------------------------------------------------------------- - * close space and dcpl - *------------------------------------------------------------------------- - */ - if(H5Sclose(sid) < 0) + * close space and dcpl + *------------------------------------------------------------------------- + */ + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; HDfree(buf); @@ -3284,7 +3228,8 @@ error: { H5Pclose(dcpl); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); @@ -3301,25 +3246,25 @@ error: * *------------------------------------------------------------------------- */ -#define S_DIM1 4 -#define S_DIM2 10 -#define CONTIG_S "contig_small" -#define CHUNKED_S_FIX "chunked_small_fixed" +#define S_DIM1 4 +#define S_DIM2 10 +#define CONTIG_S "contig_small" +#define CHUNKED_S_FIX "chunked_small_fixed" -static -int make_layout2(hid_t loc_id) +static int +make_layout2(hid_t loc_id) { - hid_t contig_dcpl = H5I_INVALID_HID; /* dataset creation property list */ - hid_t chunked_dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t contig_dcpl = H5I_INVALID_HID; /* dataset creation property list */ + hid_t chunked_dcpl = H5I_INVALID_HID; /* dataset creation property list */ - int ret_value = -1; /* Return value */ - hid_t s_sid = H5I_INVALID_HID; /* dataspace ID */ + int ret_value = -1; /* Return value */ + hid_t s_sid = H5I_INVALID_HID; /* dataspace ID */ - hsize_t s_dims[RANK] = {S_DIM1,S_DIM2}; /* Dataspace (< 1 k) */ - hsize_t chunk_dims[RANK] = {S_DIM1/2, S_DIM2/2}; /* Dimension sizes for chunks */ + hsize_t s_dims[RANK] = {S_DIM1, S_DIM2}; /* Dataspace (< 1 k) */ + hsize_t chunk_dims[RANK] = {S_DIM1 / 2, S_DIM2 / 2}; /* Dimension sizes for chunks */ - int **s_buf = NULL; /* Temporary buffer */ + int **s_buf = NULL; /* Temporary buffer */ /* Create and fill array */ H5TEST_ALLOCATE_2D_ARRAY(s_buf, int, S_DIM1, S_DIM2); @@ -3328,23 +3273,23 @@ int make_layout2(hid_t loc_id) H5TEST_FILL_2D_ARRAY(s_buf, int, S_DIM1, S_DIM2); /* Create dataspaces */ - if((s_sid = H5Screate_simple(RANK, s_dims, NULL)) < 0) + if ((s_sid = H5Screate_simple(RANK, s_dims, NULL)) < 0) goto error; /* Create contiguous datasets */ - if((contig_dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((contig_dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_layout(contig_dcpl, H5D_CONTIGUOUS) < 0) + if (H5Pset_layout(contig_dcpl, H5D_CONTIGUOUS) < 0) goto error; - if(make_dset(loc_id, CONTIG_S, s_sid, contig_dcpl, s_buf[0]) < 0) + if (make_dset(loc_id, CONTIG_S, s_sid, contig_dcpl, s_buf[0]) < 0) goto error; /* Create chunked datasets */ - if((chunked_dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((chunked_dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(chunked_dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(chunked_dcpl, RANK, chunk_dims) < 0) goto error; - if(make_dset(loc_id, CHUNKED_S_FIX, s_sid, chunked_dcpl, s_buf[0]) < 0) + if (make_dset(loc_id, CHUNKED_S_FIX, s_sid, chunked_dcpl, s_buf[0]) < 0) goto error; HDfree(s_buf); @@ -3352,55 +3297,56 @@ int make_layout2(hid_t loc_id) ret_value = 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(contig_dcpl); H5Pclose(chunked_dcpl); H5Sclose(s_sid); - - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(s_buf); - return(ret_value); + return (ret_value); } /* make_layout2() */ /*------------------------------------------------------------------------- -* Function: make_layout3 -* -* Purpose: make chunked datasets with unlimited max dim and chunk dim is -* bigger than current dim. (HDFFV-7933) -* Test for converting chunk to chunk , chunk to conti and chunk -* to compact. -* - The chunk to chunk changes layout bigger than any current dim -* again. -* - The chunk to compact test dataset bigger than 64K, should -* remain original layout.* -* -*------------------------------------------------------------------------- -*/ + * Function: make_layout3 + * + * Purpose: make chunked datasets with unlimited max dim and chunk dim is + * bigger than current dim. (HDFFV-7933) + * Test for converting chunk to chunk , chunk to conti and chunk + * to compact. + * - The chunk to chunk changes layout bigger than any current dim + * again. + * - The chunk to compact test dataset bigger than 64K, should + * remain original layout.* + * + *------------------------------------------------------------------------- + */ #define DIM1_L3 300 #define DIM2_L3 200 /* small size */ #define SDIM1_L3 4 #define SDIM2_L3 50 -static -int make_layout3(hid_t loc_id) +static int +make_layout3(hid_t loc_id) { - hid_t dcpl1=H5I_INVALID_HID; /* dataset creation property list */ - hid_t dcpl2=H5I_INVALID_HID; /* dataset creation property list */ - hid_t dcpl3=H5I_INVALID_HID; /* dataset creation property list */ - hid_t sid1=H5I_INVALID_HID; /* dataspace ID */ - hid_t sid2=H5I_INVALID_HID; /* dataspace ID */ - hsize_t dims1[RANK]={DIM1_L3,DIM2_L3}; - hsize_t dims2[RANK]={SDIM1_L3,SDIM2_L3}; - hsize_t maxdims[RANK]={H5S_UNLIMITED, H5S_UNLIMITED}; - hsize_t chunk_dims1[RANK]={DIM1_L3*2,5}; - hsize_t chunk_dims2[RANK]={SDIM1_L3 + 2, SDIM2_L3/2}; - hsize_t chunk_dims3[RANK]={SDIM1_L3 - 2, SDIM2_L3/2}; - int **buf1 = NULL; - int **buf2 = NULL; + hid_t dcpl1 = H5I_INVALID_HID; /* dataset creation property list */ + hid_t dcpl2 = H5I_INVALID_HID; /* dataset creation property list */ + hid_t dcpl3 = H5I_INVALID_HID; /* dataset creation property list */ + hid_t sid1 = H5I_INVALID_HID; /* dataspace ID */ + hid_t sid2 = H5I_INVALID_HID; /* dataspace ID */ + hsize_t dims1[RANK] = {DIM1_L3, DIM2_L3}; + hsize_t dims2[RANK] = {SDIM1_L3, SDIM2_L3}; + hsize_t maxdims[RANK] = {H5S_UNLIMITED, H5S_UNLIMITED}; + hsize_t chunk_dims1[RANK] = {DIM1_L3 * 2, 5}; + hsize_t chunk_dims2[RANK] = {SDIM1_L3 + 2, SDIM2_L3 / 2}; + hsize_t chunk_dims3[RANK] = {SDIM1_L3 - 2, SDIM2_L3 / 2}; + int ** buf1 = NULL; + int ** buf2 = NULL; /* Create and fill arrays */ H5TEST_ALLOCATE_2D_ARRAY(buf1, int, DIM1_L3, DIM2_L3); @@ -3413,77 +3359,76 @@ int make_layout3(hid_t loc_id) goto error; H5TEST_FILL_2D_ARRAY(buf2, int, SDIM1_L3, SDIM2_L3); - /*------------------------------------------------------------------------- - * make chunked dataset with - * - dset maxdims are UNLIMIT - * - a chunk dim is bigger than dset dim - * - dset size bigger than compact max (64K) - *------------------------------------------------------------------------- - */ + * make chunked dataset with + * - dset maxdims are UNLIMIT + * - a chunk dim is bigger than dset dim + * - dset size bigger than compact max (64K) + *------------------------------------------------------------------------- + */ /* create a space */ - if((sid1 = H5Screate_simple(RANK, dims1, maxdims)) < 0) + if ((sid1 = H5Screate_simple(RANK, dims1, maxdims)) < 0) goto error; /* create a dataset creation property list; the same DCPL is used for all dsets */ if ((dcpl1 = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl1, RANK, chunk_dims1) < 0) + if (H5Pset_chunk(dcpl1, RANK, chunk_dims1) < 0) goto error; if (make_dset(loc_id, "chunk_unlimit1", sid1, dcpl1, buf1[0]) < 0) goto error; /*------------------------------------------------------------------------- - * make chunked dataset with - * - dset maxdims are UNLIMIT - * - a chunk dim is bigger than dset dim - * - dset size smaller than compact (64K) - *------------------------------------------------------------------------- - */ + * make chunked dataset with + * - dset maxdims are UNLIMIT + * - a chunk dim is bigger than dset dim + * - dset size smaller than compact (64K) + *------------------------------------------------------------------------- + */ /* create a space */ - if((sid2 = H5Screate_simple(RANK, dims2, maxdims)) < 0) + if ((sid2 = H5Screate_simple(RANK, dims2, maxdims)) < 0) goto error; /* create a dataset creation property list; the same DCPL is used for all dsets */ if ((dcpl2 = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl2, RANK, chunk_dims2) < 0) + if (H5Pset_chunk(dcpl2, RANK, chunk_dims2) < 0) goto error; if (make_dset(loc_id, "chunk_unlimit2", sid2, dcpl2, buf2[0]) < 0) goto error; /*------------------------------------------------------------------------- - * make chunked dataset with - * - dset maxdims are UNLIMIT - * - a chunk dims are smaller than dset dims - * - dset size smaller than compact (64K) - *------------------------------------------------------------------------- - */ + * make chunked dataset with + * - dset maxdims are UNLIMIT + * - a chunk dims are smaller than dset dims + * - dset size smaller than compact (64K) + *------------------------------------------------------------------------- + */ /* create a dataset creation property list; the same DCPL is used for all dsets */ if ((dcpl3 = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl3, RANK, chunk_dims3) < 0) + if (H5Pset_chunk(dcpl3, RANK, chunk_dims3) < 0) goto error; if (make_dset(loc_id, "chunk_unlimit3", sid2, dcpl3, buf2[0]) < 0) goto error; /*------------------------------------------------------------------------- - * close space and dcpl - *------------------------------------------------------------------------- - */ - if(H5Sclose(sid1) < 0) + * close space and dcpl + *------------------------------------------------------------------------- + */ + if (H5Sclose(sid1) < 0) goto error; - if(H5Sclose(sid2) < 0) + if (H5Sclose(sid2) < 0) goto error; - if(H5Pclose(dcpl1) < 0) + if (H5Pclose(dcpl1) < 0) goto error; - if(H5Pclose(dcpl2) < 0) + if (H5Pclose(dcpl2) < 0) goto error; - if(H5Pclose(dcpl3) < 0) + if (H5Pclose(dcpl3) < 0) goto error; HDfree(buf1); @@ -3499,7 +3444,8 @@ error: H5Pclose(dcpl1); H5Pclose(dcpl2); H5Pclose(dcpl3); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf1); HDfree(buf2); @@ -3508,178 +3454,179 @@ error: } /*------------------------------------------------------------------------- -* Function: make a file with an integer dataset with a fill value -* -* Purpose: test copy of fill values -* -*------------------------------------------------------------------------- -*/ -static -int make_fill(hid_t loc_id) + * Function: make a file with an integer dataset with a fill value + * + * Purpose: test copy of fill values + * + *------------------------------------------------------------------------- + */ +static int +make_fill(hid_t loc_id) { - hid_t did=H5I_INVALID_HID; - hid_t sid=H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; hid_t dcpl; - hsize_t dims[2]={3,2}; - int buf[3][2]= {{1,1},{1,2},{2,2}}; + hsize_t dims[2] = {3, 2}; + int buf[3][2] = {{1, 1}, {1, 2}, {2, 2}}; int fillvalue = 2; /*------------------------------------------------------------------------- - * H5T_INTEGER, write a fill value - *------------------------------------------------------------------------- - */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + * H5T_INTEGER, write a fill value + *------------------------------------------------------------------------- + */ + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto out; - if(H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillvalue) < 0) + if (H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillvalue) < 0) goto out; - if((sid = H5Screate_simple(2,dims,NULL)) < 0) + if ((sid = H5Screate_simple(2, dims, NULL)) < 0) goto out; - if((did = H5Dcreate2(loc_id, "dset_fill", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(loc_id, "dset_fill", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto out; - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto out; /* close */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto out; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto out; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); H5Dclose(did); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; - } /*------------------------------------------------------------------------- -* Function: make_big -* -* Purpose: used in test read by hyperslabs. Creates a 128MB dataset. -* Only 1 1024Kb hyperslab is written. -* -*------------------------------------------------------------------------- -*/ -static -int make_big(hid_t loc_id) + * Function: make_big + * + * Purpose: used in test read by hyperslabs. Creates a 128MB dataset. + * Only 1 1024Kb hyperslab is written. + * + *------------------------------------------------------------------------- + */ +static int +make_big(hid_t loc_id) { - hid_t did=H5I_INVALID_HID; - hid_t f_sid=H5I_INVALID_HID; - hid_t m_sid=H5I_INVALID_HID; - hid_t tid; - hid_t dcpl; - hsize_t dims[1]={ H5TOOLS_MALLOCSIZE + 1}; /* dataset dimensions */ - hsize_t hs_size[1]; /* hyperslab dimensions */ - hsize_t hs_start[1]; /* hyperslab start */ - hsize_t chunk_dims[1]={1024}; /* chunk dimensions */ - size_t size; - size_t nelmts=(size_t)1024; - signed char fillvalue=-1; - signed char *buf=NULL; + hid_t did = H5I_INVALID_HID; + hid_t f_sid = H5I_INVALID_HID; + hid_t m_sid = H5I_INVALID_HID; + hid_t tid; + hid_t dcpl; + hsize_t dims[1] = {H5TOOLS_MALLOCSIZE + 1}; /* dataset dimensions */ + hsize_t hs_size[1]; /* hyperslab dimensions */ + hsize_t hs_start[1]; /* hyperslab start */ + hsize_t chunk_dims[1] = {1024}; /* chunk dimensions */ + size_t size; + size_t nelmts = (size_t)1024; + signed char fillvalue = -1; + signed char *buf = NULL; /* write one 1024 byte hyperslab */ hs_start[0] = 0; hs_size[0] = 1024; /* create */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto out; - if(H5Pset_fill_value(dcpl, H5T_NATIVE_SCHAR, &fillvalue) < 0) + if (H5Pset_fill_value(dcpl, H5T_NATIVE_SCHAR, &fillvalue) < 0) goto out; - if(H5Pset_chunk(dcpl, 1, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, 1, chunk_dims) < 0) goto out; - if((f_sid = H5Screate_simple(1,dims,NULL)) < 0) + if ((f_sid = H5Screate_simple(1, dims, NULL)) < 0) goto out; - if((did = H5Dcreate2(loc_id, "dset", H5T_NATIVE_SCHAR, f_sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(loc_id, "dset", H5T_NATIVE_SCHAR, f_sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto out; - if((m_sid = H5Screate_simple(1, hs_size, hs_size)) < 0) + if ((m_sid = H5Screate_simple(1, hs_size, hs_size)) < 0) goto out; - if((tid = H5Dget_type(did)) < 0) + if ((tid = H5Dget_type(did)) < 0) goto out; - if((size = H5Tget_size(tid))<=0) + if ((size = H5Tget_size(tid)) <= 0) goto out; /* initialize buffer to 0 */ - buf=(signed char *) HDcalloc( nelmts, size); + buf = (signed char *)HDcalloc(nelmts, size); - if (H5Sselect_hyperslab (f_sid,H5S_SELECT_SET,hs_start,NULL,hs_size, NULL) < 0) + if (H5Sselect_hyperslab(f_sid, H5S_SELECT_SET, hs_start, NULL, hs_size, NULL) < 0) goto out; - if (H5Dwrite (did,H5T_NATIVE_SCHAR,m_sid,f_sid,H5P_DEFAULT,buf) < 0) + if (H5Dwrite(did, H5T_NATIVE_SCHAR, m_sid, f_sid, H5P_DEFAULT, buf) < 0) goto out; HDfree(buf); - buf=NULL; + buf = NULL; /* close */ - if(H5Sclose(f_sid) < 0) + if (H5Sclose(f_sid) < 0) goto out; - if(H5Sclose(m_sid) < 0) + if (H5Sclose(m_sid) < 0) goto out; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto out; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(f_sid); H5Sclose(m_sid); H5Dclose(did); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; - } - /*------------------------------------------------------------------------- -* Function: make_external -* -* Purpose: create a external dataset -* -*------------------------------------------------------------------------- -*/ -static -int make_external(hid_t loc_id) + * Function: make_external + * + * Purpose: create a external dataset + * + *------------------------------------------------------------------------- + */ +static int +make_external(hid_t loc_id) { - hid_t did=H5I_INVALID_HID; - hid_t sid=H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; hid_t dcpl; - int buf[2]={1,2}; - hsize_t cur_size[1]; /* data space current size */ - hsize_t max_size[1]; /* data space maximum size */ + int buf[2] = {1, 2}; + hsize_t cur_size[1]; /* data space current size */ + hsize_t max_size[1]; /* data space maximum size */ hsize_t size; cur_size[0] = max_size[0] = 2; - size = max_size[0] * sizeof(int); + size = max_size[0] * sizeof(int); /* create */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto out; - if(H5Pset_external(dcpl, H5REPACK_EXTFILE, (off_t)0, size) < 0) + if (H5Pset_external(dcpl, H5REPACK_EXTFILE, (off_t)0, size) < 0) goto out; - if((sid = H5Screate_simple(1,cur_size, max_size)) < 0) + if ((sid = H5Screate_simple(1, cur_size, max_size)) < 0) goto out; - if((did = H5Dcreate2(loc_id, "external", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(loc_id, "external", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto out; - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto out; /* close */ - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto out; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto out; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; return 0; @@ -3690,51 +3637,50 @@ out: H5Pclose(dcpl); H5Sclose(sid); H5Dclose(did); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; - } /*------------------------------------------------------------------------- -* Function: make_userblock -* -* Purpose: create a file for the userblock copying test -* -*------------------------------------------------------------------------- -*/ + * Function: make_userblock + * + * Purpose: create a file for the userblock copying test + * + *------------------------------------------------------------------------- + */ static int make_userblock(void) { - hid_t fid = H5I_INVALID_HID; - hid_t fcpl = H5I_INVALID_HID; - int fd = -1; /* File descriptor for writing userblock */ - char ub[USERBLOCK_SIZE]; /* User block data */ - ssize_t H5_ATTR_NDEBUG_UNUSED nwritten; /* # of bytes written */ - size_t u; /* Local index variable */ + hid_t fid = H5I_INVALID_HID; + hid_t fcpl = H5I_INVALID_HID; + int fd = -1; /* File descriptor for writing userblock */ + char ub[USERBLOCK_SIZE]; /* User block data */ + ssize_t H5_ATTR_NDEBUG_UNUSED nwritten; /* # of bytes written */ + size_t u; /* Local index variable */ /* Create file creation property list with userblock set */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto out; - if(H5Pset_userblock(fcpl, (hsize_t)USERBLOCK_SIZE) < 0) + if (H5Pset_userblock(fcpl, (hsize_t)USERBLOCK_SIZE) < 0) goto out; /* Create file with userblock */ - if((fid = H5Fcreate(FNAME16, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FNAME16, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto out; /* Close file creation property list */ - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) goto out; - /* Initialize userblock data */ - for(u = 0; u < USERBLOCK_SIZE; u++) + for (u = 0; u < USERBLOCK_SIZE; u++) ub[u] = (char)('a' + (char)(u % 26)); /* Re-open HDF5 file, as "plain" file */ - if((fd = HDopen(FNAME16, O_WRONLY)) < 0) + if ((fd = HDopen(FNAME16, O_WRONLY)) < 0) goto out; /* Write userblock data */ @@ -3747,58 +3693,59 @@ make_userblock(void) return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(fcpl); H5Fclose(fid); - } H5E_END_TRY; - if(fd >= 0) + } + H5E_END_TRY; + if (fd >= 0) HDclose(fd); return -1; } /* end make_userblock() */ /*------------------------------------------------------------------------- -* Function: verify_userblock -* -* Purpose: Verify that the userblock was copied correctly -* -*------------------------------------------------------------------------- -*/ + * Function: verify_userblock + * + * Purpose: Verify that the userblock was copied correctly + * + *------------------------------------------------------------------------- + */ static int -verify_userblock( const char* filename) +verify_userblock(const char *filename) { - hid_t fid = H5I_INVALID_HID; - hid_t fcpl = H5I_INVALID_HID; - int fd = -1; /* File descriptor for writing userblock */ - char ub[USERBLOCK_SIZE]; /* User block data */ - hsize_t ub_size = 0; /* User block size */ - ssize_t H5_ATTR_NDEBUG_UNUSED nread; /* # of bytes read */ - size_t u; /* Local index variable */ + hid_t fid = H5I_INVALID_HID; + hid_t fcpl = H5I_INVALID_HID; + int fd = -1; /* File descriptor for writing userblock */ + char ub[USERBLOCK_SIZE]; /* User block data */ + hsize_t ub_size = 0; /* User block size */ + ssize_t H5_ATTR_NDEBUG_UNUSED nread; /* # of bytes read */ + size_t u; /* Local index variable */ /* Open file with userblock */ - if((fid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) + if ((fid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) goto out; /* Retrieve file creation property list & userblock size */ - if((fcpl = H5Fget_create_plist(fid)) < 0) + if ((fcpl = H5Fget_create_plist(fid)) < 0) goto out; - if(H5Pget_userblock(fcpl, &ub_size) < 0) + if (H5Pget_userblock(fcpl, &ub_size) < 0) goto out; /* Verify userblock size is correct */ - if(ub_size != USERBLOCK_SIZE) + if (ub_size != USERBLOCK_SIZE) goto out; /* Close file creation property list */ - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) goto out; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto out; - /* Re-open HDF5 file, as "plain" file */ - if((fd = HDopen(filename, O_RDONLY)) < 0) + if ((fd = HDopen(filename, O_RDONLY)) < 0) goto out; /* Read userblock data */ @@ -3806,8 +3753,8 @@ verify_userblock( const char* filename) HDassert(nread == USERBLOCK_SIZE); /* Verify userblock data */ - for(u = 0; u < USERBLOCK_SIZE; u++) - if(ub[u] != (char)('a' + (u % 26))) + for (u = 0; u < USERBLOCK_SIZE; u++) + if (ub[u] != (char)('a' + (u % 26))) goto out; /* Close file */ @@ -3816,38 +3763,39 @@ verify_userblock( const char* filename) return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(fcpl); H5Fclose(fid); - } H5E_END_TRY; - if(fd >= 0) + } + H5E_END_TRY; + if (fd >= 0) HDclose(fd); return -1; } /* end verify_userblock() */ - /*------------------------------------------------------------------------- -* Function: make_userblock_file -* -* Purpose: create a file for the userblock add test -* -*------------------------------------------------------------------------- -*/ + * Function: make_userblock_file + * + * Purpose: create a file for the userblock add test + * + *------------------------------------------------------------------------- + */ static int make_userblock_file(void) { - int fd = -1; /* File descriptor for writing userblock */ - char ub[USERBLOCK_SIZE]; /* User block data */ - ssize_t H5_ATTR_NDEBUG_UNUSED nwritten; /* # of bytes written */ - size_t u; /* Local index variable */ + int fd = -1; /* File descriptor for writing userblock */ + char ub[USERBLOCK_SIZE]; /* User block data */ + ssize_t H5_ATTR_NDEBUG_UNUSED nwritten; /* # of bytes written */ + size_t u; /* Local index variable */ /* initialize userblock data */ - for(u = 0; u < USERBLOCK_SIZE; u++) + for (u = 0; u < USERBLOCK_SIZE; u++) ub[u] = (char)('a' + (char)(u % 26)); /* open file */ - if((fd = HDopen(FNAME_UB, O_WRONLY|O_CREAT|O_TRUNC, H5_POSIX_CREATE_MODE_RW)) < 0) + if ((fd = HDopen(FNAME_UB, O_WRONLY | O_CREAT | O_TRUNC, H5_POSIX_CREATE_MODE_RW)) < 0) goto out; /* write userblock data */ @@ -3861,147 +3809,135 @@ make_userblock_file(void) out: - if(fd >= 0) + if (fd >= 0) HDclose(fd); return -1; } /*------------------------------------------------------------------------- -* Function: write_dset_in -* -* Purpose: write datasets in LOC_ID -* -* Programmer: Pedro Vicente -* -* Date: November 12, 2003 -* -*------------------------------------------------------------------------- -*/ -static -int write_dset_in(hid_t loc_id, - const char* dset_name, /* for saving reference to dataset*/ - hid_t file_id, - int make_diffs /* flag to modify data buffers */) + * Function: write_dset_in + * + * Purpose: write datasets in LOC_ID + * + * Programmer: Pedro Vicente + * + * Date: November 12, 2003 + * + *------------------------------------------------------------------------- + */ +static int +write_dset_in(hid_t loc_id, const char *dset_name, /* for saving reference to dataset*/ + hid_t file_id, int make_diffs /* flag to modify data buffers */) { /* compound datatype */ - typedef struct s_t - { + typedef struct s_t { char a; double b; } s_t; - typedef enum - { - RED, - GREEN - } e_t; - - hid_t did=H5I_INVALID_HID; - hid_t sid=H5I_INVALID_HID; - hid_t tid=H5I_INVALID_HID; - hid_t pid=H5I_INVALID_HID; + typedef enum { RED, GREEN } e_t; + + hid_t did = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; + hid_t pid = H5I_INVALID_HID; unsigned i, j; - int val, k, n; - float f; + int val, k, n; + float f; /* create 1D attributes with dimension [2], 2 elements */ - hsize_t dims[1]={2}; - hsize_t dims1r[1]={2}; - char buf1[2][3]= {"ab","de"}; /* string */ - char buf2[2]= {1,2}; /* bitfield, opaque */ - s_t buf3[2]= {{1,2},{3,4}}; /* compound */ - hobj_ref_t buf4[2]; /* reference */ - e_t buf45[2]= {RED,GREEN}; /* enum */ - hvl_t buf5[2]; /* vlen */ - hsize_t dimarray[1]={3}; /* array dimension */ - int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */ - int buf7[2]= {1,2}; /* integer */ - float buf8[2]= {1,2}; /* float */ + hsize_t dims[1] = {2}; + hsize_t dims1r[1] = {2}; + char buf1[2][3] = {"ab", "de"}; /* string */ + char buf2[2] = {1, 2}; /* bitfield, opaque */ + s_t buf3[2] = {{1, 2}, {3, 4}}; /* compound */ + hobj_ref_t buf4[2]; /* reference */ + e_t buf45[2] = {RED, GREEN}; /* enum */ + hvl_t buf5[2]; /* vlen */ + hsize_t dimarray[1] = {3}; /* array dimension */ + int buf6[2][3] = {{1, 2, 3}, {4, 5, 6}}; /* array */ + int buf7[2] = {1, 2}; /* integer */ + float buf8[2] = {1, 2}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ - hsize_t dims2[2]={3,2}; - hsize_t dims2r[2]={1,1}; - char buf12[6][3]= {"ab","cd","ef","gh","ij","kl"}; /* string */ - char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ - s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */ - hobj_ref_t buf42[1][1]; /* reference */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ - int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ - float buf82[3][2]= {{1,2},{3,4},{5,6}}; /* float */ + hsize_t dims2[2] = {3, 2}; + hsize_t dims2r[2] = {1, 1}; + char buf12[6][3] = {"ab", "cd", "ef", "gh", "ij", "kl"}; /* string */ + char buf22[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* bitfield, opaque */ + s_t buf32[6] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}}; /* compound */ + hobj_ref_t buf42[1][1]; /* reference */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}}; /* array */ + int buf72[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* integer */ + float buf82[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ - hsize_t dims3[3]={4,3,2}; - hsize_t dims3r[3]={1,1,1}; - char buf13[24][3]= {"ab","cd","ef","gh","ij","kl","mn","pq", - "rs","tu","vw","xz","AB","CD","EF","GH", - "IJ","KL","MN","PQ","RS","TU","VW","XZ"}; /* string */ - char buf23[4][3][2]; /* bitfield, opaque */ - s_t buf33[4][3][2]; /* compound */ - hobj_ref_t buf43[1][1][1]; /* reference */ - hvl_t buf53[4][3][2]; /* vlen */ - int buf63[24][3]; /* array */ - int buf73[4][3][2]; /* integer */ - float buf83[4][3][2]; /* float */ - - - /*------------------------------------------------------------------------- - * 1D - *------------------------------------------------------------------------- - */ + hsize_t dims3[3] = {4, 3, 2}; + hsize_t dims3r[3] = {1, 1, 1}; + char buf13[24][3] = {"ab", "cd", "ef", "gh", "ij", "kl", "mn", "pq", "rs", "tu", "vw", "xz", + "AB", "CD", "EF", "GH", "IJ", "KL", "MN", "PQ", "RS", "TU", "VW", "XZ"}; /* string */ + char buf23[4][3][2]; /* bitfield, opaque */ + s_t buf33[4][3][2]; /* compound */ + hobj_ref_t buf43[1][1][1]; /* reference */ + hvl_t buf53[4][3][2]; /* vlen */ + int buf63[24][3]; /* array */ + int buf73[4][3][2]; /* integer */ + float buf83[4][3][2]; /* float */ + + /*------------------------------------------------------------------------- + * 1D + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ - + * H5T_STRING + *------------------------------------------------------------------------- + */ - if(make_diffs) { - for(i = 0; i < 2; i++) - for(j = 0; j < 2; j++) + if (make_diffs) { + for (i = 0; i < 2; i++) + for (j = 0; j < 2; j++) buf1[i][j] = 'z'; } - if ((tid = H5Tcopy(H5T_C_S1)) < 0) goto out; if (H5Tset_size(tid, (size_t)2) < 0) goto out; - if (write_dset(loc_id,1,dims,"string",tid,buf1) < 0) + if (write_dset(loc_id, 1, dims, "string", tid, buf1) < 0) goto out; if (H5Tclose(tid) < 0) goto out; - /* create hard link */ if (H5Lcreate_hard(loc_id, "string", H5L_SAME_LOC, "string_link", H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ - if(make_diffs) { - for(i = 0; i < 2; i++) + if (make_diffs) { + for (i = 0; i < 2; i++) buf2[i] = buf2[1] = 0; } if ((tid = H5Tcopy(H5T_STD_B8LE)) < 0) goto out; - if (write_dset(loc_id,1,dims,"bitfield",tid,buf2) < 0) + if (write_dset(loc_id, 1, dims, "bitfield", tid, buf2) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ - if(make_diffs) { - for(i = 0; i < 2; i++) { + if (make_diffs) { + for (i = 0; i < 2; i++) { buf3[i].a = 0; buf3[i].b = 0; } @@ -4011,45 +3947,43 @@ int write_dset_in(hid_t loc_id, goto out; if (H5Tset_tag(tid, "1-byte opaque type") < 0) goto out; - if (write_dset(loc_id,1,dims,"opaque",tid,buf2) < 0) + if (write_dset(loc_id, 1, dims, "opaque", tid, buf2) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ - + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ - if(make_diffs) { - for(i = 0; i < 2; i++) + if (make_diffs) { + for (i = 0; i < 2; i++) buf45[i] = GREEN; } - if ((tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t))) < 0) + if ((tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) < 0) goto out; if (H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR) < 0) goto out; if (H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE) < 0) goto out; - if (write_dset(loc_id,1,dims,"compound",tid,buf3) < 0) + if (write_dset(loc_id, 1, dims, "compound", tid, buf3) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ /* object references ( H5R_OBJECT ) */ - buf4[0]=0; - buf4[1]=0; - if (dset_name) - { - if (H5Rcreate(&buf4[0],file_id,dset_name,H5R_OBJECT,(hid_t)-1) < 0) + buf4[0] = 0; + buf4[1] = 0; + if (dset_name) { + if (H5Rcreate(&buf4[0], file_id, dset_name, H5R_OBJECT, (hid_t)-1) < 0) goto out; - if (write_dset(loc_id,1,dims1r,"refobj",H5T_STD_REF_OBJ,buf4) < 0) + if (write_dset(loc_id, 1, dims1r, "refobj", H5T_STD_REF_OBJ, buf4) < 0) goto out; } @@ -4057,38 +3991,37 @@ int write_dset_in(hid_t loc_id, if (make_dset_reg_ref(loc_id) < 0) goto out; - /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ if ((tid = H5Tcreate(H5T_ENUM, sizeof(e_t))) < 0) goto out; - if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) + if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) goto out; if (H5Tenum_insert(tid, "GREEN", (val = 1, &val)) < 0) goto out; - if (write_dset(loc_id,1,dims,"enum",tid,buf45) < 0) + if (write_dset(loc_id, 1, dims, "enum", tid, buf45) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ - buf5[0].len = 1; - buf5[0].p = HDmalloc( 1 * sizeof(int)); - ((int *)buf5[0].p)[0]=1; - buf5[1].len = 2; - buf5[1].p = HDmalloc( 2 * sizeof(int)); + buf5[0].len = 1; + buf5[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf5[0].p)[0] = 1; + buf5[1].len = 2; + buf5[1].p = HDmalloc(2 * sizeof(int)); ((int *)buf5[1].p)[0] = 2; ((int *)buf5[1].p)[1] = 3; - if(make_diffs) { + if (make_diffs) { ((int *)buf5[0].p)[0] = 0; ((int *)buf5[1].p)[0] = 0; ((int *)buf5[1].p)[1] = 0; @@ -4112,13 +4045,13 @@ int write_dset_in(hid_t loc_id, goto out; /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ - if(make_diffs) { - for(i = 0; i < 2; i++) - for(j = 0; j < 3; j++) + if (make_diffs) { + for (i = 0; i < 2; i++) + for (j = 0; j < 3; j++) buf6[i][j] = 0; } @@ -4131,27 +4064,26 @@ int write_dset_in(hid_t loc_id, { - hsize_t TEST_BUFSIZE = (128 * 1024 * 1024); /* 128MB */ - double *dbuf; /* information to write */ + hsize_t TEST_BUFSIZE = (128 * 1024 * 1024); /* 128MB */ + double * dbuf; /* information to write */ size_t size; hsize_t sdims[] = {1}; hsize_t tdims[] = {TEST_BUFSIZE / sizeof(double) + 1}; unsigned u; /* allocate and initialize array data to write */ - size = ( TEST_BUFSIZE / sizeof(double) + 1 ) * sizeof(double); - dbuf = (double*)HDmalloc( size ); - if (NULL == dbuf) - { - HDprintf ("\nError: Cannot allocate memory for \"arrayd\" data buffer size %dMB.\n", (int) size / 1000000 ); + size = (TEST_BUFSIZE / sizeof(double) + 1) * sizeof(double); + dbuf = (double *)HDmalloc(size); + if (NULL == dbuf) { + HDprintf("\nError: Cannot allocate memory for \"arrayd\" data buffer size %dMB.\n", + (int)size / 1000000); goto out; } - for( u = 0; u < TEST_BUFSIZE / sizeof(double) + 1; u++) + for (u = 0; u < TEST_BUFSIZE / sizeof(double) + 1; u++) dbuf[u] = u; - if (make_diffs) - { + if (make_diffs) { dbuf[5] = 0; dbuf[6] = 0; } @@ -4182,107 +4114,100 @@ int write_dset_in(hid_t loc_id, } /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ - if(make_diffs) { - for(i = 0; i < 2; i++) { + if (make_diffs) { + for (i = 0; i < 2; i++) { buf7[i] = 0; buf8[i] = 0; } } - if (write_dset(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7) < 0) + if (write_dset(loc_id, 1, dims, "integer", H5T_NATIVE_INT, buf7) < 0) goto out; - if (write_dset(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8) < 0) + if (write_dset(loc_id, 1, dims, "float", H5T_NATIVE_FLOAT, buf8) < 0) goto out; - /*------------------------------------------------------------------------- - * 2D - *------------------------------------------------------------------------- - */ + * 2D + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ - if (make_diffs) - { + if (make_diffs) { HDmemset(buf12, 'z', sizeof buf12); } - if ((tid = H5Tcopy(H5T_C_S1)) < 0) goto out; if (H5Tset_size(tid, (size_t)2) < 0) goto out; - if (write_dset(loc_id,2,dims2,"string2D",tid,buf12) < 0) + if (write_dset(loc_id, 2, dims2, "string2D", tid, buf12) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ - + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - HDmemset(buf22,0,sizeof buf22); + if (make_diffs) { + HDmemset(buf22, 0, sizeof buf22); } if ((tid = H5Tcopy(H5T_STD_B8LE)) < 0) goto out; - if (write_dset(loc_id,2,dims2,"bitfield2D",tid,buf22) < 0) + if (write_dset(loc_id, 2, dims2, "bitfield2D", tid, buf22) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ if ((tid = H5Tcreate(H5T_OPAQUE, (size_t)1)) < 0) goto out; if (H5Tset_tag(tid, "1-byte opaque type") < 0) goto out; - if (write_dset(loc_id,2,dims2,"opaque2D",tid,buf22) < 0) + if (write_dset(loc_id, 2, dims2, "opaque2D", tid, buf22) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - HDmemset(buf32,0,sizeof buf32); + if (make_diffs) { + HDmemset(buf32, 0, sizeof buf32); } - if ((tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t))) < 0) + if ((tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) < 0) goto out; if (H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR) < 0) goto out; if (H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE) < 0) goto out; - if (write_dset(loc_id,2,dims2,"compound2D",tid,buf32) < 0) + if (write_dset(loc_id, 2, dims2, "compound2D", tid, buf32) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ /* Create references to dataset */ - if (dset_name) - { + if (dset_name) { if (H5Rcreate(&buf42[0][0], file_id, dset_name, H5R_OBJECT, (hid_t)-1) < 0) goto out; if (write_dset(loc_id, 2, dims2r, "refobj2D", H5T_STD_REF_OBJ, buf42) < 0) @@ -4290,36 +4215,36 @@ int write_dset_in(hid_t loc_id, } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ if ((tid = H5Tcreate(H5T_ENUM, sizeof(e_t))) < 0) goto out; - if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) + if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) goto out; if (H5Tenum_insert(tid, "GREEN", (val = 1, &val)) < 0) goto out; - if (write_dset(loc_id,2,dims2,"enum2D",tid,0) < 0) + if (write_dset(loc_id, 2, dims2, "enum2D", tid, 0) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ n = 0; - for(i = 0; i < 3; i++) { - for(j = 0; j < 2; j++) { + for (i = 0; i < 3; i++) { + for (j = 0; j < 2; j++) { unsigned l; - buf52[i][j].p = HDmalloc((i + 1) * sizeof(int)); + buf52[i][j].p = HDmalloc((i + 1) * sizeof(int)); buf52[i][j].len = (size_t)(i + 1); - for(l = 0; l < i + 1; l++) { - if(make_diffs) + for (l = 0; l < i + 1; l++) { + if (make_diffs) ((int *)buf52[i][j].p)[l] = 0; else ((int *)buf52[i][j].p)[l] = n++; @@ -4345,16 +4270,14 @@ int write_dset_in(hid_t loc_id, goto out; /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - HDmemset(buf62,0,sizeof buf62); + if (make_diffs) { + HDmemset(buf62, 0, sizeof buf62); } - if ((tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray)) < 0) goto out; if (write_dset(loc_id, 2, dims2, "array2D", tid, buf62) < 0) @@ -4363,17 +4286,15 @@ int write_dset_in(hid_t loc_id, goto out; /*------------------------------------------------------------------------- - * H5T_INTEGER, write a fill value - *------------------------------------------------------------------------- - */ - + * H5T_INTEGER, write a fill value + *------------------------------------------------------------------------- + */ - if(make_diffs) { + if (make_diffs) { HDmemset(buf72, 0, sizeof buf72); HDmemset(buf82, 0, sizeof buf82); } - if ((pid = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto out; if ((sid = H5Screate_simple(2, dims2, NULL)) < 0) @@ -4390,49 +4311,46 @@ int write_dset_in(hid_t loc_id, goto out; /*------------------------------------------------------------------------- - * H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_FLOAT + *------------------------------------------------------------------------- + */ - if (write_dset(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82) < 0) + if (write_dset(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82) < 0) goto out; - /*------------------------------------------------------------------------- - * 3D - *------------------------------------------------------------------------- - */ + * 3D + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - HDmemset(buf13,'z',sizeof buf13); + if (make_diffs) { + HDmemset(buf13, 'z', sizeof buf13); } if ((tid = H5Tcopy(H5T_C_S1)) < 0) goto out; if (H5Tset_size(tid, (size_t)2) < 0) goto out; - if (write_dset(loc_id,3,dims3,"string3D",tid,buf13) < 0) + if (write_dset(loc_id, 3, dims3, "string3D", tid, buf13) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ - + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - if(make_diffs) + n = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { + if (make_diffs) buf23[i][j][k] = 0; else buf23[i][j][k] = (char)(n++); @@ -4440,37 +4358,36 @@ int write_dset_in(hid_t loc_id, } } - if ((tid = H5Tcopy(H5T_STD_B8LE)) < 0) goto out; - if (write_dset(loc_id,3,dims3,"bitfield3D",tid,buf23) < 0) + if (write_dset(loc_id, 3, dims3, "bitfield3D", tid, buf23) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ if ((tid = H5Tcreate(H5T_OPAQUE, (size_t)1)) < 0) goto out; if (H5Tset_tag(tid, "1-byte opaque type") < 0) goto out; - if (write_dset(loc_id,3,dims3,"opaque3D",tid,buf23) < 0) + if (write_dset(loc_id, 3, dims3, "opaque3D", tid, buf23) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - if(make_diffs) { + n = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { + if (make_diffs) { buf33[i][j][k].a = 0; buf33[i][j][k].b = 0; } @@ -4482,25 +4399,23 @@ int write_dset_in(hid_t loc_id, } } - - if ((tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t))) < 0) + if ((tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) < 0) goto out; if (H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR) < 0) goto out; if (H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE) < 0) goto out; - if (write_dset(loc_id,3,dims3,"compound3D",tid,buf33) < 0) + if (write_dset(loc_id, 3, dims3, "compound3D", tid, buf33) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ /* Create references to dataset */ - if (dset_name) - { + if (dset_name) { if (H5Rcreate(&buf43[0][0][0], file_id, dset_name, H5R_OBJECT, (hid_t)-1) < 0) goto out; if (write_dset(loc_id, 3, dims3r, "refobj3D", H5T_STD_REF_OBJ, buf43) < 0) @@ -4508,37 +4423,37 @@ int write_dset_in(hid_t loc_id, } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ if ((tid = H5Tcreate(H5T_ENUM, sizeof(e_t))) < 0) goto out; - if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) + if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) goto out; if (H5Tenum_insert(tid, "GREEN", (val = 1, &val)) < 0) goto out; - if (write_dset(loc_id,3,dims3,"enum3D",tid,0) < 0) + if (write_dset(loc_id, 3, dims3, "enum3D", tid, 0) < 0) goto out; if (H5Tclose(tid) < 0) goto out; /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ n = 0; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { unsigned l; - buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int)); + buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int)); buf53[i][j][k].len = (size_t)(i + 1); - for(l = 0; l < i + 1; l++) { - if(make_diffs) + for (l = 0; l < i + 1; l++) { + if (make_diffs) ((int *)buf53[i][j][k].p)[l] = 0; else ((int *)buf53[i][j][k].p)[l] = n++; @@ -4567,15 +4482,14 @@ int write_dset_in(hid_t loc_id, goto out; /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - + * H5T_ARRAY + *------------------------------------------------------------------------- + */ n = 1; - for(i = 0; i < 24; i++) { - for(j = 0; j < dimarray[0]; j++) { - if(make_diffs) + for (i = 0; i < 24; i++) { + for (j = 0; j < dimarray[0]; j++) { + if (make_diffs) buf63[i][j] = 0; else buf63[i][j] = n++; @@ -4590,76 +4504,77 @@ int write_dset_in(hid_t loc_id, goto out; /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ - n=1; f=1; + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ + n = 1; + f = 1; for (i = 0; i < 4; i++) { for (j = 0; j < 3; j++) { for (k = 0; k < 2; k++) { if (make_diffs) { - buf73[i][j][k]=0; - buf83[i][j][k]=0; + buf73[i][j][k] = 0; + buf83[i][j][k] = 0; } else { - buf73[i][j][k]=n++; - buf83[i][j][k]=f++; + buf73[i][j][k] = n++; + buf83[i][j][k] = f++; } } } } - if (write_dset(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73) < 0) + if (write_dset(loc_id, 3, dims3, "integer3D", H5T_NATIVE_INT, buf73) < 0) goto out; - if (write_dset(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83) < 0) + if (write_dset(loc_id, 3, dims3, "float3D", H5T_NATIVE_FLOAT, buf83) < 0) goto out; return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(pid); H5Sclose(sid); H5Dclose(did); H5Tclose(tid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } - - /*------------------------------------------------------------------------- -* Function: make_dset_reg_ref -* -* Purpose: write dataset region references -* -*------------------------------------------------------------------------- -*/ + * Function: make_dset_reg_ref + * + * Purpose: write dataset region references + * + *------------------------------------------------------------------------- + */ #define SPACE1_RANK 1 #define SPACE1_DIM1 1 #define SPACE2_RANK 2 #define SPACE2_DIM1 10 #define SPACE2_DIM2 10 -static -int make_dset_reg_ref(hid_t loc_id) +static int +make_dset_reg_ref(hid_t loc_id) { - hid_t did1=H5I_INVALID_HID; /* Dataset ID */ - hid_t did2=H5I_INVALID_HID; /* Dereferenced dataset ID */ - hid_t sid1=H5I_INVALID_HID; /* Dataspace ID #1 */ - hid_t sid2=H5I_INVALID_HID; /* Dataspace ID #2 */ - hsize_t dims1[] = {SPACE1_DIM1}; - hsize_t dims2[] = {SPACE2_DIM1, SPACE2_DIM2}; - hsize_t start[SPACE2_RANK]; /* Starting location of hyperslab */ - hsize_t stride[SPACE2_RANK]; /* Stride of hyperslab */ - hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */ - hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */ - hdset_reg_ref_t *wbuf=NULL; /* buffer to write to disk */ - int *dwbuf=NULL; /* Buffer for writing numeric data to disk */ - int i; /* counting variables */ - int retval = -1; /* return value */ + hid_t did1 = H5I_INVALID_HID; /* Dataset ID */ + hid_t did2 = H5I_INVALID_HID; /* Dereferenced dataset ID */ + hid_t sid1 = H5I_INVALID_HID; /* Dataspace ID #1 */ + hid_t sid2 = H5I_INVALID_HID; /* Dataspace ID #2 */ + hsize_t dims1[] = {SPACE1_DIM1}; + hsize_t dims2[] = {SPACE2_DIM1, SPACE2_DIM2}; + hsize_t start[SPACE2_RANK]; /* Starting location of hyperslab */ + hsize_t stride[SPACE2_RANK]; /* Stride of hyperslab */ + hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */ + hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */ + hdset_reg_ref_t *wbuf = NULL; /* buffer to write to disk */ + int * dwbuf = NULL; /* Buffer for writing numeric data to disk */ + int i; /* counting variables */ + int retval = -1; /* return value */ /* Allocate write & read buffers */ - wbuf = (hdset_reg_ref_t *)HDcalloc(sizeof(hdset_reg_ref_t), (size_t)SPACE1_DIM1); + wbuf = (hdset_reg_ref_t *)HDcalloc(sizeof(hdset_reg_ref_t), (size_t)SPACE1_DIM1); dwbuf = (int *)HDmalloc(sizeof(int) * SPACE2_DIM1 * SPACE2_DIM2); /* Create dataspace for datasets */ @@ -4667,7 +4582,8 @@ int make_dset_reg_ref(hid_t loc_id) goto out; /* Create a dataset */ - if ((did2 = H5Dcreate2(loc_id, "dsetreg", H5T_NATIVE_UCHAR, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did2 = H5Dcreate2(loc_id, "dsetreg", H5T_NATIVE_UCHAR, sid2, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto out; for (i = 0; i < SPACE2_DIM1 * SPACE2_DIM2; i++) @@ -4682,24 +4598,28 @@ int make_dset_reg_ref(hid_t loc_id) goto out; /* Create a dataset */ - if ((did1 = H5Dcreate2(loc_id, "refreg", H5T_STD_REF_DSETREG, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did1 = H5Dcreate2(loc_id, "refreg", H5T_STD_REF_DSETREG, sid1, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto out; /* Select 6x6 hyperslab for first reference */ - start[0] = 2; start[1] = 2; - stride[0] = 1; stride[1] = 1; - count[0] = 6; count[1] = 6; - block[0] = 1; block[1] = 1; + start[0] = 2; + start[1] = 2; + stride[0] = 1; + stride[1] = 1; + count[0] = 6; + count[1] = 6; + block[0] = 1; + block[1] = 1; if (H5Sselect_hyperslab(sid2, H5S_SELECT_SET, start, stride, count, block) < 0) goto out; - /* Store dataset region */ if (H5Rcreate(&wbuf[0], loc_id, "dsetreg", H5R_DATASET_REGION, sid2) < 0) goto out; /* Write selection to disk */ - if (H5Dwrite(did1,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf) < 0) + if (H5Dwrite(did1, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, wbuf) < 0) goto out; /* Close all objects */ @@ -4715,9 +4635,9 @@ int make_dset_reg_ref(hid_t loc_id) retval = 0; out: - if(wbuf) + if (wbuf) HDfree(wbuf); - if(dwbuf) + if (dwbuf) HDfree(dwbuf); H5E_BEGIN_TRY @@ -4726,105 +4646,96 @@ out: H5Sclose(sid2); H5Dclose(did1); H5Dclose(did2); - } H5E_END_TRY; + } + H5E_END_TRY; return retval; } /*------------------------------------------------------------------------- -* Function: write_attr_in -* -* Purpose: write attributes in LOC_ID (dataset, group, named datatype) -* -* Programmer: Pedro Vicente -* -* Date: November 12, 2003 -* -*------------------------------------------------------------------------- -*/ - -static -int write_attr_in(hid_t loc_id, - const char* dset_name, /* for saving reference to dataset*/ - hid_t fid, /* for reference create */ - int make_diffs /* flag to modify data buffers */) + * Function: write_attr_in + * + * Purpose: write attributes in LOC_ID (dataset, group, named datatype) + * + * Programmer: Pedro Vicente + * + * Date: November 12, 2003 + * + *------------------------------------------------------------------------- + */ + +static int +write_attr_in(hid_t loc_id, const char *dset_name, /* for saving reference to dataset*/ + hid_t fid, /* for reference create */ + int make_diffs /* flag to modify data buffers */) { /* Compound datatype */ - typedef struct s_t - { + typedef struct s_t { char a; double b; } s_t; - typedef enum - { - RED, - GREEN - } e_t; + typedef enum { RED, GREEN } e_t; - hid_t aid = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hid_t tid = H5I_INVALID_HID; - int val, j, k, n; + hid_t aid = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; + int val, j, k, n; unsigned i; - float f; + float f; /* create 1D attributes with dimension [2], 2 elements */ - hsize_t dims[1]={2}; - char buf1[2][3]= {"ab","de"}; /* string */ - char buf2[2]= {1,2}; /* bitfield, opaque */ - s_t buf3[2]= {{1,2},{3,4}}; /* compound */ - hobj_ref_t buf4[2]; /* reference */ - e_t buf45[2]= {RED,RED}; /* enum */ - hvl_t buf5[2]; /* vlen */ - hsize_t dimarray[1]={3}; /* array dimension */ - int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */ - int buf7[2]= {1,2}; /* integer */ - float buf8[2]= {1,2}; /* float */ + hsize_t dims[1] = {2}; + char buf1[2][3] = {"ab", "de"}; /* string */ + char buf2[2] = {1, 2}; /* bitfield, opaque */ + s_t buf3[2] = {{1, 2}, {3, 4}}; /* compound */ + hobj_ref_t buf4[2]; /* reference */ + e_t buf45[2] = {RED, RED}; /* enum */ + hvl_t buf5[2]; /* vlen */ + hsize_t dimarray[1] = {3}; /* array dimension */ + int buf6[2][3] = {{1, 2, 3}, {4, 5, 6}}; /* array */ + int buf7[2] = {1, 2}; /* integer */ + float buf8[2] = {1, 2}; /* float */ /* create 2D attributes with dimension [3][2], 6 elements */ - hsize_t dims2[2]={3,2}; - char buf12[6][3]= {"ab","cd","ef","gh","ij","kl"}; /* string */ - char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ - s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */ - hobj_ref_t buf42[3][2]; /* reference */ - e_t buf452[3][2]; /* enum */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ - int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ - float buf82[3][2]= {{1,2},{3,4},{5,6}}; /* float */ + hsize_t dims2[2] = {3, 2}; + char buf12[6][3] = {"ab", "cd", "ef", "gh", "ij", "kl"}; /* string */ + char buf22[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* bitfield, opaque */ + s_t buf32[6] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}}; /* compound */ + hobj_ref_t buf42[3][2]; /* reference */ + e_t buf452[3][2]; /* enum */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}, {16, 17, 18}}; /* array */ + int buf72[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* integer */ + float buf82[3][2] = {{1, 2}, {3, 4}, {5, 6}}; /* float */ /* create 3D attributes with dimension [4][3][2], 24 elements */ - hsize_t dims3[3]={4,3,2}; - char buf13[24][3]= {"ab","cd","ef","gh","ij","kl","mn","pq", - "rs","tu","vw","xz","AB","CD","EF","GH", - "IJ","KL","MN","PQ","RS","TU","VW","XZ"}; /* string */ - char buf23[4][3][2]; /* bitfield, opaque */ - s_t buf33[4][3][2]; /* compound */ - hobj_ref_t buf43[4][3][2]; /* reference */ - e_t buf453[4][3][2]; /* enum */ - hvl_t buf53[4][3][2]; /* vlen */ - int buf63[24][3]; /* array */ - int buf73[4][3][2]; /* integer */ - float buf83[4][3][2]; /* float */ - - - /*------------------------------------------------------------------------- - * 1D attributes - *------------------------------------------------------------------------- - */ + hsize_t dims3[3] = {4, 3, 2}; + char buf13[24][3] = {"ab", "cd", "ef", "gh", "ij", "kl", "mn", "pq", "rs", "tu", "vw", "xz", + "AB", "CD", "EF", "GH", "IJ", "KL", "MN", "PQ", "RS", "TU", "VW", "XZ"}; /* string */ + char buf23[4][3][2]; /* bitfield, opaque */ + s_t buf33[4][3][2]; /* compound */ + hobj_ref_t buf43[4][3][2]; /* reference */ + e_t buf453[4][3][2]; /* enum */ + hvl_t buf53[4][3][2]; /* vlen */ + int buf63[24][3]; /* array */ + int buf73[4][3][2]; /* integer */ + float buf83[4][3][2]; /* float */ + + /*------------------------------------------------------------------------- + * 1D attributes + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - for (i=0; i<2; i++) - for (j=0; j<2; j++) - { - buf1[i][j]='z'; + if (make_diffs) { + for (i = 0; i < 2; i++) + for (j = 0; j < 2; j++) { + buf1[i][j] = 'z'; } } /* @@ -4843,21 +4754,20 @@ int write_attr_in(hid_t loc_id, goto out; if (H5Tset_size(tid, (size_t)2) < 0) goto out; - if (make_attr(loc_id,1,dims,"string",tid,buf1) < 0) + if (make_attr(loc_id, 1, dims, "string", tid, buf1) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - for (i=0; i<2; i++) - buf2[i]=buf2[1]=0; + if (make_diffs) { + for (i = 0; i < 2; i++) + buf2[i] = buf2[1] = 0; } /* buf2[2]= {1,2}; @@ -4873,16 +4783,16 @@ int write_attr_in(hid_t loc_id, if ((tid = H5Tcopy(H5T_STD_B8LE)) < 0) goto out; - if (make_attr(loc_id,1,dims,"bitfield",tid,buf2) < 0) + if (make_attr(loc_id, 1, dims, "bitfield", tid, buf2) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ /* buf2[2]= {1,2}; @@ -4900,22 +4810,21 @@ int write_attr_in(hid_t loc_id, goto out; if (H5Tset_tag(tid, "1-byte opaque type") < 0) goto out; - if (make_attr(loc_id,1,dims,"opaque",tid,buf2) < 0) + if (make_attr(loc_id, 1, dims, "opaque", tid, buf2) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - for (i=0; i<2; i++) - { - buf3[i].a=0; buf3[i].b=0; + if (make_diffs) { + for (i = 0; i < 2; i++) { + buf3[i].a = 0; + buf3[i].b = 0; } } @@ -4932,43 +4841,39 @@ int write_attr_in(hid_t loc_id, [ 1 ] 4 5 1 */ - if ((tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t))) < 0) + if ((tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) < 0) goto out; if (H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR) < 0) goto out; if (H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE) < 0) goto out; - if (make_attr(loc_id,1,dims,"compound",tid,buf3) < 0) + if (make_attr(loc_id, 1, dims, "compound", tid, buf3) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ /* object references ( H5R_OBJECT */ - if (dset_name) - { - if (H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,(hid_t)-1) < 0) + if (dset_name) { + if (H5Rcreate(&buf4[0], fid, dset_name, H5R_OBJECT, (hid_t)-1) < 0) goto out; - if (H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,(hid_t)-1) < 0) + if (H5Rcreate(&buf4[1], fid, dset_name, H5R_OBJECT, (hid_t)-1) < 0) goto out; - if (make_attr(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4) < 0) + if (make_attr(loc_id, 1, dims, "reference", H5T_STD_REF_OBJ, buf4) < 0) goto out; } - /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ - if (make_diffs) - { - for (i=0; i<2; i++) - { - buf45[i]=GREEN; + * H5T_ENUM + *------------------------------------------------------------------------- + */ + if (make_diffs) { + for (i = 0; i < 2; i++) { + buf45[i] = GREEN; } } /* @@ -4983,33 +4888,32 @@ int write_attr_in(hid_t loc_id, */ if ((tid = H5Tcreate(H5T_ENUM, sizeof(e_t))) < 0) goto out; - if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) + if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) goto out; if (H5Tenum_insert(tid, "GREEN", (val = 1, &val)) < 0) goto out; - if (make_attr(loc_id,1,dims,"enum",tid,buf45) < 0) + if (make_attr(loc_id, 1, dims, "enum", tid, buf45) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ - buf5[0].len = 1; - buf5[0].p = HDmalloc( 1 * sizeof(int)); - ((int *)buf5[0].p)[0]=1; - buf5[1].len = 2; - buf5[1].p = HDmalloc(2 * sizeof(int)); + buf5[0].len = 1; + buf5[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf5[0].p)[0] = 1; + buf5[1].len = 2; + buf5[1].p = HDmalloc(2 * sizeof(int)); ((int *)buf5[1].p)[0] = 2; ((int *)buf5[1].p)[1] = 3; - if(make_diffs) - { + if (make_diffs) { ((int *)buf5[0].p)[0] = 0; ((int *)buf5[1].p)[0] = 0; ((int *)buf5[1].p)[1] = 0; @@ -5045,16 +4949,14 @@ int write_attr_in(hid_t loc_id, sid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - for (i=0; i<2; i++) - for (j=0; j<3; j++) - { - buf6[i][j]=0; + if (make_diffs) { + for (i = 0; i < 2; i++) + for (j = 0; j < 3; j++) { + buf6[i][j] = 0; } } /* @@ -5080,16 +4982,14 @@ int write_attr_in(hid_t loc_id, tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ - if(make_diffs) - { - for(i = 0; i < 2; i++) - { - buf7[i]=0; - buf8[i]=0; + if (make_diffs) { + for (i = 0; i < 2; i++) { + buf7[i] = 0; + buf8[i] = 0; } } @@ -5107,23 +5007,21 @@ int write_attr_in(hid_t loc_id, [ 0 ] 1 0 1 [ 1 ] 2 0 2 */ - if (make_attr(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7) < 0) + if (make_attr(loc_id, 1, dims, "integer", H5T_NATIVE_INT, buf7) < 0) goto out; - if (make_attr(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8) < 0) + if (make_attr(loc_id, 1, dims, "float", H5T_NATIVE_FLOAT, buf8) < 0) goto out; - /*------------------------------------------------------------------------- - * 2D attributes - *------------------------------------------------------------------------- - */ + * 2D attributes + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ - if (make_diffs) - { + * H5T_STRING + *------------------------------------------------------------------------- + */ + if (make_diffs) { HDmemset(buf12, 'z', sizeof buf12); } @@ -5151,20 +5049,19 @@ int write_attr_in(hid_t loc_id, goto out; if (H5Tset_size(tid, (size_t)2) < 0) goto out; - if (make_attr(loc_id,2,dims2,"string2D",tid,buf12) < 0) + if (make_attr(loc_id, 2, dims2, "string2D", tid, buf12) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - HDmemset(buf22,0,sizeof buf22); + if (make_diffs) { + HDmemset(buf22, 0, sizeof buf22); } /* @@ -5181,19 +5078,18 @@ int write_attr_in(hid_t loc_id, [ 2 1 ] 6 0 6 */ - if ((tid = H5Tcopy(H5T_STD_B8LE)) < 0) goto out; - if (make_attr(loc_id,2,dims2,"bitfield2D",tid,buf22) < 0) + if (make_attr(loc_id, 2, dims2, "bitfield2D", tid, buf22) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ /* buf22[3][2]= {{1,2},{3,4},{5,6}}; @@ -5212,19 +5108,18 @@ int write_attr_in(hid_t loc_id, goto out; if (H5Tset_tag(tid, "1-byte opaque type") < 0) goto out; - if (make_attr(loc_id,2,dims2,"opaque2D",tid,buf22) < 0) + if (make_attr(loc_id, 2, dims2, "opaque2D", tid, buf22) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ - if (make_diffs) - { - HDmemset(buf32,0,sizeof buf32); + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ + if (make_diffs) { + HDmemset(buf32, 0, sizeof buf32); } /* @@ -5241,47 +5136,44 @@ int write_attr_in(hid_t loc_id, [ 2 1 ] 6 0 6 */ - - if ((tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t))) < 0) + if ((tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) < 0) goto out; if (H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR) < 0) goto out; if (H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE) < 0) goto out; - if (make_attr(loc_id,2,dims2,"compound2D",tid,buf32) < 0) + if (make_attr(loc_id, 2, dims2, "compound2D", tid, buf32) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ /* Create references to dataset */ - if (dset_name) - { - for (i = 0; i < 3; i++) - { - for (j = 0; j < 2; j++) - { - if (H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,(hid_t)-1) < 0) + if (dset_name) { + for (i = 0; i < 3; i++) { + for (j = 0; j < 2; j++) { + if (H5Rcreate(&buf42[i][j], fid, dset_name, H5R_OBJECT, (hid_t)-1) < 0) goto out; } } - if (make_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42) < 0) + if (make_attr(loc_id, 2, dims2, "reference2D", H5T_STD_REF_OBJ, buf42) < 0) goto out; } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ - for (i=0; i<3; i++) - { - for (j=0; j<2; j++) - { - if (make_diffs) buf452[i][j]=GREEN; else buf452[i][j]=RED; + * H5T_ENUM + *------------------------------------------------------------------------- + */ + for (i = 0; i < 3; i++) { + for (j = 0; j < 2; j++) { + if (make_diffs) + buf452[i][j] = GREEN; + else + buf452[i][j] = RED; } } @@ -5299,31 +5191,31 @@ int write_attr_in(hid_t loc_id, if ((tid = H5Tcreate(H5T_ENUM, sizeof(e_t))) < 0) goto out; - if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) + if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) goto out; if (H5Tenum_insert(tid, "GREEN", (val = 1, &val)) < 0) goto out; - if (make_attr(loc_id,2,dims2,"enum2D",tid,buf452) < 0) + if (make_attr(loc_id, 2, dims2, "enum2D", tid, buf452) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ - n=0; - for(i = 0; i < 3; i++) { - for(j = 0; j < 2; j++) { + n = 0; + for (i = 0; i < 3; i++) { + for (j = 0; j < 2; j++) { unsigned l; - buf52[i][j].p = HDmalloc((i + 1) * sizeof(int)); + buf52[i][j].p = HDmalloc((i + 1) * sizeof(int)); buf52[i][j].len = (size_t)(i + 1); - for(l = 0; l < i + 1; l++) - if(make_diffs) + for (l = 0; l < i + 1; l++) + if (make_diffs) ((int *)buf52[i][j].p)[l] = 0; else ((int *)buf52[i][j].p)[l] = n++; @@ -5367,13 +5259,12 @@ int write_attr_in(hid_t loc_id, sid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ + * H5T_ARRAY + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - HDmemset(buf62,0,sizeof buf62); + if (make_diffs) { + HDmemset(buf62, 0, sizeof buf62); } /* buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; @@ -5410,12 +5301,11 @@ int write_attr_in(hid_t loc_id, tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ - if(make_diffs) - { + if (make_diffs) { HDmemset(buf72, 0, sizeof buf72); HDmemset(buf82, 0, sizeof buf82); } @@ -5441,25 +5331,23 @@ int write_attr_in(hid_t loc_id, [ 2 1 ] 6 0 6 */ - if (make_attr(loc_id,2,dims2,"integer2D",H5T_NATIVE_INT,buf72) < 0) + if (make_attr(loc_id, 2, dims2, "integer2D", H5T_NATIVE_INT, buf72) < 0) goto out; - if (make_attr(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82) < 0) + if (make_attr(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82) < 0) goto out; - /*------------------------------------------------------------------------- - * 3D attributes - *------------------------------------------------------------------------- - */ + * 3D attributes + *------------------------------------------------------------------------- + */ /*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ + * H5T_STRING + *------------------------------------------------------------------------- + */ - if (make_diffs) - { - HDmemset(buf13,'z',sizeof buf13); + if (make_diffs) { + HDmemset(buf13, 'z', sizeof buf13); } /* @@ -5523,22 +5411,22 @@ int write_attr_in(hid_t loc_id, goto out; if (H5Tset_size(tid, (size_t)2) < 0) goto out; - if (make_attr(loc_id,3,dims3,"string3D",tid,buf13) < 0) + if (make_attr(loc_id, 3, dims3, "string3D", tid, buf13) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - if(make_diffs) + n = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { + if (make_diffs) buf23[i][j][k] = 0; else buf23[i][j][k] = (char)(n++); @@ -5577,36 +5465,36 @@ int write_attr_in(hid_t loc_id, if ((tid = H5Tcopy(H5T_STD_B8LE)) < 0) goto out; - if (make_attr(loc_id,3,dims3,"bitfield3D",tid,buf23) < 0) + if (make_attr(loc_id, 3, dims3, "bitfield3D", tid, buf23) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ if ((tid = H5Tcreate(H5T_OPAQUE, (size_t)1)) < 0) goto out; if (H5Tset_tag(tid, "1-byte opaque type") < 0) goto out; - if (make_attr(loc_id,3,dims3,"opaque3D",tid,buf23) < 0) + if (make_attr(loc_id, 3, dims3, "opaque3D", tid, buf23) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - if(make_diffs) { + n = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { + if (make_diffs) { buf33[i][j][k].a = 0; buf33[i][j][k].b = 0; } @@ -5669,58 +5557,48 @@ int write_attr_in(hid_t loc_id, [ 3 2 1 ] 48 0 48 */ - - - if ((tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t))) < 0) + if ((tid = H5Tcreate(H5T_COMPOUND, sizeof(s_t))) < 0) goto out; if (H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR) < 0) goto out; if (H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE) < 0) goto out; - if (make_attr(loc_id,3,dims3,"compound3D",tid,buf33) < 0) + if (make_attr(loc_id, 3, dims3, "compound3D", tid, buf33) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ /* Create references to dataset */ - if (dset_name) - { - for (i = 0; i < 4; i++) - { - for (j = 0; j < 3; j++) - { + if (dset_name) { + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { for (k = 0; k < 2; k++) - if (H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,(hid_t)-1) < 0) + if (H5Rcreate(&buf43[i][j][k], fid, dset_name, H5R_OBJECT, (hid_t)-1) < 0) goto out; } } - if (make_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43) < 0) + if (make_attr(loc_id, 3, dims3, "reference3D", H5T_STD_REF_OBJ, buf43) < 0) goto out; } /*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ + * H5T_ENUM + *------------------------------------------------------------------------- + */ - for (i = 0; i < 4; i++) - { - for (j = 0; j < 3; j++) - { - for (k = 0; k < 2; k++) - { - if (make_diffs) - { - buf453[i][j][k]=RED; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { + if (make_diffs) { + buf453[i][j][k] = RED; } - else - { - buf453[i][j][k]=GREEN; + else { + buf453[i][j][k] = GREEN; } } } @@ -5755,35 +5633,31 @@ int write_attr_in(hid_t loc_id, [ 3 2 1 ] GREEN RED */ - if ((tid = H5Tcreate(H5T_ENUM, sizeof(e_t))) < 0) goto out; - if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) + if (H5Tenum_insert(tid, "RED", (val = 0, &val)) < 0) goto out; if (H5Tenum_insert(tid, "GREEN", (val = 1, &val)) < 0) goto out; - if (make_attr(loc_id,3,dims3,"enum3D",tid,buf453) < 0) + if (make_attr(loc_id, 3, dims3, "enum3D", tid, buf453) < 0) goto out; if (H5Tclose(tid) < 0) goto out; tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + * H5T_VLEN + *------------------------------------------------------------------------- + */ /* Allocate and initialize VL dataset to write */ - n=0; - for (i = 0; i < 4; i++) - { - for (j = 0; j < 3; j++) - { - for (k = 0; k < 2; k++) - { + n = 0; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { unsigned l; - buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int)); + buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int)); buf53[i][j][k].len = (size_t)i + 1; for (l = 0; l < i + 1; l++) if (make_diffs) @@ -5829,16 +5703,16 @@ int write_attr_in(hid_t loc_id, sid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - n=1; - for (i = 0; i < 24; i++) - { - for (j = 0; j < (int)dimarray[0]; j++) - { - if (make_diffs) buf63[i][j]=0; - else buf63[i][j]=n++; + * H5T_ARRAY + *------------------------------------------------------------------------- + */ + n = 1; + for (i = 0; i < 24; i++) { + for (j = 0; j < (int)dimarray[0]; j++) { + if (make_diffs) + buf63[i][j] = 0; + else + buf63[i][j] = n++; } } /* @@ -5863,23 +5737,19 @@ int write_attr_in(hid_t loc_id, tid = H5I_INVALID_HID; /*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ - n = 1; f = 1; - for(i = 0; i < 4; i++) - { - for(j = 0; j < 3; j++) - { - for(k = 0; k < 2; k++) - { - if(make_diffs) - { + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ + n = 1; + f = 1; + for (i = 0; i < 4; i++) { + for (j = 0; j < 3; j++) { + for (k = 0; k < 2; k++) { + if (make_diffs) { buf73[i][j][k] = 0; buf83[i][j][k] = 0; } - else - { + else { buf73[i][j][k] = n++; buf83[i][j][k] = f++; } @@ -5902,45 +5772,39 @@ int write_attr_in(hid_t loc_id, [ 1 1 1 ] 10 0 10 etc */ - if (make_attr(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73) < 0) + if (make_attr(loc_id, 3, dims3, "integer3D", H5T_NATIVE_INT, buf73) < 0) goto out; - if (make_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83) < 0) + if (make_attr(loc_id, 3, dims3, "float3D", H5T_NATIVE_FLOAT, buf83) < 0) goto out; - return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Aclose(aid); H5Sclose(sid); H5Tclose(tid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } - - - /*------------------------------------------------------------------------- -* Function: make_dset -* -* Purpose: utility function to create and write a dataset in LOC_ID -* -* Programmer: Pedro Vicente -* -* Date: November 12, 2003 -* -*------------------------------------------------------------------------- -*/ -static -int make_dset(hid_t loc_id, - const char *name, - hid_t sid, - hid_t dcpl, - void *buf) + * Function: make_dset + * + * Purpose: utility function to create and write a dataset in LOC_ID + * + * Programmer: Pedro Vicente + * + * Date: November 12, 2003 + * + *------------------------------------------------------------------------- + */ +static int +make_dset(hid_t loc_id, const char *name, hid_t sid, hid_t dcpl, void *buf) { - hid_t did=H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; if ((did = H5Dcreate2(loc_id, name, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) return -1; @@ -5951,42 +5815,34 @@ int make_dset(hid_t loc_id, return 0; out: - H5E_BEGIN_TRY { - H5Dclose(did); - } H5E_END_TRY; + H5E_BEGIN_TRY { H5Dclose(did); } + H5E_END_TRY; return -1; } - /*------------------------------------------------------------------------- -* Function: write_dset -* -* Purpose: utility function to create and write a dataset in LOC_ID -* -* Programmer: Pedro Vicente -* -* Date: November 12, 2003 -* -*------------------------------------------------------------------------- -*/ -static -int write_dset( hid_t loc_id, - int rank, - hsize_t *dims, - const char *dset_name, - hid_t tid, - void *buf ) + * Function: write_dset + * + * Purpose: utility function to create and write a dataset in LOC_ID + * + * Programmer: Pedro Vicente + * + * Date: November 12, 2003 + * + *------------------------------------------------------------------------- + */ +static int +write_dset(hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, hid_t tid, void *buf) { - hid_t did=H5I_INVALID_HID; - hid_t sid=H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; if ((sid = H5Screate_simple(rank, dims, NULL)) < 0) return -1; if ((did = H5Dcreate2(loc_id, dset_name, tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if (buf) - { - if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (buf) { + if (H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto out; } if (H5Dclose(did) < 0) @@ -5997,44 +5853,38 @@ int write_dset( hid_t loc_id, return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(did); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } - - /*------------------------------------------------------------------------- -* Function: make_attr -* -* Purpose: utility function to write an attribute in LOC_ID -* -* Programmer: Pedro Vicente -* -* Date: November 12, 2003 -* -*------------------------------------------------------------------------- -*/ -static -int make_attr(hid_t loc_id, - int rank, - hsize_t *dims, - const char *attr_name, - hid_t tid, - void *buf) + * Function: make_attr + * + * Purpose: utility function to write an attribute in LOC_ID + * + * Programmer: Pedro Vicente + * + * Date: November 12, 2003 + * + *------------------------------------------------------------------------- + */ +static int +make_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, hid_t tid, void *buf) { - hid_t aid; - hid_t sid; + hid_t aid; + hid_t sid; if ((sid = H5Screate_simple(rank, dims, NULL)) < 0) return -1; if ((aid = H5Acreate2(loc_id, attr_name, tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(buf) - { - if(H5Awrite(aid, tid, buf) < 0) + if (buf) { + if (H5Awrite(aid, tid, buf) < 0) goto out; } if (H5Aclose(aid) < 0) @@ -6044,119 +5894,120 @@ int make_attr(hid_t loc_id, return 0; out: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Aclose(aid); H5Sclose(sid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } - /*------------------------------------------------------------------------- -* Function: make_named_dtype -* -* Purpose: create a file with named datatypes in various configurations -* -*------------------------------------------------------------------------- -*/ -static -int make_named_dtype(hid_t loc_id) + * Function: make_named_dtype + * + * Purpose: create a file with named datatypes in various configurations + * + *------------------------------------------------------------------------- + */ +static int +make_named_dtype(hid_t loc_id) { - hsize_t dims[1] ={3}; - hid_t did=H5I_INVALID_HID; - hid_t aid=H5I_INVALID_HID; - hid_t sid=H5I_INVALID_HID; - hid_t tid=H5I_INVALID_HID; - hid_t gid=H5I_INVALID_HID; + hsize_t dims[1] = {3}; + hid_t did = H5I_INVALID_HID; + hid_t aid = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t tid = H5I_INVALID_HID; + hid_t gid = H5I_INVALID_HID; if ((sid = H5Screate_simple(1, dims, NULL)) < 0) goto out; /* Create a dataset with an anonymous committed datatype as the first thing * h5repack sees */ - if((tid = H5Tcopy(H5T_STD_I16LE)) < 0) + if ((tid = H5Tcopy(H5T_STD_I16LE)) < 0) goto out; - if(H5Tcommit_anon(loc_id, tid, H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Tcommit_anon(loc_id, tid, H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; if ((did = H5Dcreate2(loc_id, "A", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto out; /* Create an attribute on that dataset that uses a committed datatype in * a remote group */ - if((gid = H5Gcreate2(loc_id, "M", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(loc_id, "M", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; - if((gid = H5Gcreate2(loc_id, "M/M", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(loc_id, "M/M", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto out; - if((tid = H5Tcopy(H5T_STD_I16BE)) < 0) + if ((tid = H5Tcopy(H5T_STD_I16BE)) < 0) goto out; - if(H5Tcommit2(loc_id, "/M/M/A", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Tcommit2(loc_id, "/M/M/A", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; - if((aid = H5Acreate2(did, "A", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((aid = H5Acreate2(did, "A", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto out; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; /* Create a dataset in the remote group that uses a committed datatype in * the root group */ - if((tid = H5Tcopy(H5T_STD_I32LE)) < 0) + if ((tid = H5Tcopy(H5T_STD_I32LE)) < 0) goto out; - if(H5Tcommit2(loc_id, "N", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Tcommit2(loc_id, "N", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; - if((did = H5Dcreate2(loc_id, "M/M/B", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(loc_id, "M/M/B", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto out; /* Create an attribute on the remote dataset that uses an anonymous * committed datatype */ - if((tid = H5Tcopy(H5T_STD_I32BE)) < 0) + if ((tid = H5Tcopy(H5T_STD_I32BE)) < 0) goto out; - if(H5Tcommit_anon(loc_id, tid, H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Tcommit_anon(loc_id, tid, H5P_DEFAULT, H5P_DEFAULT) < 0) goto out; - if((aid = H5Acreate2(did, "A", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((aid = H5Acreate2(did, "A", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; /* Create another attribute that uses the same anonymous datatype */ - if((aid = H5Acreate2(did, "B", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((aid = H5Acreate2(did, "B", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto out; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; /* Create a dataset in the root group that uses the committed datatype in * the root group */ - if((tid = H5Topen2(loc_id, "N", H5P_DEFAULT)) < 0) + if ((tid = H5Topen2(loc_id, "N", H5P_DEFAULT)) < 0) goto out; - if((did = H5Dcreate2(loc_id, "O", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(loc_id, "O", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto out; /* Create 2 attributes on the committed datatype that use that datatype */ - if((aid = H5Acreate2(tid, "A", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((aid = H5Acreate2(tid, "A", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; - if((aid = H5Acreate2(tid, "B", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((aid = H5Acreate2(tid, "B", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; - if(H5Aclose(aid) < 0) + if (H5Aclose(aid) < 0) goto out; - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto out; /* Close */ @@ -6173,7 +6024,8 @@ out: H5Sclose(sid); H5Dclose(did); H5Gclose(gid); - } H5E_END_TRY; + } + H5E_END_TRY; return -1; } /* end make_named_dtype() */ @@ -6190,48 +6042,45 @@ out: * * Programmer: Jonathan Kim (March 23, 2010) *------------------------------------------------------------------------*/ -static herr_t add_attr_with_objref(hid_t file_id, hid_t obj_id) +static herr_t +add_attr_with_objref(hid_t file_id, hid_t obj_id) { int ret = SUCCEED; int status; /* attr obj ref */ - hsize_t dim_attr_objref[1]={3}; + hsize_t dim_attr_objref[1] = {3}; hobj_ref_t data_attr_objref[3]; /* -------------------------------- * add attribute with obj ref type */ /* ref to dset */ - status = H5Rcreate(&data_attr_objref[0],file_id,NAME_OBJ_DS1,H5R_OBJECT,(hid_t)-1); - if (status < 0) - { + status = H5Rcreate(&data_attr_objref[0], file_id, NAME_OBJ_DS1, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* ref to group */ - status = H5Rcreate(&data_attr_objref[1],file_id,NAME_OBJ_GRP,H5R_OBJECT,(hid_t)-1); - if (status < 0) - { + status = H5Rcreate(&data_attr_objref[1], file_id, NAME_OBJ_GRP, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* ref to datatype */ - status = H5Rcreate(&data_attr_objref[2],file_id,NAME_OBJ_NDTYPE,H5R_OBJECT,(hid_t)-1); - if (status < 0) - { + status = H5Rcreate(&data_attr_objref[2], file_id, NAME_OBJ_NDTYPE, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create attr with obj ref type */ - status = make_attr(obj_id,1,dim_attr_objref,"Attr_OBJREF",H5T_STD_REF_OBJ,data_attr_objref); - if (status < 0) - { + status = make_attr(obj_id, 1, dim_attr_objref, "Attr_OBJREF", H5T_STD_REF_OBJ, data_attr_objref); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> make_attr failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6240,7 +6089,6 @@ static herr_t add_attr_with_objref(hid_t file_id, hid_t obj_id) out: return ret; - } /*------------------------------------------------------------------------- @@ -6255,52 +6103,48 @@ out: * * Programmer: Jonathan Kim (March 23, 2010) *------------------------------------------------------------------------*/ -static herr_t add_attr_with_regref(hid_t file_id, hid_t obj_id) +static herr_t +add_attr_with_regref(hid_t file_id, hid_t obj_id) { int ret = SUCCEED; int status; /* attr region ref */ - hid_t sid_regrefed_dset=0; - hsize_t dim_regrefed_dset[2]={3,6}; - hsize_t coords_regrefed_dset[3][2] = {{0,1},{1,2},{2,3}}; - hsize_t dim_attr_regref[1]= {1}; /* dim of */ + hid_t sid_regrefed_dset = 0; + hsize_t dim_regrefed_dset[2] = {3, 6}; + hsize_t coords_regrefed_dset[3][2] = {{0, 1}, {1, 2}, {2, 3}}; + hsize_t dim_attr_regref[1] = {1}; /* dim of */ hdset_reg_ref_t data_attr_regref[1]; - /* ----------------------------------- * add attribute with region ref type */ - sid_regrefed_dset = H5Screate_simple (2, dim_regrefed_dset, NULL); - if (sid_regrefed_dset < 0) - { + sid_regrefed_dset = H5Screate_simple(2, dim_regrefed_dset, NULL); + if (sid_regrefed_dset < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* select elements space for reference */ - status = H5Sselect_elements (sid_regrefed_dset, H5S_SELECT_SET, (size_t)3, coords_regrefed_dset[0]); - if (status < 0) - { + status = H5Sselect_elements(sid_regrefed_dset, H5S_SELECT_SET, (size_t)3, coords_regrefed_dset[0]); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Sselect_elements failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create region reference from elements space */ - status = H5Rcreate (&data_attr_regref[0], file_id, NAME_OBJ_DS2, H5R_DATASET_REGION, sid_regrefed_dset); - if (status < 0) - { + status = H5Rcreate(&data_attr_regref[0], file_id, NAME_OBJ_DS2, H5R_DATASET_REGION, sid_regrefed_dset); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create attr with region ref type */ - status = make_attr(obj_id,1,dim_attr_regref,"Attr_REGREF",H5T_STD_REF_DSETREG,data_attr_regref); - if (status < 0) - { + status = make_attr(obj_id, 1, dim_attr_regref, "Attr_REGREF", H5T_STD_REF_DSETREG, data_attr_regref); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> make_attr failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6308,10 +6152,9 @@ static herr_t add_attr_with_regref(hid_t file_id, hid_t obj_id) out: if (sid_regrefed_dset > 0) - H5Sclose (sid_regrefed_dset); + H5Sclose(sid_regrefed_dset); return ret; - } /*------------------------------------------------------------------------- @@ -6325,44 +6168,42 @@ out: * * Programmer: Jonathan Kim (March 23, 2010) *------------------------------------------------------------------------*/ -static herr_t gen_refered_objs(hid_t loc_id) +static herr_t +gen_refered_objs(hid_t loc_id) { - int status; + int status; herr_t ret = SUCCEED; /* objects (dset, group, datatype) */ - hid_t sid=0, did1=0, gid=0, tid=0; - hsize_t dims1[1]={3}; - int data[3] = {10,20,30}; + hid_t sid = 0, did1 = 0, gid = 0, tid = 0; + hsize_t dims1[1] = {3}; + int data[3] = {10, 20, 30}; /* Dset2 */ - hid_t sid2=0, did2=0; - hsize_t dims2[2] = {3,16}; - char data2[3][16] = {"The quick brown", "fox jumps over ", "the 5 lazy dogs"}; + hid_t sid2 = 0, did2 = 0; + hsize_t dims2[2] = {3, 16}; + char data2[3][16] = {"The quick brown", "fox jumps over ", "the 5 lazy dogs"}; /*----------------------- * add short dataset * (define NAME_OBJ_DS1) */ sid = H5Screate_simple(1, dims1, NULL); - if (sid < 0) - { + if (sid < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - did1 = H5Dcreate2 (loc_id, NAME_OBJ_DS1, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (did1 < 0) - { + did1 = H5Dcreate2(loc_id, NAME_OBJ_DS1, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (did1 < 0) { HDfprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } status = H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6372,9 +6213,8 @@ static herr_t gen_refered_objs(hid_t loc_id) * add group * (define NAME_OBJ_GRP) */ - gid = H5Gcreate2 (loc_id, NAME_OBJ_GRP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (gid < 0) - { + gid = H5Gcreate2(loc_id, NAME_OBJ_GRP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (gid < 0) { HDfprintf(stderr, "Error: %s %d> H5Gcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6384,62 +6224,56 @@ static herr_t gen_refered_objs(hid_t loc_id) * add named datatype * (define NAME_OBJ_NDTYPE) */ - tid = H5Tcopy(H5T_NATIVE_INT); - status = H5Tcommit2(loc_id, NAME_OBJ_NDTYPE, tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + tid = H5Tcopy(H5T_NATIVE_INT); + status = H5Tcommit2(loc_id, NAME_OBJ_NDTYPE, tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Tcommit2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; - } - + } - /*-------------------------- - * create long dataset - * (define NAME_OBJ_DS2) - */ - sid2 = H5Screate_simple (2, dims2, NULL); - if (sid2 < 0) - { + /*-------------------------- + * create long dataset + * (define NAME_OBJ_DS2) + */ + sid2 = H5Screate_simple(2, dims2, NULL); + if (sid2 < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create normal dataset which is refered */ - did2 = H5Dcreate2 (loc_id, NAME_OBJ_DS2, H5T_STD_I8LE, sid2, H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT); - if (did2 < 0) - { + did2 = H5Dcreate2(loc_id, NAME_OBJ_DS2, H5T_STD_I8LE, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (did2 < 0) { HDfprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* write values to dataset */ - status = H5Dwrite (did2, H5T_NATIVE_CHAR, H5S_ALL, H5S_ALL, H5P_DEFAULT, data2); - if (status < 0) - { + status = H5Dwrite(did2, H5T_NATIVE_CHAR, H5S_ALL, H5S_ALL, H5P_DEFAULT, data2); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } out: - if(did1 > 0) + if (did1 > 0) H5Dclose(did1); - if(gid > 0) + if (gid > 0) H5Gclose(gid); - if(tid > 0) + if (tid > 0) H5Tclose(tid); - if(sid > 0) + if (sid > 0) H5Sclose(sid); - if(did2 > 0) + if (did2 > 0) H5Dclose(did2); - if(sid2 > 0) + if (sid2 > 0) H5Sclose(sid2); return ret; - } /*------------------------------------------------------------------------- @@ -6453,17 +6287,18 @@ out: * * Programmer: Jonathan Kim (March 18, 2010) *------------------------------------------------------------------------*/ -static herr_t gen_obj_ref(hid_t loc_id) +static herr_t +gen_obj_ref(hid_t loc_id) { - int status; + int status; herr_t ret = SUCCEED; - hid_t sid=0, oid=0; - hsize_t dims_dset_objref[1]={3}; + hid_t sid = 0, oid = 0; + hsize_t dims_dset_objref[1] = {3}; /* attr with int type */ - hsize_t dim_attr_int[1]={2}; - int data_attr_int[2] = {10,20}; + hsize_t dim_attr_int[1] = {2}; + int data_attr_int[2] = {10, 20}; /* write buffer for obj reference */ hobj_ref_t objref_buf[3]; @@ -6473,27 +6308,24 @@ static herr_t gen_obj_ref(hid_t loc_id) * Passing -1 as reference is an object.*/ /* obj ref to dataset */ - status = H5Rcreate (&objref_buf[0], loc_id, NAME_OBJ_DS1, H5R_OBJECT, (hid_t)-1); - if (status < 0) - { + status = H5Rcreate(&objref_buf[0], loc_id, NAME_OBJ_DS1, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* obj ref to group */ - status = H5Rcreate (&objref_buf[1], loc_id, NAME_OBJ_GRP, H5R_OBJECT, (hid_t)-1); - if (status < 0) - { + status = H5Rcreate(&objref_buf[1], loc_id, NAME_OBJ_GRP, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* obj ref to named-datatype */ - status = H5Rcreate (&objref_buf[2], loc_id, NAME_OBJ_NDTYPE, H5R_OBJECT, (hid_t)-1); - if (status < 0) - { + status = H5Rcreate(&objref_buf[2], loc_id, NAME_OBJ_NDTYPE, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6502,38 +6334,34 @@ static herr_t gen_obj_ref(hid_t loc_id) /*--------------------------------------------------------- * create dataset contain references */ - sid = H5Screate_simple (1, dims_dset_objref, NULL); - if (sid < 0) - { + sid = H5Screate_simple(1, dims_dset_objref, NULL); + if (sid < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - oid = H5Dcreate2 (loc_id, "Dset_OBJREF", H5T_STD_REF_OBJ, sid, H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT); - if (oid < 0) - { + oid = H5Dcreate2(loc_id, "Dset_OBJREF", H5T_STD_REF_OBJ, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (oid < 0) { HDfprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } status = H5Dwrite(oid, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, objref_buf); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* add attribute with int type */ - if (make_attr(oid,1,dim_attr_int,"integer",H5T_NATIVE_INT,data_attr_int) < 0) + if (make_attr(oid, 1, dim_attr_int, "integer", H5T_NATIVE_INT, data_attr_int) < 0) goto out; /* add attribute with obj ref */ status = add_attr_with_objref(loc_id, oid); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> add_attr_with_objref failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6541,23 +6369,21 @@ static herr_t gen_obj_ref(hid_t loc_id) /* add attribute with region ref */ status = add_attr_with_regref(loc_id, oid); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> add_attr_with_regref failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } out: - if(oid > 0) + if (oid > 0) H5Dclose(oid); - if(sid > 0) + if (sid > 0) H5Sclose(sid); return ret; } - /*------------------------------------------------------------------------- * Function: gen_region_ref * @@ -6568,110 +6394,103 @@ out: * * Programmer: Jonathan Kim (March 18, 2010) *------------------------------------------------------------------------*/ -static herr_t gen_region_ref(hid_t loc_id) +static herr_t +gen_region_ref(hid_t loc_id) { - int status; + int status; herr_t ret = SUCCEED; /* target dataset */ - hid_t sid_trg=0; - hsize_t dims_trg[2] = {3,16}; + hid_t sid_trg = 0; + hsize_t dims_trg[2] = {3, 16}; /* dset with region ref type */ - hid_t sid_ref=0, oid_ref=0; + hid_t sid_ref = 0, oid_ref = 0; /* region ref to target dataset */ - hsize_t coords[4][2] = { {0,1}, {2,11}, {1,0}, {2,4} }; - hdset_reg_ref_t rr_data[2]; - hsize_t start[2] = {0,0}; - hsize_t stride[2] = {2,11}; - hsize_t count[2] = {2,2}; - hsize_t block[2] = {1,3}; - hsize_t dims1[1] = {2}; + hsize_t coords[4][2] = {{0, 1}, {2, 11}, {1, 0}, {2, 4}}; + hdset_reg_ref_t rr_data[2]; + hsize_t start[2] = {0, 0}; + hsize_t stride[2] = {2, 11}; + hsize_t count[2] = {2, 2}; + hsize_t block[2] = {1, 3}; + hsize_t dims1[1] = {2}; /* attr with int type */ - hsize_t dim_attr_int[1]={2}; - int data_attr_int[2] = {10,20}; + hsize_t dim_attr_int[1] = {2}; + int data_attr_int[2] = {10, 20}; - sid_trg = H5Screate_simple (2, dims_trg, NULL); - if (sid_trg < 0) - { + sid_trg = H5Screate_simple(2, dims_trg, NULL); + if (sid_trg < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* select elements space for reference */ - status = H5Sselect_elements (sid_trg, H5S_SELECT_SET, (size_t)4, coords[0]); - if (status < 0) - { + status = H5Sselect_elements(sid_trg, H5S_SELECT_SET, (size_t)4, coords[0]); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Sselect_elements failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create region reference from elements space */ - status = H5Rcreate (&rr_data[0], loc_id, NAME_OBJ_DS2, H5R_DATASET_REGION, sid_trg); - if (status < 0) - { + status = H5Rcreate(&rr_data[0], loc_id, NAME_OBJ_DS2, H5R_DATASET_REGION, sid_trg); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* select hyperslab space for reference */ - status = H5Sselect_hyperslab (sid_trg, H5S_SELECT_SET, start, stride, count, block); - if (status < 0) - { + status = H5Sselect_hyperslab(sid_trg, H5S_SELECT_SET, start, stride, count, block); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Sselect_hyperslab failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create region reference from hyperslab space */ - status = H5Rcreate (&rr_data[1], loc_id, NAME_OBJ_DS2, H5R_DATASET_REGION, sid_trg); - if (status < 0) - { + status = H5Rcreate(&rr_data[1], loc_id, NAME_OBJ_DS2, H5R_DATASET_REGION, sid_trg); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* Create dataspace. */ - sid_ref = H5Screate_simple (1, dims1, NULL); - if (sid_ref < 0) - { + sid_ref = H5Screate_simple(1, dims1, NULL); + if (sid_ref < 0) { HDfprintf(stderr, "Error: %s %d> H5Screate_simple failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* create region reference dataset */ - oid_ref = H5Dcreate2 (loc_id, REG_REF_DS1, H5T_STD_REF_DSETREG, sid_ref, H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT); - if (oid_ref < 0) - { + oid_ref = + H5Dcreate2(loc_id, REG_REF_DS1, H5T_STD_REF_DSETREG, sid_ref, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (oid_ref < 0) { HDfprintf(stderr, "Error: %s %d> H5Dcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* write data as region references */ - status = H5Dwrite (oid_ref, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rr_data); - if (status < 0) - { + status = H5Dwrite(oid_ref, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, rr_data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* add attribute with int type */ - if (make_attr(oid_ref,1,dim_attr_int,"integer",H5T_NATIVE_INT,data_attr_int) < 0) + if (make_attr(oid_ref, 1, dim_attr_int, "integer", H5T_NATIVE_INT, data_attr_int) < 0) goto out; /* add attribute with obj ref */ status = add_attr_with_objref(loc_id, oid_ref); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> add_attr_with_objref failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6679,8 +6498,7 @@ static herr_t gen_region_ref(hid_t loc_id) /* add attribute with region ref */ status = add_attr_with_regref(loc_id, oid_ref); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> add_attr_with_regref failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6688,48 +6506,46 @@ static herr_t gen_region_ref(hid_t loc_id) out: if (oid_ref > 0) - H5Dclose (oid_ref); + H5Dclose(oid_ref); if (sid_ref > 0) - H5Sclose (sid_ref); + H5Sclose(sid_ref); if (sid_trg > 0) - H5Sclose (sid_trg); + H5Sclose(sid_trg); return ret; } /*------------------------------------------------------------------------- -* Function: make_references -* -* Purpose: create a file with obj and region references -* -* Programmer: Jonathan Kim (March 18, 2010) -*------------------------------------------------------------------------- -*/ -static herr_t make_references(hid_t loc_id) + * Function: make_references + * + * Purpose: create a file with obj and region references + * + * Programmer: Jonathan Kim (March 18, 2010) + *------------------------------------------------------------------------- + */ +static herr_t +make_references(hid_t loc_id) { herr_t ret = SUCCEED; herr_t status; /* add target objects */ status = gen_refered_objs(loc_id); - if (status == FAIL) - { + if (status == FAIL) { HDfprintf(stderr, "Failed to generate referenced object.\n"); ret = FAIL; } /* add object reference */ status = gen_obj_ref(loc_id); - if (status == FAIL) - { + if (status == FAIL) { HDfprintf(stderr, "Failed to generate object reference.\n"); ret = FAIL; } /* add region reference */ status = gen_region_ref(loc_id); - if (status == FAIL) - { + if (status == FAIL) { HDfprintf(stderr, "Failed to generate region reference.\n"); ret = FAIL; } @@ -6738,110 +6554,107 @@ static herr_t make_references(hid_t loc_id) } /*------------------------------------------------------------------------- -* Function: make_complex_attr_references -* -* Purpose: -* create a file with : -* 1. obj ref in attribute of compound type -* 2. region ref in attribute of compound type -* 3. obj ref in attribute of vlen type -* 4. region ref in attribute of vlen type -* -* Programmer: Jonathan (March 25, 2010) -*------------------------------------------------------------------------- -*/ + * Function: make_complex_attr_references + * + * Purpose: + * create a file with : + * 1. obj ref in attribute of compound type + * 2. region ref in attribute of compound type + * 3. obj ref in attribute of vlen type + * 4. region ref in attribute of vlen type + * + * Programmer: Jonathan (March 25, 2010) + *------------------------------------------------------------------------- + */ /* obj dset */ #define RANK_OBJ 2 #define DIM0_OBJ 6 #define DIM1_OBJ 10 /* container dset */ #define RANK_DSET 1 -#define DIM_DSET 4 +#define DIM_DSET 4 /* 1. obj references in compound attr */ #define RANK_COMP_OBJREF 1 -#define DIM_COMP_OBJREF 3 /* for dataset, group, datatype */ +#define DIM_COMP_OBJREF 3 /* for dataset, group, datatype */ /* 2. region references in compound attr */ #define RANK_COMP_REGREF 1 -#define DIM_COMP_REGREF 1 /* for element region */ +#define DIM_COMP_REGREF 1 /* for element region */ /* 3. obj references in vlen attr */ #define RANK_VLEN_OBJREF 1 -#define DIM_VLEN_OBJREF 3 /* for dataset, group, datatype */ -#define LEN0_VLEN_OBJREF 1 /* dataset */ -#define LEN1_VLEN_OBJREF 1 /* group */ -#define LEN2_VLEN_OBJREF 1 /* datatype */ +#define DIM_VLEN_OBJREF 3 /* for dataset, group, datatype */ +#define LEN0_VLEN_OBJREF 1 /* dataset */ +#define LEN1_VLEN_OBJREF 1 /* group */ +#define LEN2_VLEN_OBJREF 1 /* datatype */ /* 4. region references in vlen attr */ #define RANK_VLEN_REGREF 1 -#define DIM_VLEN_REGREF 1 /* for element region */ -#define LEN0_VLEN_REGREF 1 /* element region */ +#define DIM_VLEN_REGREF 1 /* for element region */ +#define LEN0_VLEN_REGREF 1 /* element region */ -static herr_t make_complex_attr_references(hid_t loc_id) +static herr_t +make_complex_attr_references(hid_t loc_id) { herr_t ret = SUCCEED; herr_t status; /* * for objects */ - hid_t objgid=0, objdid=0, objtid=0, objsid=0; - hsize_t obj_dims[RANK_OBJ] = {DIM0_OBJ, DIM1_OBJ}; - int obj_data[DIM0_OBJ][DIM1_OBJ]= - {{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, - {10,11,12,13,14,15,16,17,18,19}, - {20,21,22,23,24,25,26,27,28,29}, - {30,31,32,33,34,35,36,37,38,39}, - {40,41,42,43,44,45,46,47,48,49}, - {50,51,52,53,54,55,56,57,58,59}}; + hid_t objgid = 0, objdid = 0, objtid = 0, objsid = 0; + hsize_t obj_dims[RANK_OBJ] = {DIM0_OBJ, DIM1_OBJ}; + int obj_data[DIM0_OBJ][DIM1_OBJ] = { + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}, + {20, 21, 22, 23, 24, 25, 26, 27, 28, 29}, {30, 31, 32, 33, 34, 35, 36, 37, 38, 39}, + {40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, {50, 51, 52, 53, 54, 55, 56, 57, 58, 59}}; /* * group main */ - hid_t main_gid=0; + hid_t main_gid = 0; /* * dataset which the attribute will be attached to */ hsize_t main_dset_dims[RANK_DSET] = {DIM_DSET}; - hid_t main_sid=0, main_did=0; + hid_t main_sid = 0, main_did = 0; /* * 1. obj references in compound attr */ - hid_t comp_objref_tid=0, comp_objref_aid=0; + hid_t comp_objref_tid = 0, comp_objref_aid = 0; typedef struct comp_objref_t { hobj_ref_t val_objref; - int val_int; + int val_int; } comp_objref_t; comp_objref_t comp_objref_data[DIM_COMP_OBJREF]; - hid_t comp_objref_attr_sid=0; - hsize_t comp_objref_dim[RANK_COMP_OBJREF] = {DIM_COMP_OBJREF}; + hid_t comp_objref_attr_sid = 0; + hsize_t comp_objref_dim[RANK_COMP_OBJREF] = {DIM_COMP_OBJREF}; /* * 2. region references in compound attr */ - hid_t comp_regref_tid=0, comp_regref_aid=0; + hid_t comp_regref_tid = 0, comp_regref_aid = 0; typedef struct comp_regref_t { hdset_reg_ref_t val_regref; - int val_int; + int val_int; } comp_regref_t; comp_regref_t comp_regref_data[DIM_COMP_REGREF]; - hid_t comp_regref_attr_sid=0; - hsize_t comp_regref_dim[RANK_COMP_REGREF] = {DIM_COMP_REGREF}; - hsize_t coords[4][2] = { {0,1}, {2,3}, {3,4}, {4,5} }; + hid_t comp_regref_attr_sid = 0; + hsize_t comp_regref_dim[RANK_COMP_REGREF] = {DIM_COMP_REGREF}; + hsize_t coords[4][2] = {{0, 1}, {2, 3}, {3, 4}, {4, 5}}; /* * 3. obj references in vlen attr */ - hid_t vlen_objref_attr_tid=0, vlen_objref_attr_sid=0; - hid_t vlen_objref_attr_id=0; - hvl_t vlen_objref_data[DIM_VLEN_OBJREF]; + hid_t vlen_objref_attr_tid = 0, vlen_objref_attr_sid = 0; + hid_t vlen_objref_attr_id = 0; + hvl_t vlen_objref_data[DIM_VLEN_OBJREF]; hsize_t vlen_objref_dims[RANK_VLEN_OBJREF] = {DIM_VLEN_OBJREF}; /* * 4. region references in vlen attr */ - hid_t vlen_regref_attr_tid=0, vlen_regref_attr_sid=0; - hid_t vlen_regref_attr_id=0; - hvl_t vlen_regref_data[DIM_VLEN_REGREF]; + hid_t vlen_regref_attr_tid = 0, vlen_regref_attr_sid = 0; + hid_t vlen_regref_attr_id = 0; + hvl_t vlen_regref_data[DIM_VLEN_REGREF]; hsize_t vlen_regref_dim[RANK_VLEN_REGREF] = {DIM_VLEN_REGREF}; - /* --------------------------------------- * create objects which to be referenced */ @@ -6852,8 +6665,7 @@ static herr_t make_complex_attr_references(hid_t loc_id) objsid = H5Screate_simple(RANK_OBJ, obj_dims, NULL); objdid = H5Dcreate2(loc_id, NAME_OBJ_DS1, H5T_NATIVE_INT, objsid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(objdid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, obj_data[0]); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6862,21 +6674,18 @@ static herr_t make_complex_attr_references(hid_t loc_id) /* object3 named datatype */ objtid = H5Tcopy(H5T_NATIVE_INT); status = H5Tcommit2(loc_id, NAME_OBJ_NDTYPE, objtid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Tcommit2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - /* --------------------------------------------- * Put testing objs in this group * create group contain dataset with attribute and the attribute has * compound type which contain obj and region reference */ main_gid = H5Gcreate2(loc_id, "group_main", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (main_gid < 0) - { + if (main_gid < 0) { HDfprintf(stderr, "Error: %s %d> H5Gcreate2 failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6887,11 +6696,11 @@ static herr_t make_complex_attr_references(hid_t loc_id) */ main_sid = H5Screate_simple(RANK_DSET, main_dset_dims, NULL); - main_did = H5Dcreate2(main_gid, "dset_main", H5T_NATIVE_INT, main_sid, H5P_DEFAULT,H5P_DEFAULT, H5P_DEFAULT); + main_did = + H5Dcreate2(main_gid, "dset_main", H5T_NATIVE_INT, main_sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); status = H5Dwrite(main_did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, obj_data[0]); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Dwrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6904,7 +6713,7 @@ static herr_t make_complex_attr_references(hid_t loc_id) /* * create compound type for attribute */ - comp_objref_tid = H5Tcreate (H5T_COMPOUND, sizeof(comp_objref_t)); + comp_objref_tid = H5Tcreate(H5T_COMPOUND, sizeof(comp_objref_t)); H5Tinsert(comp_objref_tid, "value_objref", HOFFSET(comp_objref_t, val_objref), H5T_STD_REF_OBJ); H5Tinsert(comp_objref_tid, "value_int", HOFFSET(comp_objref_t, val_int), H5T_NATIVE_INT); @@ -6912,30 +6721,27 @@ static herr_t make_complex_attr_references(hid_t loc_id) /* * Create the object references into compound type */ - /* references to dataset */ - status = H5Rcreate (&(comp_objref_data[0].val_objref), loc_id, NAME_OBJ_DS1, H5R_OBJECT,(hid_t)-1); - if (status < 0) - { + /* references to dataset */ + status = H5Rcreate(&(comp_objref_data[0].val_objref), loc_id, NAME_OBJ_DS1, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } comp_objref_data[0].val_int = 0; - /* references to group */ - status = H5Rcreate (&(comp_objref_data[1].val_objref), loc_id, NAME_OBJ_GRP, H5R_OBJECT,(hid_t)-1); - if (status < 0) - { + /* references to group */ + status = H5Rcreate(&(comp_objref_data[1].val_objref), loc_id, NAME_OBJ_GRP, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } comp_objref_data[1].val_int = 10; - /* references to datatype */ - status = H5Rcreate (&(comp_objref_data[2].val_objref), loc_id, NAME_OBJ_NDTYPE, H5R_OBJECT,(hid_t)-1); - if (status < 0) - { + /* references to datatype */ + status = H5Rcreate(&(comp_objref_data[2].val_objref), loc_id, NAME_OBJ_NDTYPE, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6945,11 +6751,11 @@ static herr_t make_complex_attr_references(hid_t loc_id) /* * create attribute and write the object ref */ - comp_objref_attr_sid = H5Screate_simple (RANK_COMP_OBJREF, comp_objref_dim, NULL); - comp_objref_aid = H5Acreate2 (main_did, "Comp_OBJREF", comp_objref_tid, comp_objref_attr_sid, H5P_DEFAULT, H5P_DEFAULT); - status = H5Awrite (comp_objref_aid, comp_objref_tid, comp_objref_data); - if (status < 0) - { + comp_objref_attr_sid = H5Screate_simple(RANK_COMP_OBJREF, comp_objref_dim, NULL); + comp_objref_aid = + H5Acreate2(main_did, "Comp_OBJREF", comp_objref_tid, comp_objref_attr_sid, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(comp_objref_aid, comp_objref_tid, comp_objref_data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Awrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6961,7 +6767,7 @@ static herr_t make_complex_attr_references(hid_t loc_id) /* * create compound type for attribute */ - comp_regref_tid = H5Tcreate (H5T_COMPOUND, sizeof(comp_regref_t)); + comp_regref_tid = H5Tcreate(H5T_COMPOUND, sizeof(comp_regref_t)); H5Tinsert(comp_regref_tid, "value_regref", HOFFSET(comp_regref_t, val_regref), H5T_STD_REF_DSETREG); H5Tinsert(comp_regref_tid, "value_int", HOFFSET(comp_regref_t, val_int), H5T_NATIVE_INT); @@ -6969,16 +6775,14 @@ static herr_t make_complex_attr_references(hid_t loc_id) /* * create the region reference */ - status = H5Sselect_elements (objsid, H5S_SELECT_SET, (size_t)4, coords[0]); - if (status < 0) - { + status = H5Sselect_elements(objsid, H5S_SELECT_SET, (size_t)4, coords[0]); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Sselect_elements failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - status = H5Rcreate (&(comp_regref_data[0].val_regref), loc_id, NAME_OBJ_DS1, H5R_DATASET_REGION, objsid); - if (status < 0) - { + status = H5Rcreate(&(comp_regref_data[0].val_regref), loc_id, NAME_OBJ_DS1, H5R_DATASET_REGION, objsid); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -6988,80 +6792,78 @@ static herr_t make_complex_attr_references(hid_t loc_id) /* * create attribute and write the region ref */ - comp_regref_attr_sid = H5Screate_simple (RANK_COMP_REGREF, comp_regref_dim, NULL); - comp_regref_aid = H5Acreate2 (main_did, "Comp_REGREF", comp_regref_tid, comp_regref_attr_sid, H5P_DEFAULT, H5P_DEFAULT); - status = H5Awrite (comp_regref_aid, comp_regref_tid, comp_regref_data); - if (status < 0) - { + comp_regref_attr_sid = H5Screate_simple(RANK_COMP_REGREF, comp_regref_dim, NULL); + comp_regref_aid = + H5Acreate2(main_did, "Comp_REGREF", comp_regref_tid, comp_regref_attr_sid, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(comp_regref_aid, comp_regref_tid, comp_regref_data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Awrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - /*------------------------------------------------------------------- * 3. create obj references in attribute of vlen type */ /* * prepare vlen data */ - vlen_objref_data[0].len = LEN0_VLEN_OBJREF; - vlen_objref_data[0].p = HDmalloc (vlen_objref_data[0].len * sizeof(hobj_ref_t)); - vlen_objref_data[1].len = LEN1_VLEN_OBJREF; - vlen_objref_data[1].p = HDmalloc (vlen_objref_data[1].len * sizeof(hobj_ref_t)); - vlen_objref_data[2].len = LEN2_VLEN_OBJREF; - vlen_objref_data[2].p = HDmalloc (vlen_objref_data[2].len * sizeof(hobj_ref_t)); - - /* - * create obj references - */ - /* reference to dataset */ - status = H5Rcreate (&((hobj_ref_t*)vlen_objref_data[0].p)[0], loc_id, NAME_OBJ_DS1, H5R_OBJECT, (hid_t)-1); - if (status < 0) - { + vlen_objref_data[0].len = LEN0_VLEN_OBJREF; + vlen_objref_data[0].p = HDmalloc(vlen_objref_data[0].len * sizeof(hobj_ref_t)); + vlen_objref_data[1].len = LEN1_VLEN_OBJREF; + vlen_objref_data[1].p = HDmalloc(vlen_objref_data[1].len * sizeof(hobj_ref_t)); + vlen_objref_data[2].len = LEN2_VLEN_OBJREF; + vlen_objref_data[2].p = HDmalloc(vlen_objref_data[2].len * sizeof(hobj_ref_t)); + + /* + * create obj references + */ + /* reference to dataset */ + status = + H5Rcreate(&((hobj_ref_t *)vlen_objref_data[0].p)[0], loc_id, NAME_OBJ_DS1, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - /* reference to group */ - status = H5Rcreate (&((hobj_ref_t*)vlen_objref_data[1].p)[0], loc_id, NAME_OBJ_GRP, H5R_OBJECT, (hid_t)-1); - if (status < 0) - { + /* reference to group */ + status = + H5Rcreate(&((hobj_ref_t *)vlen_objref_data[1].p)[0], loc_id, NAME_OBJ_GRP, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - /* reference to datatype */ - status = H5Rcreate (&((hobj_ref_t*)vlen_objref_data[2].p)[0], loc_id, NAME_OBJ_NDTYPE, H5R_OBJECT, (hid_t)-1); - if (status < 0) - { + /* reference to datatype */ + status = + H5Rcreate(&((hobj_ref_t *)vlen_objref_data[2].p)[0], loc_id, NAME_OBJ_NDTYPE, H5R_OBJECT, (hid_t)-1); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - /* - * create vlen type with obj reference - */ - vlen_objref_attr_tid = H5Tvlen_create (H5T_STD_REF_OBJ); - vlen_objref_attr_sid = H5Screate_simple (RANK_VLEN_OBJREF, vlen_objref_dims, NULL); + /* + * create vlen type with obj reference + */ + vlen_objref_attr_tid = H5Tvlen_create(H5T_STD_REF_OBJ); + vlen_objref_attr_sid = H5Screate_simple(RANK_VLEN_OBJREF, vlen_objref_dims, NULL); - /* + /* * create attribute and write the object reference */ - vlen_objref_attr_id = H5Acreate2(main_did, "Vlen_OBJREF", vlen_objref_attr_tid, vlen_objref_attr_sid, H5P_DEFAULT, H5P_DEFAULT); - status = H5Awrite (vlen_objref_attr_id, vlen_objref_attr_tid, vlen_objref_data); - if (status < 0) - { + vlen_objref_attr_id = H5Acreate2(main_did, "Vlen_OBJREF", vlen_objref_attr_tid, vlen_objref_attr_sid, + H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(vlen_objref_attr_id, vlen_objref_attr_tid, vlen_objref_data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Awrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* close resource for vlen data */ - status = H5Treclaim (vlen_objref_attr_tid, vlen_objref_attr_sid, H5P_DEFAULT, vlen_objref_data); - if (status < 0) - { + status = H5Treclaim(vlen_objref_attr_tid, vlen_objref_attr_sid, H5P_DEFAULT, vlen_objref_data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Treclaim failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -7075,21 +6877,20 @@ static herr_t make_complex_attr_references(hid_t loc_id) * prepare vlen data */ vlen_regref_data[0].len = LEN0_VLEN_REGREF; - vlen_regref_data[0].p = HDmalloc (vlen_regref_data[0].len * sizeof(hdset_reg_ref_t)); + vlen_regref_data[0].p = HDmalloc(vlen_regref_data[0].len * sizeof(hdset_reg_ref_t)); /* * create region reference */ status = H5Sselect_elements(objsid, H5S_SELECT_SET, (size_t)4, coords[0]); - if (status < 0) - { + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Sselect_elements failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } - status = H5Rcreate (&((hdset_reg_ref_t*)vlen_regref_data[0].p)[0], loc_id, NAME_OBJ_DS1, H5R_DATASET_REGION, objsid); - if (status < 0) - { + status = H5Rcreate(&((hdset_reg_ref_t *)vlen_regref_data[0].p)[0], loc_id, NAME_OBJ_DS1, + H5R_DATASET_REGION, objsid); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Rcreate failed.\n", FUNC, __LINE__); ret = FAIL; goto out; @@ -7104,19 +6905,18 @@ static herr_t make_complex_attr_references(hid_t loc_id) /* * create attribute and write the region reference */ - vlen_regref_attr_id = H5Acreate2(main_did, "Vlen_REGREF", vlen_regref_attr_tid, vlen_regref_attr_sid, H5P_DEFAULT, H5P_DEFAULT); - status = H5Awrite(vlen_regref_attr_id, vlen_regref_attr_tid, vlen_regref_data); - if (status < 0) - { + vlen_regref_attr_id = H5Acreate2(main_did, "Vlen_REGREF", vlen_regref_attr_tid, vlen_regref_attr_sid, + H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(vlen_regref_attr_id, vlen_regref_attr_tid, vlen_regref_data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Awrite failed.\n", FUNC, __LINE__); ret = FAIL; goto out; } /* close resource for vlen data */ - status = H5Treclaim (vlen_regref_attr_tid, vlen_regref_attr_sid, H5P_DEFAULT, vlen_regref_data); - if (status < 0) - { + status = H5Treclaim(vlen_regref_attr_tid, vlen_regref_attr_sid, H5P_DEFAULT, vlen_regref_data); + if (status < 0) { HDfprintf(stderr, "Error: %s %d> H5Treclaim failed.\n", FUNC, __LINE__); ret = FAIL; goto out; diff --git a/tools/test/h5repack/testh5repack_detect_szip.c b/tools/test/h5repack/testh5repack_detect_szip.c index 6b86dd5..7da550b 100644 --- a/tools/test/h5repack/testh5repack_detect_szip.c +++ b/tools/test/h5repack/testh5repack_detect_szip.c @@ -16,7 +16,6 @@ #include "h5tools_utils.h" #include "h5test.h" - /* Name of tool */ #define PROGRAMNAME "h5repack_detect_szip" @@ -39,8 +38,8 @@ *------------------------------------------------------------------------- */ - -int main(void) +int +main(void) { h5tools_setprogname(PROGRAMNAME); h5tools_setstatus(EXIT_SUCCESS); @@ -51,9 +50,9 @@ int main(void) #ifdef H5_HAVE_FILTER_SZIP if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { HDprintf("yes\n"); - return(1); + return (1); } #endif /* H5_HAVE_FILTER_SZIP */ HDprintf("no\n"); - return(0); + return (0); } diff --git a/tools/test/h5stat/h5stat_gentest.c b/tools/test/h5stat/h5stat_gentest.c index 0bf1001..c5e8570 100644 --- a/tools/test/h5stat/h5stat_gentest.c +++ b/tools/test/h5stat/h5stat_gentest.c @@ -24,28 +24,28 @@ #include "H5private.h" /* For gen_newgrat_file() */ -#define NEWGRAT_FILE "h5stat_newgrat.h5" -#define DATASET_NAME "DATASET_NAME" -#define GROUP_NAME "GROUP" +#define NEWGRAT_FILE "h5stat_newgrat.h5" +#define DATASET_NAME "DATASET_NAME" +#define GROUP_NAME "GROUP" #define ATTR_NAME "ATTR" #define NUM_GRPS 35000 #define NUM_ATTRS 100 /* Declarations for gen_idx_file() */ -#define IDX_FILE "h5stat_idx.h5" +#define IDX_FILE "h5stat_idx.h5" #define DSET "dset" -#define DSET_FILTER "dset_filter" +#define DSET_FILTER "dset_filter" /* For gen_threshold_file() */ -#define THRESHOLD_FILE "h5stat_threshold.h5" -#define THRES_ATTR_NAME "attr" -#define THRES_ATTR_GRP_NAME "grp_attr" +#define THRESHOLD_FILE "h5stat_threshold.h5" +#define THRES_ATTR_NAME "attr" +#define THRES_ATTR_GRP_NAME "grp_attr" #define THRES_DSET_NAME "dset" -#define THRES_NUM 10 +#define THRES_NUM 10 #define THRES_NUM_25 25 /* For gen_err_refcount() */ -#define ERR_REFCOUNT_FILE "h5stat_err_refcount.h5" +#define ERR_REFCOUNT_FILE "h5stat_err_refcount.h5" /* * Generate HDF5 file with latest format with @@ -54,71 +54,72 @@ static void gen_newgrat_file(const char *fname) { - hid_t fcpl = H5I_INVALID_HID; /* File creation property */ - hid_t fapl = H5I_INVALID_HID; /* File access property */ - hid_t fid = H5I_INVALID_HID; /* File id */ - hid_t gid = H5I_INVALID_HID; /* Group id */ - hid_t tid = H5I_INVALID_HID; /* Datatype id */ - hid_t sid = H5I_INVALID_HID; /* Dataspace id */ - hid_t attr_id = H5I_INVALID_HID; /* Attribute id */ - hid_t did = H5I_INVALID_HID; /* Dataset id */ - char name[30]; /* Group name */ - char attrname[30]; /* Attribute name */ - int i; /* Local index variable */ + hid_t fcpl = H5I_INVALID_HID; /* File creation property */ + hid_t fapl = H5I_INVALID_HID; /* File access property */ + hid_t fid = H5I_INVALID_HID; /* File id */ + hid_t gid = H5I_INVALID_HID; /* Group id */ + hid_t tid = H5I_INVALID_HID; /* Datatype id */ + hid_t sid = H5I_INVALID_HID; /* Dataspace id */ + hid_t attr_id = H5I_INVALID_HID; /* Attribute id */ + hid_t did = H5I_INVALID_HID; /* Dataset id */ + char name[30]; /* Group name */ + char attrname[30]; /* Attribute name */ + int i; /* Local index variable */ /* Get a copy file access property list */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) goto error; /* Set to use latest library format */ - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + if (H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) goto error; /* Get a copy of file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto error; /* Set file space handling strategy */ - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, 1, (hsize_t)1) < 0) + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, 1, (hsize_t)1) < 0) goto error; - /* Create file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) + /* Create file */ + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) goto error; /* Create NUM_GRPS groups in the root group */ - for(i = 1; i <= NUM_GRPS; i++) { - HDsprintf(name, "%s%d", GROUP_NAME,i); - if((gid = H5Gcreate2(fid, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 1; i <= NUM_GRPS; i++) { + HDsprintf(name, "%s%d", GROUP_NAME, i); + if ((gid = H5Gcreate2(fid, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto error; } /* end for */ /* Create a datatype to commit and use */ - if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) + if ((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) goto error; /* Create dataspace for dataset */ - if((sid = H5Screate(H5S_SCALAR)) < 0) + if ((sid = H5Screate(H5S_SCALAR)) < 0) goto error; /* Create dataset */ - if((did = H5Dcreate2(fid, DATASET_NAME, tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, DATASET_NAME, tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create NUM_ATTRS for the dataset */ - for(i = 1; i <= NUM_ATTRS; i++) { - HDsprintf(attrname, "%s%d", ATTR_NAME,i); - if((attr_id = H5Acreate2(did, attrname, tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 1; i <= NUM_ATTRS; i++) { + HDsprintf(attrname, "%s%d", ATTR_NAME, i); + if ((attr_id = H5Acreate2(did, attrname, tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if(H5Aclose(attr_id) < 0) + if (H5Aclose(attr_id) < 0) goto error; } /* end for */ /* Close dataset, dataspace, datatype, file */ error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(fapl); H5Pclose(fcpl); H5Aclose(attr_id); @@ -127,178 +128,183 @@ error: H5Sclose(sid); H5Gclose(gid); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; } /* gen_newgrat_file() */ /* * Generate an HDF5 file with groups, datasets, attributes for testing the options: * -l N (--links=N): Set the threshold for # of links when printing information for small groups. - * -m N (--dims=N): Set the threshold for the # of dimension sizes when printing information for small datasets. - * -a N (--numattrs=N): Set the threshold for the # of attributes when printing information for small # of attributes. + * -m N (--dims=N): Set the threshold for the # of dimension sizes when printing information for small + * datasets. -a N (--numattrs=N): Set the threshold for the # of attributes when printing information for + * small # of attributes. */ static void gen_threshold_file(const char *fname) { - hid_t fid = H5I_INVALID_HID; /* File ID */ - hid_t sid0 = H5I_INVALID_HID; /* Dataspace IDs */ - hid_t sid1 = H5I_INVALID_HID; /* Dataspace IDs */ - hid_t sid2 = H5I_INVALID_HID; /* Dataspace IDs */ - hid_t sid3 = H5I_INVALID_HID; /* Dataspace IDs */ - hid_t sid4 = H5I_INVALID_HID; /* Dataspace IDs */ - hid_t did = H5I_INVALID_HID; /* Dataset ID */ - hid_t attr_id = H5I_INVALID_HID; /* Attribute ID */ - hid_t gid = H5I_INVALID_HID; /* Group ID */ - hsize_t two_dims[] = {2, 5}; /* Dimension array */ - hsize_t one_dims[] = {6}; /* Dimension array */ - hsize_t zero_dims[] = {0}; /* Dimension array */ - char name[30]; /* Name */ - unsigned i; /* Local index variable */ + hid_t fid = H5I_INVALID_HID; /* File ID */ + hid_t sid0 = H5I_INVALID_HID; /* Dataspace IDs */ + hid_t sid1 = H5I_INVALID_HID; /* Dataspace IDs */ + hid_t sid2 = H5I_INVALID_HID; /* Dataspace IDs */ + hid_t sid3 = H5I_INVALID_HID; /* Dataspace IDs */ + hid_t sid4 = H5I_INVALID_HID; /* Dataspace IDs */ + hid_t did = H5I_INVALID_HID; /* Dataset ID */ + hid_t attr_id = H5I_INVALID_HID; /* Attribute ID */ + hid_t gid = H5I_INVALID_HID; /* Group ID */ + hsize_t two_dims[] = {2, 5}; /* Dimension array */ + hsize_t one_dims[] = {6}; /* Dimension array */ + hsize_t zero_dims[] = {0}; /* Dimension array */ + char name[30]; /* Name */ + unsigned i; /* Local index variable */ /* Create file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create 1-D dataspace with zero dimension size */ - if((sid0 = H5Screate_simple(1, zero_dims, NULL)) < 0) + if ((sid0 = H5Screate_simple(1, zero_dims, NULL)) < 0) goto error; /* Create 1-D dataspace with non-zero dimension size*/ - if((sid1 = H5Screate_simple(1, one_dims, NULL)) < 0) + if ((sid1 = H5Screate_simple(1, one_dims, NULL)) < 0) goto error; /* Create 2-D dataspace */ - if((sid2 = H5Screate_simple(2, two_dims, NULL)) < 0) + if ((sid2 = H5Screate_simple(2, two_dims, NULL)) < 0) goto error; /* Create scalar dataspace */ - if((sid3 = H5Screate(H5S_SCALAR)) < 0) + if ((sid3 = H5Screate(H5S_SCALAR)) < 0) goto error; /* Create null dataspace */ - if((sid4 = H5Screate(H5S_NULL)) < 0) + if ((sid4 = H5Screate(H5S_NULL)) < 0) goto error; /* Create an attribute for the root group */ - if((attr_id = H5Acreate2(fid, "attr", H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((attr_id = H5Acreate2(fid, "attr", H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if(H5Aclose(attr_id) < 0) + if (H5Aclose(attr_id) < 0) goto error; /* Create 1-D dataset with zero dimension size for the root group */ - if((did = H5Dcreate2(fid, "zero_dset", H5T_NATIVE_UCHAR, sid0, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "zero_dset", H5T_NATIVE_UCHAR, sid0, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < + 0) goto error; /* Create 11 attributes for the dataset */ - for(i = 1; i <= (THRES_NUM+1); i++) { - HDsprintf(name, "%s%d", THRES_ATTR_NAME,i); - if((attr_id = H5Acreate2(did, name, H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 1; i <= (THRES_NUM + 1); i++) { + HDsprintf(name, "%s%d", THRES_ATTR_NAME, i); + if ((attr_id = H5Acreate2(did, name, H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if(H5Aclose(attr_id) < 0) + if (H5Aclose(attr_id) < 0) goto error; } - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; /* Create dataset with scalar dataspace for the root group */ - if((did = H5Dcreate2(fid, "scalar_dset", H5T_NATIVE_UCHAR, sid3, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "scalar_dset", H5T_NATIVE_UCHAR, sid3, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto error; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; /* Create dataset with null dataspace for the root group */ - if((did = H5Dcreate2(fid, "null_dset", H5T_NATIVE_UCHAR, sid4, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "null_dset", H5T_NATIVE_UCHAR, sid4, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < + 0) goto error; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; /* Create 2-D dataset for the root group */ - if((did = H5Dcreate2(fid, "dset", H5T_NATIVE_UCHAR, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "dset", H5T_NATIVE_UCHAR, sid2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create 10 attributes for the 2-D dataset */ - for(i = 1; i <= THRES_NUM; i++) { - HDsprintf(name, "%s%d", THRES_ATTR_NAME,i); - if((attr_id = H5Acreate2(did, name, H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 1; i <= THRES_NUM; i++) { + HDsprintf(name, "%s%d", THRES_ATTR_NAME, i); + if ((attr_id = H5Acreate2(did, name, H5T_NATIVE_INT, sid1, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - if(H5Aclose(attr_id) < 0) + if (H5Aclose(attr_id) < 0) goto error; } - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; /* Create first group */ - if((gid = H5Gcreate2(fid, "group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create an attribute for the group */ - if((attr_id = H5Acreate2(gid, "ATTR", H5T_NATIVE_INT, sid3, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((attr_id = H5Acreate2(gid, "ATTR", H5T_NATIVE_INT, sid3, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Close attribute */ - if(H5Aclose(attr_id) < 0) + if (H5Aclose(attr_id) < 0) goto error; /* Create 10 1-D datasets with non-zero dimension size for the group */ - for(i = 1; i <= THRES_NUM; i++) { + for (i = 1; i <= THRES_NUM; i++) { /* set up dataset name */ - HDsprintf(name, "%s%d", THRES_DSET_NAME,i); + HDsprintf(name, "%s%d", THRES_DSET_NAME, i); /* Create the dataset */ - if((did = H5Dcreate2(gid, name, H5T_NATIVE_UCHAR, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(gid, name, H5T_NATIVE_UCHAR, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Close the dataset */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; } /* Close the group */ - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto error; - /* Create second group */ - if((gid = H5Gcreate2(fid, "group2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "group2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create 25 attributes for the group */ - for(i = 1; i <= THRES_NUM_25; i++) { - /* Set up attribute name */ - HDsprintf(name, "%s%d", THRES_ATTR_GRP_NAME,i); + for (i = 1; i <= THRES_NUM_25; i++) { + /* Set up attribute name */ + HDsprintf(name, "%s%d", THRES_ATTR_GRP_NAME, i); /* Create the attribute */ - if((attr_id = H5Acreate2(gid, name, H5T_NATIVE_INT, sid2, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((attr_id = H5Acreate2(gid, name, H5T_NATIVE_INT, sid2, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Close the attribute */ - if(H5Aclose(attr_id) < 0) + if (H5Aclose(attr_id) < 0) goto error; } /* Close the group */ - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto error; /* Create third group */ - if((gid = H5Gcreate2(fid, "group3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "group3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create 9 1-D datasets with non-zero dimension size for the group */ - for(i = 1; i < THRES_NUM; i++) { + for (i = 1; i < THRES_NUM; i++) { /* set up dataset name */ - HDsprintf(name, "%s%d", THRES_DSET_NAME,i); + HDsprintf(name, "%s%d", THRES_DSET_NAME, i); /* Create the dataset */ - if((did = H5Dcreate2(gid, name, H5T_NATIVE_UCHAR, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(gid, name, H5T_NATIVE_UCHAR, sid1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Close the dataset */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; } error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Gclose(gid); H5Aclose(attr_id); H5Dclose(did); @@ -308,7 +314,8 @@ error: H5Sclose(sid3); H5Sclose(sid4); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; } /* gen_threshold_file() */ @@ -323,77 +330,79 @@ error: static void gen_idx_file(const char *fname) { - hid_t fapl = H5I_INVALID_HID; /* file access property id */ - hid_t fid = H5I_INVALID_HID; /* file id */ - hid_t sid = H5I_INVALID_HID; /* space id */ - hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ - hid_t did = -1, did2 = H5I_INVALID_HID; /* dataset id */ - hsize_t dims[1] = {10}; /* dataset dimension */ - hsize_t c_dims[1] = {2}; /* chunk dimension */ - int i; /* local index variable */ - int buf[10]; /* data buffer */ + hid_t fapl = H5I_INVALID_HID; /* file access property id */ + hid_t fid = H5I_INVALID_HID; /* file id */ + hid_t sid = H5I_INVALID_HID; /* space id */ + hid_t dcpl = H5I_INVALID_HID; /* dataset creation property id */ + hid_t did = -1, did2 = H5I_INVALID_HID; /* dataset id */ + hsize_t dims[1] = {10}; /* dataset dimension */ + hsize_t c_dims[1] = {2}; /* chunk dimension */ + int i; /* local index variable */ + int buf[10]; /* data buffer */ /* Get a copy of the file access property */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) goto error; /* Set the "use the latest format" bounds for creating objects in the file */ - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + if (H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) goto error; /* Create file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) goto error; /* Create data */ - for(i = 0; i < 10; i++) + for (i = 0; i < 10; i++) buf[i] = i; /* Set chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl, 1, c_dims) < 0) + if (H5Pset_chunk(dcpl, 1, c_dims) < 0) goto error; /* Create a 1D dataset */ - if((sid = H5Screate_simple(1, dims, NULL)) < 0) + if ((sid = H5Screate_simple(1, dims, NULL)) < 0) goto error; - if((did = H5Dcreate2(fid, DSET, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, DSET, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) /* set deflate data */ - if(H5Pset_deflate(dcpl, 9) < 0) + if (H5Pset_deflate(dcpl, 9) < 0) goto error; /* Create and write the dataset */ - if((did2 = H5Dcreate2(fid, DSET_FILTER, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did2 = H5Dcreate2(fid, DSET_FILTER, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Close the dataset */ - if(H5Dclose(did2) < 0) + if (H5Dclose(did2) < 0) goto error; #endif /* closing: dataspace, dataset, file */ error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(fapl); H5Pclose(dcpl); H5Sclose(sid); H5Dclose(did); H5Fclose(fid); -#if defined (H5_HAVE_FILTER_DEFLATE) +#if defined(H5_HAVE_FILTER_DEFLATE) H5Dclose(did2); #endif - } H5E_END_TRY; + } + H5E_END_TRY; } /* gen_idx_file() */ @@ -413,70 +422,70 @@ error: static void gen_err_refcount(const char *fname) { - hid_t fid = H5I_INVALID_HID; /* File identifier */ - hid_t sid = H5I_INVALID_HID; /* Dataspace message */ - hid_t did = H5I_INVALID_HID; /* Dataset identifier */ - hid_t gid = H5I_INVALID_HID; /* Group identifier */ - hid_t aid1 = -1, aid2 = H5I_INVALID_HID; /* Attribute identifier */ - hid_t tid = H5I_INVALID_HID; /* Datatype identifier */ - int i, n; /* Local index variables */ - int buf[10]; /* Data buffer */ - hsize_t dims[1]; /* Dimension size */ - int fd = -1; /* File descriptor */ - unsigned short val = 22; /* The refcount message ID */ + hid_t fid = H5I_INVALID_HID; /* File identifier */ + hid_t sid = H5I_INVALID_HID; /* Dataspace message */ + hid_t did = H5I_INVALID_HID; /* Dataset identifier */ + hid_t gid = H5I_INVALID_HID; /* Group identifier */ + hid_t aid1 = -1, aid2 = H5I_INVALID_HID; /* Attribute identifier */ + hid_t tid = H5I_INVALID_HID; /* Datatype identifier */ + int i, n; /* Local index variables */ + int buf[10]; /* Data buffer */ + hsize_t dims[1]; /* Dimension size */ + int fd = -1; /* File descriptor */ + unsigned short val = 22; /* The refcount message ID */ /* Initialize data buffer */ n = 0; - for(i = 0; i < 10; i++) + for (i = 0; i < 10; i++) buf[i] = n++; /* Create the file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create a group */ - if((gid = H5Gcreate2(fid, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((gid = H5Gcreate2(fid, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Create a committed datatype in the group */ - if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) + if ((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) goto error; - if(H5Tcommit2(gid, "dtype", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) + if (H5Tcommit2(gid, "dtype", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) goto error; /* Create the dataspace */ dims[0] = 10; - if((sid = H5Screate_simple(1, dims, NULL)) < 0) + if ((sid = H5Screate_simple(1, dims, NULL)) < 0) goto error; /* Create a dataset with the committed datatype in the file */ - if((did = H5Dcreate2(fid, "dset", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, "dset", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) goto error; /* Attach an attribute with the committed datatype to the group */ - if((aid1 = H5Acreate2(gid, "attr", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((aid1 = H5Acreate2(gid, "attr", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Attach an attribute with the committed datatype to the dataset */ - if((aid2 = H5Acreate2(did, "attr", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((aid2 = H5Acreate2(did, "attr", tid, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; /* Closing */ - if(H5Aclose(aid1) < 0) + if (H5Aclose(aid1) < 0) goto error; - if(H5Aclose(aid2) < 0) + if (H5Aclose(aid2) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; - if(H5Gclose(gid) < 0) + if (H5Gclose(gid) < 0) goto error; - if(H5Tclose(tid) < 0) + if (H5Tclose(tid) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; /* This section of code will write a refcount message ID to a message in the @@ -486,14 +495,15 @@ gen_err_refcount(const char *fname) with the committed datatype */ /* 24: the offset in the object header containing the version of the attribute message */ - if((fd = HDopen(fname, O_RDWR, 0633)) >= 0) { - HDlseek(fd, 4520+24, SEEK_SET); + if ((fd = HDopen(fname, O_RDWR, 0633)) >= 0) { + HDlseek(fd, 4520 + 24, SEEK_SET); HDwrite(fd, &val, 2); HDclose(fd); } error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Gclose(gid); H5Dclose(did); H5Tclose(tid); @@ -501,7 +511,8 @@ error: H5Aclose(aid1); H5Aclose(aid2); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; } /* gen_err_refcount() */ /* @@ -528,7 +539,8 @@ error: * jira issue. */ -int main(void) +int +main(void) { gen_newgrat_file(NEWGRAT_FILE); gen_threshold_file(THRESHOLD_FILE); @@ -541,4 +553,3 @@ int main(void) return 0; } - diff --git a/tools/test/misc/clear_open_chk.c b/tools/test/misc/clear_open_chk.c index 7d22ca6..c66282c 100644 --- a/tools/test/misc/clear_open_chk.c +++ b/tools/test/misc/clear_open_chk.c @@ -40,11 +40,11 @@ usage(void) int main(int argc, char *argv[]) { - char *fname; /* The HDF5 file name */ - hid_t fid; /* File ID */ + char *fname; /* The HDF5 file name */ + hid_t fid; /* File ID */ /* Check the # of arguments */ - if(argc != 2) { + if (argc != 2) { usage(); HDexit(EXIT_FAILURE); } @@ -53,7 +53,7 @@ main(int argc, char *argv[]) fname = HDstrdup(argv[1]); /* Try opening the file */ - if((fid = h5tools_fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT, FALSE, NULL, (size_t)0)) < 0) { + if ((fid = h5tools_fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT, FALSE, NULL, (size_t)0)) < 0) { HDfprintf(stderr, "clear_open_chk: unable to open the file\n"); HDfree(fname); HDexit(EXIT_FAILURE); @@ -61,7 +61,7 @@ main(int argc, char *argv[]) HDfree(fname); /* Close the file */ - if(H5Fclose(fid) < 0) { + if (H5Fclose(fid) < 0) { HDfprintf(stderr, "clear_open_chk: cannot close the file\n"); HDexit(EXIT_FAILURE); } diff --git a/tools/test/misc/h5clear_gentest.c b/tools/test/misc/h5clear_gentest.c index 8d6883c..a088e51 100644 --- a/tools/test/misc/h5clear_gentest.c +++ b/tools/test/misc/h5clear_gentest.c @@ -15,31 +15,31 @@ /* The HDF5 test files */ const char *FILENAME[] = { - "h5clear_sec2_v3.h5", /* 0 -- sec2 file with superblock version 3 */ - "h5clear_log_v3.h5", /* 1 -- log file with superblock veresion 3 */ - "h5clear_sec2_v0.h5", /* 2 -- sec2 file with superblock version 0 */ - "h5clear_sec2_v2.h5" /* 3 -- sec2 file with superblock version 2 */ + "h5clear_sec2_v3.h5", /* 0 -- sec2 file with superblock version 3 */ + "h5clear_log_v3.h5", /* 1 -- log file with superblock veresion 3 */ + "h5clear_sec2_v0.h5", /* 2 -- sec2 file with superblock version 0 */ + "h5clear_sec2_v2.h5" /* 3 -- sec2 file with superblock version 2 */ }; const char *FILENAME_ENHANCE[] = { - "h5clear_fsm_persist_equal.h5", /* 0: persisting free-space, stored EOA = actual EOF */ - "h5clear_fsm_persist_greater.h5", /* 1: persisting free-space, stored EOA > actual EOF */ - "h5clear_fsm_persist_less.h5", /* 2: persisting free-space, stored EOA < actual EOF */ - "h5clear_fsm_persist_user_equal.h5", /* 3: user block, persisting free-space, stored EOA = actual EOF */ - "h5clear_fsm_persist_user_greater.h5", /* 4: user block, persisting free-space, stored EOA > actual EOF */ - "h5clear_fsm_persist_user_less.h5", /* 5: user block, persisting free-space, stored EOA < actual EOF */ - "h5clear_status_noclose.h5", /* 6 -- v3 superblock, nonzero status_flags, no flush, exit, - stored EOA < actual EOF */ - "h5clear_fsm_persist_noclose.h5" /* 7 -- persisting free-space, no flush, exit, stored EOA < actual EOF */ + "h5clear_fsm_persist_equal.h5", /* 0: persisting free-space, stored EOA = actual EOF */ + "h5clear_fsm_persist_greater.h5", /* 1: persisting free-space, stored EOA > actual EOF */ + "h5clear_fsm_persist_less.h5", /* 2: persisting free-space, stored EOA < actual EOF */ + "h5clear_fsm_persist_user_equal.h5", /* 3: user block, persisting free-space, stored EOA = actual EOF */ + "h5clear_fsm_persist_user_greater.h5", /* 4: user block, persisting free-space, stored EOA > actual EOF */ + "h5clear_fsm_persist_user_less.h5", /* 5: user block, persisting free-space, stored EOA < actual EOF */ + "h5clear_status_noclose.h5", /* 6 -- v3 superblock, nonzero status_flags, no flush, exit, + stored EOA < actual EOF */ + "h5clear_fsm_persist_noclose.h5" /* 7 -- persisting free-space, no flush, exit, stored EOA < actual EOF */ }; -#define KB 1024U +#define KB 1024U -#define CACHE_IMAGE_FILE "h5clear_mdc_image.h5" -#define DSET "DSET" -#define DATASET "dset" -#define NUM_ELMTS 100 -#define USERBLOCK 512 +#define CACHE_IMAGE_FILE "h5clear_mdc_image.h5" +#define DSET "DSET" +#define DATASET "dset" +#define NUM_ELMTS 100 +#define USERBLOCK 512 /*------------------------------------------------------------------------- * Function: gen_cache_image_file @@ -56,73 +56,71 @@ const char *FILENAME_ENHANCE[] = { static int gen_cache_image_file(const char *fname) { - hid_t fid = H5I_INVALID_HID; /* File ID */ - hid_t did = -1, sid = H5I_INVALID_HID; /* Dataset ID, dataspace ID */ - hid_t fapl = H5I_INVALID_HID; /* File access property list */ - hid_t dcpl = H5I_INVALID_HID; /* Dataset creation property list */ - hsize_t dims[2]; /* Dimension sizes */ - hsize_t chunks[2]; /* Chunked dimension sizes */ - int i, j; /* Local index variables */ - int **buf = NULL; /* Buffer for data to write */ - H5AC_cache_image_config_t cache_image_config = /* Cache image input configuration */ - { H5AC__CURR_CACHE_IMAGE_CONFIG_VERSION, - TRUE, FALSE, - H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE}; + hid_t fid = H5I_INVALID_HID; /* File ID */ + hid_t did = -1, sid = H5I_INVALID_HID; /* Dataset ID, dataspace ID */ + hid_t fapl = H5I_INVALID_HID; /* File access property list */ + hid_t dcpl = H5I_INVALID_HID; /* Dataset creation property list */ + hsize_t dims[2]; /* Dimension sizes */ + hsize_t chunks[2]; /* Chunked dimension sizes */ + int i, j; /* Local index variables */ + int ** buf = NULL; /* Buffer for data to write */ + H5AC_cache_image_config_t cache_image_config = /* Cache image input configuration */ + {H5AC__CURR_CACHE_IMAGE_CONFIG_VERSION, TRUE, FALSE, H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE}; /* Create and fill array */ H5TEST_ALLOCATE_2D_ARRAY(buf, int, 50, 100); if (NULL == buf) goto error; - for(i = 0; i < 50; i++) - for(j = 0; j < 100; j++) + for (i = 0; i < 50; i++) + for (j = 0; j < 100; j++) buf[i][j] = i * j; /* Create a copy of file access property list */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) goto error; /* Enable latest format in fapl */ - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + if (H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) goto error; /* Enable metadata cache image in fapl */ - if(H5Pset_mdc_image_config(fapl, &cache_image_config) < 0) + if (H5Pset_mdc_image_config(fapl, &cache_image_config) < 0) goto error; /* Create the file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) goto error; /* Create dataspace */ dims[0] = 50; dims[1] = 100; - if((sid = H5Screate_simple(2, dims, NULL)) < 0) + if ((sid = H5Screate_simple(2, dims, NULL)) < 0) goto error; /* Set up to create a chunked dataset */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; chunks[0] = 5; chunks[1] = 10; - if(H5Pset_chunk(dcpl, 2, chunks) < 0) + if (H5Pset_chunk(dcpl, 2, chunks) < 0) goto error; - if((did = H5Dcreate2(fid, DSET, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, DSET, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf[0]) < 0) goto error; /* Closing */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; - if(H5Pclose(dcpl) < 0) + if (H5Pclose(dcpl) < 0) goto error; - if(H5Pclose(fapl) < 0) + if (H5Pclose(fapl) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; HDfree(buf); @@ -130,14 +128,16 @@ gen_cache_image_file(const char *fname) return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(dcpl); H5Sclose(sid); H5Dclose(did); H5Fclose(fid); H5Pclose(fapl); H5Pclose(dcpl); - } H5E_END_TRY; + } + H5E_END_TRY; HDfree(buf); @@ -173,61 +173,61 @@ error: static int gen_enhance_files(hbool_t user) { - hid_t fid = H5I_INVALID_HID; /* File ID */ - hid_t fcpl = H5I_INVALID_HID; /* File creation property list */ - hid_t sid = H5I_INVALID_HID; /* Dataspace ID */ - hid_t did = H5I_INVALID_HID; /* Dataset ID */ - hsize_t dim[1]; /* Dimension sizes */ - int data[NUM_ELMTS]; /* Buffer for data */ - int fd = H5I_INVALID_HID; /* The file descriptor ID */ - int64_t eoa; /* The EOA value */ - uint32_t chksum; /* The chksum value */ - int i = 0 , j = 0, u = 0; /* Local index variable */ + hid_t fid = H5I_INVALID_HID; /* File ID */ + hid_t fcpl = H5I_INVALID_HID; /* File creation property list */ + hid_t sid = H5I_INVALID_HID; /* Dataspace ID */ + hid_t did = H5I_INVALID_HID; /* Dataset ID */ + hsize_t dim[1]; /* Dimension sizes */ + int data[NUM_ELMTS]; /* Buffer for data */ + int fd = H5I_INVALID_HID; /* The file descriptor ID */ + int64_t eoa; /* The EOA value */ + uint32_t chksum; /* The chksum value */ + int i = 0, j = 0, u = 0; /* Local index variable */ /* Get a copy of the default file creation property */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto error; /* Check to see if user block will be added */ - if(user) { - if(H5Pset_userblock(fcpl, (hsize_t)USERBLOCK) < 0) + if (user) { + if (H5Pset_userblock(fcpl, (hsize_t)USERBLOCK) < 0) goto error; u = 3; } /* Set file space strategy and persisting free-space */ - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1) < 0) + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1) < 0) goto error; /* * Create the file, then write invalid EOA to the file. */ - for(i = 0+u; i < 3+u; i++) { + for (i = 0 + u; i < 3 + u; i++) { /* Create the file with the file space strategy and persisting free-space */ - if((fid = H5Fcreate(FILENAME_ENHANCE[i], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FILENAME_ENHANCE[i], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) goto error; /* Create the dataset */ dim[0] = NUM_ELMTS; - if((sid = H5Screate_simple(1, dim, NULL)) < 0) - goto error; - if((did = H5Dcreate2(fid, DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((sid = H5Screate_simple(1, dim, NULL)) < 0) + goto error; + if ((did = H5Dcreate2(fid, DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - for(j = 0; j < NUM_ELMTS; j++) + for (j = 0; j < NUM_ELMTS; j++) data[j] = j; /* Write the dataset */ - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) goto error; /* Closing */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) goto error; /* @@ -235,7 +235,7 @@ gen_enhance_files(hbool_t user) * --FILENAME_ENHANCE[0]: "h5clear_fsm_persist_equal.h5" * --FILENAME_ENHANCE[3]: "h5clear_fsm_persist_user_equal.h5", */ - if(!(i % 3)) + if (!(i % 3)) continue; /* * For the following files: @@ -248,27 +248,27 @@ gen_enhance_files(hbool_t user) * update the chksum value. */ /* Open the file */ - if((fd = open(FILENAME_ENHANCE[i], O_RDWR, 0663)) < 0) + if ((fd = open(FILENAME_ENHANCE[i], O_RDWR, 0663)) < 0) goto error; - switch(i) { + switch (i) { case 1: /* stored EOA is > EOF */ - eoa = 3048; + eoa = 3048; chksum = 268376587; break; case 2: /* stored EOA is < EOF */ - eoa = 512; + eoa = 512; chksum = 372920305; break; case 4: /* with userblock, stored EOA > EOF */ - eoa = 4000; + eoa = 4000; chksum = 4168810027; break; case 5: /* with userblock, stored EOA < EOF */ - eoa = 3000; + eoa = 3000; chksum = 3716054346; break; @@ -277,40 +277,42 @@ gen_enhance_files(hbool_t user) } /* location of "end of file address" */ - if(lseek(fd, (off_t)(28+(user?USERBLOCK:0)), SEEK_SET) < 0) + if (lseek(fd, (off_t)(28 + (user ? USERBLOCK : 0)), SEEK_SET) < 0) goto error; /* Write the bad eoa value to the file */ - if(write(fd, &eoa, sizeof(eoa)) < 0) + if (write(fd, &eoa, sizeof(eoa)) < 0) goto error; /* location of "superblock checksum" */ - if(lseek(fd, (off_t)(44+(user?USERBLOCK:0)), SEEK_SET) < 0) + if (lseek(fd, (off_t)(44 + (user ? USERBLOCK : 0)), SEEK_SET) < 0) goto error; /* Write the chksum value to the file */ - if(write(fd, &chksum, sizeof(chksum)) < 0) + if (write(fd, &chksum, sizeof(chksum)) < 0) goto error; /* Close the file */ - if(close(fd) < 0) + if (close(fd) < 0) goto error; } /* end for */ /* Close the property list */ - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) goto error; return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Sclose(sid); H5Dclose(did); H5Fclose(fid); H5Pclose(fcpl); - } H5E_END_TRY; + } + H5E_END_TRY; return 1; } /* gen_enhance_files() */ @@ -370,39 +372,39 @@ error: int main(void) { - hid_t fid = H5I_INVALID_HID; /* File ID */ - hid_t fcpl = H5I_INVALID_HID; /* File creation property list */ - hid_t fapl = -1, new_fapl = H5I_INVALID_HID; /* File access property lists */ - char fname[512]; /* File name */ - unsigned new_format; /* To use latest library format or not */ - hid_t sid = H5I_INVALID_HID; /* Dataspace ID */ - hid_t did = H5I_INVALID_HID; /* Dataset ID */ - hsize_t dim[1]; /* Dimension sizes */ - int data[NUM_ELMTS]; /* Buffer for data */ - int i; /* Local index variables */ + hid_t fid = H5I_INVALID_HID; /* File ID */ + hid_t fcpl = H5I_INVALID_HID; /* File creation property list */ + hid_t fapl = -1, new_fapl = H5I_INVALID_HID; /* File access property lists */ + char fname[512]; /* File name */ + unsigned new_format; /* To use latest library format or not */ + hid_t sid = H5I_INVALID_HID; /* Dataspace ID */ + hid_t did = H5I_INVALID_HID; /* Dataset ID */ + hsize_t dim[1]; /* Dimension sizes */ + int data[NUM_ELMTS]; /* Buffer for data */ + int i; /* Local index variables */ /* Generate a file with cache image feature enabled */ - if(gen_cache_image_file(CACHE_IMAGE_FILE) < 0) + if (gen_cache_image_file(CACHE_IMAGE_FILE) < 0) goto error; /* Generate the first 6 files in FILENAME_ENHANCE[] */ - if(gen_enhance_files(FALSE) < 0) + if (gen_enhance_files(FALSE) < 0) goto error; - if(gen_enhance_files(TRUE) < 0) + if (gen_enhance_files(TRUE) < 0) goto error; /* * Generate files in FILENAME[] */ /* Create a copy of the file access property list */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) goto error; /* Copy the file access property list */ - if((new_fapl = H5Pcopy(fapl)) < 0) + if ((new_fapl = H5Pcopy(fapl)) < 0) goto error; /* Set to latest library format */ - if(H5Pset_libver_bounds(new_fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + if (H5Pset_libver_bounds(new_fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) goto error; /* @@ -410,54 +412,56 @@ main(void) * --FILENAME[0]: "h5clear_sec2_v3.h5", "latest_h5clear_sec2_v3.h5" * --FILENAME[1]: "h5clear_log_v3.h5", "latest_h5clear_log_v3.h5" */ - for(new_format = FALSE; new_format <= TRUE; new_format++) { - hid_t fapl2, my_fapl; /* File access property lists */ + for (new_format = FALSE; new_format <= TRUE; new_format++) { + hid_t fapl2, my_fapl; /* File access property lists */ /* Set to use the appropriate file access property list */ - if(new_format) + if (new_format) fapl2 = new_fapl; else fapl2 = fapl; /* * Create a sec2 file */ - if((my_fapl = H5Pcopy(fapl2)) < 0) + if ((my_fapl = H5Pcopy(fapl2)) < 0) goto error; /* Create the file */ - HDsprintf(fname, "%s%s", new_format? "latest_":"", FILENAME[0]); - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, my_fapl)) < 0) + HDsprintf(fname, "%s%s", new_format ? "latest_" : "", FILENAME[0]); + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, + my_fapl)) < 0) goto error; /* Flush the file */ - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) goto error; /* Close the property list */ - if(H5Pclose(my_fapl) < 0) + if (H5Pclose(my_fapl) < 0) goto error; /* * Create a log file */ /* Create a copy of file access property list */ - if((my_fapl = H5Pcopy(fapl2)) < 0) - goto error; + if ((my_fapl = H5Pcopy(fapl2)) < 0) + goto error; /* Setup the fapl for the log driver */ - if(H5Pset_fapl_log(my_fapl, "append.log", (unsigned long long)H5FD_LOG_ALL, (size_t)(4 * KB)) < 0) + if (H5Pset_fapl_log(my_fapl, "append.log", (unsigned long long)H5FD_LOG_ALL, (size_t)(4 * KB)) < 0) goto error; /* Create the file */ - HDsprintf(fname, "%s%s", new_format? "latest_":"", FILENAME[1]); - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, my_fapl)) < 0) + HDsprintf(fname, "%s%s", new_format ? "latest_" : "", FILENAME[1]); + if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC | (new_format ? 0 : H5F_ACC_SWMR_WRITE), H5P_DEFAULT, + my_fapl)) < 0) goto error; /* Flush the file */ - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) goto error; /* Close the property list */ - if(H5Pclose(my_fapl) < 0) + if (H5Pclose(my_fapl) < 0) goto error; } /* end for */ @@ -466,39 +470,37 @@ main(void) * Create a sec2 file with v0 superblock but nonzero status_flags: * FILENAME[2]: "h5clear_sec2_v0.h5" */ - if((fid = H5Fcreate(FILENAME[2], H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + if ((fid = H5Fcreate(FILENAME[2], H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) goto error; /* Flush the file */ - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) goto error; - /* * Create a sec2 file with v2 superblock but nonzero status_flags: * FILENAME[3]: "h5clear_sec2_v2.h5" */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto error; - if(H5Pset_shared_mesg_nindexes(fcpl, 1) < 0) + if (H5Pset_shared_mesg_nindexes(fcpl, 1) < 0) goto error; - if(H5Pset_shared_mesg_index(fcpl, 0, H5O_SHMESG_DTYPE_FLAG, 50) < 0) + if (H5Pset_shared_mesg_index(fcpl, 0, H5O_SHMESG_DTYPE_FLAG, 50) < 0) goto error; - if((fid = H5Fcreate(FILENAME[3], H5F_ACC_TRUNC, fcpl, fapl)) < 0) + if ((fid = H5Fcreate(FILENAME[3], H5F_ACC_TRUNC, fcpl, fapl)) < 0) goto error; /* Flush the file */ - if(H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) + if (H5Fflush(fid, H5F_SCOPE_GLOBAL) < 0) goto error; - /* Close the property lists */ - if(H5Pclose(fapl) < 0) + if (H5Pclose(fapl) < 0) goto error; - if(H5Pclose(new_fapl) < 0) + if (H5Pclose(new_fapl) < 0) goto error; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) goto error; /* @@ -515,42 +517,41 @@ main(void) * --does not flush the file, just exit without closing file: * --this file is similar to the user-suppplied test file attached with HDFFV-10347 */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) - goto error; + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + goto error; /* Set to latest format */ - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) - goto error; + if (H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) + goto error; /* Create file with SWMR-write access */ - if((fid = H5Fcreate(FILENAME_ENHANCE[6], H5F_ACC_TRUNC|H5F_ACC_SWMR_WRITE, H5P_DEFAULT, fapl)) < 0) + if ((fid = H5Fcreate(FILENAME_ENHANCE[6], H5F_ACC_TRUNC | H5F_ACC_SWMR_WRITE, H5P_DEFAULT, fapl)) < 0) goto error; /* Create the dataset */ dim[0] = NUM_ELMTS; - if((sid = H5Screate_simple(1, dim, NULL)) < 0) + if ((sid = H5Screate_simple(1, dim, NULL)) < 0) goto error; - if((did = H5Dcreate2(fid, DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - for(i = 0; i < NUM_ELMTS; i++) + for (i = 0; i < NUM_ELMTS; i++) data[i] = i; /* Write the dataset */ - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) goto error; /* Closing */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(fapl) < 0) + if (H5Pclose(fapl) < 0) goto error; /* Does not flush and does not close the file */ - /* * FILENAME_ENHANCE[7]: h5clear_fsm_persist_noclose.h5 * --stored EOA < actual EOF @@ -559,42 +560,41 @@ main(void) * --undefined fsinfo.fs_addr * --does not flush the file, just exit without closing */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) + if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) goto error; /* Set file space strategy and persisting free-space */ - if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1) < 0) - goto error; + if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1) < 0) + goto error; /* Create the file with the set file space info */ - if((fid = H5Fcreate(FILENAME_ENHANCE[7], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(FILENAME_ENHANCE[7], H5F_ACC_TRUNC, fcpl, H5P_DEFAULT)) < 0) goto error; /* Create the dataset */ dim[0] = NUM_ELMTS; - if((sid = H5Screate_simple(1, dim, NULL)) < 0) + if ((sid = H5Screate_simple(1, dim, NULL)) < 0) goto error; - if((did = H5Dcreate2(fid, DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, DATASET, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; - for(i = 0; i < NUM_ELMTS; i++) + for (i = 0; i < NUM_ELMTS; i++) data[i] = i; /* Write the dataset */ - if(H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) goto error; /* Closing */ - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) goto error; - if(H5Sclose(sid) < 0) + if (H5Sclose(sid) < 0) goto error; - if(H5Pclose(fcpl) < 0) + if (H5Pclose(fcpl) < 0) goto error; /* Does not flush and does not close the file */ - fflush(stdout); fflush(stderr); diff --git a/tools/test/misc/h5perf_gentest.c b/tools/test/misc/h5perf_gentest.c index 511a9e2..3564772 100644 --- a/tools/test/misc/h5perf_gentest.c +++ b/tools/test/misc/h5perf_gentest.c @@ -21,70 +21,70 @@ #include <stdio.h> #include <stdlib.h> -#define FNAME "test_perf.h5" -#define NGROUPS 20 -#define NDSETS 20 -#define NATTRS 20 -#define DIM0 40 -#define NROWS 100 -#define NTYPES 9 -#define MAXVLEN 10 -#define FIXED_LEN 8 - -typedef enum { SOLID=0, LIQUID, GAS, PLASMA } phase_t; +#define FNAME "test_perf.h5" +#define NGROUPS 20 +#define NDSETS 20 +#define NATTRS 20 +#define DIM0 40 +#define NROWS 100 +#define NTYPES 9 +#define MAXVLEN 10 +#define FIXED_LEN 8 + +typedef enum { SOLID = 0, LIQUID, GAS, PLASMA } phase_t; typedef struct { - int i; - unsigned long long l; - float f; - double d; - char s[FIXED_LEN]; - phase_t e; - float f_array[FIXED_LEN]; - hvl_t i_vlen; - char *s_vlen; + int i; + unsigned long long l; + float f; + double d; + char s[FIXED_LEN]; + phase_t e; + float f_array[FIXED_LEN]; + hvl_t i_vlen; + char * s_vlen; } test_comp_t; typedef struct { - int zipcode; - char *city; + int zipcode; + char *city; } zipcode_t; -int add_attrs(hid_t oid, int idx); -int add_attr(hid_t oid, const char *name, hid_t tid, hid_t sid, void *buf) ; -herr_t create_perf_test_file(const char *fname, int ngrps, int ndsets, - int nattrs, hsize_t nrows, hsize_t dim0, hsize_t chunk, int vlen, - int compressed, int latest); +int add_attrs(hid_t oid, int idx); +int add_attr(hid_t oid, const char *name, hid_t tid, hid_t sid, void *buf); +herr_t create_perf_test_file(const char *fname, int ngrps, int ndsets, int nattrs, hsize_t nrows, + hsize_t dim0, hsize_t chunk, int vlen, int compressed, int latest); -int main (int argc, char *argv[]) +int +main(int argc, char *argv[]) { char fname[32]; - int i, ngrps=NGROUPS, ndsets=NDSETS, nattrs=NATTRS, dim0=DIM0, - chunk=DIM0/10+1, nrows=NROWS, vlen=MAXVLEN, l=0, z=0; + int i, ngrps = NGROUPS, ndsets = NDSETS, nattrs = NATTRS, dim0 = DIM0, chunk = DIM0 / 10 + 1, + nrows = NROWS, vlen = MAXVLEN, l = 0, z = 0; memset(fname, 0, 32); - for (i=1; i<argc; i++) { - if (strcmp(argv[i], "-f")==0) - strcpy(fname, argv[i+1]); - else if (strcmp(argv[i], "-g")==0) - ngrps = atoi(argv[i+1]); - else if (strcmp(argv[i], "-d")==0) - ndsets = atoi(argv[i+1]); - else if (strcmp(argv[i], "-a")==0) - nattrs = atoi(argv[i+1]); - else if (strcmp(argv[i], "-r")==0) - nrows = atoi(argv[i+1]); - else if (strcmp(argv[i], "-s")==0) - dim0 = atoi(argv[i+1]); - else if (strcmp(argv[i], "-c")==0) - chunk = atoi(argv[i+1]); - else if (strcmp(argv[i], "-v")==0) - vlen = atoi(argv[i+1]); - else if (strcmp(argv[i], "-l")==0) + for (i = 1; i < argc; i++) { + if (strcmp(argv[i], "-f") == 0) + strcpy(fname, argv[i + 1]); + else if (strcmp(argv[i], "-g") == 0) + ngrps = atoi(argv[i + 1]); + else if (strcmp(argv[i], "-d") == 0) + ndsets = atoi(argv[i + 1]); + else if (strcmp(argv[i], "-a") == 0) + nattrs = atoi(argv[i + 1]); + else if (strcmp(argv[i], "-r") == 0) + nrows = atoi(argv[i + 1]); + else if (strcmp(argv[i], "-s") == 0) + dim0 = atoi(argv[i + 1]); + else if (strcmp(argv[i], "-c") == 0) + chunk = atoi(argv[i + 1]); + else if (strcmp(argv[i], "-v") == 0) + vlen = atoi(argv[i + 1]); + else if (strcmp(argv[i], "-l") == 0) l = 1; - else if (strcmp(argv[i], "-z")==0) + else if (strcmp(argv[i], "-z") == 0) z = 1; - else if (strcmp(argv[i], "-h")==0) { + else if (strcmp(argv[i], "-h") == 0) { HDprintf("\nOPTONS:\n"); HDprintf("\t-f F:\tname of the test file (default: %s).\n", FNAME); HDprintf("\t-g N:\tnumber of top level groups (default: %d).\n", NGROUPS); @@ -92,7 +92,7 @@ int main (int argc, char *argv[]) HDprintf("\t-a N:\tnumber of attributes (default: %d).\n", NATTRS); HDprintf("\t-r N:\tnumber of rows in the large compound dataset (default: %d).\n", NROWS); HDprintf("\t-s N:\tsize of dim0 in datasets (default: %d).\n", DIM0); - HDprintf("\t-c N:\tchunk size of dim0 (default: %d).\n", (DIM0/10+1)); + HDprintf("\t-c N:\tchunk size of dim0 (default: %d).\n", (DIM0 / 10 + 1)); HDprintf("\t-v N:\tmax vlen size (default: %d).\n", MAXVLEN); HDprintf("\t-l:\tuse latest format (default: no).\n"); HDprintf("\t-z:\tuse gzip compression (default: no).\n"); @@ -103,11 +103,11 @@ int main (int argc, char *argv[]) } } - if (strlen(fname)<=0) + if (strlen(fname) <= 0) HDsprintf(fname, FNAME); - create_perf_test_file(fname, ngrps, ndsets, nattrs, (hsize_t)nrows, - (hsize_t)dim0, (hsize_t)chunk, vlen, z, l); + create_perf_test_file(fname, ngrps, ndsets, nattrs, (hsize_t)nrows, (hsize_t)dim0, (hsize_t)chunk, vlen, + z, l); return 0; } @@ -130,339 +130,378 @@ int main (int argc, char *argv[]) Programmer: Peter Cao, Jan. 2013 ****************************************************************************/ -herr_t create_perf_test_file(const char *fname, int ngrps, int ndsets, - int nattrs, hsize_t nrows, hsize_t dim0, hsize_t chunk, int vlen, - int compressed, int latest) +herr_t +create_perf_test_file(const char *fname, int ngrps, int ndsets, int nattrs, hsize_t nrows, hsize_t dim0, + hsize_t chunk, int vlen, int compressed, int latest) { - int i, j, k; - hid_t fid, sid_null, sid_scalar, sid_1d, sid_2d, did, aid, sid_2, sid_large, - fapl=H5P_DEFAULT, dcpl=H5P_DEFAULT, gid1, gid2, cmp_tid, tid_str, - tid_enum, tid_array_f, tid_vlen_i, tid_vlen_s; - char name[32], tmp_name1[32], tmp_name2[32], tmp_name3[32]; - hsize_t dims[1]={dim0}, dims2d[2]={dim0, (dim0/4+1)}, dims_array[1]={FIXED_LEN}, - dim1[1]={2}; - char *enum_names[4] = {"SOLID", "LIQUID", "GAS", "PLASMA"}; - test_comp_t *buf_comp=NULL, *buf_comp_large=NULL; - int *buf_int=NULL; - float (*buf_float_a)[FIXED_LEN]=NULL; - double **buf_double2d=NULL; - hvl_t *buf_vlen_i=NULL; - char (*buf_str)[FIXED_LEN]; - char **buf_vlen_s=NULL; - hobj_ref_t buf_ref[2]; + int i, j, k; + hid_t fid, sid_null, sid_scalar, sid_1d, sid_2d, did, aid, sid_2, sid_large, + fapl = H5P_DEFAULT, dcpl = H5P_DEFAULT, gid1, gid2, cmp_tid, tid_str, tid_enum, tid_array_f, + tid_vlen_i, tid_vlen_s; + char name[32], tmp_name1[32], tmp_name2[32], tmp_name3[32]; + hsize_t dims[1] = {dim0}, dims2d[2] = {dim0, (dim0 / 4 + 1)}, dims_array[1] = {FIXED_LEN}, dim1[1] = {2}; + char * enum_names[4] = {"SOLID", "LIQUID", "GAS", "PLASMA"}; + test_comp_t *buf_comp = NULL, *buf_comp_large = NULL; + int * buf_int = NULL; + float(*buf_float_a)[FIXED_LEN] = NULL; + double **buf_double2d = NULL; + hvl_t * buf_vlen_i = NULL; + char(*buf_str)[FIXED_LEN]; + char ** buf_vlen_s = NULL; + hobj_ref_t buf_ref[2]; hdset_reg_ref_t buf_reg_ref[2]; - size_t offset, len; - herr_t status; - char *names[NTYPES] = { "int", "ulong", "float", "double", "fixed string", - "enum", "fixed float array", "vlen int array", "vlen strings"}; - hid_t types[NTYPES] = { H5T_NATIVE_INT, H5T_NATIVE_UINT64, H5T_NATIVE_FLOAT, - H5T_NATIVE_DOUBLE, tid_str, tid_enum, tid_array_f, tid_vlen_i, tid_vlen_s}; - hsize_t coords[4][2] = { {0, 1}, {3, 5}, {1, 0}, {2, 4}}, start=0, stride=1, count=1; - - if (nrows < NROWS) nrows = NROWS; - if (ngrps<NGROUPS) ngrps=NGROUPS; - if (ndsets<NDSETS) ndsets=NDSETS; - if (nattrs<NATTRS) nattrs=NATTRS; - if (dim0<DIM0) dim0=DIM0; - if (chunk>dim0) chunk=dim0/4; - if (chunk<1) chunk = 1; - if (vlen<1) vlen = MAXVLEN; + size_t offset, len; + herr_t status; + char * names[NTYPES] = {"int", + "ulong", + "float", + "double", + "fixed string", + "enum", + "fixed float array", + "vlen int array", + "vlen strings"}; + hid_t types[NTYPES] = {H5T_NATIVE_INT, H5T_NATIVE_UINT64, H5T_NATIVE_FLOAT, H5T_NATIVE_DOUBLE, tid_str, + tid_enum, tid_array_f, tid_vlen_i, tid_vlen_s}; + hsize_t coords[4][2] = {{0, 1}, {3, 5}, {1, 0}, {2, 4}}, start = 0, stride = 1, count = 1; + + if (nrows < NROWS) + nrows = NROWS; + if (ngrps < NGROUPS) + ngrps = NGROUPS; + if (ndsets < NDSETS) + ndsets = NDSETS; + if (nattrs < NATTRS) + nattrs = NATTRS; + if (dim0 < DIM0) + dim0 = DIM0; + if (chunk > dim0) + chunk = dim0 / 4; + if (chunk < 1) + chunk = 1; + if (vlen < 1) + vlen = MAXVLEN; /* create fixed string datatype */ - types[4] = tid_str = H5Tcopy (H5T_C_S1); - H5Tset_size (tid_str, FIXED_LEN); + types[4] = tid_str = H5Tcopy(H5T_C_S1); + H5Tset_size(tid_str, FIXED_LEN); /* create enum datatype */ types[5] = tid_enum = H5Tenum_create(H5T_NATIVE_INT); - for (i = (int) SOLID; i <= (int) PLASMA; i++) { - phase_t val = (phase_t) i; - status = H5Tenum_insert (tid_enum, enum_names[i], &val); + for (i = (int)SOLID; i <= (int)PLASMA; i++) { + phase_t val = (phase_t)i; + status = H5Tenum_insert(tid_enum, enum_names[i], &val); } /* create float array datatype */ - types[6] = tid_array_f = H5Tarray_create (H5T_NATIVE_FLOAT, 1, dims_array); + types[6] = tid_array_f = H5Tarray_create(H5T_NATIVE_FLOAT, 1, dims_array); /* create variable length integer datatypes */ - types[7] = tid_vlen_i = H5Tvlen_create (H5T_NATIVE_INT); + types[7] = tid_vlen_i = H5Tvlen_create(H5T_NATIVE_INT); /* create variable length string datatype */ - types[8] = tid_vlen_s = H5Tcopy (H5T_C_S1); - H5Tset_size (tid_vlen_s, H5T_VARIABLE); + types[8] = tid_vlen_s = H5Tcopy(H5T_C_S1); + H5Tset_size(tid_vlen_s, H5T_VARIABLE); /* create compound datatypes */ - cmp_tid = H5Tcreate (H5T_COMPOUND, sizeof (test_comp_t)); - offset = 0; - for (i=0; i<NTYPES-2; i++) { + cmp_tid = H5Tcreate(H5T_COMPOUND, sizeof(test_comp_t)); + offset = 0; + for (i = 0; i < NTYPES - 2; i++) { H5Tinsert(cmp_tid, names[i], offset, types[i]); offset += H5Tget_size(types[i]); } H5Tinsert(cmp_tid, names[7], offset, types[7]); - offset += sizeof (hvl_t); + offset += sizeof(hvl_t); H5Tinsert(cmp_tid, names[8], offset, types[8]); /* create dataspace */ - sid_1d = H5Screate_simple (1, dims, NULL); - sid_2d = H5Screate_simple (2, dims2d, NULL); - sid_2 = H5Screate_simple (1, dim1, NULL); - sid_large = H5Screate_simple (1, &nrows, NULL); - sid_null = H5Screate (H5S_NULL); - sid_scalar = H5Screate (H5S_SCALAR); + sid_1d = H5Screate_simple(1, dims, NULL); + sid_2d = H5Screate_simple(2, dims2d, NULL); + sid_2 = H5Screate_simple(1, dim1, NULL); + sid_large = H5Screate_simple(1, &nrows, NULL); + sid_null = H5Screate(H5S_NULL); + sid_scalar = H5Screate(H5S_SCALAR); /* create fid access property */ - fapl = H5Pcreate (H5P_FILE_ACCESS); - H5Pset_libver_bounds (fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST); + fapl = H5Pcreate(H5P_FILE_ACCESS); + H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST); /* create dataset creation property */ - dcpl = H5Pcreate (H5P_DATASET_CREATE); + dcpl = H5Pcreate(H5P_DATASET_CREATE); /* set dataset chunk */ - if (chunk>0) { - H5Pset_chunk (dcpl, 1, &chunk); + if (chunk > 0) { + H5Pset_chunk(dcpl, 1, &chunk); } /* set dataset compression */ if (compressed) { - if (chunk<=0) { - chunk = dim0/10+1;; - H5Pset_chunk (dcpl, 1, &chunk); + if (chunk <= 0) { + chunk = dim0 / 10 + 1; + ; + H5Pset_chunk(dcpl, 1, &chunk); } - H5Pset_shuffle (dcpl); - H5Pset_deflate (dcpl, 6); + H5Pset_shuffle(dcpl); + H5Pset_deflate(dcpl, 6); } /* allocate buffers */ - buf_comp = (test_comp_t *)calloc(dim0, sizeof(test_comp_t)); - buf_comp_large = (test_comp_t *)calloc(nrows, sizeof(test_comp_t)); - buf_int = (int *)calloc(dim0, sizeof(int)); - buf_float_a = malloc(dim0*sizeof(*buf_float_a)); - buf_vlen_i = (hvl_t *)calloc(dim0, sizeof (hvl_t)); - buf_vlen_s = (char **)calloc(dim0, sizeof(char *)); - buf_str = malloc(dim0*sizeof (*buf_str)); + buf_comp = (test_comp_t *)calloc(dim0, sizeof(test_comp_t)); + buf_comp_large = (test_comp_t *)calloc(nrows, sizeof(test_comp_t)); + buf_int = (int *)calloc(dim0, sizeof(int)); + buf_float_a = malloc(dim0 * sizeof(*buf_float_a)); + buf_vlen_i = (hvl_t *)calloc(dim0, sizeof(hvl_t)); + buf_vlen_s = (char **)calloc(dim0, sizeof(char *)); + buf_str = malloc(dim0 * sizeof(*buf_str)); /* allocate array of doulbe pointers */ - buf_double2d = (double **)calloc(dims2d[0],sizeof(double *)); + buf_double2d = (double **)calloc(dims2d[0], sizeof(double *)); /* allocate a contigous chunk of memory for the data */ - buf_double2d[0] = (double *)calloc( dims2d[0]*dims2d[1],sizeof(double) ); + buf_double2d[0] = (double *)calloc(dims2d[0] * dims2d[1], sizeof(double)); /* assign memory city to pointer array */ - for (i=1; i <dims2d[0]; i++) buf_double2d[i] = buf_double2d[0]+i*dims2d[1]; + for (i = 1; i < dims2d[0]; i++) + buf_double2d[i] = buf_double2d[0] + i * dims2d[1]; /* fill buffer values */ len = 1; - for (i=0; i<dims[0]; i++) { - buf_comp[i].i = buf_int[i] = i-2147483648; - buf_comp[i].l = 0xffffffffffffffff-i; - buf_comp[i].f = 1.0/(i+1.0); - buf_comp[i].d = 987654321.0*i+1.0/(i+1.0); - buf_comp[i].e = (phase_t) (i % (int) (PLASMA + 1)); - - for (j=0; j<FIXED_LEN; j++) { - buf_comp[i].f_array[j] = buf_float_a[i][j] = i*100+j; - buf_str[i][j] = 'a' + (i%26); + for (i = 0; i < dims[0]; i++) { + buf_comp[i].i = buf_int[i] = i - 2147483648; + buf_comp[i].l = 0xffffffffffffffff - i; + buf_comp[i].f = 1.0 / (i + 1.0); + buf_comp[i].d = 987654321.0 * i + 1.0 / (i + 1.0); + buf_comp[i].e = (phase_t)(i % (int)(PLASMA + 1)); + + for (j = 0; j < FIXED_LEN; j++) { + buf_comp[i].f_array[j] = buf_float_a[i][j] = i * 100 + j; + buf_str[i][j] = 'a' + (i % 26); } - buf_str[i][FIXED_LEN-1] = 0; + buf_str[i][FIXED_LEN - 1] = 0; strcpy(buf_comp[i].s, buf_str[i]); - len = (1-cos(i/8.0))/2*vlen+1; - if (!i) len = vlen; + len = (1 - cos(i / 8.0)) / 2 * vlen + 1; + if (!i) + len = vlen; buf_vlen_i[i].len = len; - buf_vlen_i[i].p = (int *)calloc(len, sizeof(int)); - for (j=0; j<len; j++) ((int*)(buf_vlen_i[i].p))[j] = i*100+j; + buf_vlen_i[i].p = (int *)calloc(len, sizeof(int)); + for (j = 0; j < len; j++) + ((int *)(buf_vlen_i[i].p))[j] = i * 100 + j; buf_comp[i].i_vlen = buf_vlen_i[i]; buf_vlen_s[i] = (char *)calloc(len, sizeof(char)); - for (j=0; j<len-1; j++) - buf_vlen_s[i][j] = j%26+'A'; + for (j = 0; j < len - 1; j++) + buf_vlen_s[i][j] = j % 26 + 'A'; buf_comp[i].s_vlen = buf_vlen_s[i]; - for (j=0; j<dims2d[1]; j++) - buf_double2d[i][j] = i+j/10000.0; + for (j = 0; j < dims2d[1]; j++) + buf_double2d[i][j] = i + j / 10000.0; } - for (i=0; i<nrows; i++) { - buf_comp_large[i].i = i-2147483648; - buf_comp_large[i].l = 0xffffffffffffffff-i; - buf_comp_large[i].f = 1.0/(i+1.0); - buf_comp_large[i].d = 987654321.0*i+1.0/(i+1.0); - buf_comp_large[i].e = (phase_t) (i % (int) (PLASMA + 1)); - for (j=0; j<FIXED_LEN-1; j++) { - buf_comp_large[i].f_array[j] = i*100+j; - buf_comp_large[i].s[j] = 'a' + (i%26); + for (i = 0; i < nrows; i++) { + buf_comp_large[i].i = i - 2147483648; + buf_comp_large[i].l = 0xffffffffffffffff - i; + buf_comp_large[i].f = 1.0 / (i + 1.0); + buf_comp_large[i].d = 987654321.0 * i + 1.0 / (i + 1.0); + buf_comp_large[i].e = (phase_t)(i % (int)(PLASMA + 1)); + for (j = 0; j < FIXED_LEN - 1; j++) { + buf_comp_large[i].f_array[j] = i * 100 + j; + buf_comp_large[i].s[j] = 'a' + (i % 26); } - len = i%vlen+1; + len = i % vlen + 1; buf_comp_large[i].i_vlen.len = len; - buf_comp_large[i].i_vlen.p = (int *)calloc(len, sizeof(int)); - for (j=0; j<len; j++) ((int*)(buf_comp_large[i].i_vlen.p))[j] = i*100+j; - buf_comp_large[i].s_vlen = (char *)calloc(i+2, sizeof(char)); - for (j=0; j<i+1; j++) (buf_comp_large[i].s_vlen)[j] = j%26+'A'; + buf_comp_large[i].i_vlen.p = (int *)calloc(len, sizeof(int)); + for (j = 0; j < len; j++) + ((int *)(buf_comp_large[i].i_vlen.p))[j] = i * 100 + j; + buf_comp_large[i].s_vlen = (char *)calloc(i + 2, sizeof(char)); + for (j = 0; j < i + 1; j++) + (buf_comp_large[i].s_vlen)[j] = j % 26 + 'A'; } /* create file */ if (latest) - fid = H5Fcreate (fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); + fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); else - fid = H5Fcreate (fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); add_attrs(fid, 0); HDsprintf(name, "a cmp ds of %d rows", nrows); - did = H5Dcreate (fid, name, cmp_tid, sid_large, H5P_DEFAULT, dcpl, H5P_DEFAULT); - H5Dwrite (did, cmp_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_comp_large); + did = H5Dcreate(fid, name, cmp_tid, sid_large, H5P_DEFAULT, dcpl, H5P_DEFAULT); + H5Dwrite(did, cmp_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_comp_large); add_attrs(did, 0); H5Dclose(did); // /* add attributes*/ - gid1 = H5Gcreate (fid, "attributes", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (nattrs<1) nattrs = 1; - i=0; - while (i<nattrs) i += add_attrs(gid1, i); + gid1 = H5Gcreate(fid, "attributes", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (nattrs < 1) + nattrs = 1; + i = 0; + while (i < nattrs) + i += add_attrs(gid1, i); H5Gclose(gid1); /* add many sub groups to a group*/ - gid1 = H5Gcreate (fid, "groups", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + gid1 = H5Gcreate(fid, "groups", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); add_attrs(gid1, 0); - for (i=0; i<ngrps; i++) { + for (i = 0; i < ngrps; i++) { /* create sub groups */ HDsprintf(name, "g%02d", i); - gid2 = H5Gcreate (gid1, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (i<10) add_attrs(gid2, 0); + gid2 = H5Gcreate(gid1, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (i < 10) + add_attrs(gid2, 0); H5Gclose(gid2); } H5Gclose(gid1); /* add many datasets to a group */ - gid1 = H5Gcreate (fid, "datasets", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + gid1 = H5Gcreate(fid, "datasets", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); add_attrs(gid1, 0); - for (j=0; j<ndsets; j+=12) { + for (j = 0; j < ndsets; j += 12) { /* 1 add a null dataset */ HDsprintf(name, "%05d null dataset", j); - did = H5Dcreate (gid1, name, H5T_STD_I32LE, sid_null, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, H5T_STD_I32LE, sid_null, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 2 add scalar int point */ HDsprintf(name, "%05d scalar int point", j); - did = H5Dcreate (gid1, name, H5T_NATIVE_INT, sid_scalar, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite (did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &j); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, H5T_NATIVE_INT, sid_scalar, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &j); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 3 scalar vlen string */ HDsprintf(name, "%05d scalar vlen string", j); - did = H5Dcreate (gid1, name, tid_vlen_s, sid_scalar, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite (did, tid_vlen_s, H5S_ALL, H5S_ALL, H5P_DEFAULT, &buf_vlen_s[0]); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, tid_vlen_s, sid_scalar, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, tid_vlen_s, H5S_ALL, H5S_ALL, H5P_DEFAULT, &buf_vlen_s[0]); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 4 add fixed-length float array */ HDsprintf(name, "%05d fixed-length float array", j); - did = H5Dcreate (gid1, name, tid_array_f, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); - H5Dwrite (did, tid_array_f, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_float_a); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, tid_array_f, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); + H5Dwrite(did, tid_array_f, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_float_a); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 5 add fixed-length strings */ HDsprintf(name, "%05d fixed-length strings", j); - did = H5Dcreate (gid1, name, tid_str, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); - H5Dwrite (did, tid_str, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_str); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, tid_str, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); + H5Dwrite(did, tid_str, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_str); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 6 add compound data */ HDsprintf(name, "%05d compund data", j); - did = H5Dcreate (gid1, name, cmp_tid, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); - H5Dwrite (did, cmp_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_comp); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, cmp_tid, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); + H5Dwrite(did, cmp_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_comp); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 7 add 2D double */ HDsprintf(name, "%05d 2D double", j); - strcpy (tmp_name1, name); - did = H5Dcreate (gid1, name, H5T_NATIVE_DOUBLE, sid_2d, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite (did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_double2d[0]); - if (!j) add_attrs(did, j); + strcpy(tmp_name1, name); + did = H5Dcreate(gid1, name, H5T_NATIVE_DOUBLE, sid_2d, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_double2d[0]); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 8 add 1D int array */ HDsprintf(name, "%05d 1D int array", j); - did = H5Dcreate (gid1, name, H5T_NATIVE_INT, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); - H5Dwrite (did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_int); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, H5T_NATIVE_INT, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_int); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 9 add vlen int array */ HDsprintf(name, "%05d vlen int array", j); - strcpy (tmp_name2, name); - did = H5Dcreate (gid1, name, tid_vlen_i, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); - H5Dwrite (did, tid_vlen_i, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_vlen_i); - if (!j) add_attrs(did, j); + strcpy(tmp_name2, name); + did = H5Dcreate(gid1, name, tid_vlen_i, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); + H5Dwrite(did, tid_vlen_i, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_vlen_i); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 10 add vlen strings */ HDsprintf(name, "%05d vlen strings", j); - strcpy (tmp_name3, name); - did = H5Dcreate (gid1, name, tid_vlen_s, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); - H5Dwrite (did, tid_vlen_s, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_vlen_s); - if (!j) add_attrs(did, j); + strcpy(tmp_name3, name); + did = H5Dcreate(gid1, name, tid_vlen_s, sid_1d, H5P_DEFAULT, dcpl, H5P_DEFAULT); + H5Dwrite(did, tid_vlen_s, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_vlen_s); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 11 add object refs */ - H5Rcreate(&buf_ref[0],gid1, ".", H5R_OBJECT, (hid_t)-1); - H5Rcreate(&buf_ref[1],gid1, tmp_name3, H5R_OBJECT, (hid_t)-1); + H5Rcreate(&buf_ref[0], gid1, ".", H5R_OBJECT, (hid_t)-1); + H5Rcreate(&buf_ref[1], gid1, tmp_name3, H5R_OBJECT, (hid_t)-1); HDsprintf(name, "%05d obj refs", j); - did = H5Dcreate (gid1, name, H5T_STD_REF_OBJ, sid_2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite (did, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_ref); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, H5T_STD_REF_OBJ, sid_2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_ref); + if (!j) + add_attrs(did, j); H5Dclose(did); /* 12 add region refs */ - H5Sselect_elements (sid_2d, H5S_SELECT_SET, 4, coords[0]); - H5Rcreate(&buf_reg_ref[0],gid1, tmp_name1, H5R_DATASET_REGION, sid_2d); + H5Sselect_elements(sid_2d, H5S_SELECT_SET, 4, coords[0]); + H5Rcreate(&buf_reg_ref[0], gid1, tmp_name1, H5R_DATASET_REGION, sid_2d); H5Sselect_none(sid_2d); - count = dims[0]/2+1; - H5Sselect_hyperslab (sid_1d, H5S_SELECT_SET, &start, &stride, &count,NULL); - H5Rcreate(&buf_reg_ref[1],gid1, tmp_name2, H5R_DATASET_REGION, sid_1d); + count = dims[0] / 2 + 1; + H5Sselect_hyperslab(sid_1d, H5S_SELECT_SET, &start, &stride, &count, NULL); + H5Rcreate(&buf_reg_ref[1], gid1, tmp_name2, H5R_DATASET_REGION, sid_1d); H5Sselect_none(sid_1d); HDsprintf(name, "%05d region refs", j); - did = H5Dcreate (gid1, name, H5T_STD_REF_DSETREG, sid_2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite (did, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_reg_ref); - if (!j) add_attrs(did, j); + did = H5Dcreate(gid1, name, H5T_STD_REF_DSETREG, sid_2, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_STD_REF_DSETREG, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_reg_ref); + if (!j) + add_attrs(did, j); H5Dclose(did); } H5Gclose(gid1); - H5Tclose (tid_array_f); - H5Tclose (tid_vlen_i); - H5Tclose (tid_vlen_s); - H5Tclose (tid_enum); - H5Tclose (tid_str); - H5Tclose (cmp_tid); - H5Pclose (dcpl); - H5Pclose (fapl); - H5Sclose (sid_1d); - H5Sclose (sid_2d); - H5Sclose (sid_2); - H5Sclose (sid_large); - H5Sclose (sid_null); - H5Sclose (sid_scalar); - H5Fclose (fid); - - for (i=0; i<dims[0]; i++) { - if (buf_vlen_i[i].p) free(buf_vlen_i[i].p); - if (buf_vlen_s[i]) free(buf_vlen_s[i]); + H5Tclose(tid_array_f); + H5Tclose(tid_vlen_i); + H5Tclose(tid_vlen_s); + H5Tclose(tid_enum); + H5Tclose(tid_str); + H5Tclose(cmp_tid); + H5Pclose(dcpl); + H5Pclose(fapl); + H5Sclose(sid_1d); + H5Sclose(sid_2d); + H5Sclose(sid_2); + H5Sclose(sid_large); + H5Sclose(sid_null); + H5Sclose(sid_scalar); + H5Fclose(fid); + + for (i = 0; i < dims[0]; i++) { + if (buf_vlen_i[i].p) + free(buf_vlen_i[i].p); + if (buf_vlen_s[i]) + free(buf_vlen_s[i]); } - for (i=0; i<nrows; i++) { - if (buf_comp_large[i].i_vlen.p) free(buf_comp_large[i].i_vlen.p); - if (buf_comp_large[i].s_vlen) free(buf_comp_large[i].s_vlen); + for (i = 0; i < nrows; i++) { + if (buf_comp_large[i].i_vlen.p) + free(buf_comp_large[i].i_vlen.p); + if (buf_comp_large[i].s_vlen) + free(buf_comp_large[i].s_vlen); } - free (buf_comp); - free (buf_comp_large); - free (buf_int); - free (buf_float_a); - free (buf_double2d[0]); - free (buf_double2d); - free (buf_str); + free(buf_comp); + free(buf_comp_large); + free(buf_int); + free(buf_float_a); + free(buf_double2d[0]); + free(buf_double2d); + free(buf_str); free(buf_vlen_i); free(buf_vlen_s); @@ -470,13 +509,14 @@ herr_t create_perf_test_file(const char *fname, int ngrps, int ndsets, } /* add a single attribute */ -int add_attr(hid_t oid, const char *name, hid_t tid, hid_t sid, void *buf) +int +add_attr(hid_t oid, const char *name, hid_t tid, hid_t sid, void *buf) { hid_t aid; - aid = H5Acreate (oid, name, tid, sid, H5P_DEFAULT, H5P_DEFAULT); - if (aid <0) - return 0; + aid = H5Acreate(oid, name, tid, sid, H5P_DEFAULT, H5P_DEFAULT); + if (aid < 0) + return 0; H5Awrite(aid, tid, buf); @@ -490,60 +530,61 @@ int add_attr(hid_t oid, const char *name, hid_t tid, hid_t sid, void *buf) returns the number of attributes added to the objects. */ -int add_attrs(hid_t oid, int idx) +int +add_attrs(hid_t oid, int idx) { - char name[32]; - int i0, i1, i2, j, nattrs=0; - hid_t aid, tid, tid1, sid; - hvl_t i_vlen[4]; - hobj_ref_t ref; - zipcode_t cmp_data[4]; - unsigned int i = 0xffffffff; - long long l = -2147483647; - float f = 123456789.987654321; - double d = 987654321.123456789; - char *s[7] = {"Parting", "is such", "sweeter", "sorrow."}; - float f_array[4] = {1.0, 2.22, 3.333, 4.444}; - char *s_vlen[4] = {"Parting", "is such", "sweet", "sorrow."}; - hsize_t dims1[1]={1}, dims2[1]={4}, dims3[2]={3,5}; - int int3d[4][3][5]; - size_t offset = 0; - - for (i0=0; i0<4; i0++) { - i_vlen[i0].len = (i0+1); - i_vlen[i0].p = (int *)calloc(i_vlen[i0].len, sizeof(int)); - for (j=0; j<i_vlen[i0].len; j++) - ((int *)i_vlen[i0].p)[j] = i0*100+j; - for (i1=0; i1<3; i1++) { - for (i2=0; i2<5; i2++) - int3d[i0][i1][i2] = i0*i1-i1*i2+i0*i2; + char name[32]; + int i0, i1, i2, j, nattrs = 0; + hid_t aid, tid, tid1, sid; + hvl_t i_vlen[4]; + hobj_ref_t ref; + zipcode_t cmp_data[4]; + unsigned int i = 0xffffffff; + long long l = -2147483647; + float f = 123456789.987654321; + double d = 987654321.123456789; + char * s[7] = {"Parting", "is such", "sweeter", "sorrow."}; + float f_array[4] = {1.0, 2.22, 3.333, 4.444}; + char * s_vlen[4] = {"Parting", "is such", "sweet", "sorrow."}; + hsize_t dims1[1] = {1}, dims2[1] = {4}, dims3[2] = {3, 5}; + int int3d[4][3][5]; + size_t offset = 0; + + for (i0 = 0; i0 < 4; i0++) { + i_vlen[i0].len = (i0 + 1); + i_vlen[i0].p = (int *)calloc(i_vlen[i0].len, sizeof(int)); + for (j = 0; j < i_vlen[i0].len; j++) + ((int *)i_vlen[i0].p)[j] = i0 * 100 + j; + for (i1 = 0; i1 < 3; i1++) { + for (i2 = 0; i2 < 5; i2++) + int3d[i0][i1][i2] = i0 * i1 - i1 * i2 + i0 * i2; } } cmp_data[0].zipcode = 01001; - cmp_data[0].city = "Agawam, Massachusetts"; + cmp_data[0].city = "Agawam, Massachusetts"; cmp_data[1].zipcode = 99950; - cmp_data[1].city = "Ketchikan, Alaska"; + cmp_data[1].city = "Ketchikan, Alaska"; cmp_data[2].zipcode = 00501; - cmp_data[2].city = "Holtsville, New York"; + cmp_data[2].city = "Holtsville, New York"; cmp_data[3].zipcode = 61820; - cmp_data[3].city = "Champaign, Illinois"; + cmp_data[3].city = "Champaign, Illinois"; /* 1 scalar point */ - sid = H5Screate (H5S_SCALAR); + sid = H5Screate(H5S_SCALAR); HDsprintf(name, "%05d scalar int", idx); nattrs += add_attr(oid, name, H5T_NATIVE_UINT, sid, &i); HDsprintf(name, "%05d scalar ulong", idx); nattrs += add_attr(oid, name, H5T_NATIVE_INT64, sid, &l); HDsprintf(name, "%05d scalar str", idx); - tid = H5Tcopy (H5T_C_S1); - H5Tset_size (tid, H5T_VARIABLE); + tid = H5Tcopy(H5T_C_S1); + H5Tset_size(tid, H5T_VARIABLE); nattrs += add_attr(oid, name, tid, sid, &s[2]); H5Tclose(tid); H5Sclose(sid); /* 4 single point */ - sid = H5Screate_simple (1, dims1, NULL); + sid = H5Screate_simple(1, dims1, NULL); H5Rcreate(&ref, oid, ".", H5R_OBJECT, (hid_t)-1); HDsprintf(name, "%05d single float", idx); nattrs += add_attr(oid, name, H5T_NATIVE_FLOAT, sid, &f); @@ -554,14 +595,14 @@ int add_attrs(hid_t oid, int idx) H5Sclose(sid); /* 7 fixed length 1D array */ - sid = H5Screate_simple (1, dims1, NULL); - tid = H5Tarray_create (H5T_NATIVE_FLOAT, 1, dims2); + sid = H5Screate_simple(1, dims1, NULL); + tid = H5Tarray_create(H5T_NATIVE_FLOAT, 1, dims2); HDsprintf(name, "%05d array float", idx); nattrs += add_attr(oid, name, tid, sid, &f_array[0]); H5Tclose(tid); - tid = H5Tcopy (H5T_C_S1); - H5Tset_size (tid, strlen(s[0])+1); - tid1 = H5Tarray_create (tid, 1, dims2); + tid = H5Tcopy(H5T_C_S1); + H5Tset_size(tid, strlen(s[0]) + 1); + tid1 = H5Tarray_create(tid, 1, dims2); HDsprintf(name, "%05d array str", idx); nattrs += add_attr(oid, name, tid1, sid, s); H5Tclose(tid1); @@ -569,40 +610,43 @@ int add_attrs(hid_t oid, int idx) H5Sclose(sid); /* 9 fixed length 2D int arrays */ - sid = H5Screate_simple (1, dims2, NULL); - tid = H5Tarray_create (H5T_NATIVE_INT, 2, dims3); + sid = H5Screate_simple(1, dims2, NULL); + tid = H5Tarray_create(H5T_NATIVE_INT, 2, dims3); HDsprintf(name, "%05d array int 2D", idx); nattrs += add_attr(oid, name, tid, sid, int3d[0][0]); H5Tclose(tid); H5Sclose(sid); /* 10 variable length arrays */ - sid = H5Screate_simple (1, dims2, NULL); - tid = H5Tcopy (H5T_C_S1); - H5Tset_size (tid, H5T_VARIABLE); + sid = H5Screate_simple(1, dims2, NULL); + tid = H5Tcopy(H5T_C_S1); + H5Tset_size(tid, H5T_VARIABLE); HDsprintf(name, "%05d vlen strings", idx); nattrs += add_attr(oid, name, tid, sid, s_vlen); H5Tclose(tid); - tid = H5Tvlen_create (H5T_NATIVE_INT);; + tid = H5Tvlen_create(H5T_NATIVE_INT); + ; HDsprintf(name, "%05d vlen int array", idx); nattrs += add_attr(oid, name, tid, sid, i_vlen); H5Tclose(tid); H5Sclose(sid); /* 12 compound data */ - sid = H5Screate_simple (1, dims2, NULL); - tid = H5Tcreate (H5T_COMPOUND, sizeof (zipcode_t)); - tid1 = H5Tcopy (H5T_C_S1); - H5Tset_size (tid1, H5T_VARIABLE); - H5Tinsert (tid, "zip code", 0, H5T_NATIVE_INT); offset += sizeof(H5T_NATIVE_INT); - H5Tinsert (tid, "City", offset, tid1); offset += sizeof(char *); + sid = H5Screate_simple(1, dims2, NULL); + tid = H5Tcreate(H5T_COMPOUND, sizeof(zipcode_t)); + tid1 = H5Tcopy(H5T_C_S1); + H5Tset_size(tid1, H5T_VARIABLE); + H5Tinsert(tid, "zip code", 0, H5T_NATIVE_INT); + offset += sizeof(H5T_NATIVE_INT); + H5Tinsert(tid, "City", offset, tid1); + offset += sizeof(char *); HDsprintf(name, "%05d compound data", idx); nattrs += add_attr(oid, name, tid, sid, cmp_data); H5Tclose(tid1); H5Tclose(tid); H5Sclose(sid); - for (i0=0; i0<4; i0++) + for (i0 = 0; i0 < 4; i0++) free(i_vlen[i0].p); return nattrs; diff --git a/tools/test/misc/h5repart_gentest.c b/tools/test/misc/h5repart_gentest.c index 520069f..83e4540 100644 --- a/tools/test/misc/h5repart_gentest.c +++ b/tools/test/misc/h5repart_gentest.c @@ -21,26 +21,27 @@ #include "hdf5.h" #include "H5private.h" -#define FAMILY_NUMBER 4 -#define FAMILY_SIZE 1024 -#define FILENAME "family_file%05d.h5" +#define FAMILY_NUMBER 4 +#define FAMILY_SIZE 1024 +#define FILENAME "family_file%05d.h5" -int **buf = NULL; -int *buf_data = NULL; +int **buf = NULL; +int * buf_data = NULL; -int main(void) +int +main(void) { - hid_t file=(-1), fapl, space=(-1), dset=(-1); - char dname[]="dataset"; - int i, j; - hsize_t dims[2]={FAMILY_NUMBER, FAMILY_SIZE}; + hid_t file = (-1), fapl, space = (-1), dset = (-1); + char dname[] = "dataset"; + int i, j; + hsize_t dims[2] = {FAMILY_NUMBER, FAMILY_SIZE}; /* Set up data array */ - if(NULL == (buf_data = (int *)HDcalloc(FAMILY_NUMBER * FAMILY_SIZE, sizeof(int)))) { + if (NULL == (buf_data = (int *)HDcalloc(FAMILY_NUMBER * FAMILY_SIZE, sizeof(int)))) { HDperror("HDcalloc"); HDexit(EXIT_FAILURE); } - if(NULL == (buf = (int **)HDcalloc(FAMILY_NUMBER, sizeof(buf_data)))) { + if (NULL == (buf = (int **)HDcalloc(FAMILY_NUMBER, sizeof(buf_data)))) { HDperror("HDcalloc"); HDexit(EXIT_FAILURE); } @@ -53,55 +54,52 @@ int main(void) HDexit(EXIT_FAILURE); } - if(H5Pset_fapl_family(fapl, (hsize_t)FAMILY_SIZE, H5P_DEFAULT) < 0) { + if (H5Pset_fapl_family(fapl, (hsize_t)FAMILY_SIZE, H5P_DEFAULT) < 0) { HDperror("H5Pset_fapl_family"); HDexit(EXIT_FAILURE); } - if((file = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) { + if ((file = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) { HDperror("H5Fcreate"); HDexit(EXIT_FAILURE); } /* Create and write dataset */ - if((space = H5Screate_simple(2, dims, NULL)) < 0) { + if ((space = H5Screate_simple(2, dims, NULL)) < 0) { HDperror("H5Screate_simple"); HDexit(EXIT_FAILURE); } - - if((dset = H5Dcreate2(file, dname, H5T_NATIVE_INT, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) { + if ((dset = H5Dcreate2(file, dname, H5T_NATIVE_INT, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) { HDperror("H5Dcreate2"); HDexit(EXIT_FAILURE); } - - for(i = 0; i < FAMILY_NUMBER; i++) - for(j = 0; j < FAMILY_SIZE; j++) + for (i = 0; i < FAMILY_NUMBER; i++) + for (j = 0; j < FAMILY_SIZE; j++) buf[i][j] = i * 10000 + j; - if(H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_data) < 0) { + if (H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf_data) < 0) { HDperror("H5Dwrite"); HDexit(EXIT_FAILURE); } - - if(H5Sclose(space) < 0) { + if (H5Sclose(space) < 0) { HDperror("H5Sclose"); HDexit(EXIT_FAILURE); } - if(H5Dclose(dset) < 0) { + if (H5Dclose(dset) < 0) { HDperror("H5Dclose"); HDexit(EXIT_FAILURE); } - if(H5Pclose(fapl) < 0) { + if (H5Pclose(fapl) < 0) { HDperror("H5Pclose"); HDexit(EXIT_FAILURE); } - if(H5Fclose(file) < 0) { + if (H5Fclose(file) < 0) { HDperror("H5Fclose"); HDexit(EXIT_FAILURE); } diff --git a/tools/test/misc/repart_test.c b/tools/test/misc/repart_test.c index 7227de0..d5f1010 100644 --- a/tools/test/misc/repart_test.c +++ b/tools/test/misc/repart_test.c @@ -19,22 +19,16 @@ #include "hdf5.h" #include "H5private.h" -#define KB 1024 -#define FAMILY_H5REPART_SIZE1 20000 -#define FAMILY_H5REPART_SIZE2 (5*KB) - -const char *FILENAME[] = { - "fst_family%05d.h5", - "scd_family%05d.h5", - "family_to_single.h5", - "family_to_sec2.h5", - NULL -}; +#define KB 1024 +#define FAMILY_H5REPART_SIZE1 20000 +#define FAMILY_H5REPART_SIZE2 (5 * KB) + +const char *FILENAME[] = {"fst_family%05d.h5", "scd_family%05d.h5", "family_to_single.h5", + "family_to_sec2.h5", NULL}; herr_t test_family_h5repart_opens(void); herr_t test_single_h5repart_opens(void); - /*------------------------------------------------------------------------- * Function: test_family_h5repart_opens * @@ -47,8 +41,8 @@ herr_t test_single_h5repart_opens(void); herr_t test_family_h5repart_opens(void) { - hid_t fid = H5I_INVALID_HID; - hid_t fapl_id = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; + hid_t fapl_id = H5I_INVALID_HID; /* open 1st file(single member file) with correct family size(20000 byte) */ if ((fapl_id = H5Pcreate(H5P_FILE_ACCESS)) < 0) @@ -57,7 +51,7 @@ test_family_h5repart_opens(void) if (H5Pset_fapl_family(fapl_id, (hsize_t)FAMILY_H5REPART_SIZE1, H5P_DEFAULT) < 0) goto error; - if ((fid = H5Fopen(FILENAME[0], H5F_ACC_RDWR, fapl_id))<0) + if ((fid = H5Fopen(FILENAME[0], H5F_ACC_RDWR, fapl_id)) < 0) goto error; if (H5Fclose(fid) < 0) @@ -79,17 +73,17 @@ test_family_h5repart_opens(void) return SUCCEED; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Pclose(fapl_id); H5Fclose(fid); - } H5E_END_TRY; + } + H5E_END_TRY; return FAIL; } /* end test_family_h5repart_opens() */ - - /*------------------------------------------------------------------------- * Function: test_single_h5repart_opens * @@ -102,7 +96,7 @@ error: herr_t test_single_h5repart_opens(void) { - hid_t fid = H5I_INVALID_HID; + hid_t fid = H5I_INVALID_HID; /* open the single file */ if ((fid = H5Fopen(FILENAME[2], H5F_ACC_RDWR, H5P_DEFAULT)) < 0) @@ -119,15 +113,13 @@ test_single_h5repart_opens(void) return SUCCEED; error: - H5E_BEGIN_TRY { - H5Fclose(fid); - } H5E_END_TRY; + H5E_BEGIN_TRY { H5Fclose(fid); } + H5E_END_TRY; return FAIL; } /* end test_single_h5repart_opens() */ - /*------------------------------------------------------------------------- * Function: main * @@ -140,10 +132,10 @@ error: int main(void) { - int nerrors = 0; + int nerrors = 0; - nerrors += test_family_h5repart_opens() < 0 ? 1 : 0; - nerrors += test_single_h5repart_opens() < 0 ? 1 : 0; + nerrors += test_family_h5repart_opens() < 0 ? 1 : 0; + nerrors += test_single_h5repart_opens() < 0 ? 1 : 0; if (nerrors) goto error; @@ -152,8 +144,6 @@ main(void) error: nerrors = MAX(1, nerrors); - HDprintf("***** %d FAMILY FILE TEST%s FAILED! *****\n", - nerrors, 1 == nerrors ? "" : "S"); + HDprintf("***** %d FAMILY FILE TEST%s FAILED! *****\n", nerrors, 1 == nerrors ? "" : "S"); HDexit(EXIT_FAILURE); } /* end main() */ - diff --git a/tools/test/misc/talign.c b/tools/test/misc/talign.c index c69d1f7..2cf73ae 100644 --- a/tools/test/misc/talign.c +++ b/tools/test/misc/talign.c @@ -20,7 +20,7 @@ #include "H5private.h" #include "h5tools.h" -const char *fname = "talign.h5"; +const char *fname = "talign.h5"; const char *setname = "align"; /* @@ -30,26 +30,27 @@ const char *setname = "align"; * another per construction) */ -int main(void) +int +main(void) { - hid_t fil=H5I_INVALID_HID, spc=H5I_INVALID_HID, set=H5I_INVALID_HID; - hid_t cs6=H5I_INVALID_HID, cmp=H5I_INVALID_HID, fix=H5I_INVALID_HID; - hid_t cmp1=H5I_INVALID_HID, cmp2=H5I_INVALID_HID, cmp3=H5I_INVALID_HID; - hid_t plist=H5I_INVALID_HID; - hid_t array_dt=H5I_INVALID_HID; + hid_t fil = H5I_INVALID_HID, spc = H5I_INVALID_HID, set = H5I_INVALID_HID; + hid_t cs6 = H5I_INVALID_HID, cmp = H5I_INVALID_HID, fix = H5I_INVALID_HID; + hid_t cmp1 = H5I_INVALID_HID, cmp2 = H5I_INVALID_HID, cmp3 = H5I_INVALID_HID; + hid_t plist = H5I_INVALID_HID; + hid_t array_dt = H5I_INVALID_HID; hsize_t dim[2]; hsize_t cdim[4]; - char string5[5]; - float fok[2] = {1234.0f, 2341.0f}; - float fnok[2] = {5678.0f, 6785.0f}; - float *fptr = NULL; + char string5[5]; + float fok[2] = {1234.0f, 2341.0f}; + float fnok[2] = {5678.0f, 6785.0f}; + float *fptr = NULL; char *data = NULL; - int result = 0; - herr_t error = 1; + int result = 0; + herr_t error = 1; HDprintf("%-70s", "Testing alignment in compound datatypes"); @@ -62,9 +63,8 @@ int main(void) return 1; } - H5E_BEGIN_TRY { - (void)H5Ldelete(fil, setname, H5P_DEFAULT); - } H5E_END_TRY; + H5E_BEGIN_TRY { (void)H5Ldelete(fil, setname, H5P_DEFAULT); } + H5E_END_TRY; cs6 = H5Tcopy(H5T_C_S1); H5Tset_size(cs6, sizeof(string5)); @@ -73,20 +73,20 @@ int main(void) cmp = H5Tcreate(H5T_COMPOUND, sizeof(fok) + sizeof(string5) + sizeof(fnok)); H5Tinsert(cmp, "Awkward length", 0, cs6); - cdim[0] = sizeof(fok) / sizeof(float); + cdim[0] = sizeof(fok) / sizeof(float); array_dt = H5Tarray_create2(H5T_NATIVE_FLOAT, 1, cdim); H5Tinsert(cmp, "Ok", sizeof(string5), array_dt); H5Tclose(array_dt); - cdim[0] = sizeof(fnok) / sizeof(float); + cdim[0] = sizeof(fnok) / sizeof(float); array_dt = H5Tarray_create2(H5T_NATIVE_FLOAT, 1, cdim); H5Tinsert(cmp, "Not Ok", sizeof(fok) + sizeof(string5), array_dt); H5Tclose(array_dt); - fix = H5Tget_native_type(cmp, H5T_DIR_DEFAULT); + fix = H5Tget_native_type(cmp, H5T_DIR_DEFAULT); cmp1 = H5Tcreate(H5T_COMPOUND, sizeof(fok)); - cdim[0] = sizeof(fok) / sizeof(float); + cdim[0] = sizeof(fok) / sizeof(float); array_dt = H5Tarray_create2(H5T_NATIVE_FLOAT, 1, cdim); H5Tinsert(cmp1, "Ok", 0, array_dt); H5Tclose(array_dt); @@ -96,13 +96,13 @@ int main(void) cmp3 = H5Tcreate(H5T_COMPOUND, sizeof(fnok)); - cdim[0] = sizeof(fnok) / sizeof(float); + cdim[0] = sizeof(fnok) / sizeof(float); array_dt = H5Tarray_create2(H5T_NATIVE_FLOAT, 1, cdim); H5Tinsert(cmp3, "Not Ok", 0, array_dt); H5Tclose(array_dt); plist = H5Pcreate(H5P_DATASET_XFER); - if((error = H5Pset_preserve(plist, 1)) < 0) + if ((error = H5Pset_preserve(plist, 1)) < 0) goto out; /* @@ -110,8 +110,8 @@ int main(void) * in turn so that we are avoid alignment issues at this point */ dim[0] = 1; - spc = H5Screate_simple(1, dim, NULL); - set = H5Dcreate2(fil, setname, cmp, spc, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + spc = H5Screate_simple(1, dim, NULL); + set = H5Dcreate2(fil, setname, cmp, spc, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Dwrite(set, cmp1, spc, H5S_ALL, plist, fok); H5Dwrite(set, cmp2, spc, H5S_ALL, plist, string5); @@ -122,7 +122,7 @@ int main(void) /* Now open the set, and read it back in */ data = (char *)HDmalloc(H5Tget_size(fix)); - if(!data) { + if (!data) { HDperror("malloc() failed"); HDabort(); } @@ -134,61 +134,56 @@ int main(void) H5Dclose(set); out: - if(error < 0) { + if (error < 0) { result = 1; HDputs("*FAILED - HDF5 library error*"); - } else if(!(H5_FLT_ABS_EQUAL(fok[0], fptr[0])) - || !(H5_FLT_ABS_EQUAL(fok[1], fptr[1])) - || !(H5_FLT_ABS_EQUAL(fnok[0], fptr[2])) - || !(H5_FLT_ABS_EQUAL(fnok[1], fptr[3]))) { + } + else if (!(H5_FLT_ABS_EQUAL(fok[0], fptr[0])) || !(H5_FLT_ABS_EQUAL(fok[1], fptr[1])) || + !(H5_FLT_ABS_EQUAL(fnok[0], fptr[2])) || !(H5_FLT_ABS_EQUAL(fnok[1], fptr[3]))) { char *mname; result = 1; - mname = H5Tget_member_name(fix, 0); - HDprintf("%14s (%2d) %6s = %s\n", - mname ? mname : "(null)", (int)H5Tget_member_offset(fix,0), - string5, (char *)(data + H5Tget_member_offset(fix, 0))); - if(mname) + mname = H5Tget_member_name(fix, 0); + HDprintf("%14s (%2d) %6s = %s\n", mname ? mname : "(null)", (int)H5Tget_member_offset(fix, 0), + string5, (char *)(data + H5Tget_member_offset(fix, 0))); + if (mname) H5free_memory(mname); - fptr = (float *)((void *)(data + H5Tget_member_offset(fix, 1))); + fptr = (float *)((void *)(data + H5Tget_member_offset(fix, 1))); mname = H5Tget_member_name(fix, 1); HDprintf("Data comparison:\n" - "%14s (%2d) %6f = %f\n" - " %6f = %f\n", - mname ? mname : "(null)", (int)H5Tget_member_offset(fix,1), - (double)fok[0], (double)fptr[0], - (double)fok[1], (double)fptr[1]); - if(mname) + "%14s (%2d) %6f = %f\n" + " %6f = %f\n", + mname ? mname : "(null)", (int)H5Tget_member_offset(fix, 1), (double)fok[0], (double)fptr[0], + (double)fok[1], (double)fptr[1]); + if (mname) H5free_memory(mname); - fptr = (float *)((void *)(data + H5Tget_member_offset(fix, 2))); + fptr = (float *)((void *)(data + H5Tget_member_offset(fix, 2))); mname = H5Tget_member_name(fix, 2); HDprintf("%14s (%2d) %6f = %f\n" - " %6f = %6f\n", - mname ? mname : "(null)", (int)H5Tget_member_offset(fix,2), - (double)fnok[0], (double)fptr[0], - (double)fnok[1], (double)fptr[1]); - if(mname) + " %6f = %6f\n", + mname ? mname : "(null)", (int)H5Tget_member_offset(fix, 2), (double)fnok[0], + (double)fptr[0], (double)fnok[1], (double)fptr[1]); + if (mname) H5free_memory(mname); fptr = (float *)((void *)(data + H5Tget_member_offset(fix, 1))); HDprintf("\n" - "Short circuit\n" - " %6f = %f\n" - " %6f = %f\n" - " %6f = %f\n" - " %6f = %f\n", - (double)fok[0], (double)fptr[0], - (double)fok[1], (double)fptr[1], - (double)fnok[0], (double)fptr[2], - (double)fnok[1], (double)fptr[3]); + "Short circuit\n" + " %6f = %f\n" + " %6f = %f\n" + " %6f = %f\n" + " %6f = %f\n", + (double)fok[0], (double)fptr[0], (double)fok[1], (double)fptr[1], (double)fnok[0], + (double)fptr[2], (double)fnok[1], (double)fptr[3]); HDputs("*FAILED - compound type alignmnent problem*"); - } else { + } + else { HDputs(" PASSED"); } - if(data) + if (data) HDfree(data); H5Sclose(spc); H5Tclose(cs6); @@ -203,4 +198,3 @@ out: HDfflush(stdout); return result; } - diff --git a/tools/test/misc/vds/UC_1.h b/tools/test/misc/vds/UC_1.h index d922d22..6dd6fdc 100644 --- a/tools/test/misc/vds/UC_1.h +++ b/tools/test/misc/vds/UC_1.h @@ -63,57 +63,40 @@ */ - -#define UC_1_N_SOURCES 6 +#define UC_1_N_SOURCES 6 /* Dataset dimensions */ -#define UC_1_SM_HEIGHT 2 /* K */ -#define UC_1_LG_HEIGHT 4 /* N */ -#define UC_1_SM_LG_HEIGHT 6 /* SM_HEIGHT + LG_HEIGHT */ -#define UC_1_FULL_HEIGHT 18 /* (3 * K) + (3 * N) */ -#define UC_1_HALF_HEIGHT 9 -#define UC_1_WIDTH 8 /* M */ -#define UC_1_HALF_WIDTH 4 +#define UC_1_SM_HEIGHT 2 /* K */ +#define UC_1_LG_HEIGHT 4 /* N */ +#define UC_1_SM_LG_HEIGHT 6 /* SM_HEIGHT + LG_HEIGHT */ +#define UC_1_FULL_HEIGHT 18 /* (3 * K) + (3 * N) */ +#define UC_1_HALF_HEIGHT 9 +#define UC_1_WIDTH 8 /* M */ +#define UC_1_HALF_WIDTH 4 -#define UC_1_N_MAX_PLANES H5S_UNLIMITED /* max number of planes */ -#define UC_1_N_TEST_PLANES 5 /* number of planes we write */ +#define UC_1_N_MAX_PLANES H5S_UNLIMITED /* max number of planes */ +#define UC_1_N_TEST_PLANES 5 /* number of planes we write */ /* Dataset datatypes */ -#define UC_1_SOURCE_DATATYPE H5T_STD_I32LE -#define UC_1_VDS_DATATYPE H5T_STD_I32LE +#define UC_1_SOURCE_DATATYPE H5T_STD_I32LE +#define UC_1_VDS_DATATYPE H5T_STD_I32LE /* Starting size of datasets, both source and VDS */ static hsize_t UC_1_DIMS[UC_1_N_SOURCES][RANK] = { - {0, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {0, UC_1_LG_HEIGHT, UC_1_WIDTH}, - {0, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {0, UC_1_LG_HEIGHT, UC_1_WIDTH}, - {0, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {0, UC_1_LG_HEIGHT, UC_1_WIDTH} -}; + {0, UC_1_SM_HEIGHT, UC_1_WIDTH}, {0, UC_1_LG_HEIGHT, UC_1_WIDTH}, {0, UC_1_SM_HEIGHT, UC_1_WIDTH}, + {0, UC_1_LG_HEIGHT, UC_1_WIDTH}, {0, UC_1_SM_HEIGHT, UC_1_WIDTH}, {0, UC_1_LG_HEIGHT, UC_1_WIDTH}}; /* Maximum size of datasets, both source and VDS */ static hsize_t UC_1_MAX_DIMS[UC_1_N_SOURCES][RANK] = { - {UC_1_N_MAX_PLANES, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {UC_1_N_MAX_PLANES, UC_1_LG_HEIGHT, UC_1_WIDTH}, - {UC_1_N_MAX_PLANES, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {UC_1_N_MAX_PLANES, UC_1_LG_HEIGHT, UC_1_WIDTH}, - {UC_1_N_MAX_PLANES, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {UC_1_N_MAX_PLANES, UC_1_LG_HEIGHT, UC_1_WIDTH} -}; + {UC_1_N_MAX_PLANES, UC_1_SM_HEIGHT, UC_1_WIDTH}, {UC_1_N_MAX_PLANES, UC_1_LG_HEIGHT, UC_1_WIDTH}, + {UC_1_N_MAX_PLANES, UC_1_SM_HEIGHT, UC_1_WIDTH}, {UC_1_N_MAX_PLANES, UC_1_LG_HEIGHT, UC_1_WIDTH}, + {UC_1_N_MAX_PLANES, UC_1_SM_HEIGHT, UC_1_WIDTH}, {UC_1_N_MAX_PLANES, UC_1_LG_HEIGHT, UC_1_WIDTH}}; /* File names for source datasets */ -static char UC_1_FILE_NAMES[UC_1_N_SOURCES][NAME_LEN] = { - {"1_a.h5"}, - {"1_b.h5"}, - {"1_c.h5"}, - {"1_d.h5"}, - {"1_e.h5"}, - {"1_f.h5"} -}; +static char UC_1_FILE_NAMES[UC_1_N_SOURCES][NAME_LEN] = {{"1_a.h5"}, {"1_b.h5"}, {"1_c.h5"}, + {"1_d.h5"}, {"1_e.h5"}, {"1_f.h5"}}; /* Dataset names */ static char UC_1_SOURCE_DSET_PATH[NAME_LEN] = "/source_dset"; #endif /* UC_1_H */ - diff --git a/tools/test/misc/vds/UC_1_one_dim_gen.c b/tools/test/misc/vds/UC_1_one_dim_gen.c index 7c4201e..43d53cf 100644 --- a/tools/test/misc/vds/UC_1_one_dim_gen.c +++ b/tools/test/misc/vds/UC_1_one_dim_gen.c @@ -25,18 +25,13 @@ #include "UC_common.h" #include "UC_1.h" -static hsize_t UC_1_VDS_DIMS[RANK] = {0, UC_1_FULL_HEIGHT, UC_1_WIDTH}; +static hsize_t UC_1_VDS_DIMS[RANK] = {0, UC_1_FULL_HEIGHT, UC_1_WIDTH}; static hsize_t UC_1_VDS_MAX_DIMS[RANK] = {UC_1_N_MAX_PLANES, UC_1_FULL_HEIGHT, UC_1_WIDTH}; /* Planes */ static hsize_t UC_1_PLANES[UC_1_N_SOURCES][RANK] = { - {1, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {1, UC_1_LG_HEIGHT, UC_1_WIDTH}, - {1, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {1, UC_1_LG_HEIGHT, UC_1_WIDTH}, - {1, UC_1_SM_HEIGHT, UC_1_WIDTH}, - {1, UC_1_LG_HEIGHT, UC_1_WIDTH} -}; + {1, UC_1_SM_HEIGHT, UC_1_WIDTH}, {1, UC_1_LG_HEIGHT, UC_1_WIDTH}, {1, UC_1_SM_HEIGHT, UC_1_WIDTH}, + {1, UC_1_LG_HEIGHT, UC_1_WIDTH}, {1, UC_1_SM_HEIGHT, UC_1_WIDTH}, {1, UC_1_LG_HEIGHT, UC_1_WIDTH}}; /* VDS file name */ static char UC_1_VDS_FILE_NAME[NAME_LEN] = "1_vds.h5"; @@ -46,43 +41,35 @@ static char UC_1_SOURCE_DSET_NAME[NAME_LEN] = "source_dset"; static char UC_1_VDS_DSET_NAME[NAME_LEN] = "vds_dset"; /* Fill values */ -static int UC_1_FILL_VALUES[UC_1_N_SOURCES] = { - -1, - -2, - -3, - -4, - -5, - -6 -}; -static int UC_1_VDS_FILL_VALUE = -9; +static int UC_1_FILL_VALUES[UC_1_N_SOURCES] = {-1, -2, -3, -4, -5, -6}; +static int UC_1_VDS_FILL_VALUE = -9; int main(void) { - hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ - hid_t src_dcplid = H5I_INVALID_HID; /* source dataset property list ID */ + hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ + hid_t src_dcplid = H5I_INVALID_HID; /* source dataset property list ID */ - hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ - hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ + hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ + hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ - hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ - hid_t did = H5I_INVALID_HID; /* dataset ID */ - hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ - hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ + hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ + hid_t did = H5I_INVALID_HID; /* dataset ID */ + hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ + hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ - hsize_t extent[RANK]; /* dataset extents */ - hsize_t start[RANK]; /* starting point for hyperslab */ - hsize_t map_start = 0; /* starting point in the VDS map */ + hsize_t extent[RANK]; /* dataset extents */ + hsize_t start[RANK]; /* starting point for hyperslab */ + hsize_t map_start = 0; /* starting point in the VDS map */ - int *buffer = NULL; /* data buffer */ - hsize_t count = 0; /* number of elements in a plane */ - int n_planes = -1; /* number of planes to write */ - int value = -1; /* value written to datasets */ - - int i; /* iterator */ - int j; /* iterator */ - hsize_t k; /* iterator */ + int * buffer = NULL; /* data buffer */ + hsize_t count = 0; /* number of elements in a plane */ + int n_planes = -1; /* number of planes to write */ + int value = -1; /* value written to datasets */ + int i; /* iterator */ + int j; /* iterator */ + hsize_t k; /* iterator */ /* Start by creating the virtual dataset (VDS) dataspace and creation * property list. The individual source datasets are then created @@ -90,86 +77,80 @@ main(void) */ /* Create VDS dcpl */ - if((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_fill_value(vds_dcplid, UC_1_VDS_DATATYPE, - &UC_1_VDS_FILL_VALUE) < 0) + if (H5Pset_fill_value(vds_dcplid, UC_1_VDS_DATATYPE, &UC_1_VDS_FILL_VALUE) < 0) UC_ERROR /* Create VDS dataspace */ - if((vds_sid = H5Screate_simple(RANK, UC_1_VDS_DIMS, - UC_1_VDS_MAX_DIMS)) < 0) + if ((vds_sid = H5Screate_simple(RANK, UC_1_VDS_DIMS, UC_1_VDS_MAX_DIMS)) < 0) UC_ERROR /************************************ * Create source files and datasets * ************************************/ - start[0] = 0; - start[1] = 0; - start[2] = 0; + start[0] = 0; + start[1] = 0; + start[2] = 0; map_start = 0; - for(i = 0; i < UC_1_N_SOURCES; i++) { + for (i = 0; i < UC_1_N_SOURCES; i++) { /* Create source dataset dcpl */ - if((src_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((src_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_chunk(src_dcplid, RANK, UC_1_PLANES[i]) < 0) + if (H5Pset_chunk(src_dcplid, RANK, UC_1_PLANES[i]) < 0) UC_ERROR - if(H5Pset_fill_value(src_dcplid, UC_1_SOURCE_DATATYPE, - &UC_1_FILL_VALUES[i]) < 0) + if (H5Pset_fill_value(src_dcplid, UC_1_SOURCE_DATATYPE, &UC_1_FILL_VALUES[i]) < 0) UC_ERROR - if(0 != i % 2) - if(H5Pset_deflate(src_dcplid, COMPRESSION_LEVEL) < 0) + if (0 != i % 2) + if (H5Pset_deflate(src_dcplid, COMPRESSION_LEVEL) < 0) UC_ERROR /* Create source file, dataspace, and dataset */ - if((fid = H5Fcreate(UC_1_FILE_NAMES[i], H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_1_FILE_NAMES[i], H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR - if((src_sid = H5Screate_simple(RANK, UC_1_DIMS[i], - UC_1_MAX_DIMS[i])) < 0) + if ((src_sid = H5Screate_simple(RANK, UC_1_DIMS[i], UC_1_MAX_DIMS[i])) < 0) UC_ERROR - if((did = H5Dcreate2(fid, UC_1_SOURCE_DSET_NAME, - UC_1_SOURCE_DATATYPE, src_sid, - H5P_DEFAULT, src_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_1_SOURCE_DSET_NAME, UC_1_SOURCE_DATATYPE, src_sid, H5P_DEFAULT, + src_dcplid, H5P_DEFAULT)) < 0) UC_ERROR /* Set the dataset's extent (will eventually vary with i) */ extent[0] = UC_1_N_TEST_PLANES; extent[1] = UC_1_PLANES[i][1]; extent[2] = UC_1_PLANES[i][2]; - if(H5Dset_extent(did, extent) < 0) + if (H5Dset_extent(did, extent) < 0) UC_ERROR /* Create a data buffer that represents a plane */ count = UC_1_PLANES[i][1] * UC_1_PLANES[i][2]; - if(NULL == (buffer = (int *)malloc(count * sizeof(int)))) + if (NULL == (buffer = (int *)malloc(count * sizeof(int)))) UC_ERROR /* Create the memory dataspace */ - if((msid = H5Screate_simple(RANK, UC_1_PLANES[i], NULL)) < 0) + if ((msid = H5Screate_simple(RANK, UC_1_PLANES[i], NULL)) < 0) UC_ERROR /* Get the file dataspace */ - if((fsid = H5Dget_space(did)) < 0) + if ((fsid = H5Dget_space(did)) < 0) UC_ERROR /* Write planes to the dataset, number will eventually vary with i */ n_planes = UC_1_N_TEST_PLANES; - for(j = 0; j < n_planes; j++) { + for (j = 0; j < n_planes; j++) { value = ((i + 1) * 10) + j; - for(k = 0; k < count; k++) - buffer[k] = value; + for (k = 0; k < count; k++) + buffer[k] = value; start[0] = (hsize_t)j; start[1] = 0; start[2] = 0; - if(H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, UC_1_PLANES[i], NULL) < 0) + if (H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, UC_1_PLANES[i], NULL) < 0) UC_ERROR - if(H5Dwrite(did, H5T_NATIVE_INT, msid, fsid, H5P_DEFAULT, buffer) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, msid, fsid, H5P_DEFAULT, buffer) < 0) UC_ERROR } /* end for */ @@ -178,90 +159,86 @@ main(void) start[0] = 0; start[1] = 0; start[2] = 0; - if(H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, - UC_1_MAX_DIMS[i], NULL) < 0) + if (H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, UC_1_MAX_DIMS[i], NULL) < 0) UC_ERROR start[0] = 0; start[1] = map_start; start[2] = 0; - if(H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, start, NULL, - UC_1_MAX_DIMS[i], NULL) < 0) + if (H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, start, NULL, UC_1_MAX_DIMS[i], NULL) < 0) UC_ERROR map_start += UC_1_PLANES[i][1]; /* Add VDS mapping */ - if(H5Pset_virtual(vds_dcplid, vds_sid, UC_1_FILE_NAMES[i], - UC_1_SOURCE_DSET_PATH, src_sid) < 0) + if (H5Pset_virtual(vds_dcplid, vds_sid, UC_1_FILE_NAMES[i], UC_1_SOURCE_DSET_PATH, src_sid) < 0) UC_ERROR /* close */ - if(H5Sclose(src_sid) < 0) + if (H5Sclose(src_sid) < 0) UC_ERROR - if(H5Pclose(src_dcplid) < 0) + if (H5Pclose(src_dcplid) < 0) UC_ERROR - if(H5Sclose(msid) < 0) + if (H5Sclose(msid) < 0) UC_ERROR - if(H5Sclose(fsid) < 0) + if (H5Sclose(fsid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR free(buffer); } /* end for */ - /******************* * Create VDS file * *******************/ /* file */ - if((fid = H5Fcreate(UC_1_VDS_FILE_NAME, H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_1_VDS_FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR /* dataset */ - if((did = H5Dcreate2(fid, UC_1_VDS_DSET_NAME, UC_1_VDS_DATATYPE, vds_sid, - H5P_DEFAULT, vds_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_1_VDS_DSET_NAME, UC_1_VDS_DATATYPE, vds_sid, H5P_DEFAULT, vds_dcplid, + H5P_DEFAULT)) < 0) UC_ERROR /* close */ - if(H5Pclose(vds_dcplid) < 0) + if (H5Pclose(vds_dcplid) < 0) UC_ERROR - if(H5Sclose(vds_sid) < 0) + if (H5Sclose(vds_sid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR return EXIT_SUCCESS; error: - H5E_BEGIN_TRY { - if(src_sid >= 0) + H5E_BEGIN_TRY + { + if (src_sid >= 0) (void)H5Sclose(src_sid); - if(src_dcplid >= 0) + if (src_dcplid >= 0) (void)H5Pclose(src_dcplid); - if(vds_sid >= 0) + if (vds_sid >= 0) (void)H5Sclose(vds_sid); - if(vds_dcplid >= 0) + if (vds_dcplid >= 0) (void)H5Pclose(vds_dcplid); - if(fid >= 0) + if (fid >= 0) (void)H5Fclose(fid); - if(did >= 0) + if (did >= 0) (void)H5Dclose(did); - if(msid >= 0) + if (msid >= 0) (void)H5Sclose(msid); - if(fsid >= 0) + if (fsid >= 0) (void)H5Sclose(fsid); - if(buffer != NULL) + if (buffer != NULL) free(buffer); - } H5E_END_TRY + } + H5E_END_TRY return EXIT_FAILURE; } /* end main */ - diff --git a/tools/test/misc/vds/UC_2.h b/tools/test/misc/vds/UC_2.h index 07f9b9a..e0334df 100644 --- a/tools/test/misc/vds/UC_2.h +++ b/tools/test/misc/vds/UC_2.h @@ -48,61 +48,51 @@ */ -#define UC_2_N_SOURCES 5 +#define UC_2_N_SOURCES 5 /* Dataset dimensions */ -#define UC_2_A_HEIGHT 2 -#define UC_2_B_HEIGHT 4 -#define UC_2_AB_HEIGHT 6 /* For hyperslab start position */ -#define UC_2_C_HEIGHT 2 -#define UC_2_D_HEIGHT 5 -#define UC_2_E_HEIGHT 3 -#define UC_2_FULL_HEIGHT 8 /* A+B+C and D+E */ -#define UC_2_WIDTH 7 -#define UC_2_FULL_WIDTH 14 /* 2*width */ - -#define UC_2_N_PLANES_IN_SERIES 3 /* number of planes in a series of sub-images */ -#define UC_2_N_MAX_PLANES H5S_UNLIMITED /* max number of planes */ -#define UC_2_N_TEST_PLANES 6 /* number of planes we write */ +#define UC_2_A_HEIGHT 2 +#define UC_2_B_HEIGHT 4 +#define UC_2_AB_HEIGHT 6 /* For hyperslab start position */ +#define UC_2_C_HEIGHT 2 +#define UC_2_D_HEIGHT 5 +#define UC_2_E_HEIGHT 3 +#define UC_2_FULL_HEIGHT 8 /* A+B+C and D+E */ +#define UC_2_WIDTH 7 +#define UC_2_FULL_WIDTH 14 /* 2*width */ + +#define UC_2_N_PLANES_IN_SERIES 3 /* number of planes in a series of sub-images */ +#define UC_2_N_MAX_PLANES H5S_UNLIMITED /* max number of planes */ +#define UC_2_N_TEST_PLANES 6 /* number of planes we write */ /* Dataset datatypes */ -#define UC_2_SOURCE_DATATYPE H5T_STD_I32LE -#define UC_2_VDS_DATATYPE H5T_STD_I32LE +#define UC_2_SOURCE_DATATYPE H5T_STD_I32LE +#define UC_2_VDS_DATATYPE H5T_STD_I32LE /* Starting size of datasets, both source and VDS */ -static hsize_t UC_2_DIMS[UC_2_N_SOURCES][RANK] = { - {0, UC_2_A_HEIGHT, UC_2_WIDTH}, - {0, UC_2_B_HEIGHT, UC_2_WIDTH}, - {0, UC_2_C_HEIGHT, UC_2_WIDTH}, - {0, UC_2_D_HEIGHT, UC_2_WIDTH}, - {0, UC_2_E_HEIGHT, UC_2_WIDTH} -}; +static hsize_t UC_2_DIMS[UC_2_N_SOURCES][RANK] = {{0, UC_2_A_HEIGHT, UC_2_WIDTH}, + {0, UC_2_B_HEIGHT, UC_2_WIDTH}, + {0, UC_2_C_HEIGHT, UC_2_WIDTH}, + {0, UC_2_D_HEIGHT, UC_2_WIDTH}, + {0, UC_2_E_HEIGHT, UC_2_WIDTH}}; /* Maximum size of datasets, both source and VDS */ -static hsize_t UC_2_MAX_DIMS[UC_2_N_SOURCES][RANK] = { - {UC_2_N_MAX_PLANES, UC_2_A_HEIGHT, UC_2_WIDTH}, - {UC_2_N_MAX_PLANES, UC_2_B_HEIGHT, UC_2_WIDTH}, - {UC_2_N_MAX_PLANES, UC_2_C_HEIGHT, UC_2_WIDTH}, - {UC_2_N_MAX_PLANES, UC_2_D_HEIGHT, UC_2_WIDTH}, - {UC_2_N_MAX_PLANES, UC_2_E_HEIGHT, UC_2_WIDTH} -}; +static hsize_t UC_2_MAX_DIMS[UC_2_N_SOURCES][RANK] = {{UC_2_N_MAX_PLANES, UC_2_A_HEIGHT, UC_2_WIDTH}, + {UC_2_N_MAX_PLANES, UC_2_B_HEIGHT, UC_2_WIDTH}, + {UC_2_N_MAX_PLANES, UC_2_C_HEIGHT, UC_2_WIDTH}, + {UC_2_N_MAX_PLANES, UC_2_D_HEIGHT, UC_2_WIDTH}, + {UC_2_N_MAX_PLANES, UC_2_E_HEIGHT, UC_2_WIDTH}}; /* File names for source datasets */ static char UC_2_FILE_NAMES[UC_2_N_SOURCES][NAME_LEN] = { - {"2_a.h5"}, - {"2_b.h5"}, - {"2_c.h5"}, - {"2_d.h5"}, - {"2_e.h5"} -}; + {"2_a.h5"}, {"2_b.h5"}, {"2_c.h5"}, {"2_d.h5"}, {"2_e.h5"}}; /* VDS file name */ -#define UC_2_VDS_FILE_NAME "2_vds.h5" +#define UC_2_VDS_FILE_NAME "2_vds.h5" /* Dataset names */ -#define UC_2_SOURCE_DSET_NAME "source_dset" -#define UC_2_SOURCE_DSET_PATH "/source_dset" -#define UC_2_VDS_DSET_NAME "vds_dset" +#define UC_2_SOURCE_DSET_NAME "source_dset" +#define UC_2_SOURCE_DSET_PATH "/source_dset" +#define UC_2_VDS_DSET_NAME "vds_dset" #endif /* UC_2_H */ - diff --git a/tools/test/misc/vds/UC_2_two_dims_gen.c b/tools/test/misc/vds/UC_2_two_dims_gen.c index b9799d6..2d21d03 100644 --- a/tools/test/misc/vds/UC_2_two_dims_gen.c +++ b/tools/test/misc/vds/UC_2_two_dims_gen.c @@ -17,7 +17,6 @@ * See the header file for a description. */ - #include <stdlib.h> #include "hdf5.h" @@ -25,72 +24,60 @@ #include "UC_common.h" #include "UC_2.h" -static hsize_t UC_2_VDS_DIMS[RANK] = {0, UC_2_FULL_HEIGHT, UC_2_FULL_WIDTH}; -static hsize_t UC_2_VDS_MAX_DIMS[RANK] = {UC_2_N_MAX_PLANES, UC_2_FULL_HEIGHT, UC_2_FULL_WIDTH}; +static hsize_t UC_2_VDS_DIMS[RANK] = {0, UC_2_FULL_HEIGHT, UC_2_FULL_WIDTH}; +static hsize_t UC_2_VDS_MAX_DIMS[RANK] = {UC_2_N_MAX_PLANES, UC_2_FULL_HEIGHT, UC_2_FULL_WIDTH}; /* Positions of source datasets in the VDS */ static hsize_t UC_2_POSITIONS[UC_2_N_SOURCES][RANK] = { - /* A */ {0, 0, 0}, - /* B */ {0, UC_2_A_HEIGHT, 0}, + /* A */ {0, 0, 0}, + /* B */ {0, UC_2_A_HEIGHT, 0}, /* C */ {0, UC_2_AB_HEIGHT, 0}, - /* D */ {0, 0, UC_2_WIDTH}, - /* E */ {0, UC_2_D_HEIGHT, UC_2_WIDTH} -}; + /* D */ {0, 0, UC_2_WIDTH}, + /* E */ {0, UC_2_D_HEIGHT, UC_2_WIDTH}}; /* Planes */ -static hsize_t UC_2_PLANES[UC_2_N_SOURCES][RANK] = { - {1, UC_2_A_HEIGHT, UC_2_WIDTH}, - {1, UC_2_B_HEIGHT, UC_2_WIDTH}, - {1, UC_2_C_HEIGHT, UC_2_WIDTH}, - {1, UC_2_D_HEIGHT, UC_2_WIDTH}, - {1, UC_2_E_HEIGHT, UC_2_WIDTH} -}; +static hsize_t UC_2_PLANES[UC_2_N_SOURCES][RANK] = {{1, UC_2_A_HEIGHT, UC_2_WIDTH}, + {1, UC_2_B_HEIGHT, UC_2_WIDTH}, + {1, UC_2_C_HEIGHT, UC_2_WIDTH}, + {1, UC_2_D_HEIGHT, UC_2_WIDTH}, + {1, UC_2_E_HEIGHT, UC_2_WIDTH}}; /* Chunk dimensions */ -static hsize_t UC_2_CHUNK_DIMS[UC_2_N_SOURCES][RANK] = { - {UC_2_N_PLANES_IN_SERIES, UC_2_A_HEIGHT, UC_2_WIDTH}, - {UC_2_N_PLANES_IN_SERIES, UC_2_B_HEIGHT, UC_2_WIDTH}, - {UC_2_N_PLANES_IN_SERIES, UC_2_C_HEIGHT, UC_2_WIDTH}, - {UC_2_N_PLANES_IN_SERIES, UC_2_D_HEIGHT, UC_2_WIDTH}, - {UC_2_N_PLANES_IN_SERIES, UC_2_E_HEIGHT, UC_2_WIDTH} -}; +static hsize_t UC_2_CHUNK_DIMS[UC_2_N_SOURCES][RANK] = {{UC_2_N_PLANES_IN_SERIES, UC_2_A_HEIGHT, UC_2_WIDTH}, + {UC_2_N_PLANES_IN_SERIES, UC_2_B_HEIGHT, UC_2_WIDTH}, + {UC_2_N_PLANES_IN_SERIES, UC_2_C_HEIGHT, UC_2_WIDTH}, + {UC_2_N_PLANES_IN_SERIES, UC_2_D_HEIGHT, UC_2_WIDTH}, + {UC_2_N_PLANES_IN_SERIES, UC_2_E_HEIGHT, UC_2_WIDTH}}; /* Fill values */ -static int UC_2_FILL_VALUES[UC_2_N_SOURCES] = { - -1, - -2, - -3, - -4, - -5 -}; -static int UC_2_VDS_FILL_VALUE = -9; +static int UC_2_FILL_VALUES[UC_2_N_SOURCES] = {-1, -2, -3, -4, -5}; +static int UC_2_VDS_FILL_VALUE = -9; int main(void) { - hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ - hid_t src_dcplid = H5I_INVALID_HID; /* source dataset property list ID */ - - hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ - hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ + hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ + hid_t src_dcplid = H5I_INVALID_HID; /* source dataset property list ID */ - hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ - hid_t did = H5I_INVALID_HID; /* dataset ID */ - hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ - hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ + hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ + hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ - hsize_t start[RANK]; /* starting point for hyperslab */ - hsize_t extent[RANK]; /* dataset extents */ + hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ + hid_t did = H5I_INVALID_HID; /* dataset ID */ + hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ + hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ - int *buffer = NULL; /* data buffer */ - int value = -1; /* value written to datasets */ - hsize_t count = 0; /* number of elements in a plane */ - int n_planes = -1; /* number of planes to write */ + hsize_t start[RANK]; /* starting point for hyperslab */ + hsize_t extent[RANK]; /* dataset extents */ - int i; /* iterator */ - int j; /* iterator */ - hsize_t k; /* iterator */ + int * buffer = NULL; /* data buffer */ + int value = -1; /* value written to datasets */ + hsize_t count = 0; /* number of elements in a plane */ + int n_planes = -1; /* number of planes to write */ + int i; /* iterator */ + int j; /* iterator */ + hsize_t k; /* iterator */ /* Start by creating the virtual dataset (VDS) dataspace and creation * property list. The individual source datasets are then created @@ -98,15 +85,13 @@ main(void) */ /* Create VDS dcpl */ - if((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_fill_value(vds_dcplid, UC_2_VDS_DATATYPE, - &UC_2_VDS_FILL_VALUE) < 0) + if (H5Pset_fill_value(vds_dcplid, UC_2_VDS_DATATYPE, &UC_2_VDS_FILL_VALUE) < 0) UC_ERROR /* Create VDS dataspace */ - if((vds_sid = H5Screate_simple(RANK, UC_2_VDS_DIMS, - UC_2_VDS_MAX_DIMS)) < 0) + if ((vds_sid = H5Screate_simple(RANK, UC_2_VDS_DIMS, UC_2_VDS_MAX_DIMS)) < 0) UC_ERROR /************************************ @@ -117,65 +102,61 @@ main(void) start[1] = 0; start[2] = 0; - for(i = 0; i < UC_2_N_SOURCES; i++) { + for (i = 0; i < UC_2_N_SOURCES; i++) { /* source dataset dcpl */ - if((src_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((src_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_chunk(src_dcplid, RANK, UC_2_CHUNK_DIMS[i]) < 0) + if (H5Pset_chunk(src_dcplid, RANK, UC_2_CHUNK_DIMS[i]) < 0) UC_ERROR - if(H5Pset_fill_value(src_dcplid, UC_2_SOURCE_DATATYPE, - &UC_2_FILL_VALUES[i]) < 0) + if (H5Pset_fill_value(src_dcplid, UC_2_SOURCE_DATATYPE, &UC_2_FILL_VALUES[i]) < 0) UC_ERROR - if(H5Pset_deflate(src_dcplid, COMPRESSION_LEVEL) < 0) + if (H5Pset_deflate(src_dcplid, COMPRESSION_LEVEL) < 0) UC_ERROR /* Create source file, dataspace, and dataset */ - if((fid = H5Fcreate(UC_2_FILE_NAMES[i], H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_2_FILE_NAMES[i], H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR - if((src_sid = H5Screate_simple(RANK, UC_2_DIMS[i], - UC_2_MAX_DIMS[i])) < 0) + if ((src_sid = H5Screate_simple(RANK, UC_2_DIMS[i], UC_2_MAX_DIMS[i])) < 0) UC_ERROR - if((did = H5Dcreate2(fid, UC_2_SOURCE_DSET_NAME, - UC_2_SOURCE_DATATYPE, src_sid, - H5P_DEFAULT, src_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_2_SOURCE_DSET_NAME, UC_2_SOURCE_DATATYPE, src_sid, H5P_DEFAULT, + src_dcplid, H5P_DEFAULT)) < 0) UC_ERROR /* Set the dataset's extent (will eventually vary with i) */ extent[0] = UC_2_N_TEST_PLANES; extent[1] = UC_2_PLANES[i][1]; extent[2] = UC_2_PLANES[i][2]; - if(H5Dset_extent(did, extent) < 0) + if (H5Dset_extent(did, extent) < 0) UC_ERROR /* Create a data buffer that represents a plane */ count = UC_2_PLANES[i][1] * UC_2_PLANES[i][2]; - if(NULL == (buffer = (int *)malloc(count * sizeof(int)))) + if (NULL == (buffer = (int *)malloc(count * sizeof(int)))) UC_ERROR /* Create the memory dataspace */ - if((msid = H5Screate_simple(RANK, UC_2_PLANES[i], NULL)) < 0) + if ((msid = H5Screate_simple(RANK, UC_2_PLANES[i], NULL)) < 0) UC_ERROR /* Get the file dataspace */ - if((fsid = H5Dget_space(did)) < 0) + if ((fsid = H5Dget_space(did)) < 0) UC_ERROR /* Write planes to the dataset, number will eventually vary with i */ n_planes = UC_2_N_TEST_PLANES; - for(j = 0; j < n_planes; j++) { + for (j = 0; j < n_planes; j++) { value = ((i + 1) * 10) + j; - for(k = 0; k < count; k++) - buffer[k] = value; + for (k = 0; k < count; k++) + buffer[k] = value; start[0] = (hsize_t)j; start[1] = 0; start[2] = 0; - if(H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, UC_2_PLANES[i], NULL) < 0) + if (H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, UC_2_PLANES[i], NULL) < 0) UC_ERROR - if(H5Dwrite(did, H5T_NATIVE_INT, msid, fsid, H5P_DEFAULT, buffer) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, msid, fsid, H5P_DEFAULT, buffer) < 0) UC_ERROR } /* end for */ @@ -184,30 +165,27 @@ main(void) start[0] = 0; start[1] = 0; start[2] = 0; - if(H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, - UC_2_MAX_DIMS[i], NULL) < 0) + if (H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, UC_2_MAX_DIMS[i], NULL) < 0) UC_ERROR - if(H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, UC_2_POSITIONS[i], NULL, - UC_2_MAX_DIMS[i], NULL) < 0) + if (H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, UC_2_POSITIONS[i], NULL, UC_2_MAX_DIMS[i], NULL) < 0) UC_ERROR /* Add VDS mapping */ - if(H5Pset_virtual(vds_dcplid, vds_sid, UC_2_FILE_NAMES[i], - UC_2_SOURCE_DSET_PATH, src_sid) < 0) + if (H5Pset_virtual(vds_dcplid, vds_sid, UC_2_FILE_NAMES[i], UC_2_SOURCE_DSET_PATH, src_sid) < 0) UC_ERROR /* close */ - if(H5Sclose(msid) < 0) + if (H5Sclose(msid) < 0) UC_ERROR - if(H5Sclose(fsid) < 0) + if (H5Sclose(fsid) < 0) UC_ERROR - if(H5Sclose(src_sid) < 0) + if (H5Sclose(src_sid) < 0) UC_ERROR - if(H5Pclose(src_dcplid) < 0) + if (H5Pclose(src_dcplid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR free(buffer); @@ -218,51 +196,51 @@ main(void) *******************************/ /* file */ - if((fid = H5Fcreate(UC_2_VDS_FILE_NAME, H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_2_VDS_FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR /* dataset */ - if((did = H5Dcreate2(fid, UC_2_VDS_DSET_NAME, UC_2_VDS_DATATYPE, vds_sid, - H5P_DEFAULT, vds_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_2_VDS_DSET_NAME, UC_2_VDS_DATATYPE, vds_sid, H5P_DEFAULT, vds_dcplid, + H5P_DEFAULT)) < 0) UC_ERROR /* close */ - if(H5Pclose(vds_dcplid) < 0) + if (H5Pclose(vds_dcplid) < 0) UC_ERROR - if(H5Sclose(vds_sid) < 0) + if (H5Sclose(vds_sid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR return EXIT_SUCCESS; error: - H5E_BEGIN_TRY { - if(src_sid >= 0) + H5E_BEGIN_TRY + { + if (src_sid >= 0) (void)H5Sclose(src_sid); - if(src_dcplid >= 0) + if (src_dcplid >= 0) (void)H5Pclose(src_dcplid); - if(vds_sid >= 0) + if (vds_sid >= 0) (void)H5Sclose(vds_sid); - if(vds_dcplid >= 0) + if (vds_dcplid >= 0) (void)H5Pclose(vds_dcplid); - if(fid >= 0) + if (fid >= 0) (void)H5Fclose(fid); - if(did >= 0) + if (did >= 0) (void)H5Dclose(did); - if(msid >= 0) + if (msid >= 0) (void)H5Sclose(msid); - if(fsid >= 0) + if (fsid >= 0) (void)H5Sclose(fsid); - if(buffer != NULL) + if (buffer != NULL) free(buffer); - } H5E_END_TRY + } + H5E_END_TRY return EXIT_FAILURE; } /* end main() */ - diff --git a/tools/test/misc/vds/UC_3.h b/tools/test/misc/vds/UC_3.h index 0c26dfb..d9f3f5a 100644 --- a/tools/test/misc/vds/UC_3.h +++ b/tools/test/misc/vds/UC_3.h @@ -31,42 +31,40 @@ * Height and width are large enough to encompass the * mapped source datasets with gaps. */ -#define UC_31_VDS_HEIGHT 25 /* full height + 7 (gaps of 1) */ -#define UC_31_VDS_WIDTH 8 /* full width + 0 (no gaps) */ -#define UC_32_VDS_HEIGHT 13 /* full height + 5 */ -#define UC_32_VDS_WIDTH 19 /* full width + 5 */ -#define UC_31_GAP 1 +#define UC_31_VDS_HEIGHT 25 /* full height + 7 (gaps of 1) */ +#define UC_31_VDS_WIDTH 8 /* full width + 0 (no gaps) */ +#define UC_32_VDS_HEIGHT 13 /* full height + 5 */ +#define UC_32_VDS_WIDTH 19 /* full width + 5 */ +#define UC_31_GAP 1 /* VDS datatypes */ -#define UC_31_VDS_DATATYPE H5T_STD_I32LE -#define UC_32_VDS_DATATYPE H5T_STD_I32LE +#define UC_31_VDS_DATATYPE H5T_STD_I32LE +#define UC_32_VDS_DATATYPE H5T_STD_I32LE /* Starting size of virtual datasets */ -static hsize_t UC_31_VDS_DIMS[RANK] = {0, UC_31_VDS_HEIGHT, UC_31_VDS_WIDTH}; -static hsize_t UC_32_VDS_DIMS[RANK] = {0, UC_32_VDS_HEIGHT, UC_32_VDS_WIDTH}; +static hsize_t UC_31_VDS_DIMS[RANK] = {0, UC_31_VDS_HEIGHT, UC_31_VDS_WIDTH}; +static hsize_t UC_32_VDS_DIMS[RANK] = {0, UC_32_VDS_HEIGHT, UC_32_VDS_WIDTH}; /* Maximum size of virtual datasets */ -static hsize_t UC_31_VDS_MAX_DIMS[RANK] = {UC_1_N_MAX_PLANES, UC_31_VDS_HEIGHT, UC_31_VDS_WIDTH}; -static hsize_t UC_32_VDS_MAX_DIMS[RANK] = {UC_2_N_MAX_PLANES, UC_32_VDS_HEIGHT, UC_32_VDS_WIDTH}; +static hsize_t UC_31_VDS_MAX_DIMS[RANK] = {UC_1_N_MAX_PLANES, UC_31_VDS_HEIGHT, UC_31_VDS_WIDTH}; +static hsize_t UC_32_VDS_MAX_DIMS[RANK] = {UC_2_N_MAX_PLANES, UC_32_VDS_HEIGHT, UC_32_VDS_WIDTH}; /* Positions of mapped source datasets */ static hsize_t UC_32_POSITIONS[UC_2_N_SOURCES][RANK] = { - /* A */ {0, 1, 1}, - /* B */ {0, 4, 0}, - /* C */ {0, 11, 4}, - /* D */ {0, 1, 9}, - /* E */ {0, 8, 12} -}; + /* A */ {0, 1, 1}, + /* B */ {0, 4, 0}, + /* C */ {0, 11, 4}, + /* D */ {0, 1, 9}, + /* E */ {0, 8, 12}}; /* VDS file names */ -#define UC_31_VDS_FILE_NAME "3_1_vds.h5" -#define UC_32_VDS_FILE_NAME "3_2_vds.h5" +#define UC_31_VDS_FILE_NAME "3_1_vds.h5" +#define UC_32_VDS_FILE_NAME "3_2_vds.h5" /* Dataset name */ -#define UC_3_VDS_DSET_NAME "vds_dset" +#define UC_3_VDS_DSET_NAME "vds_dset" /* Fill value */ -static int UC_3_VDS_FILL_VALUE = -9; +static int UC_3_VDS_FILL_VALUE = -9; #endif /* UC_3_H */ - diff --git a/tools/test/misc/vds/UC_3_gaps_gen.c b/tools/test/misc/vds/UC_3_gaps_gen.c index 74a23dc..54fa766 100644 --- a/tools/test/misc/vds/UC_3_gaps_gen.c +++ b/tools/test/misc/vds/UC_3_gaps_gen.c @@ -29,28 +29,26 @@ static herr_t create_3_1_vds(void) { - hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ - hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ - hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ + hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ + hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ + hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ - hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ - hid_t did = H5I_INVALID_HID; /* dataset ID */ + hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ + hid_t did = H5I_INVALID_HID; /* dataset ID */ - hsize_t start[RANK]; /* source starting point for hyperslab */ - hsize_t position[RANK]; /* vds mapping positions */ + hsize_t start[RANK]; /* source starting point for hyperslab */ + hsize_t position[RANK]; /* vds mapping positions */ - int i; /* iterator */ + int i; /* iterator */ /* Create VDS dcpl */ - if((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_fill_value(vds_dcplid, UC_31_VDS_DATATYPE, - &UC_3_VDS_FILL_VALUE) < 0) + if (H5Pset_fill_value(vds_dcplid, UC_31_VDS_DATATYPE, &UC_3_VDS_FILL_VALUE) < 0) UC_ERROR /* Create VDS dataspace */ - if((vds_sid = H5Screate_simple(RANK, UC_31_VDS_DIMS, - UC_31_VDS_MAX_DIMS)) < 0) + if ((vds_sid = H5Screate_simple(RANK, UC_31_VDS_DIMS, UC_31_VDS_MAX_DIMS)) < 0) UC_ERROR /* Set starting positions */ @@ -65,26 +63,22 @@ create_3_1_vds(void) /****************************** * Create source-VDS mappings * ******************************/ - for(i = 0; i < UC_1_N_SOURCES; i++) { + for (i = 0; i < UC_1_N_SOURCES; i++) { - if((src_sid = H5Screate_simple(RANK, UC_1_DIMS[i], - UC_1_MAX_DIMS[i])) < 0) - UC_ERROR + if ((src_sid = H5Screate_simple(RANK, UC_1_DIMS[i], UC_1_MAX_DIMS[i])) < 0) + UC_ERROR /* set up hyperslabs for source and destination datasets */ - if(H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, - UC_1_MAX_DIMS[i], NULL) < 0) + if (H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, UC_1_MAX_DIMS[i], NULL) < 0) UC_ERROR - if(H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, position, - NULL, UC_1_MAX_DIMS[i], NULL) < 0) + if (H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, position, NULL, UC_1_MAX_DIMS[i], NULL) < 0) UC_ERROR position[1] += UC_1_DIMS[i][1] + UC_31_GAP; /* Add VDS mapping */ - if(H5Pset_virtual(vds_dcplid, vds_sid, UC_1_FILE_NAMES[i], - UC_1_SOURCE_DSET_PATH, src_sid) < 0) + if (H5Pset_virtual(vds_dcplid, vds_sid, UC_1_FILE_NAMES[i], UC_1_SOURCE_DSET_PATH, src_sid) < 0) UC_ERROR - if(H5Sclose(src_sid) < 0) + if (H5Sclose(src_sid) < 0) UC_ERROR } /* end for */ @@ -94,39 +88,40 @@ create_3_1_vds(void) *******************************/ /* file */ - if((fid = H5Fcreate(UC_31_VDS_FILE_NAME, H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_31_VDS_FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR /* dataset */ - if((did = H5Dcreate2(fid, UC_3_VDS_DSET_NAME, UC_31_VDS_DATATYPE, vds_sid, - H5P_DEFAULT, vds_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_3_VDS_DSET_NAME, UC_31_VDS_DATATYPE, vds_sid, H5P_DEFAULT, vds_dcplid, + H5P_DEFAULT)) < 0) UC_ERROR /* close */ - if(H5Pclose(vds_dcplid) < 0) + if (H5Pclose(vds_dcplid) < 0) UC_ERROR - if(H5Sclose(vds_sid) < 0) + if (H5Sclose(vds_sid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR return 0; error: - H5E_BEGIN_TRY { - if(vds_sid >= 0) + H5E_BEGIN_TRY + { + if (vds_sid >= 0) (void)H5Sclose(vds_sid); - if(vds_dcplid >= 0) + if (vds_dcplid >= 0) (void)H5Pclose(vds_dcplid); - if(fid >= 0) + if (fid >= 0) (void)H5Fclose(fid); - if(did >= 0) + if (did >= 0) (void)H5Dclose(did); - } H5E_END_TRY + } + H5E_END_TRY return -1; @@ -136,27 +131,25 @@ error: static herr_t create_3_2_vds(void) { - hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ - hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ - hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ + hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ + hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ + hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ - hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ - hid_t did = H5I_INVALID_HID; /* dataset ID */ + hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ + hid_t did = H5I_INVALID_HID; /* dataset ID */ - hsize_t start[RANK]; /* source starting point for hyperslab */ + hsize_t start[RANK]; /* source starting point for hyperslab */ - int i; /* iterator */ + int i; /* iterator */ /* Create VDS dcpl */ - if((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_fill_value(vds_dcplid, UC_32_VDS_DATATYPE, - &UC_3_VDS_FILL_VALUE) < 0) + if (H5Pset_fill_value(vds_dcplid, UC_32_VDS_DATATYPE, &UC_3_VDS_FILL_VALUE) < 0) UC_ERROR /* Create VDS dataspace */ - if((vds_sid = H5Screate_simple(RANK, UC_32_VDS_DIMS, - UC_32_VDS_MAX_DIMS)) < 0) + if ((vds_sid = H5Screate_simple(RANK, UC_32_VDS_DIMS, UC_32_VDS_MAX_DIMS)) < 0) UC_ERROR /* Set starting positions */ @@ -167,25 +160,22 @@ create_3_2_vds(void) /****************************** * Create source-VDS mappings * ******************************/ - for(i = 0; i < UC_2_N_SOURCES; i++) { + for (i = 0; i < UC_2_N_SOURCES; i++) { - if((src_sid = H5Screate_simple(RANK, UC_2_DIMS[i], - UC_2_MAX_DIMS[i])) < 0) - UC_ERROR + if ((src_sid = H5Screate_simple(RANK, UC_2_DIMS[i], UC_2_MAX_DIMS[i])) < 0) + UC_ERROR /* set up hyperslabs for source and destination datasets */ - if(H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, - UC_2_MAX_DIMS[i], NULL) < 0) + if (H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, UC_2_MAX_DIMS[i], NULL) < 0) UC_ERROR - if(H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, UC_32_POSITIONS[i], - NULL, UC_2_MAX_DIMS[i], NULL) < 0) + if (H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, UC_32_POSITIONS[i], NULL, UC_2_MAX_DIMS[i], NULL) < + 0) UC_ERROR /* Add VDS mapping */ - if(H5Pset_virtual(vds_dcplid, vds_sid, UC_2_FILE_NAMES[i], - UC_2_SOURCE_DSET_PATH, src_sid) < 0) + if (H5Pset_virtual(vds_dcplid, vds_sid, UC_2_FILE_NAMES[i], UC_2_SOURCE_DSET_PATH, src_sid) < 0) UC_ERROR - if(H5Sclose(src_sid) < 0) + if (H5Sclose(src_sid) < 0) UC_ERROR } /* end for */ @@ -195,39 +185,40 @@ create_3_2_vds(void) *******************************/ /* file */ - if((fid = H5Fcreate(UC_32_VDS_FILE_NAME, H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_32_VDS_FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR /* dataset */ - if((did = H5Dcreate2(fid, UC_3_VDS_DSET_NAME, UC_32_VDS_DATATYPE, vds_sid, - H5P_DEFAULT, vds_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_3_VDS_DSET_NAME, UC_32_VDS_DATATYPE, vds_sid, H5P_DEFAULT, vds_dcplid, + H5P_DEFAULT)) < 0) UC_ERROR /* close */ - if(H5Pclose(vds_dcplid) < 0) + if (H5Pclose(vds_dcplid) < 0) UC_ERROR - if(H5Sclose(vds_sid) < 0) + if (H5Sclose(vds_sid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR return 0; error: - H5E_BEGIN_TRY { - if(vds_sid >= 0) + H5E_BEGIN_TRY + { + if (vds_sid >= 0) (void)H5Sclose(vds_sid); - if(vds_dcplid >= 0) + if (vds_dcplid >= 0) (void)H5Pclose(vds_dcplid); - if(fid >= 0) + if (fid >= 0) (void)H5Fclose(fid); - if(did >= 0) + if (did >= 0) (void)H5Dclose(did); - } H5E_END_TRY + } + H5E_END_TRY return -1; @@ -237,10 +228,10 @@ int main(void) { - if(create_3_1_vds() < 0) + if (create_3_1_vds() < 0) UC_ERROR - if(create_3_2_vds() < 0) + if (create_3_2_vds() < 0) UC_ERROR return EXIT_SUCCESS; @@ -250,4 +241,3 @@ error: return EXIT_FAILURE; } /* end main() */ - diff --git a/tools/test/misc/vds/UC_4.h b/tools/test/misc/vds/UC_4.h index 5dba4fb..5322b9d 100644 --- a/tools/test/misc/vds/UC_4.h +++ b/tools/test/misc/vds/UC_4.h @@ -29,39 +29,35 @@ /* virtual dataset <---> source dataset mapping and sizes */ -#define UC_4_N_SOURCES 3 +#define UC_4_N_SOURCES 3 /* Dataset dimensions */ -#define UC_4_SRC_PLANES 3 -#define UC_4_HEIGHT 4 -#define UC_4_WIDTH 4 +#define UC_4_SRC_PLANES 3 +#define UC_4_HEIGHT 4 +#define UC_4_WIDTH 4 /* max number of planes for VDS (sources are finite) */ -#define UC_4_VDS_MAX_PLANES H5S_UNLIMITED -#define UC_4_N_TEST_PLANES 9 /* number of planes in the VDS */ +#define UC_4_VDS_MAX_PLANES H5S_UNLIMITED +#define UC_4_N_TEST_PLANES 9 /* number of planes in the VDS */ /* Dataset datatypes */ -#define UC_4_SOURCE_DATATYPE H5T_STD_I32LE -#define UC_4_VDS_DATATYPE H5T_STD_I32LE +#define UC_4_SOURCE_DATATYPE H5T_STD_I32LE +#define UC_4_VDS_DATATYPE H5T_STD_I32LE /* Starting size of datasets, both source and VDS */ static hsize_t UC_4_SOURCE_DIMS[RANK] = {0, UC_4_HEIGHT, UC_4_WIDTH}; -static hsize_t UC_4_VDS_DIMS[RANK] = {0, UC_4_HEIGHT, UC_4_WIDTH}; +static hsize_t UC_4_VDS_DIMS[RANK] = {0, UC_4_HEIGHT, UC_4_WIDTH}; /* Max size of datasets, both source and VDS */ static hsize_t UC_4_SOURCE_MAX_DIMS[RANK] = {UC_4_SRC_PLANES, UC_4_HEIGHT, UC_4_WIDTH}; -static hsize_t UC_4_VDS_MAX_DIMS[RANK] = {UC_4_VDS_MAX_PLANES, UC_4_HEIGHT, UC_4_WIDTH}; +static hsize_t UC_4_VDS_MAX_DIMS[RANK] = {UC_4_VDS_MAX_PLANES, UC_4_HEIGHT, UC_4_WIDTH}; /* Planes (both source and VDS) */ static hsize_t UC_4_PLANE[RANK] = {1, UC_4_HEIGHT, UC_4_WIDTH}; /* File names for source datasets */ -static char UC_4_FILE_NAMES[UC_4_N_SOURCES][NAME_LEN] = { - {"4_0.h5"}, - {"4_1.h5"}, - {"4_2.h5"} -}; -static char UC_4_MAPPING_FILE_NAME[NAME_LEN] = "4_%b.h5"; +static char UC_4_FILE_NAMES[UC_4_N_SOURCES][NAME_LEN] = {{"4_0.h5"}, {"4_1.h5"}, {"4_2.h5"}}; +static char UC_4_MAPPING_FILE_NAME[NAME_LEN] = "4_%b.h5"; /* VDS file name */ static char UC_4_VDS_FILE_NAME[NAME_LEN] = "4_vds.h5"; @@ -72,13 +68,7 @@ static char UC_4_SOURCE_DSET_PATH[NAME_LEN] = "/source_dset"; static char UC_4_VDS_DSET_NAME[NAME_LEN] = "vds_dset"; /* Fill values */ -static int UC_4_FILL_VALUES[UC_4_N_SOURCES] = { - -1, - -2, - -3 -}; -static int UC_4_VDS_FILL_VALUE = -9; +static int UC_4_FILL_VALUES[UC_4_N_SOURCES] = {-1, -2, -3}; +static int UC_4_VDS_FILL_VALUE = -9; #endif /* UC_4_H */ - - diff --git a/tools/test/misc/vds/UC_4_printf_gen.c b/tools/test/misc/vds/UC_4_printf_gen.c index 24451e9..d4cadfb 100644 --- a/tools/test/misc/vds/UC_4_printf_gen.c +++ b/tools/test/misc/vds/UC_4_printf_gen.c @@ -27,109 +27,104 @@ int main(void) { - hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ - hid_t src_dcplid = H5I_INVALID_HID; /* source dataset property list ID */ + hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ + hid_t src_dcplid = H5I_INVALID_HID; /* source dataset property list ID */ - hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ - hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ + hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ + hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ - hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ - hid_t did = H5I_INVALID_HID; /* dataset ID */ - hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ - hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ + hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ + hid_t did = H5I_INVALID_HID; /* dataset ID */ + hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ + hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ /* Hyperslab arrays */ hsize_t start[RANK] = {0, 0, 0}; hsize_t count[RANK] = {H5S_UNLIMITED, 1, 1}; - int *buffer = NULL; /* data buffer */ - int value = -1; /* value written to datasets */ + int *buffer = NULL; /* data buffer */ + int value = -1; /* value written to datasets */ - hsize_t n = 0; /* number of elements in a plane */ + hsize_t n = 0; /* number of elements in a plane */ - int i; /* iterator */ - int j; /* iterator */ - hsize_t k; /* iterator */ + int i; /* iterator */ + int j; /* iterator */ + hsize_t k; /* iterator */ /************************************ * Create source files and datasets * ************************************/ /* Create source dataspace ID */ - if((src_sid = H5Screate_simple(RANK, UC_4_SOURCE_DIMS, - UC_4_SOURCE_MAX_DIMS)) < 0) + if ((src_sid = H5Screate_simple(RANK, UC_4_SOURCE_DIMS, UC_4_SOURCE_MAX_DIMS)) < 0) UC_ERROR - if(H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, - UC_4_SOURCE_MAX_DIMS, NULL) < 0) + if (H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, UC_4_SOURCE_MAX_DIMS, NULL) < 0) UC_ERROR /* Create source files and datasets */ - for(i = 0; i < UC_4_N_SOURCES; i++) { + for (i = 0; i < UC_4_N_SOURCES; i++) { /* source dataset dcpl */ - if((src_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((src_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_chunk(src_dcplid, RANK, UC_4_PLANE) < 0) + if (H5Pset_chunk(src_dcplid, RANK, UC_4_PLANE) < 0) UC_ERROR - if(H5Pset_fill_value(src_dcplid, UC_4_SOURCE_DATATYPE, - &UC_4_FILL_VALUES[i]) < 0) + if (H5Pset_fill_value(src_dcplid, UC_4_SOURCE_DATATYPE, &UC_4_FILL_VALUES[i]) < 0) UC_ERROR - if(H5Pset_deflate(src_dcplid, COMPRESSION_LEVEL) < 0) + if (H5Pset_deflate(src_dcplid, COMPRESSION_LEVEL) < 0) UC_ERROR /* Create source file and dataset */ - if((fid = H5Fcreate(UC_4_FILE_NAMES[i], H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_4_FILE_NAMES[i], H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR - if((did = H5Dcreate2(fid, UC_4_SOURCE_DSET_NAME, - UC_4_SOURCE_DATATYPE, src_sid, - H5P_DEFAULT, src_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_4_SOURCE_DSET_NAME, UC_4_SOURCE_DATATYPE, src_sid, H5P_DEFAULT, + src_dcplid, H5P_DEFAULT)) < 0) UC_ERROR /* Set the dataset's extent */ - if(H5Dset_extent(did, UC_4_SOURCE_MAX_DIMS) < 0) + if (H5Dset_extent(did, UC_4_SOURCE_MAX_DIMS) < 0) UC_ERROR /* Create a data buffer that represents a plane */ n = UC_4_PLANE[1] * UC_4_PLANE[2]; - if(NULL == (buffer = (int *)malloc(n * sizeof(int)))) + if (NULL == (buffer = (int *)malloc(n * sizeof(int)))) UC_ERROR /* Create the memory dataspace */ - if((msid = H5Screate_simple(RANK, UC_4_PLANE, NULL)) < 0) + if ((msid = H5Screate_simple(RANK, UC_4_PLANE, NULL)) < 0) UC_ERROR /* Get the file dataspace */ - if((fsid = H5Dget_space(did)) < 0) + if ((fsid = H5Dget_space(did)) < 0) UC_ERROR /* Write planes to the dataset */ - for(j = 0; j < UC_4_SRC_PLANES; j++) { + for (j = 0; j < UC_4_SRC_PLANES; j++) { value = ((i + 1) * 10) + j; - for(k = 0; k < n; k++) - buffer[k] = value; + for (k = 0; k < n; k++) + buffer[k] = value; start[0] = (hsize_t)j; start[1] = 0; start[2] = 0; - if(H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, UC_4_PLANE, NULL) < 0) + if (H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, UC_4_PLANE, NULL) < 0) UC_ERROR - if(H5Dwrite(did, H5T_NATIVE_INT, msid, fsid, H5P_DEFAULT, buffer) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, msid, fsid, H5P_DEFAULT, buffer) < 0) UC_ERROR } /* end for */ /* close */ - if(H5Sclose(msid) < 0) + if (H5Sclose(msid) < 0) UC_ERROR - if(H5Sclose(fsid) < 0) + if (H5Sclose(fsid) < 0) UC_ERROR - if(H5Pclose(src_dcplid) < 0) + if (H5Pclose(src_dcplid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR free(buffer); @@ -140,78 +135,75 @@ main(void) *******************/ /* Create file */ - if((fid = H5Fcreate(UC_4_VDS_FILE_NAME, H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_4_VDS_FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR /* Create VDS dcpl */ - if((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_fill_value(vds_dcplid, UC_4_VDS_DATATYPE, - &UC_4_VDS_FILL_VALUE) < 0) + if (H5Pset_fill_value(vds_dcplid, UC_4_VDS_DATATYPE, &UC_4_VDS_FILL_VALUE) < 0) UC_ERROR /* Create VDS dataspace */ - if((vds_sid = H5Screate_simple(RANK, UC_4_VDS_DIMS, - UC_4_VDS_MAX_DIMS)) < 0) + if ((vds_sid = H5Screate_simple(RANK, UC_4_VDS_DIMS, UC_4_VDS_MAX_DIMS)) < 0) UC_ERROR start[0] = 0; start[1] = 0; start[2] = 0; - if(H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, start, - UC_4_SOURCE_MAX_DIMS, count, UC_4_SOURCE_MAX_DIMS) < 0) + if (H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, start, UC_4_SOURCE_MAX_DIMS, count, + UC_4_SOURCE_MAX_DIMS) < 0) UC_ERROR /* Add VDS mapping - The mapped file name uses a printf-like * naming scheme that automatically maps new files. */ - if(H5Pset_virtual(vds_dcplid, vds_sid, UC_4_MAPPING_FILE_NAME, - UC_4_SOURCE_DSET_PATH, src_sid) < 0) + if (H5Pset_virtual(vds_dcplid, vds_sid, UC_4_MAPPING_FILE_NAME, UC_4_SOURCE_DSET_PATH, src_sid) < 0) UC_ERROR /* Create dataset */ - if((did = H5Dcreate2(fid, UC_4_VDS_DSET_NAME, UC_4_VDS_DATATYPE, vds_sid, - H5P_DEFAULT, vds_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_4_VDS_DSET_NAME, UC_4_VDS_DATATYPE, vds_sid, H5P_DEFAULT, vds_dcplid, + H5P_DEFAULT)) < 0) UC_ERROR /* close */ - if(H5Sclose(src_sid) < 0) + if (H5Sclose(src_sid) < 0) UC_ERROR - if(H5Pclose(vds_dcplid) < 0) + if (H5Pclose(vds_dcplid) < 0) UC_ERROR - if(H5Sclose(vds_sid) < 0) + if (H5Sclose(vds_sid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR return EXIT_SUCCESS; error: - H5E_BEGIN_TRY { - if(src_sid >= 0) + H5E_BEGIN_TRY + { + if (src_sid >= 0) (void)H5Sclose(src_sid); - if(src_dcplid >= 0) + if (src_dcplid >= 0) (void)H5Pclose(src_dcplid); - if(vds_sid >= 0) + if (vds_sid >= 0) (void)H5Sclose(vds_sid); - if(vds_dcplid >= 0) + if (vds_dcplid >= 0) (void)H5Pclose(vds_dcplid); - if(fid >= 0) + if (fid >= 0) (void)H5Fclose(fid); - if(did >= 0) + if (did >= 0) (void)H5Dclose(did); - if(msid >= 0) + if (msid >= 0) (void)H5Sclose(msid); - if(fsid >= 0) + if (fsid >= 0) (void)H5Sclose(fsid); - if(buffer != NULL) + if (buffer != NULL) free(buffer); - } H5E_END_TRY + } + H5E_END_TRY return EXIT_FAILURE; } /* end main() */ - diff --git a/tools/test/misc/vds/UC_5.h b/tools/test/misc/vds/UC_5.h index 3f8fe41..5ed230c 100644 --- a/tools/test/misc/vds/UC_5.h +++ b/tools/test/misc/vds/UC_5.h @@ -28,20 +28,20 @@ /* virtual dataset <---> source dataset mapping and sizes */ -#define UC_5_N_SOURCES 3 +#define UC_5_N_SOURCES 3 /* Dataset dimensions */ -#define UC_5_SRC_PLANES 3 -#define UC_5_HEIGHT 4 -#define UC_5_WIDTH 4 +#define UC_5_SRC_PLANES 3 +#define UC_5_HEIGHT 4 +#define UC_5_WIDTH 4 /* max number of planes for datasets */ -#define UC_5_MAX_PLANES H5S_UNLIMITED -#define UC_5_N_TEST_PLANES 9 /* number of planes in VDS */ +#define UC_5_MAX_PLANES H5S_UNLIMITED +#define UC_5_N_TEST_PLANES 9 /* number of planes in VDS */ /* Dataset datatypes */ -#define UC_5_SOURCE_DATATYPE H5T_STD_I32LE -#define UC_5_VDS_DATATYPE H5T_STD_I32LE +#define UC_5_SOURCE_DATATYPE H5T_STD_I32LE +#define UC_5_VDS_DATATYPE H5T_STD_I32LE /* Starting size of datasets, both source and VDS */ static hsize_t UC_5_SOURCE_DIMS[RANK] = {0, UC_5_HEIGHT, UC_5_WIDTH}; @@ -55,11 +55,7 @@ static hsize_t UC_5_VDS_MAX_DIMS[RANK] = {UC_5_MAX_PLANES, UC_5_HEIGHT, UC_5_ static hsize_t UC_5_PLANE[RANK] = {1, UC_5_HEIGHT, UC_5_WIDTH}; /* File names for source datasets */ -static char UC_5_FILE_NAMES[UC_5_N_SOURCES][NAME_LEN] = { - {"5_a.h5"}, - {"5_b.h5"}, - {"5_c.h5"} -}; +static char UC_5_FILE_NAMES[UC_5_N_SOURCES][NAME_LEN] = {{"5_a.h5"}, {"5_b.h5"}, {"5_c.h5"}}; /* VDS file name */ static char UC_5_VDS_FILE_NAME[NAME_LEN] = "5_vds.h5"; @@ -70,12 +66,7 @@ static char UC_5_SOURCE_DSET_PATH[NAME_LEN] = "/source_dset"; static char UC_5_VDS_DSET_NAME[NAME_LEN] = "vds_dset"; /* Fill values */ -static int UC_5_FILL_VALUES[UC_5_N_SOURCES] = { - -1, - -2, - -3 -}; -static int UC_5_VDS_FILL_VALUE = -9; +static int UC_5_FILL_VALUES[UC_5_N_SOURCES] = {-1, -2, -3}; +static int UC_5_VDS_FILL_VALUE = -9; #endif /* UC_5_H */ - diff --git a/tools/test/misc/vds/UC_5_stride_gen.c b/tools/test/misc/vds/UC_5_stride_gen.c index 726ce6e..d0c6d28 100644 --- a/tools/test/misc/vds/UC_5_stride_gen.c +++ b/tools/test/misc/vds/UC_5_stride_gen.c @@ -27,31 +27,31 @@ int main(void) { - hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ - hid_t src_dcplid = H5I_INVALID_HID; /* source dataset property list ID */ + hid_t src_sid = H5I_INVALID_HID; /* source dataset's dataspace ID */ + hid_t src_dcplid = H5I_INVALID_HID; /* source dataset property list ID */ - hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ - hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ + hid_t vds_sid = H5I_INVALID_HID; /* VDS dataspace ID */ + hid_t vds_dcplid = H5I_INVALID_HID; /* VDS dataset property list ID */ - hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ - hid_t did = H5I_INVALID_HID; /* dataset ID */ - hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ - hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ + hid_t fid = H5I_INVALID_HID; /* HDF5 file ID */ + hid_t did = H5I_INVALID_HID; /* dataset ID */ + hid_t msid = H5I_INVALID_HID; /* memory dataspace ID */ + hid_t fsid = H5I_INVALID_HID; /* file dataspace ID */ - hsize_t extent[RANK]; /* source dataset extents */ - hsize_t start[RANK]; /* starting point for hyperslab */ - hsize_t stride[RANK]; /* hypserslab stride */ - hsize_t count[RANK]; /* hypserslab count */ - hsize_t map_start = 0; /* starting point in the VDS map */ + hsize_t extent[RANK]; /* source dataset extents */ + hsize_t start[RANK]; /* starting point for hyperslab */ + hsize_t stride[RANK]; /* hypserslab stride */ + hsize_t count[RANK]; /* hypserslab count */ + hsize_t map_start = 0; /* starting point in the VDS map */ - int *buffer = NULL; /* data buffer */ - int value = -1; /* value written to datasets */ + int *buffer = NULL; /* data buffer */ + int value = -1; /* value written to datasets */ - hsize_t n = 0; /* number of elements in a plane */ + hsize_t n = 0; /* number of elements in a plane */ - int i; /* iterator */ - int j; /* iterator */ - hsize_t k; /* iterator */ + int i; /* iterator */ + int j; /* iterator */ + hsize_t k; /* iterator */ /* Start by creating the virtual dataset (VDS) dataspace and creation * property list. The individual source datasets are then created @@ -59,15 +59,13 @@ main(void) */ /* Create VDS dcpl */ - if((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((vds_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_fill_value(vds_dcplid, UC_5_VDS_DATATYPE, - &UC_5_VDS_FILL_VALUE) < 0) + if (H5Pset_fill_value(vds_dcplid, UC_5_VDS_DATATYPE, &UC_5_VDS_FILL_VALUE) < 0) UC_ERROR /* Create VDS dataspace */ - if((vds_sid = H5Screate_simple(RANK, UC_5_VDS_DIMS, - UC_5_VDS_MAX_DIMS)) < 0) + if ((vds_sid = H5Screate_simple(RANK, UC_5_VDS_DIMS, UC_5_VDS_MAX_DIMS)) < 0) UC_ERROR /********************************* @@ -75,9 +73,9 @@ main(void) *********************************/ /* Hyperslab array setup */ - start[0] = 0; - start[1] = 0; - start[2] = 0; + start[0] = 0; + start[1] = 0; + start[2] = 0; map_start = 0; stride[0] = UC_5_N_SOURCES; @@ -92,61 +90,57 @@ main(void) extent[1] = UC_5_HEIGHT; extent[2] = UC_5_WIDTH; - for(i = 0; i < UC_5_N_SOURCES; i++) { + for (i = 0; i < UC_5_N_SOURCES; i++) { /* source dataset dcpl */ - if((src_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((src_dcplid = H5Pcreate(H5P_DATASET_CREATE)) < 0) UC_ERROR - if(H5Pset_chunk(src_dcplid, RANK, UC_5_PLANE) < 0) + if (H5Pset_chunk(src_dcplid, RANK, UC_5_PLANE) < 0) UC_ERROR - if(H5Pset_fill_value(src_dcplid, UC_5_SOURCE_DATATYPE, - &UC_5_FILL_VALUES[i]) < 0) + if (H5Pset_fill_value(src_dcplid, UC_5_SOURCE_DATATYPE, &UC_5_FILL_VALUES[i]) < 0) UC_ERROR - if(H5Pset_deflate(src_dcplid, COMPRESSION_LEVEL) < 0) + if (H5Pset_deflate(src_dcplid, COMPRESSION_LEVEL) < 0) UC_ERROR /* Create source file, dataspace, and dataset */ - if((fid = H5Fcreate(UC_5_FILE_NAMES[i], H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_5_FILE_NAMES[i], H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR - if((src_sid = H5Screate_simple(RANK, UC_5_SOURCE_DIMS, - UC_5_SOURCE_MAX_DIMS)) < 0) + if ((src_sid = H5Screate_simple(RANK, UC_5_SOURCE_DIMS, UC_5_SOURCE_MAX_DIMS)) < 0) UC_ERROR - if((did = H5Dcreate2(fid, UC_5_SOURCE_DSET_NAME, - UC_5_SOURCE_DATATYPE, src_sid, - H5P_DEFAULT, src_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_5_SOURCE_DSET_NAME, UC_5_SOURCE_DATATYPE, src_sid, H5P_DEFAULT, + src_dcplid, H5P_DEFAULT)) < 0) UC_ERROR /* Set the dataset's extent */ - if(H5Dset_extent(did, extent) < 0) + if (H5Dset_extent(did, extent) < 0) UC_ERROR /* Create a data buffer that represents a plane */ n = UC_5_PLANE[1] * UC_5_PLANE[2]; - if(NULL == (buffer = (int *)malloc(n * sizeof(int)))) + if (NULL == (buffer = (int *)malloc(n * sizeof(int)))) UC_ERROR /* Create the memory dataspace */ - if((msid = H5Screate_simple(RANK, UC_5_PLANE, NULL)) < 0) + if ((msid = H5Screate_simple(RANK, UC_5_PLANE, NULL)) < 0) UC_ERROR /* Get the file dataspace */ - if((fsid = H5Dget_space(did)) < 0) + if ((fsid = H5Dget_space(did)) < 0) UC_ERROR /* Write planes to the dataset */ - for(j = 0; j < UC_5_SRC_PLANES; j++) { + for (j = 0; j < UC_5_SRC_PLANES; j++) { value = ((i + 1) * 10) + j; - for(k = 0; k < n; k++) - buffer[k] = value; + for (k = 0; k < n; k++) + buffer[k] = value; start[0] = (hsize_t)j; start[1] = 0; start[2] = 0; - if(H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, UC_5_PLANE, NULL) < 0) + if (H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, UC_5_PLANE, NULL) < 0) UC_ERROR - if(H5Dwrite(did, H5T_NATIVE_INT, msid, fsid, H5P_DEFAULT, buffer) < 0) + if (H5Dwrite(did, H5T_NATIVE_INT, msid, fsid, H5P_DEFAULT, buffer) < 0) UC_ERROR } /* end for */ @@ -155,32 +149,29 @@ main(void) start[0] = 0; start[1] = 0; start[2] = 0; - if(H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, - UC_5_SOURCE_MAX_DIMS, NULL) < 0) + if (H5Sselect_hyperslab(src_sid, H5S_SELECT_SET, start, NULL, UC_5_SOURCE_MAX_DIMS, NULL) < 0) UC_ERROR start[0] = map_start; - if(H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, start, stride, - count, UC_5_PLANE) < 0) + if (H5Sselect_hyperslab(vds_sid, H5S_SELECT_SET, start, stride, count, UC_5_PLANE) < 0) UC_ERROR map_start += 1; /* Add VDS mapping */ - if(H5Pset_virtual(vds_dcplid, vds_sid, UC_5_FILE_NAMES[i], - UC_5_SOURCE_DSET_PATH, src_sid) < 0) + if (H5Pset_virtual(vds_dcplid, vds_sid, UC_5_FILE_NAMES[i], UC_5_SOURCE_DSET_PATH, src_sid) < 0) UC_ERROR /* close */ - if(H5Sclose(msid) < 0) + if (H5Sclose(msid) < 0) UC_ERROR - if(H5Sclose(fsid) < 0) + if (H5Sclose(fsid) < 0) UC_ERROR - if(H5Sclose(src_sid) < 0) + if (H5Sclose(src_sid) < 0) UC_ERROR - if(H5Pclose(src_dcplid) < 0) + if (H5Pclose(src_dcplid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR free(buffer); @@ -191,51 +182,51 @@ main(void) *******************/ /* file */ - if((fid = H5Fcreate(UC_5_VDS_FILE_NAME, H5F_ACC_TRUNC, - H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((fid = H5Fcreate(UC_5_VDS_FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) UC_ERROR /* dataset */ - if((did = H5Dcreate2(fid, UC_5_VDS_DSET_NAME, UC_5_VDS_DATATYPE, vds_sid, - H5P_DEFAULT, vds_dcplid, H5P_DEFAULT)) < 0) + if ((did = H5Dcreate2(fid, UC_5_VDS_DSET_NAME, UC_5_VDS_DATATYPE, vds_sid, H5P_DEFAULT, vds_dcplid, + H5P_DEFAULT)) < 0) UC_ERROR /* close */ - if(H5Pclose(vds_dcplid) < 0) + if (H5Pclose(vds_dcplid) < 0) UC_ERROR - if(H5Sclose(vds_sid) < 0) + if (H5Sclose(vds_sid) < 0) UC_ERROR - if(H5Dclose(did) < 0) + if (H5Dclose(did) < 0) UC_ERROR - if(H5Fclose(fid) < 0) + if (H5Fclose(fid) < 0) UC_ERROR return EXIT_SUCCESS; error: - H5E_BEGIN_TRY { - if(src_sid >= 0) + H5E_BEGIN_TRY + { + if (src_sid >= 0) (void)H5Sclose(src_sid); - if(src_dcplid >= 0) + if (src_dcplid >= 0) (void)H5Pclose(src_dcplid); - if(vds_sid >= 0) + if (vds_sid >= 0) (void)H5Sclose(vds_sid); - if(vds_dcplid >= 0) + if (vds_dcplid >= 0) (void)H5Pclose(vds_dcplid); - if(fid >= 0) + if (fid >= 0) (void)H5Fclose(fid); - if(did >= 0) + if (did >= 0) (void)H5Dclose(did); - if(msid >= 0) + if (msid >= 0) (void)H5Sclose(msid); - if(fsid >= 0) + if (fsid >= 0) (void)H5Sclose(fsid); - if(buffer != NULL) + if (buffer != NULL) free(buffer); - } H5E_END_TRY + } + H5E_END_TRY return EXIT_FAILURE; } /* end main() */ - diff --git a/tools/test/misc/vds/UC_common.h b/tools/test/misc/vds/UC_common.h index 78d8a11..af3ef03 100644 --- a/tools/test/misc/vds/UC_common.h +++ b/tools/test/misc/vds/UC_common.h @@ -28,21 +28,26 @@ ******************************************/ /* All datasets are 3D */ -#define RANK 3 +#define RANK 3 /* Lengths of string identifiers (file, dataset names, etc.) */ -#define NAME_LEN 32 +#define NAME_LEN 32 /* Compression level */ -#define COMPRESSION_LEVEL 7 +#define COMPRESSION_LEVEL 7 /* Booleans */ -#define TRUE 1 +#define TRUE 1 #define FALSE 0 /* Testing macros */ -#define AT() printf (" at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); -#define UC_ERROR {puts("*ERROR*"); fflush(stdout); AT(); goto error;} +#define AT() printf(" at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); +#define UC_ERROR \ + { \ + puts("*ERROR*"); \ + fflush(stdout); \ + AT(); \ + goto error; \ + } #endif /* USE_CASE_COMMON_H */ - diff --git a/tools/test/perform/chunk.c b/tools/test/perform/chunk.c index bd16e1d..9f99ce9 100644 --- a/tools/test/perform/chunk.c +++ b/tools/test/perform/chunk.c @@ -25,73 +25,70 @@ #include "hdf5.h" #ifdef H5_STDC_HEADERS -# include <assert.h> -# include <stdio.h> -# include <stdlib.h> -# include <string.h> +#include <assert.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> #endif /* Solaris Studio defines attribute, but for the attributes we need */ #if !defined(H5_HAVE_ATTRIBUTE) || defined __cplusplus || defined(__SUNPRO_C) -# undef __attribute__ -# define __attribute__(X) /*void*/ -# define H5_ATTR_UNUSED /*void*/ +#undef __attribute__ +#define __attribute__(X) /*void*/ +#define H5_ATTR_UNUSED /*void*/ #else -# define H5_ATTR_UNUSED __attribute__((unused)) +#define H5_ATTR_UNUSED __attribute__((unused)) #endif -#define FILE_NAME "chunk.h5" -#define LINESPOINTS "lines" -#define CH_SIZE 100 /*squared in terms of bytes */ -#define DS_SIZE 20 /*squared in terms of chunks */ -#define FILTER_COUNTER 305 -#define READ 0 -#define WRITE 1 -#define MIN(X,Y) ((X)<(Y)?(X):(Y)) -#define MAX(X,Y) ((X)>(Y)?(X):(Y)) -#define SQUARE(X) ((X)*(X)) +#define FILE_NAME "chunk.h5" +#define LINESPOINTS "lines" +#define CH_SIZE 100 /*squared in terms of bytes */ +#define DS_SIZE 20 /*squared in terms of chunks */ +#define FILTER_COUNTER 305 +#define READ 0 +#define WRITE 1 +#define MIN(X, Y) ((X) < (Y) ? (X) : (Y)) +#define MAX(X, Y) ((X) > (Y) ? (X) : (Y)) +#define SQUARE(X) ((X) * (X)) /* The row-major test */ -#define RM_CACHE_STRT 25 -#define RM_CACHE_END 25 -#define RM_CACHE_DELT 5 -#define RM_START (double)0.50F -#define RM_END (double)5.00F -#define RM_DELTA (double)0.50F -#define RM_W0 0.0F -#define RM_NRDCC 521 +#define RM_CACHE_STRT 25 +#define RM_CACHE_END 25 +#define RM_CACHE_DELT 5 +#define RM_START (double)0.50F +#define RM_END (double)5.00F +#define RM_DELTA (double)0.50F +#define RM_W0 0.0F +#define RM_NRDCC 521 /* Diagonal test */ -#define DIAG_CACHE_STRT 25 -#define DIAG_CACHE_END 25 -#define DIAG_CACHE_DELT 5 -#define DIAG_START (double)0.50F -#define DIAG_END (double)5.00F -#define DIAG_DELTA (double)0.50F +#define DIAG_CACHE_STRT 25 +#define DIAG_CACHE_END 25 +#define DIAG_CACHE_DELT 5 +#define DIAG_START (double)0.50F +#define DIAG_END (double)5.00F +#define DIAG_DELTA (double)0.50F /* #define DIAG_W0 0.65F */ /* #define DIAG_NRDCC 521 */ -static size_t nio_g; -static hid_t fapl_g = H5I_INVALID_HID; +static size_t nio_g; +static hid_t fapl_g = H5I_INVALID_HID; /* Local function prototypes */ -static size_t -counter (unsigned H5_ATTR_UNUSED flags, size_t cd_nelmts, - const unsigned *cd_values, size_t nbytes, - size_t *buf_size, void **buf); +static size_t counter(unsigned H5_ATTR_UNUSED flags, size_t cd_nelmts, const unsigned *cd_values, + size_t nbytes, size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_COUNTER[1] = {{ - H5Z_CLASS_T_VERS, /* H5Z_class_t version */ - FILTER_COUNTER, /* Filter id number */ - 1, 1, /* Encoding and decoding enabled */ - "counter", /* Filter name for debugging */ - NULL, /* The "can apply" callback */ - NULL, /* The "set local" callback */ - counter, /* The actual filter function */ + H5Z_CLASS_T_VERS, /* H5Z_class_t version */ + FILTER_COUNTER, /* Filter id number */ + 1, 1, /* Encoding and decoding enabled */ + "counter", /* Filter name for debugging */ + NULL, /* The "can apply" callback */ + NULL, /* The "set local" callback */ + counter, /* The actual filter function */ }}; - /*------------------------------------------------------------------------- * Function: counter * @@ -109,15 +106,14 @@ const H5Z_class2_t H5Z_COUNTER[1] = {{ *------------------------------------------------------------------------- */ static size_t -counter (unsigned H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, - const unsigned H5_ATTR_UNUSED *cd_values, size_t nbytes, - size_t H5_ATTR_UNUSED *buf_size, void H5_ATTR_UNUSED **buf) +counter(unsigned H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, + const unsigned H5_ATTR_UNUSED *cd_values, size_t nbytes, size_t H5_ATTR_UNUSED *buf_size, + void H5_ATTR_UNUSED **buf) { nio_g += nbytes; return nbytes; } - /*------------------------------------------------------------------------- * Function: create_dataset * @@ -136,21 +132,21 @@ counter (unsigned H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, *------------------------------------------------------------------------- */ static void -create_dataset (void) +create_dataset(void) { - hid_t file, space, dcpl, dset; - hsize_t size[2]; - signed char *buf; + hid_t file, space, dcpl, dset; + hsize_t size[2]; + signed char *buf; /* The file */ - file = H5Fcreate (FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_g); + file = H5Fcreate(FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_g); /* The data space */ size[0] = size[1] = DS_SIZE * CH_SIZE; - space = H5Screate_simple(2, size, size); + space = H5Screate_simple(2, size, size); /* The storage layout and compression */ - dcpl = H5Pcreate(H5P_DATASET_CREATE); + dcpl = H5Pcreate(H5P_DATASET_CREATE); size[0] = size[1] = CH_SIZE; H5Pset_chunk(dcpl, 2, size); H5Zregister(H5Z_COUNTER); @@ -158,10 +154,10 @@ create_dataset (void) /* The dataset */ dset = H5Dcreate2(file, "dset", H5T_NATIVE_SCHAR, space, H5P_DEFAULT, dcpl, H5P_DEFAULT); - assert(dset>=0); + assert(dset >= 0); /* The data */ - buf = (signed char *)calloc(1, SQUARE (DS_SIZE*CH_SIZE)); + buf = (signed char *)calloc(1, SQUARE(DS_SIZE * CH_SIZE)); H5Dwrite(dset, H5T_NATIVE_SCHAR, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); free(buf); @@ -172,7 +168,6 @@ create_dataset (void) H5Fclose(file); } - /*------------------------------------------------------------------------- * Function: test_rowmaj * @@ -189,64 +184,60 @@ create_dataset (void) *------------------------------------------------------------------------- */ static double -test_rowmaj (int op, size_t cache_size, size_t io_size) +test_rowmaj(int op, size_t cache_size, size_t io_size) { - hid_t file, dset, mem_space, file_space; - signed char *buf = (signed char *)calloc (1, (size_t)(SQUARE(io_size))); - hsize_t i, j, hs_size[2]; - hsize_t hs_offset[2]; - int mdc_nelmts; - size_t rdcc_nelmts; - double w0; - - H5Pget_cache (fapl_g, &mdc_nelmts, &rdcc_nelmts, NULL, &w0); + hid_t file, dset, mem_space, file_space; + signed char *buf = (signed char *)calloc(1, (size_t)(SQUARE(io_size))); + hsize_t i, j, hs_size[2]; + hsize_t hs_offset[2]; + int mdc_nelmts; + size_t rdcc_nelmts; + double w0; + + H5Pget_cache(fapl_g, &mdc_nelmts, &rdcc_nelmts, NULL, &w0); #ifdef RM_W0 w0 = RM_W0; #endif #ifdef RM_NRDCC rdcc_nelmts = RM_NRDCC; #endif - H5Pset_cache (fapl_g, mdc_nelmts, rdcc_nelmts, - cache_size*SQUARE (CH_SIZE), w0); - file = H5Fopen(FILE_NAME, H5F_ACC_RDWR, fapl_g); - dset = H5Dopen2(file, "dset", H5P_DEFAULT); + H5Pset_cache(fapl_g, mdc_nelmts, rdcc_nelmts, cache_size * SQUARE(CH_SIZE), w0); + file = H5Fopen(FILE_NAME, H5F_ACC_RDWR, fapl_g); + dset = H5Dopen2(file, "dset", H5P_DEFAULT); file_space = H5Dget_space(dset); - nio_g = 0; + nio_g = 0; - for (i=0; i<CH_SIZE*DS_SIZE; i+=io_size) { + for (i = 0; i < CH_SIZE * DS_SIZE; i += io_size) { #if 0 fprintf (stderr, "%5d\b\b\b\b\b", (int)i); fflush (stderr); #endif - for (j=0; j<CH_SIZE*DS_SIZE; j+=io_size) { - hs_offset[0] = i; - hs_size[0] = MIN (io_size, CH_SIZE*DS_SIZE-i); - hs_offset[1] = j; - hs_size[1] = MIN (io_size, CH_SIZE*DS_SIZE-j); - mem_space = H5Screate_simple (2, hs_size, hs_size); - H5Sselect_hyperslab (file_space, H5S_SELECT_SET, hs_offset, - NULL, hs_size, NULL); - - if (READ==op) { - H5Dread (dset, H5T_NATIVE_SCHAR, mem_space, file_space, - H5P_DEFAULT, buf); - } else { - H5Dwrite (dset, H5T_NATIVE_SCHAR, mem_space, file_space, - H5P_DEFAULT, buf); - } - H5Sclose (mem_space); - } + for (j = 0; j < CH_SIZE * DS_SIZE; j += io_size) { + hs_offset[0] = i; + hs_size[0] = MIN(io_size, CH_SIZE * DS_SIZE - i); + hs_offset[1] = j; + hs_size[1] = MIN(io_size, CH_SIZE * DS_SIZE - j); + mem_space = H5Screate_simple(2, hs_size, hs_size); + H5Sselect_hyperslab(file_space, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL); + + if (READ == op) { + H5Dread(dset, H5T_NATIVE_SCHAR, mem_space, file_space, H5P_DEFAULT, buf); + } + else { + H5Dwrite(dset, H5T_NATIVE_SCHAR, mem_space, file_space, H5P_DEFAULT, buf); + } + H5Sclose(mem_space); + } } - free (buf); - H5Sclose (file_space); - H5Dclose (dset); - H5Fclose (file); + free(buf); + H5Sclose(file_space); + H5Dclose(dset); + H5Fclose(file); - return (double)SQUARE(CH_SIZE*DS_SIZE)/(double)nio_g; + return (double)SQUARE(CH_SIZE * DS_SIZE) / (double)nio_g; } - /*------------------------------------------------------------------------- * Function: test_diag * @@ -265,63 +256,60 @@ test_rowmaj (int op, size_t cache_size, size_t io_size) *------------------------------------------------------------------------- */ static double -test_diag (int op, size_t cache_size, size_t io_size, size_t offset) +test_diag(int op, size_t cache_size, size_t io_size, size_t offset) { - hid_t file, dset, mem_space, file_space; - hsize_t i, hs_size[2]; - hsize_t nio = 0; - hsize_t hs_offset[2]; - signed char *buf = (signed char *)calloc(1, (size_t)(SQUARE (io_size))); - int mdc_nelmts; - size_t rdcc_nelmts; - double w0; - - H5Pget_cache (fapl_g, &mdc_nelmts, &rdcc_nelmts, NULL, &w0); + hid_t file, dset, mem_space, file_space; + hsize_t i, hs_size[2]; + hsize_t nio = 0; + hsize_t hs_offset[2]; + signed char *buf = (signed char *)calloc(1, (size_t)(SQUARE(io_size))); + int mdc_nelmts; + size_t rdcc_nelmts; + double w0; + + H5Pget_cache(fapl_g, &mdc_nelmts, &rdcc_nelmts, NULL, &w0); #ifdef DIAG_W0 w0 = DIAG_W0; #endif #ifdef DIAG_NRDCC rdcc_nelmts = DIAG_NRDCC; #endif - H5Pset_cache (fapl_g, mdc_nelmts, rdcc_nelmts, - cache_size*SQUARE (CH_SIZE), w0); - file = H5Fopen(FILE_NAME, H5F_ACC_RDWR, fapl_g); - dset = H5Dopen2(file, "dset", H5P_DEFAULT); + H5Pset_cache(fapl_g, mdc_nelmts, rdcc_nelmts, cache_size * SQUARE(CH_SIZE), w0); + file = H5Fopen(FILE_NAME, H5F_ACC_RDWR, fapl_g); + dset = H5Dopen2(file, "dset", H5P_DEFAULT); file_space = H5Dget_space(dset); - nio_g = 0; - - for (i=0, hs_size[0]=io_size; hs_size[0]==io_size; i+=offset) { - hs_offset[0] = hs_offset[1] = i; - hs_size[0] = hs_size[1] = MIN (io_size, CH_SIZE*DS_SIZE-i); - mem_space = H5Screate_simple (2, hs_size, hs_size); - H5Sselect_hyperslab (file_space, H5S_SELECT_SET, hs_offset, NULL, - hs_size, NULL); - if (READ==op) { - H5Dread (dset, H5T_NATIVE_SCHAR, mem_space, file_space, - H5P_DEFAULT, buf); - } else { - H5Dwrite (dset, H5T_NATIVE_SCHAR, mem_space, file_space, - H5P_DEFAULT, buf); - } - H5Sclose (mem_space); - nio += hs_size[0]*hs_size[1]; - if (i>0) nio -= SQUARE (io_size-offset); + nio_g = 0; + + for (i = 0, hs_size[0] = io_size; hs_size[0] == io_size; i += offset) { + hs_offset[0] = hs_offset[1] = i; + hs_size[0] = hs_size[1] = MIN(io_size, CH_SIZE * DS_SIZE - i); + mem_space = H5Screate_simple(2, hs_size, hs_size); + H5Sselect_hyperslab(file_space, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL); + if (READ == op) { + H5Dread(dset, H5T_NATIVE_SCHAR, mem_space, file_space, H5P_DEFAULT, buf); + } + else { + H5Dwrite(dset, H5T_NATIVE_SCHAR, mem_space, file_space, H5P_DEFAULT, buf); + } + H5Sclose(mem_space); + nio += hs_size[0] * hs_size[1]; + if (i > 0) + nio -= SQUARE(io_size - offset); } - free (buf); - H5Sclose (file_space); - H5Dclose (dset); - H5Fclose (file); + free(buf); + H5Sclose(file_space); + H5Dclose(dset); + H5Fclose(file); /* * The extra cast in the following statement is a bug workaround for the * Win32 version 5.0 compiler. * 1998-11-06 ptl */ - return (double)nio/(double)nio_g; + return (double)nio / (double)nio_g; } - /*------------------------------------------------------------------------- * Function: main * @@ -339,25 +327,25 @@ test_diag (int op, size_t cache_size, size_t io_size, size_t offset) *------------------------------------------------------------------------- */ int -main (void) +main(void) { - size_t io_size; - double effic, io_percent; - FILE *f, *d; - size_t cache_size; - double w0; + size_t io_size; + double effic, io_percent; + FILE * f, *d; + size_t cache_size; + double w0; /* * Create a global file access property list. */ - fapl_g = H5Pcreate (H5P_FILE_ACCESS); - H5Pget_cache (fapl_g, NULL, NULL, NULL, &w0); + fapl_g = H5Pcreate(H5P_FILE_ACCESS); + H5Pget_cache(fapl_g, NULL, NULL, NULL, &w0); /* Create the file */ - create_dataset (); - f = fopen ("x-gnuplot", "w"); + create_dataset(); + f = fopen("x-gnuplot", "w"); - printf("Test %8s %8s %8s\n", "CacheSz", "ChunkSz", "Effic"); + printf("Test %8s %8s %8s\n", "CacheSz", "ChunkSz", "Effic"); printf("--------- -------- -------- --------\n"); #if 1 @@ -365,45 +353,44 @@ main (void) * Test row-major reading of the dataset with various sizes of request * windows. */ - if (RM_CACHE_STRT==RM_CACHE_END) { - fprintf (f, "set yrange [0:1.2]\n"); - fprintf (f, "set ytics 0, 0.1, 1\n"); - fprintf (f, "set xlabel \"%s\"\n", - "Request size as a fraction of chunk size"); - fprintf (f, "set ylabel \"Efficiency\"\n"); - fprintf (f, "set title \"Cache %d chunks, w0=%g, " - "Size=(total=%d, chunk=%d)\"\n", - RM_CACHE_STRT, w0, DS_SIZE*CH_SIZE, CH_SIZE); - } else { - fprintf (f, "set autoscale\n"); - fprintf (f, "set hidden3d\n"); + if (RM_CACHE_STRT == RM_CACHE_END) { + fprintf(f, "set yrange [0:1.2]\n"); + fprintf(f, "set ytics 0, 0.1, 1\n"); + fprintf(f, "set xlabel \"%s\"\n", "Request size as a fraction of chunk size"); + fprintf(f, "set ylabel \"Efficiency\"\n"); + fprintf(f, + "set title \"Cache %d chunks, w0=%g, " + "Size=(total=%d, chunk=%d)\"\n", + RM_CACHE_STRT, w0, DS_SIZE * CH_SIZE, CH_SIZE); + } + else { + fprintf(f, "set autoscale\n"); + fprintf(f, "set hidden3d\n"); } - fprintf (f, "set terminal postscript\nset output \"x-rowmaj-rd.ps\"\n"); - fprintf (f, "%s \"x-rowmaj-rd.dat\" title \"RowMaj-Read\" with %s\n", - RM_CACHE_STRT==RM_CACHE_END?"plot":"splot", - LINESPOINTS); - fprintf (f, "set terminal x11\nreplot\n"); - d = fopen ("x-rowmaj-rd.dat", "w"); - for (cache_size=RM_CACHE_STRT; - cache_size<=RM_CACHE_END; - cache_size+=RM_CACHE_DELT) { - for (io_percent=RM_START; io_percent<=RM_END; io_percent+=RM_DELTA) { - io_size = MAX (1, (size_t)(CH_SIZE*io_percent)); - printf ("Rowmaj-rd %8d %8.2f", (int)cache_size, io_percent); - fflush (stdout); - effic = test_rowmaj (READ, cache_size, io_size); - printf (" %8.2f\n", effic); - if (RM_CACHE_STRT==RM_CACHE_END) { - fprintf (d, "%g %g\n", io_percent, effic); - } else { - fprintf (d, "%g\n", effic); - } - } - fprintf (d, "\n"); + fprintf(f, "set terminal postscript\nset output \"x-rowmaj-rd.ps\"\n"); + fprintf(f, "%s \"x-rowmaj-rd.dat\" title \"RowMaj-Read\" with %s\n", + RM_CACHE_STRT == RM_CACHE_END ? "plot" : "splot", LINESPOINTS); + fprintf(f, "set terminal x11\nreplot\n"); + d = fopen("x-rowmaj-rd.dat", "w"); + for (cache_size = RM_CACHE_STRT; cache_size <= RM_CACHE_END; cache_size += RM_CACHE_DELT) { + for (io_percent = RM_START; io_percent <= RM_END; io_percent += RM_DELTA) { + io_size = MAX(1, (size_t)(CH_SIZE * io_percent)); + printf("Rowmaj-rd %8d %8.2f", (int)cache_size, io_percent); + fflush(stdout); + effic = test_rowmaj(READ, cache_size, io_size); + printf(" %8.2f\n", effic); + if (RM_CACHE_STRT == RM_CACHE_END) { + fprintf(d, "%g %g\n", io_percent, effic); + } + else { + fprintf(d, "%g\n", effic); + } + } + fprintf(d, "\n"); } - fclose (d); - fprintf (f, "pause -1\n"); + fclose(d); + fprintf(f, "pause -1\n"); #endif #if 1 @@ -411,138 +398,133 @@ main (void) * Test row-major writing of the dataset with various sizes of request * windows. */ - if (RM_CACHE_STRT==RM_CACHE_END) { - fprintf (f, "set yrange [0:1.2]\n"); - fprintf (f, "set ytics 0, 0.1, 1\n"); - fprintf (f, "set xlabel \"%s\"\n", - "Request size as a fraction of chunk size"); - fprintf (f, "set ylabel \"Efficiency\"\n"); - fprintf (f, "set title \"Cache %d chunks,w0=%g, " - "Size=(total=%d, chunk=%d)\"\n", - RM_CACHE_STRT, w0, DS_SIZE*CH_SIZE, CH_SIZE); - } else { - fprintf (f, "set autoscale\n"); - fprintf (f, "set hidden3d\n"); + if (RM_CACHE_STRT == RM_CACHE_END) { + fprintf(f, "set yrange [0:1.2]\n"); + fprintf(f, "set ytics 0, 0.1, 1\n"); + fprintf(f, "set xlabel \"%s\"\n", "Request size as a fraction of chunk size"); + fprintf(f, "set ylabel \"Efficiency\"\n"); + fprintf(f, + "set title \"Cache %d chunks,w0=%g, " + "Size=(total=%d, chunk=%d)\"\n", + RM_CACHE_STRT, w0, DS_SIZE * CH_SIZE, CH_SIZE); + } + else { + fprintf(f, "set autoscale\n"); + fprintf(f, "set hidden3d\n"); } - fprintf (f, "set terminal postscript\nset output \"x-rowmaj-wr.ps\"\n"); - fprintf (f, "%s \"x-rowmaj-wr.dat\" title \"RowMaj-Write\" with %s\n", - RM_CACHE_STRT==RM_CACHE_END?"plot":"splot", - LINESPOINTS); - fprintf (f, "set terminal x11\nreplot\n"); - d = fopen ("x-rowmaj-wr.dat", "w"); - for (cache_size=RM_CACHE_STRT; - cache_size<=RM_CACHE_END; - cache_size+=RM_CACHE_DELT) { - for (io_percent=RM_START; io_percent<=RM_END; io_percent+=RM_DELTA) { - io_size = MAX (1, (size_t)(CH_SIZE*io_percent)); - printf ("Rowmaj-wr %8d %8.2f", (int)cache_size, io_percent); - fflush (stdout); - effic = test_rowmaj (WRITE, cache_size, io_size); - printf (" %8.2f\n", effic); - if (RM_CACHE_STRT==RM_CACHE_END) { - fprintf (d, "%g %g\n", io_percent, effic); - } else { - fprintf (d, "%g\n", effic); - } - } - fprintf (d, "\n"); + fprintf(f, "set terminal postscript\nset output \"x-rowmaj-wr.ps\"\n"); + fprintf(f, "%s \"x-rowmaj-wr.dat\" title \"RowMaj-Write\" with %s\n", + RM_CACHE_STRT == RM_CACHE_END ? "plot" : "splot", LINESPOINTS); + fprintf(f, "set terminal x11\nreplot\n"); + d = fopen("x-rowmaj-wr.dat", "w"); + for (cache_size = RM_CACHE_STRT; cache_size <= RM_CACHE_END; cache_size += RM_CACHE_DELT) { + for (io_percent = RM_START; io_percent <= RM_END; io_percent += RM_DELTA) { + io_size = MAX(1, (size_t)(CH_SIZE * io_percent)); + printf("Rowmaj-wr %8d %8.2f", (int)cache_size, io_percent); + fflush(stdout); + effic = test_rowmaj(WRITE, cache_size, io_size); + printf(" %8.2f\n", effic); + if (RM_CACHE_STRT == RM_CACHE_END) { + fprintf(d, "%g %g\n", io_percent, effic); + } + else { + fprintf(d, "%g\n", effic); + } + } + fprintf(d, "\n"); } - fclose (d); - fprintf (f, "pause -1\n"); + fclose(d); + fprintf(f, "pause -1\n"); #endif #if 1 /* * Test diagonal read */ - if (DIAG_CACHE_STRT==DIAG_CACHE_END) { - fprintf (f, "set yrange [0:1.2]\n"); - fprintf (f, "set ytics 0, 0.1, 1\n"); - fprintf (f, "set xlabel \"%s\"\n", - "Request size as a fraction of chunk size"); - fprintf (f, "set ylabel \"Efficiency\"\n"); - fprintf (f, "set title \"Cache %d chunks,w0=%g, " - "Size=(total=%d, chunk=%d)\"\n", - DIAG_CACHE_STRT, w0, DS_SIZE*CH_SIZE, CH_SIZE); - } else { - fprintf (f, "set autoscale\n"); - fprintf (f, "set hidden3d\n"); + if (DIAG_CACHE_STRT == DIAG_CACHE_END) { + fprintf(f, "set yrange [0:1.2]\n"); + fprintf(f, "set ytics 0, 0.1, 1\n"); + fprintf(f, "set xlabel \"%s\"\n", "Request size as a fraction of chunk size"); + fprintf(f, "set ylabel \"Efficiency\"\n"); + fprintf(f, + "set title \"Cache %d chunks,w0=%g, " + "Size=(total=%d, chunk=%d)\"\n", + DIAG_CACHE_STRT, w0, DS_SIZE * CH_SIZE, CH_SIZE); + } + else { + fprintf(f, "set autoscale\n"); + fprintf(f, "set hidden3d\n"); } - fprintf (f, "set terminal postscript\nset output \"x-diag-rd.ps\"\n"); - fprintf (f, "%s \"x-diag-rd.dat\" title \"Diag-Read\" with %s\n", - DIAG_CACHE_STRT==DIAG_CACHE_END?"plot":"splot", LINESPOINTS); - fprintf (f, "set terminal x11\nreplot\n"); - d = fopen ("x-diag-rd.dat", "w"); - for (cache_size=DIAG_CACHE_STRT; - cache_size<=DIAG_CACHE_END; - cache_size+=DIAG_CACHE_DELT) { - for (io_percent=DIAG_START; io_percent<=DIAG_END; io_percent+=DIAG_DELTA) { - io_size = MAX (1, (size_t)(CH_SIZE*io_percent)); - printf ("Diag-rd %8d %8.2f", (int)cache_size, io_percent); - fflush (stdout); - effic = test_diag (READ, cache_size, io_size, MAX (1, io_size/2)); - printf (" %8.2f\n", effic); - if (DIAG_CACHE_STRT==DIAG_CACHE_END) { - fprintf (d, "%g %g\n", io_percent, effic); - } else { - fprintf (d, "%g\n", effic); - } - } - fprintf (d, "\n"); + fprintf(f, "set terminal postscript\nset output \"x-diag-rd.ps\"\n"); + fprintf(f, "%s \"x-diag-rd.dat\" title \"Diag-Read\" with %s\n", + DIAG_CACHE_STRT == DIAG_CACHE_END ? "plot" : "splot", LINESPOINTS); + fprintf(f, "set terminal x11\nreplot\n"); + d = fopen("x-diag-rd.dat", "w"); + for (cache_size = DIAG_CACHE_STRT; cache_size <= DIAG_CACHE_END; cache_size += DIAG_CACHE_DELT) { + for (io_percent = DIAG_START; io_percent <= DIAG_END; io_percent += DIAG_DELTA) { + io_size = MAX(1, (size_t)(CH_SIZE * io_percent)); + printf("Diag-rd %8d %8.2f", (int)cache_size, io_percent); + fflush(stdout); + effic = test_diag(READ, cache_size, io_size, MAX(1, io_size / 2)); + printf(" %8.2f\n", effic); + if (DIAG_CACHE_STRT == DIAG_CACHE_END) { + fprintf(d, "%g %g\n", io_percent, effic); + } + else { + fprintf(d, "%g\n", effic); + } + } + fprintf(d, "\n"); } - fclose (d); - fprintf (f, "pause -1\n"); + fclose(d); + fprintf(f, "pause -1\n"); #endif #if 1 /* * Test diagonal write */ - if (DIAG_CACHE_STRT==DIAG_CACHE_END) { - fprintf (f, "set yrange [0:1.2]\n"); - fprintf (f, "set ytics 0, 0.1, 1\n"); - fprintf (f, "set xlabel \"%s\"\n", - "Request size as a fraction of chunk size"); - fprintf (f, "set ylabel \"Efficiency\"\n"); - fprintf (f, "set title \"Cache %d chunks, w0=%g, " - "Size=(total=%d, chunk=%d)\"\n", - DIAG_CACHE_STRT, w0, DS_SIZE*CH_SIZE, CH_SIZE); - } else { - fprintf (f, "set autoscale\n"); - fprintf (f, "set hidden3d\n"); + if (DIAG_CACHE_STRT == DIAG_CACHE_END) { + fprintf(f, "set yrange [0:1.2]\n"); + fprintf(f, "set ytics 0, 0.1, 1\n"); + fprintf(f, "set xlabel \"%s\"\n", "Request size as a fraction of chunk size"); + fprintf(f, "set ylabel \"Efficiency\"\n"); + fprintf(f, + "set title \"Cache %d chunks, w0=%g, " + "Size=(total=%d, chunk=%d)\"\n", + DIAG_CACHE_STRT, w0, DS_SIZE * CH_SIZE, CH_SIZE); } - fprintf (f, "set terminal postscript\nset output \"x-diag-wr.ps\"\n"); - fprintf (f, "%s \"x-diag-wr.dat\" title \"Diag-Write\" with %s\n", - DIAG_CACHE_STRT==DIAG_CACHE_END?"plot":"splot", LINESPOINTS); - fprintf (f, "set terminal x11\nreplot\n"); - d = fopen ("x-diag-wr.dat", "w"); - for (cache_size=DIAG_CACHE_STRT; - cache_size<=DIAG_CACHE_END; - cache_size+=DIAG_CACHE_DELT) { - for (io_percent=DIAG_START; - io_percent<=DIAG_END; - io_percent+=DIAG_DELTA) { - io_size = MAX (1, (size_t)(CH_SIZE*io_percent)); - printf ("Diag-wr %8d %8.2f", (int)cache_size, io_percent); - fflush (stdout); - effic = test_diag (WRITE, cache_size, io_size, MAX (1, io_size/2)); - printf (" %8.2f\n", effic); - if (DIAG_CACHE_STRT==DIAG_CACHE_END) { - fprintf (d, "%g %g\n", io_percent, effic); - } else { - fprintf (d, "%g\n", effic); - } - } - fprintf (d, "\n"); + else { + fprintf(f, "set autoscale\n"); + fprintf(f, "set hidden3d\n"); } - fclose (d); - fprintf (f, "pause -1\n"); + fprintf(f, "set terminal postscript\nset output \"x-diag-wr.ps\"\n"); + fprintf(f, "%s \"x-diag-wr.dat\" title \"Diag-Write\" with %s\n", + DIAG_CACHE_STRT == DIAG_CACHE_END ? "plot" : "splot", LINESPOINTS); + fprintf(f, "set terminal x11\nreplot\n"); + d = fopen("x-diag-wr.dat", "w"); + for (cache_size = DIAG_CACHE_STRT; cache_size <= DIAG_CACHE_END; cache_size += DIAG_CACHE_DELT) { + for (io_percent = DIAG_START; io_percent <= DIAG_END; io_percent += DIAG_DELTA) { + io_size = MAX(1, (size_t)(CH_SIZE * io_percent)); + printf("Diag-wr %8d %8.2f", (int)cache_size, io_percent); + fflush(stdout); + effic = test_diag(WRITE, cache_size, io_size, MAX(1, io_size / 2)); + printf(" %8.2f\n", effic); + if (DIAG_CACHE_STRT == DIAG_CACHE_END) { + fprintf(d, "%g %g\n", io_percent, effic); + } + else { + fprintf(d, "%g\n", effic); + } + } + fprintf(d, "\n"); + } + fclose(d); + fprintf(f, "pause -1\n"); #endif - - H5Pclose (fapl_g); - fclose (f); + H5Pclose(fapl_g); + fclose(f); return 0; } - diff --git a/tools/test/perform/chunk_cache.c b/tools/test/perform/chunk_cache.c index d8af390..3a6a209 100644 --- a/tools/test/perform/chunk_cache.c +++ b/tools/test/perform/chunk_cache.c @@ -21,28 +21,28 @@ #include "H5private.h" #include "h5test.h" -#define FILENAME "chunk_cache_perf.h5" +#define FILENAME "chunk_cache_perf.h5" -#define RANK 2 +#define RANK 2 #define DSET1_NAME "partial_chunks" -#define DSET1_DIM1 9 * 1000 -#define DSET1_DIM2 9 -#define CHUNK1_DIM1 2 * 1000 -#define CHUNK1_DIM2 2 +#define DSET1_DIM1 9 * 1000 +#define DSET1_DIM2 9 +#define CHUNK1_DIM1 2 * 1000 +#define CHUNK1_DIM2 2 #define DSET2_NAME "hash_value" -#define DSET2_DIM1 300 -#define DSET2_DIM2 600 -#define CHUNK2_DIM1 100 -#define CHUNK2_DIM2 100 +#define DSET2_DIM1 300 +#define DSET2_DIM2 600 +#define CHUNK2_DIM1 100 +#define CHUNK2_DIM2 100 -#define RDCC_NSLOTS 5 -#define RDCC_NBYTES 1024 * 1024 * 10 -#define RDCC_W0 0.75F +#define RDCC_NSLOTS 5 +#define RDCC_NBYTES 1024 * 1024 * 10 +#define RDCC_W0 0.75F -#define FILTER_COUNTER 306 -static size_t nbytes_global; +#define FILTER_COUNTER 306 +static size_t nbytes_global; typedef struct test_time_t { long tv_sec; @@ -50,20 +50,18 @@ typedef struct test_time_t { } test_time_t; /* Local function prototypes for the dummy filter */ -static size_t -counter (unsigned flags, size_t cd_nelmts, - const unsigned *cd_values, size_t nbytes, - size_t *buf_size, void **buf); +static size_t counter(unsigned flags, size_t cd_nelmts, const unsigned *cd_values, size_t nbytes, + size_t *buf_size, void **buf); /* This message derives from H5Z */ const H5Z_class2_t H5Z_COUNTER[1] = {{ - H5Z_CLASS_T_VERS, /* H5Z_class_t version */ - FILTER_COUNTER, /* Filter id number */ - 1, 1, /* Encoding and decoding enabled */ - "counter", /* Filter name for debugging */ - NULL, /* The "can apply" callback */ - NULL, /* The "set local" callback */ - counter, /* The actual filter function */ + H5Z_CLASS_T_VERS, /* H5Z_class_t version */ + FILTER_COUNTER, /* Filter id number */ + 1, 1, /* Encoding and decoding enabled */ + "counter", /* Filter name for debugging */ + NULL, /* The "can apply" callback */ + NULL, /* The "set local" callback */ + counter, /* The actual filter function */ }}; /*------------------------------------------------------------------------- @@ -71,9 +69,9 @@ const H5Z_class2_t H5Z_COUNTER[1] = {{ * track of the data of chunks being read from file into memory. */ static size_t -counter (unsigned H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, - const unsigned H5_ATTR_UNUSED *cd_values, size_t nbytes, - size_t H5_ATTR_UNUSED *buf_size, void H5_ATTR_UNUSED **buf) +counter(unsigned H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, + const unsigned H5_ATTR_UNUSED *cd_values, size_t nbytes, size_t H5_ATTR_UNUSED *buf_size, + void H5_ATTR_UNUSED **buf) { nbytes_global += nbytes; return nbytes; @@ -81,10 +79,10 @@ counter (unsigned H5_ATTR_UNUSED flags, size_t H5_ATTR_UNUSED cd_nelmts, /*---------------------------------------------------------------------------*/ static void -cleanup (void) +cleanup(void) { - if (!getenv ("HDF5_NOCLEANUP")) { - remove (FILENAME); + if (!getenv("HDF5_NOCLEANUP")) { + remove(FILENAME); } } @@ -93,58 +91,59 @@ cleanup (void) * dataset dimension: 9000 x 9 * chunk dimension: 2000 x 2 */ -static int create_dset1(hid_t file) +static int +create_dset1(hid_t file) { - hid_t dataspace = H5I_INVALID_HID, dataset = H5I_INVALID_HID; - hid_t dcpl = H5I_INVALID_HID; - hsize_t dims[RANK] = {DSET1_DIM1, DSET1_DIM2}; - hsize_t chunk_dims[RANK] = {CHUNK1_DIM1, CHUNK1_DIM2}; - int **data; /* data for writing */ + hid_t dataspace = H5I_INVALID_HID, dataset = H5I_INVALID_HID; + hid_t dcpl = H5I_INVALID_HID; + hsize_t dims[RANK] = {DSET1_DIM1, DSET1_DIM2}; + hsize_t chunk_dims[RANK] = {CHUNK1_DIM1, CHUNK1_DIM2}; + int ** data; /* data for writing */ /* Create the data space. */ - if((dataspace = H5Screate_simple (RANK, dims, NULL)) < 0) + if ((dataspace = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* Modify dataset creation properties, i.e. enable chunking */ - if((dcpl = H5Pcreate (H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk (dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; /* Set the dummy filter simply for counting the number of bytes being read into the memory */ - if(H5Zregister(H5Z_COUNTER) < 0) + if (H5Zregister(H5Z_COUNTER) < 0) goto error; - if(H5Pset_filter(dcpl, FILTER_COUNTER, 0, 0, NULL) < 0) + if (H5Pset_filter(dcpl, FILTER_COUNTER, 0, 0, NULL) < 0) goto error; /* Create a new dataset within the file using chunk creation properties. */ - if((dataset = H5Dcreate2 (file, DSET1_NAME, H5T_NATIVE_INT, dataspace, - H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((dataset = H5Dcreate2(file, DSET1_NAME, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < + 0) goto error; /* Create & fill array */ - H5TEST_ALLOCATE_2D_ARRAY(data, int, DSET1_DIM1, DSET1_DIM2); + H5TEST_ALLOCATE_2D_ARRAY(data, int, DSET1_DIM1, DSET1_DIM2); H5TEST_FILL_2D_ARRAY(data, int, DSET1_DIM1, DSET1_DIM2); - /* Write data to dataset */ - if(H5Dwrite (dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, - H5P_DEFAULT, data) < 0) + if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) goto error; /* Close resources */ - H5Dclose (dataset); - H5Pclose (dcpl); - H5Sclose (dataspace); + H5Dclose(dataset); + H5Pclose(dcpl); + H5Sclose(dataspace); return 0; error: - H5E_BEGIN_TRY { - H5Dclose (dataset); - H5Pclose (dcpl); - H5Sclose (dataspace); - } H5E_END_TRY; + H5E_BEGIN_TRY + { + H5Dclose(dataset); + H5Pclose(dcpl); + H5Sclose(dataspace); + } + H5E_END_TRY; return 1; } @@ -154,41 +153,42 @@ error: * dataset dimensions: 300 x 600 * chunk dimensions: 100 x 100 */ -static int create_dset2(hid_t file) +static int +create_dset2(hid_t file) { - hid_t dataspace = H5I_INVALID_HID, dataset = H5I_INVALID_HID; - hid_t dcpl = H5I_INVALID_HID; - hsize_t dims[RANK] = {DSET2_DIM1, DSET2_DIM2}; - hsize_t chunk_dims[RANK] = {CHUNK2_DIM1, CHUNK2_DIM2}; - int **data; /* data for writing */ + hid_t dataspace = H5I_INVALID_HID, dataset = H5I_INVALID_HID; + hid_t dcpl = H5I_INVALID_HID; + hsize_t dims[RANK] = {DSET2_DIM1, DSET2_DIM2}; + hsize_t chunk_dims[RANK] = {CHUNK2_DIM1, CHUNK2_DIM2}; + int ** data; /* data for writing */ /* Create the data space. */ - if((dataspace = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((dataspace = H5Screate_simple(RANK, dims, NULL)) < 0) goto error; /* Modify dataset creation properties, i.e. enable chunking */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) + if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto error; /* Set the dummy filter simply for counting the number of bytes being read into the memory */ - if(H5Zregister(H5Z_COUNTER) < 0) + if (H5Zregister(H5Z_COUNTER) < 0) goto error; - if(H5Pset_filter(dcpl, FILTER_COUNTER, 0, 0, NULL) < 0) + if (H5Pset_filter(dcpl, FILTER_COUNTER, 0, 0, NULL) < 0) goto error; /* Create a new dataset within the file using chunk creation properties. */ - if((dataset = H5Dcreate2(file, DSET2_NAME, H5T_NATIVE_INT, dataspace, - H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((dataset = H5Dcreate2(file, DSET2_NAME, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < + 0) goto error; /* Create & fill array */ - H5TEST_ALLOCATE_2D_ARRAY(data, int, DSET2_DIM1, DSET2_DIM2); + H5TEST_ALLOCATE_2D_ARRAY(data, int, DSET2_DIM1, DSET2_DIM2); H5TEST_FILL_2D_ARRAY(data, int, DSET2_DIM1, DSET2_DIM2); /* Write data to dataset */ - if(H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) + if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) goto error; /* Close resources */ @@ -199,11 +199,13 @@ static int create_dset2(hid_t file) return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(dataset); H5Pclose(dcpl); H5Sclose(dataspace); - } H5E_END_TRY; + } + H5E_END_TRY; return 1; } @@ -212,31 +214,32 @@ error: * Check the performance of the chunk cache when partial chunks exist * along the dataset dimensions. */ -static int check_partial_chunks_perf(hid_t file) +static int +check_partial_chunks_perf(hid_t file) { - hid_t dataset = H5I_INVALID_HID; - hid_t filespace = H5I_INVALID_HID; - hid_t memspace = H5I_INVALID_HID; - hid_t dapl = H5I_INVALID_HID; + hid_t dataset = H5I_INVALID_HID; + hid_t filespace = H5I_INVALID_HID; + hid_t memspace = H5I_INVALID_HID; + hid_t dapl = H5I_INVALID_HID; - int rdata[DSET1_DIM2]; /* data for reading */ - int i; + int rdata[DSET1_DIM2]; /* data for reading */ + int i; - hsize_t row_rank = 1; - hsize_t row_dim[1] = {DSET1_DIM2}; - hsize_t start[RANK] = {0, 0}; - hsize_t count[RANK] = {1, DSET1_DIM2}; - double start_t, end_t; + hsize_t row_rank = 1; + hsize_t row_dim[1] = {DSET1_DIM2}; + hsize_t start[RANK] = {0, 0}; + hsize_t count[RANK] = {1, DSET1_DIM2}; + double start_t, end_t; - if((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0) + if ((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0) goto error; - if(H5Pset_chunk_cache (dapl, RDCC_NSLOTS, RDCC_NBYTES, RDCC_W0) < 0) + if (H5Pset_chunk_cache(dapl, RDCC_NSLOTS, RDCC_NBYTES, RDCC_W0) < 0) goto error; - dataset = H5Dopen2 (file, DSET1_NAME, dapl); + dataset = H5Dopen2(file, DSET1_NAME, dapl); H5_CHECK_OVERFLOW(row_rank, hsize_t, int); - memspace = H5Screate_simple((int)row_rank, row_dim, NULL); + memspace = H5Screate_simple((int)row_rank, row_dim, NULL); filespace = H5Dget_space(dataset); nbytes_global = 0; @@ -244,37 +247,40 @@ static int check_partial_chunks_perf(hid_t file) start_t = H5_get_time(); /* Read the data row by row */ - for(i = 0; i < DSET1_DIM1; i++) { + for (i = 0; i < DSET1_DIM1; i++) { start[0] = (hsize_t)i; - if(H5Sselect_hyperslab(filespace, H5S_SELECT_SET, - start, NULL, count, NULL) < 0) + if (H5Sselect_hyperslab(filespace, H5S_SELECT_SET, start, NULL, count, NULL) < 0) goto error; - if(H5Dread (dataset, H5T_NATIVE_INT, memspace, filespace, - H5P_DEFAULT, rdata) < 0) + if (H5Dread(dataset, H5T_NATIVE_INT, memspace, filespace, H5P_DEFAULT, rdata) < 0) goto error; } end_t = H5_get_time(); - if((end_t - start_t) > (double)0.0f) - printf("1. Partial chunks: total read time is %lf; number of bytes being read from file is %zu\n", (end_t -start_t), nbytes_global); + if ((end_t - start_t) > (double)0.0f) + printf("1. Partial chunks: total read time is %lf; number of bytes being read from file is %zu\n", + (end_t - start_t), nbytes_global); else - printf("1. Partial chunks: no total read time because timer is not available; number of bytes being read from file is %zu\n", nbytes_global); + printf("1. Partial chunks: no total read time because timer is not available; number of bytes being " + "read from file is %zu\n", + nbytes_global); - H5Dclose (dataset); - H5Sclose (filespace); - H5Sclose (memspace); - H5Pclose (dapl); + H5Dclose(dataset); + H5Sclose(filespace); + H5Sclose(memspace); + H5Pclose(dapl); return 0; error: - H5E_BEGIN_TRY { - H5Dclose (dataset); - H5Sclose (filespace); - H5Sclose (memspace); - H5Pclose (dapl); - } H5E_END_TRY; + H5E_BEGIN_TRY + { + H5Dclose(dataset); + H5Sclose(filespace); + H5Sclose(memspace); + H5Pclose(dapl); + } + H5E_END_TRY; return 1; } @@ -283,34 +289,35 @@ error: * is smaller than the number of chunks along the fastest-growing * dimension of the dataset. */ -static int check_hash_value_perf(hid_t file) +static int +check_hash_value_perf(hid_t file) { - hid_t dataset = H5I_INVALID_HID; - hid_t filespace = H5I_INVALID_HID; - hid_t memspace = H5I_INVALID_HID; - hid_t dapl = H5I_INVALID_HID; + hid_t dataset = H5I_INVALID_HID; + hid_t filespace = H5I_INVALID_HID; + hid_t memspace = H5I_INVALID_HID; + hid_t dapl = H5I_INVALID_HID; - int rdata[DSET2_DIM1]; /* data for reading */ - int i; + int rdata[DSET2_DIM1]; /* data for reading */ + int i; - hsize_t column_rank = 1; - hsize_t column_dim[1] = {DSET2_DIM1}; - hsize_t start[RANK] = {0, 0}; - hsize_t count[RANK] = {DSET2_DIM1, 1}; - double start_t, end_t; + hsize_t column_rank = 1; + hsize_t column_dim[1] = {DSET2_DIM1}; + hsize_t start[RANK] = {0, 0}; + hsize_t count[RANK] = {DSET2_DIM1, 1}; + double start_t, end_t; - if((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0) + if ((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0) goto error; - if(H5Pset_chunk_cache (dapl, RDCC_NSLOTS, RDCC_NBYTES, RDCC_W0) < 0) + if (H5Pset_chunk_cache(dapl, RDCC_NSLOTS, RDCC_NBYTES, RDCC_W0) < 0) goto error; - if((dataset = H5Dopen2 (file, DSET2_NAME, dapl)) < 0) + if ((dataset = H5Dopen2(file, DSET2_NAME, dapl)) < 0) goto error; H5_CHECK_OVERFLOW(column_rank, hsize_t, int); - if((memspace = H5Screate_simple((int)column_rank, column_dim, NULL)) < 0) + if ((memspace = H5Screate_simple((int)column_rank, column_dim, NULL)) < 0) goto error; - if((filespace = H5Dget_space(dataset)) < 0) + if ((filespace = H5Dget_space(dataset)) < 0) goto error; nbytes_global = 0; @@ -318,37 +325,40 @@ static int check_hash_value_perf(hid_t file) start_t = H5_get_time(); /* Read the data column by column */ - for(i = 0; i < DSET2_DIM2; i++) { + for (i = 0; i < DSET2_DIM2; i++) { start[1] = (hsize_t)i; - if(H5Sselect_hyperslab(filespace, H5S_SELECT_SET, - start, NULL, count, NULL) < 0) + if (H5Sselect_hyperslab(filespace, H5S_SELECT_SET, start, NULL, count, NULL) < 0) goto error; - if(H5Dread (dataset, H5T_NATIVE_INT, memspace, filespace, - H5P_DEFAULT, rdata) < 0) + if (H5Dread(dataset, H5T_NATIVE_INT, memspace, filespace, H5P_DEFAULT, rdata) < 0) goto error; } end_t = H5_get_time(); - if((end_t - start_t) > (double)0.0f) - printf("2. Hash value: total read time is %lf; number of bytes being read from file is %zu\n", (end_t -start_t), nbytes_global); + if ((end_t - start_t) > (double)0.0f) + printf("2. Hash value: total read time is %lf; number of bytes being read from file is %zu\n", + (end_t - start_t), nbytes_global); else - printf("2. Hash value: no total read time because timer is not available; number of bytes being read from file is %zu\n", nbytes_global); + printf("2. Hash value: no total read time because timer is not available; number of bytes being read " + "from file is %zu\n", + nbytes_global); - H5Dclose (dataset); - H5Sclose (filespace); - H5Sclose (memspace); - H5Pclose (dapl); + H5Dclose(dataset); + H5Sclose(filespace); + H5Sclose(memspace); + H5Pclose(dapl); return 0; error: - H5E_BEGIN_TRY { - H5Dclose (dataset); - H5Sclose (filespace); - H5Sclose (memspace); - H5Pclose (dapl); - } H5E_END_TRY; + H5E_BEGIN_TRY + { + H5Dclose(dataset); + H5Sclose(filespace); + H5Sclose(memspace); + H5Pclose(dapl); + } + H5E_END_TRY; return 1; } @@ -359,32 +369,33 @@ error: * in the fastest-growing dimension. *-------------------------------------------------------------------------------------*/ int -main (void) +main(void) { - hid_t file; /* handles */ - int nerrors = 0; + hid_t file; /* handles */ + int nerrors = 0; /* Create a new file. If file exists its contents will be overwritten. */ - if((file = H5Fcreate (FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((file = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error; nerrors += create_dset1(file); nerrors += create_dset2(file); - if(H5Fclose (file) < 0) + if (H5Fclose(file) < 0) goto error; /* Re-open the file for testing performance. */ - if((file = H5Fopen (FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) + if ((file = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) goto error; nerrors += check_partial_chunks_perf(file); nerrors += check_hash_value_perf(file); - if(H5Fclose (file) < 0) + if (H5Fclose(file) < 0) goto error; - if (nerrors>0) goto error; + if (nerrors > 0) + goto error; cleanup(); return 0; diff --git a/tools/test/perform/direct_write_perf.c b/tools/test/perform/direct_write_perf.c index 20b7237..f4ec7f8 100644 --- a/tools/test/perform/direct_write_perf.c +++ b/tools/test/perform/direct_write_perf.c @@ -26,213 +26,226 @@ #include <math.h> #ifdef H5_STDC_HEADERS -# include <errno.h> -# include <fcntl.h> -# include <stdio.h> -# include <stdlib.h> +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <stdlib.h> #endif #ifdef H5_HAVE_UNISTD_H -# include <sys/types.h> -# include <unistd.h> +#include <sys/types.h> +#include <unistd.h> #endif #ifdef H5_HAVE_SYS_STAT_H -# include <sys/stat.h> +#include <sys/stat.h> #endif #if defined(H5_TIME_WITH_SYS_TIME) -# include <sys/time.h> -# include <time.h> +#include <sys/time.h> +#include <time.h> #elif defined(H5_HAVE_SYS_TIME_H) -# include <sys/time.h> +#include <sys/time.h> #else -# include <time.h> +#include <time.h> #endif -const char *FILENAME[] = { - "direct_write", - "unix.raw", - NULL -}; +const char *FILENAME[] = {"direct_write", "unix.raw", NULL}; /* * Print the current location on the standard output stream. */ #define FUNC __func__ -#define AT() printf (" at %s:%d in %s()...\n", \ - __FILE__, __LINE__, FUNC); -#define H5_FAILED() {puts("*FAILED*");fflush(stdout);} -#define TEST_ERROR {H5_FAILED(); AT(); goto error;} -#define TESTING(WHAT) {printf("Testing %-62s",WHAT); fflush(stdout);} -#define PASSED() {puts(" PASSED");fflush(stdout);} - -#define DIRECT_UNCOMPRESSED_DSET "direct_uncompressed_dset" -#define DIRECT_COMPRESSED_DSET "direct_compressed_dset" -#define REG_COMPRESSED_DSET "reg_compressed_dset" -#define REG_NO_COMPRESS_DSET "reg_no_compress_dset" -#define RANK 3 -#define NX 100 -#define NY 1000 -#define NZ 250 -#define CHUNK_NX 1 -#define CHUNK_NY 1000 -#define CHUNK_NZ 250 - -#define DEFLATE_SIZE_ADJUST(s) (ceil(((double)(s))*1.001)+12) -char filename[1024]; +#define AT() printf(" at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); +#define H5_FAILED() \ + { \ + puts("*FAILED*"); \ + fflush(stdout); \ + } +#define TEST_ERROR \ + { \ + H5_FAILED(); \ + AT(); \ + goto error; \ + } +#define TESTING(WHAT) \ + { \ + printf("Testing %-62s", WHAT); \ + fflush(stdout); \ + } +#define PASSED() \ + { \ + puts(" PASSED"); \ + fflush(stdout); \ + } + +#define DIRECT_UNCOMPRESSED_DSET "direct_uncompressed_dset" +#define DIRECT_COMPRESSED_DSET "direct_compressed_dset" +#define REG_COMPRESSED_DSET "reg_compressed_dset" +#define REG_NO_COMPRESS_DSET "reg_no_compress_dset" +#define RANK 3 +#define NX 100 +#define NY 1000 +#define NZ 250 +#define CHUNK_NX 1 +#define CHUNK_NY 1000 +#define CHUNK_NZ 250 + +#define DEFLATE_SIZE_ADJUST(s) (ceil(((double)(s)) * 1.001) + 12) +char filename[1024]; unsigned int *outbuf[NX]; -size_t data_size[NX]; -double total_size = 0.0; +size_t data_size[NX]; +double total_size = 0.0; unsigned int *direct_buf[NX]; -double MB = 1048576.0; +double MB = 1048576.0; /*-------------------------------------------------- * Function to report IO rate *-------------------------------------------------- */ -void reportTime(struct timeval start, double mbytes) +void +reportTime(struct timeval start, double mbytes) { - struct timeval timeval_stop,timeval_diff; + struct timeval timeval_stop, timeval_diff; /*end timing*/ - gettimeofday(&timeval_stop,NULL); + gettimeofday(&timeval_stop, NULL); /* Calculate the elapsed gettimeofday time */ - timeval_diff.tv_usec=timeval_stop.tv_usec-start.tv_usec; - timeval_diff.tv_sec=timeval_stop.tv_sec-start.tv_sec; + timeval_diff.tv_usec = timeval_stop.tv_usec - start.tv_usec; + timeval_diff.tv_sec = timeval_stop.tv_sec - start.tv_sec; - if(timeval_diff.tv_usec<0) { - timeval_diff.tv_usec+=1000000; + if (timeval_diff.tv_usec < 0) { + timeval_diff.tv_usec += 1000000; timeval_diff.tv_sec--; } /* end if */ -/*printf("mbytes=%lf, sec=%lf, usec=%lf\n", mbytes, (double)timeval_diff.tv_sec, (double)timeval_diff.tv_usec);*/ - printf("MBytes/second: %lf\n", (double)mbytes/((double)timeval_diff.tv_sec+((double)timeval_diff.tv_usec/(double)1000000.0))); + /*printf("mbytes=%lf, sec=%lf, usec=%lf\n", mbytes, (double)timeval_diff.tv_sec, + * (double)timeval_diff.tv_usec);*/ + printf("MBytes/second: %lf\n", (double)mbytes / ((double)timeval_diff.tv_sec + + ((double)timeval_diff.tv_usec / (double)1000000.0))); } /*-------------------------------------------------- * Create file, datasets, and initialize data *-------------------------------------------------- */ -int create_file(hid_t fapl_id) +int +create_file(hid_t fapl_id) { - hid_t file; /* handles */ - hid_t fapl; - hid_t cparms; - hid_t dataspace, dataset; - hsize_t dims[RANK] = {NX, NY, NZ}; - hsize_t chunk_dims[RANK] ={CHUNK_NX, CHUNK_NY, CHUNK_NZ}; - unsigned int aggression = 9; /* Compression aggression setting */ - int ret; - int i, j, n; + hid_t file; /* handles */ + hid_t fapl; + hid_t cparms; + hid_t dataspace, dataset; + hsize_t dims[RANK] = {NX, NY, NZ}; + hsize_t chunk_dims[RANK] = {CHUNK_NX, CHUNK_NY, CHUNK_NZ}; + unsigned int aggression = 9; /* Compression aggression setting */ + int ret; + int i, j, n; int flag; int unix_file; unsigned int *p; - size_t buf_size = CHUNK_NY*CHUNK_NZ*sizeof(unsigned int); + size_t buf_size = CHUNK_NY * CHUNK_NZ * sizeof(unsigned int); const Bytef *z_src; - Bytef *z_dst; /*destination buffer */ - uLongf z_dst_nbytes = (uLongf)DEFLATE_SIZE_ADJUST(buf_size); - uLong z_src_nbytes = (uLong)buf_size; + Bytef * z_dst; /*destination buffer */ + uLongf z_dst_nbytes = (uLongf)DEFLATE_SIZE_ADJUST(buf_size); + uLong z_src_nbytes = (uLong)buf_size; TESTING("Create a file and dataset"); /* * Create the data space with unlimited dimensions. */ - if((dataspace = H5Screate_simple(RANK, dims, NULL)) < 0) + if ((dataspace = H5Screate_simple(RANK, dims, NULL)) < 0) TEST_ERROR; /* * Create a new file. If file exists its contents will be overwritten. */ - if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id)) < 0) + if ((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id)) < 0) TEST_ERROR; /* * Modify dataset creation properties, i.e. enable chunking and compression */ - if((cparms = H5Pcreate(H5P_DATASET_CREATE)) < 0) + if ((cparms = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR; - if(H5Pset_chunk( cparms, RANK, chunk_dims) < 0) + if (H5Pset_chunk(cparms, RANK, chunk_dims) < 0) TEST_ERROR; /* * Create a new dataset within the file using cparms * creation properties. */ - if((dataset = H5Dcreate2(file, DIRECT_UNCOMPRESSED_DSET, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, - cparms, H5P_DEFAULT)) < 0) + if ((dataset = H5Dcreate2(file, DIRECT_UNCOMPRESSED_DSET, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, cparms, + H5P_DEFAULT)) < 0) TEST_ERROR; - if(H5Dclose(dataset) < 0) + if (H5Dclose(dataset) < 0) TEST_ERROR; - if((dataset = H5Dcreate2(file, REG_NO_COMPRESS_DSET, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, - cparms, H5P_DEFAULT)) < 0) + if ((dataset = H5Dcreate2(file, REG_NO_COMPRESS_DSET, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, cparms, + H5P_DEFAULT)) < 0) TEST_ERROR; - if(H5Dclose(dataset) < 0) + if (H5Dclose(dataset) < 0) TEST_ERROR; /* Set compression */ - if(H5Pset_deflate( cparms, aggression) < 0) + if (H5Pset_deflate(cparms, aggression) < 0) TEST_ERROR; - if((dataset = H5Dcreate2(file, DIRECT_COMPRESSED_DSET, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, - cparms, H5P_DEFAULT)) < 0) + if ((dataset = H5Dcreate2(file, DIRECT_COMPRESSED_DSET, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, cparms, + H5P_DEFAULT)) < 0) TEST_ERROR; - if(H5Dclose(dataset) < 0) + if (H5Dclose(dataset) < 0) TEST_ERROR; - - if((dataset = H5Dcreate2(file, REG_COMPRESSED_DSET, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, - cparms, H5P_DEFAULT)) < 0) + if ((dataset = H5Dcreate2(file, REG_COMPRESSED_DSET, H5T_NATIVE_INT, dataspace, H5P_DEFAULT, cparms, + H5P_DEFAULT)) < 0) TEST_ERROR; - if(H5Dclose(dataset) < 0) + if (H5Dclose(dataset) < 0) TEST_ERROR; - if(H5Fclose(file) < 0) + if (H5Fclose(file) < 0) TEST_ERROR; - if(H5Sclose(dataspace) < 0) + if (H5Sclose(dataspace) < 0) TEST_ERROR; - if(H5Pclose(cparms) < 0) + if (H5Pclose(cparms) < 0) TEST_ERROR; /* create a unix file*/ - flag = O_CREAT|O_TRUNC|O_WRONLY; + flag = O_CREAT | O_TRUNC | O_WRONLY; - if ((unix_file=open(FILENAME[1],flag,S_IRWXU))== -1) + if ((unix_file = open(FILENAME[1], flag, S_IRWXU)) == -1) TEST_ERROR; - if (close(unix_file) < 0) - { + if (close(unix_file) < 0) { printf(" unable to close the file\n"); TEST_ERROR; } - /* Initialize data for chunks */ - for(i = 0; i < NX; i++) { - p = direct_buf[i] = (unsigned int*)malloc(CHUNK_NY*CHUNK_NZ*sizeof(unsigned int)); + for (i = 0; i < NX; i++) { + p = direct_buf[i] = (unsigned int *)malloc(CHUNK_NY * CHUNK_NZ * sizeof(unsigned int)); - for(j=0; j < CHUNK_NY*CHUNK_NZ; j++, p++) + for (j = 0; j < CHUNK_NY * CHUNK_NZ; j++, p++) *p = rand() % 65000; - z_src = (const Bytef*)direct_buf[i]; + z_src = (const Bytef *)direct_buf[i]; z_dst_nbytes = (uLongf)DEFLATE_SIZE_ADJUST(buf_size); /* Allocate output (compressed) buffer */ - outbuf[i] = (unsigned int*)malloc((size_t)z_dst_nbytes); - z_dst = (Bytef *)outbuf[i]; + outbuf[i] = (unsigned int *)malloc((size_t)z_dst_nbytes); + z_dst = (Bytef *)outbuf[i]; /* Perform compression from the source to the destination buffer */ ret = compress2(z_dst, &z_dst_nbytes, z_src, z_src_nbytes, aggression); @@ -241,28 +254,31 @@ int create_file(hid_t fapl_id) total_size += data_size[i]; /* Check for various zlib errors */ - if(Z_BUF_ERROR == ret) { + if (Z_BUF_ERROR == ret) { fprintf(stderr, "overflow"); TEST_ERROR; - } else if(Z_MEM_ERROR == ret) { - fprintf(stderr, "deflate memory error"); + } + else if (Z_MEM_ERROR == ret) { + fprintf(stderr, "deflate memory error"); TEST_ERROR; - } else if(Z_OK != ret) { - fprintf(stderr, "other deflate error"); + } + else if (Z_OK != ret) { + fprintf(stderr, "other deflate error"); TEST_ERROR; } } - PASSED(); error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(dataset); H5Sclose(dataspace); H5Pclose(cparms); H5Fclose(file); - } H5E_END_TRY; + } + H5E_END_TRY; return 1; } @@ -274,37 +290,37 @@ error: int test_direct_write_uncompressed_data(hid_t fapl_id) { - hid_t file; /* handles */ - hid_t dataspace, dataset; - hid_t dxpl; - herr_t status; - int i; + hid_t file; /* handles */ + hid_t dataspace, dataset; + hid_t dxpl; + herr_t status; + int i; - unsigned filter_mask = 0; - hsize_t offset[RANK] = {0, 0, 0}; + unsigned filter_mask = 0; + hsize_t offset[RANK] = {0, 0, 0}; struct timeval timeval_start; TESTING("H5Dwrite_chunk for uncompressed data"); - if((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) + if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) TEST_ERROR; /* Start the timer */ - gettimeofday(&timeval_start,NULL); + gettimeofday(&timeval_start, NULL); /* Reopen the file and dataset */ - if((file = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) + if ((file = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR; - if((dataset = H5Dopen2(file, DIRECT_UNCOMPRESSED_DSET, H5P_DEFAULT)) < 0) + if ((dataset = H5Dopen2(file, DIRECT_UNCOMPRESSED_DSET, H5P_DEFAULT)) < 0) TEST_ERROR; - /* Write the compressed chunk data repeatedly to cover all the chunks in the * dataset, using the direct writing function. */ - for(i=0; i<NX; i++) { - status = H5Dwrite_chunk(dataset, dxpl, filter_mask, offset, CHUNK_NY*CHUNK_NZ*sizeof(unsigned int), direct_buf[i]); + for (i = 0; i < NX; i++) { + status = H5Dwrite_chunk(dataset, dxpl, filter_mask, offset, + CHUNK_NY * CHUNK_NZ * sizeof(unsigned int), direct_buf[i]); (offset[0])++; } @@ -316,21 +332,22 @@ test_direct_write_uncompressed_data(hid_t fapl_id) H5Fclose(file); /* Report the performance */ - reportTime(timeval_start, (double)(NX*NY*NZ*sizeof(unsigned int)/MB)); + reportTime(timeval_start, (double)(NX * NY * NZ * sizeof(unsigned int) / MB)); PASSED(); return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(dataset); H5Pclose(dxpl); H5Fclose(file); - } H5E_END_TRY; + } + H5E_END_TRY; return 1; } - /*-------------------------------------------------- * Benchmark the performance of the new function * with precompressed data. @@ -339,36 +356,35 @@ error: int test_direct_write_compressed_data(hid_t fapl_id) { - hid_t file; /* handles */ - hid_t dataspace, dataset; - hid_t dxpl; - herr_t status; - int i; + hid_t file; /* handles */ + hid_t dataspace, dataset; + hid_t dxpl; + herr_t status; + int i; - unsigned filter_mask = 0; - hsize_t offset[RANK] = {0, 0, 0}; + unsigned filter_mask = 0; + hsize_t offset[RANK] = {0, 0, 0}; struct timeval timeval_start; TESTING("H5DOwrite_chunk for pre-compressed data"); - if((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) + if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) TEST_ERROR; /* Start the timer */ - gettimeofday(&timeval_start,NULL); + gettimeofday(&timeval_start, NULL); /* Reopen the file and dataset */ - if((file = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) + if ((file = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR; - if((dataset = H5Dopen2(file, DIRECT_COMPRESSED_DSET, H5P_DEFAULT)) < 0) + if ((dataset = H5Dopen2(file, DIRECT_COMPRESSED_DSET, H5P_DEFAULT)) < 0) TEST_ERROR; - /* Write the compressed chunk data repeatedly to cover all the chunks in the * dataset, using the direct writing function. */ - for(i=0; i<NX; i++) { + for (i = 0; i < NX; i++) { status = H5Dwrite_chunk(dataset, dxpl, filter_mask, offset, data_size[i], outbuf[i]); (offset[0])++; } @@ -381,17 +397,19 @@ test_direct_write_compressed_data(hid_t fapl_id) H5Fclose(file); /* Report the performance */ - reportTime(timeval_start, (double)(total_size/MB)); + reportTime(timeval_start, (double)(total_size / MB)); PASSED(); return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(dataset); H5Pclose(dxpl); H5Fclose(file); - } H5E_END_TRY; + } + H5E_END_TRY; return 1; } @@ -403,13 +421,13 @@ error: int test_compressed_write(hid_t fapl_id) { - hid_t file; /* handles */ - hid_t dataspace, dataset; - hid_t mem_space; - hsize_t chunk_dims[RANK] ={CHUNK_NX, CHUNK_NY, CHUNK_NZ}; - hid_t dxpl; - herr_t status; - int i; + hid_t file; /* handles */ + hid_t dataspace, dataset; + hid_t mem_space; + hsize_t chunk_dims[RANK] = {CHUNK_NX, CHUNK_NY, CHUNK_NZ}; + hid_t dxpl; + herr_t status; + int i; hsize_t start[RANK]; /* Start of hyperslab */ hsize_t stride[RANK]; /* Stride of hyperslab */ @@ -420,40 +438,42 @@ test_compressed_write(hid_t fapl_id) TESTING("H5Dwrite with compression enabled"); - if((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) + if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) TEST_ERROR; - if((mem_space = H5Screate_simple(RANK, chunk_dims, NULL)) < 0) + if ((mem_space = H5Screate_simple(RANK, chunk_dims, NULL)) < 0) TEST_ERROR; /* Start the timer */ - gettimeofday(&timeval_start,NULL); + gettimeofday(&timeval_start, NULL); /* Reopen the file and dataset */ - if((file = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) + if ((file = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR; - if((dataset = H5Dopen2(file, REG_COMPRESSED_DSET, H5P_DEFAULT)) < 0) + if ((dataset = H5Dopen2(file, REG_COMPRESSED_DSET, H5P_DEFAULT)) < 0) TEST_ERROR; - if((dataspace = H5Dget_space(dataset)) < 0) + if ((dataspace = H5Dget_space(dataset)) < 0) TEST_ERROR; - start[0] = start[1] = start[2] = 0; + start[0] = start[1] = start[2] = 0; stride[0] = stride[1] = stride[2] = 1; - count[0] = count[1] = count[2] = 1; - block[0] = CHUNK_NX; block[1] = CHUNK_NY; block[2] = CHUNK_NZ; + count[0] = count[1] = count[2] = 1; + block[0] = CHUNK_NX; + block[1] = CHUNK_NY; + block[2] = CHUNK_NZ; - for(i=0; i<NX; i++) { + for (i = 0; i < NX; i++) { /* * Select hyperslab for one chunk in the file */ - if((status = H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, start, stride, count, block)) < 0) + if ((status = H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, start, stride, count, block)) < 0) TEST_ERROR; (start[0])++; - if((status = H5Dwrite(dataset, H5T_NATIVE_INT, mem_space, dataspace, - H5P_DEFAULT, direct_buf[i])) < 0) + if ((status = H5Dwrite(dataset, H5T_NATIVE_INT, mem_space, dataspace, H5P_DEFAULT, direct_buf[i])) < + 0) TEST_ERROR; } @@ -467,19 +487,21 @@ test_compressed_write(hid_t fapl_id) H5Fclose(file); /* Report the performance */ - reportTime(timeval_start, (double)(NX*NY*NZ*sizeof(unsigned int)/MB)); + reportTime(timeval_start, (double)(NX * NY * NZ * sizeof(unsigned int) / MB)); PASSED(); return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(dataset); H5Sclose(dataspace); H5Sclose(mem_space); H5Pclose(dxpl); H5Fclose(file); - } H5E_END_TRY; + } + H5E_END_TRY; return 1; } @@ -491,13 +513,13 @@ error: int test_no_compress_write(hid_t fapl_id) { - hid_t file; /* handles */ - hid_t dataspace, dataset; - hid_t mem_space; - hsize_t chunk_dims[RANK] ={CHUNK_NX, CHUNK_NY, CHUNK_NZ}; - hid_t dxpl; - herr_t status; - int i; + hid_t file; /* handles */ + hid_t dataspace, dataset; + hid_t mem_space; + hsize_t chunk_dims[RANK] = {CHUNK_NX, CHUNK_NY, CHUNK_NZ}; + hid_t dxpl; + herr_t status; + int i; hsize_t start[RANK]; /* Start of hyperslab */ hsize_t stride[RANK]; /* Stride of hyperslab */ @@ -508,40 +530,42 @@ test_no_compress_write(hid_t fapl_id) TESTING("H5Dwrite without compression"); - if((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) + if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) TEST_ERROR; - if((mem_space = H5Screate_simple(RANK, chunk_dims, NULL)) < 0) + if ((mem_space = H5Screate_simple(RANK, chunk_dims, NULL)) < 0) TEST_ERROR; /* Start the timer */ - gettimeofday(&timeval_start,NULL); + gettimeofday(&timeval_start, NULL); /* Reopen the file and dataset */ - if((file = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) + if ((file = H5Fopen(filename, H5F_ACC_RDWR, fapl_id)) < 0) TEST_ERROR; - if((dataset = H5Dopen2(file, REG_NO_COMPRESS_DSET, H5P_DEFAULT)) < 0) + if ((dataset = H5Dopen2(file, REG_NO_COMPRESS_DSET, H5P_DEFAULT)) < 0) TEST_ERROR; - if((dataspace = H5Dget_space(dataset)) < 0) + if ((dataspace = H5Dget_space(dataset)) < 0) TEST_ERROR; - start[0] = start[1] = start[2] = 0; + start[0] = start[1] = start[2] = 0; stride[0] = stride[1] = stride[2] = 1; - count[0] = count[1] = count[2] = 1; - block[0] = CHUNK_NX; block[1] = CHUNK_NY; block[2] = CHUNK_NZ; + count[0] = count[1] = count[2] = 1; + block[0] = CHUNK_NX; + block[1] = CHUNK_NY; + block[2] = CHUNK_NZ; - for(i=0; i<NX; i++) { + for (i = 0; i < NX; i++) { /* * Select hyperslab for one chunk in the file */ - if((status = H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, start, stride, count, block)) < 0) + if ((status = H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, start, stride, count, block)) < 0) TEST_ERROR; (start[0])++; - if((status = H5Dwrite(dataset, H5T_NATIVE_INT, mem_space, dataspace, - H5P_DEFAULT, direct_buf[i])) < 0) + if ((status = H5Dwrite(dataset, H5T_NATIVE_INT, mem_space, dataspace, H5P_DEFAULT, direct_buf[i])) < + 0) TEST_ERROR; } @@ -555,19 +579,21 @@ test_no_compress_write(hid_t fapl_id) H5Fclose(file); /* Report the performance */ - reportTime(timeval_start, (double)(NX*NY*NZ*sizeof(unsigned int)/MB)); + reportTime(timeval_start, (double)(NX * NY * NZ * sizeof(unsigned int) / MB)); PASSED(); return 0; error: - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { H5Dclose(dataset); H5Sclose(dataspace); H5Sclose(mem_space); H5Pclose(dxpl); H5Fclose(file); - } H5E_END_TRY; + } + H5E_END_TRY; return 1; } @@ -579,9 +605,9 @@ error: int test_unix_write(void) { - int file, flag; - ssize_t op_size; - int i; + int file, flag; + ssize_t op_size; + int i; struct timeval timeval_start; TESTING("Write compressed data to a Unix file"); @@ -590,35 +616,32 @@ test_unix_write(void) flag = O_WRONLY; /* Start the timer */ - gettimeofday(&timeval_start,NULL); + gettimeofday(&timeval_start, NULL); - if ((file=open(FILENAME[1],flag))== -1) + if ((file = open(FILENAME[1], flag)) == -1) TEST_ERROR; /* Write the compressed chunk data repeatedly to cover all the chunks in the * dataset, using the direct writing function. */ - for(i=0; i<NX; i++) { - op_size = write(file, outbuf[i],data_size[i]); - if (op_size < 0) - { + for (i = 0; i < NX; i++) { + op_size = write(file, outbuf[i], data_size[i]); + if (op_size < 0) { printf(" Error in writing data to file because %s \n", strerror(errno)); TEST_ERROR; } - else if (op_size == 0) - { + else if (op_size == 0) { printf(" unable to write sufficent data to file because %s \n", strerror(errno)); TEST_ERROR; } } - if (close(file) < 0) - { + if (close(file) < 0) { printf(" unable to close the file\n"); TEST_ERROR; } /* Report the performance */ - reportTime(timeval_start, (double)(total_size/MB)); + reportTime(timeval_start, (double)(total_size / MB)); PASSED(); return 0; @@ -632,10 +655,10 @@ error: *-------------------------------------------------- */ int -main (void) +main(void) { - hid_t fapl = H5P_DEFAULT; - int i; + hid_t fapl = H5P_DEFAULT; + int i; sprintf(filename, "%s.h5", FILENAME[0]); @@ -646,7 +669,7 @@ main (void) test_compressed_write(fapl); test_unix_write(); - for(i=0; i<NX; i++) { + for (i = 0; i < NX; i++) { free(outbuf[i]); free(direct_buf[i]); } @@ -665,7 +688,7 @@ main(void) #endif /* WIN32 / MINGW32 */ -#else /* !H5_HAVE_FILTER_DEFLATE */ +#else /* !H5_HAVE_FILTER_DEFLATE */ /* * Function: main @@ -680,5 +703,4 @@ main(void) return EXIT_SUCCESS; } -#endif /* !H5_HAVE_FILTER_DEFLATE */ - +#endif /* !H5_HAVE_FILTER_DEFLATE */ diff --git a/tools/test/perform/iopipe.c b/tools/test/perform/iopipe.c index bb74a1b..8fc4058 100644 --- a/tools/test/perform/iopipe.c +++ b/tools/test/perform/iopipe.c @@ -21,27 +21,25 @@ #include "H5private.h" - #define RAW_FILE_NAME "iopipe.raw" -#define HDF5_FILE_NAME "iopipe.h5" -#define HEADING "%-16s" -#define PROGRESS '=' +#define HDF5_FILE_NAME "iopipe.h5" +#define HEADING "%-16s" +#define PROGRESS '=' #if 0 /* Normal testing */ #define REQUEST_SIZE_X 4579 #define REQUEST_SIZE_Y 4579 #define NREAD_REQUESTS 45 -#define NWRITE_REQUESTS 45 +#define NWRITE_REQUESTS 45 #else /* Speedy testing */ #define REQUEST_SIZE_X 1000 #define REQUEST_SIZE_Y 1000 #define NREAD_REQUESTS 45 -#define NWRITE_REQUESTS 45 +#define NWRITE_REQUESTS 45 #endif - /*------------------------------------------------------------------------- * Function: print_stats * @@ -57,39 +55,31 @@ static void print_stats(const char *prefix, #ifdef H5_HAVE_GETRUSAGE - struct rusage *r_start, struct rusage *r_stop, + struct rusage *r_start, struct rusage *r_stop, #endif /* H5_HAVE_GETRUSAGE */ - double t_start, double t_stop, - size_t nbytes) + double t_start, double t_stop, size_t nbytes) { - double e_time; - char bw[16]; + double e_time; + char bw[16]; #ifdef H5_HAVE_GETRUSAGE - double u_time, s_time; + double u_time, s_time; - u_time = ((double)(r_stop->ru_utime.tv_sec)+ - (double)(r_stop->ru_utime.tv_usec)/(double)1000000.0F) - - ((double)(r_start->ru_utime.tv_sec)+ - (double)(r_start->ru_utime.tv_usec)/(double)1000000.0F); + u_time = ((double)(r_stop->ru_utime.tv_sec) + (double)(r_stop->ru_utime.tv_usec) / (double)1000000.0F) - + ((double)(r_start->ru_utime.tv_sec) + (double)(r_start->ru_utime.tv_usec) / (double)1000000.0F); - s_time = ((double)(r_stop->ru_stime.tv_sec)+ - (double)(r_stop->ru_stime.tv_usec)/(double)1000000.0F) - - ((double)(r_start->ru_stime.tv_sec)+ - (double)(r_start->ru_stime.tv_usec)/(double)1000000.0F); + s_time = ((double)(r_stop->ru_stime.tv_sec) + (double)(r_stop->ru_stime.tv_usec) / (double)1000000.0F) - + ((double)(r_start->ru_stime.tv_sec) + (double)(r_start->ru_stime.tv_usec) / (double)1000000.0F); #endif e_time = t_stop - t_start; H5_bandwidth(bw, (double)nbytes, e_time); #ifdef H5_HAVE_GETRUSAGE - HDprintf(HEADING "%1.2fuser %1.2fsystem %1.2felapsed %s\n", - prefix, u_time, s_time, e_time, bw); + HDprintf(HEADING "%1.2fuser %1.2fsystem %1.2felapsed %s\n", prefix, u_time, s_time, e_time, bw); #else - HDprintf(HEADING "%1.2felapsed %s\n", - prefix, e_time, bw); + HDprintf(HEADING "%1.2felapsed %s\n", prefix, e_time, bw); #endif } - /*------------------------------------------------------------------------- * Function: synchronize * @@ -106,7 +96,7 @@ static void synchronize(void) { #ifdef H5_HAVE_SYSTEM -#if defined(H5_HAVE_WIN32_API) && ! defined(__CYGWIN__) +#if defined(H5_HAVE_WIN32_API) && !defined(__CYGWIN__) _flushall(); #else int H5_ATTR_NDEBUG_UNUSED status; @@ -120,7 +110,6 @@ synchronize(void) #endif } - /*------------------------------------------------------------------------- * Function: main * @@ -139,22 +128,21 @@ int main(void) { hsize_t size[2] = {REQUEST_SIZE_X, REQUEST_SIZE_Y}; - unsigned nread = NREAD_REQUESTS, nwrite = NWRITE_REQUESTS; + unsigned nread = NREAD_REQUESTS, nwrite = NWRITE_REQUESTS; - unsigned char *the_data = NULL; - hid_t file, dset, file_space = H5I_INVALID_HID; + unsigned char *the_data = NULL; + hid_t file, dset, file_space = H5I_INVALID_HID; #ifdef H5_HAVE_GETRUSAGE - struct rusage r_start, r_stop; + struct rusage r_start, r_stop; #endif - double t_start, t_stop; - int fd; - unsigned u; - herr_t H5_ATTR_NDEBUG_UNUSED status; - hssize_t H5_ATTR_NDEBUG_UNUSED n; - off_t H5_ATTR_NDEBUG_UNUSED offset; - hsize_t start[2]; - hsize_t count[2]; - + double t_start, t_stop; + int fd; + unsigned u; + herr_t H5_ATTR_NDEBUG_UNUSED status; + hssize_t H5_ATTR_NDEBUG_UNUSED n; + off_t H5_ATTR_NDEBUG_UNUSED offset; + hsize_t start[2]; + hsize_t count[2]; /* * The extra cast in the following statement is a bug workaround for the @@ -162,12 +150,12 @@ main(void) * 1998-11-06 ptl */ HDprintf("I/O request size is %1.1fMB\n", - (double)(hssize_t)(size[0] * size[1]) / (double)1024.0F * (double)1024); + (double)(hssize_t)(size[0] * size[1]) / (double)1024.0F * (double)1024); /* Open the files */ file = H5Fcreate(HDF5_FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); HDassert(file >= 0); - fd = HDopen(RAW_FILE_NAME, O_RDWR|O_CREAT|O_TRUNC, 0666); + fd = HDopen(RAW_FILE_NAME, O_RDWR | O_CREAT | O_TRUNC, 0666); HDassert(fd >= 0); /* Create the dataset */ @@ -180,7 +168,6 @@ main(void) /* initial fill for lazy malloc */ HDmemset(the_data, 0xAA, (size_t)(size[0] * size[1])); - /* Fill raw */ synchronize(); #ifdef H5_HAVE_GETRUSAGE @@ -188,10 +175,10 @@ main(void) #endif t_start = H5_get_time(); HDfprintf(stderr, HEADING, "fill raw"); - for(u = 0; u < nwrite; u++) { - HDputc(PROGRESS, stderr); - HDfflush(stderr); - HDmemset(the_data, 0xAA, (size_t)(size[0] * size[1])); + for (u = 0; u < nwrite; u++) { + HDputc(PROGRESS, stderr); + HDfflush(stderr); + HDmemset(the_data, 0xAA, (size_t)(size[0] * size[1])); } #ifdef H5_HAVE_GETRUSAGE HDgetrusage(RUSAGE_SELF, &r_stop); @@ -200,10 +187,9 @@ main(void) HDputc('\n', stderr); print_stats("fill raw", #ifdef H5_HAVE_GETRUSAGE - &r_start, &r_stop, + &r_start, &r_stop, #endif /* H5_HAVE_GETRUSAGE */ - t_start, t_stop, (size_t)(nread * size[0] * size[1])); - + t_start, t_stop, (size_t)(nread * size[0] * size[1])); /* Fill hdf5 */ synchronize(); @@ -212,12 +198,11 @@ main(void) #endif t_start = H5_get_time(); HDfprintf(stderr, HEADING, "fill hdf5"); - for(u = 0; u < nread; u++) { - HDputc(PROGRESS, stderr); - HDfflush(stderr); - status = H5Dread(dset, H5T_NATIVE_UCHAR, file_space, file_space, - H5P_DEFAULT, the_data); - HDassert(status >= 0); + for (u = 0; u < nread; u++) { + HDputc(PROGRESS, stderr); + HDfflush(stderr); + status = H5Dread(dset, H5T_NATIVE_UCHAR, file_space, file_space, H5P_DEFAULT, the_data); + HDassert(status >= 0); } #ifdef H5_HAVE_GETRUSAGE HDgetrusage(RUSAGE_SELF, &r_stop); @@ -226,9 +211,9 @@ main(void) HDputc('\n', stderr); print_stats("fill hdf5", #ifdef H5_HAVE_GETRUSAGE - &r_start, &r_stop, + &r_start, &r_stop, #endif /* H5_HAVE_GETRUSAGE */ - t_start, t_stop, (size_t)(nread * size[0] * size[1])); + t_start, t_stop, (size_t)(nread * size[0] * size[1])); /* Write the raw dataset */ synchronize(); @@ -237,13 +222,13 @@ main(void) #endif t_start = H5_get_time(); HDfprintf(stderr, HEADING, "out raw"); - for(u = 0; u < nwrite; u++) { - HDputc(PROGRESS, stderr); - HDfflush(stderr); - offset = HDlseek(fd, (off_t)0, SEEK_SET); - HDassert(0 == offset); - n = HDwrite(fd, the_data, (size_t)(size[0] * size[1])); - HDassert(n >= 0 && (size_t)n == (size[0] * size[1])); + for (u = 0; u < nwrite; u++) { + HDputc(PROGRESS, stderr); + HDfflush(stderr); + offset = HDlseek(fd, (off_t)0, SEEK_SET); + HDassert(0 == offset); + n = HDwrite(fd, the_data, (size_t)(size[0] * size[1])); + HDassert(n >= 0 && (size_t)n == (size[0] * size[1])); } #ifdef H5_HAVE_GETRUSAGE HDgetrusage(RUSAGE_SELF, &r_stop); @@ -252,9 +237,9 @@ main(void) HDputc('\n', stderr); print_stats("out raw", #ifdef H5_HAVE_GETRUSAGE - &r_start, &r_stop, + &r_start, &r_stop, #endif /* H5_HAVE_GETRUSAGE */ - t_start, t_stop, (size_t)(nread * size[0] * size[1])); + t_start, t_stop, (size_t)(nread * size[0] * size[1])); /* Write the hdf5 dataset */ synchronize(); @@ -263,12 +248,11 @@ main(void) #endif t_start = H5_get_time(); HDfprintf(stderr, HEADING, "out hdf5"); - for(u = 0; u < nwrite; u++) { - HDputc(PROGRESS, stderr); - HDfflush(stderr); - status = H5Dwrite(dset, H5T_NATIVE_UCHAR, H5S_ALL, H5S_ALL, - H5P_DEFAULT, the_data); - HDassert(status >= 0); + for (u = 0; u < nwrite; u++) { + HDputc(PROGRESS, stderr); + HDfflush(stderr); + status = H5Dwrite(dset, H5T_NATIVE_UCHAR, H5S_ALL, H5S_ALL, H5P_DEFAULT, the_data); + HDassert(status >= 0); } #ifdef H5_HAVE_GETRUSAGE HDgetrusage(RUSAGE_SELF, &r_stop); @@ -277,9 +261,9 @@ main(void) HDputc('\n', stderr); print_stats("out hdf5", #ifdef H5_HAVE_GETRUSAGE - &r_start, &r_stop, + &r_start, &r_stop, #endif /* H5_HAVE_GETRUSAGE */ - t_start, t_stop, (size_t)(nread * size[0] * size[1])); + t_start, t_stop, (size_t)(nread * size[0] * size[1])); /* Read the raw dataset */ synchronize(); @@ -288,13 +272,13 @@ main(void) #endif t_start = H5_get_time(); HDfprintf(stderr, HEADING, "in raw"); - for(u = 0; u < nread; u++) { - HDputc(PROGRESS, stderr); - HDfflush(stderr); - offset = HDlseek(fd, (off_t)0, SEEK_SET); - HDassert(0 == offset); - n = HDread(fd, the_data, (size_t)(size[0] * size[1])); - HDassert(n >= 0 && (size_t)n == (size[0] * size[1])); + for (u = 0; u < nread; u++) { + HDputc(PROGRESS, stderr); + HDfflush(stderr); + offset = HDlseek(fd, (off_t)0, SEEK_SET); + HDassert(0 == offset); + n = HDread(fd, the_data, (size_t)(size[0] * size[1])); + HDassert(n >= 0 && (size_t)n == (size[0] * size[1])); } #ifdef H5_HAVE_GETRUSAGE HDgetrusage(RUSAGE_SELF, &r_stop); @@ -303,10 +287,9 @@ main(void) HDputc('\n', stderr); print_stats("in raw", #ifdef H5_HAVE_GETRUSAGE - &r_start, &r_stop, + &r_start, &r_stop, #endif /* H5_HAVE_GETRUSAGE */ - t_start, t_stop, (size_t)(nread * size[0] * size[1])); - + t_start, t_stop, (size_t)(nread * size[0] * size[1])); /* Read the hdf5 dataset */ synchronize(); @@ -315,12 +298,11 @@ main(void) #endif t_start = H5_get_time(); HDfprintf(stderr, HEADING, "in hdf5"); - for(u = 0; u < nread; u++) { - HDputc(PROGRESS, stderr); - HDfflush(stderr); - status = H5Dread(dset, H5T_NATIVE_UCHAR, file_space, file_space, - H5P_DEFAULT, the_data); - HDassert(status >= 0); + for (u = 0; u < nread; u++) { + HDputc(PROGRESS, stderr); + HDfflush(stderr); + status = H5Dread(dset, H5T_NATIVE_UCHAR, file_space, file_space, H5P_DEFAULT, the_data); + HDassert(status >= 0); } #ifdef H5_HAVE_GETRUSAGE HDgetrusage(RUSAGE_SELF, &r_stop); @@ -329,15 +311,15 @@ main(void) HDputc('\n', stderr); print_stats("in hdf5", #ifdef H5_HAVE_GETRUSAGE - &r_start, &r_stop, + &r_start, &r_stop, #endif /* H5_HAVE_GETRUSAGE */ - t_start, t_stop, (size_t)(nread * size[0] * size[1])); + t_start, t_stop, (size_t)(nread * size[0] * size[1])); /* Read hyperslab */ HDassert(size[0] > 20 && size[1] > 20); start[0] = start[1] = 10; count[0] = count[1] = size[0] - 20; - status = H5Sselect_hyperslab(file_space, H5S_SELECT_SET, start, NULL, count, NULL); + status = H5Sselect_hyperslab(file_space, H5S_SELECT_SET, start, NULL, count, NULL); HDassert(status >= 0); synchronize(); #ifdef H5_HAVE_GETRUSAGE @@ -345,12 +327,11 @@ main(void) #endif t_start = H5_get_time(); HDfprintf(stderr, HEADING, "in hdf5 partial"); - for(u = 0; u < nread; u++) { - HDputc(PROGRESS, stderr); - HDfflush(stderr); - status = H5Dread(dset, H5T_NATIVE_UCHAR, file_space, file_space, - H5P_DEFAULT, the_data); - HDassert(status >= 0); + for (u = 0; u < nread; u++) { + HDputc(PROGRESS, stderr); + HDfflush(stderr); + status = H5Dread(dset, H5T_NATIVE_UCHAR, file_space, file_space, H5P_DEFAULT, the_data); + HDassert(status >= 0); } #ifdef H5_HAVE_GETRUSAGE HDgetrusage(RUSAGE_SELF, &r_stop); @@ -359,9 +340,9 @@ main(void) HDputc('\n', stderr); print_stats("in hdf5 partial", #ifdef H5_HAVE_GETRUSAGE - &r_start, &r_stop, + &r_start, &r_stop, #endif /* H5_HAVE_GETRUSAGE */ - t_start, t_stop, (size_t)(nread * size[0] * size[1])); + t_start, t_stop, (size_t)(nread * size[0] * size[1])); /* Close everything */ HDclose(fd); @@ -374,4 +355,3 @@ main(void) return 0; } - diff --git a/tools/test/perform/overhead.c b/tools/test/perform/overhead.c index bb3aff5..a08c367 100644 --- a/tools/test/perform/overhead.c +++ b/tools/test/perform/overhead.c @@ -24,49 +24,41 @@ #include "H5private.h" #ifdef H5_STDC_HEADERS -# include <ctype.h> -# include <fcntl.h> -# include <stdlib.h> -# include <sys/stat.h> -# include <string.h> +#include <ctype.h> +#include <fcntl.h> +#include <stdlib.h> +#include <sys/stat.h> +#include <string.h> #endif #ifdef H5_HAVE_IO_H -# include <io.h> +#include <io.h> #endif #ifdef H5_HAVE_UNISTD_H -# include <sys/types.h> -# include <unistd.h> +#include <sys/types.h> +#include <unistd.h> #endif /* Solaris Studio defines attribute, but for the attributes we need */ #if !defined(H5_HAVE_ATTRIBUTE) || defined __cplusplus || defined(__SUNPRO_C) -# undef __attribute__ -# define __attribute__(X) /*void*/ -# define H5_ATTR_UNUSED /*void*/ +#undef __attribute__ +#define __attribute__(X) /*void*/ +#define H5_ATTR_UNUSED /*void*/ #else -# define H5_ATTR_UNUSED __attribute__((unused)) +#define H5_ATTR_UNUSED __attribute__((unused)) #endif -#define FILE_NAME_1 "overhead.h5" +#define FILE_NAME_1 "overhead.h5" #ifndef FALSE -#define FALSE 0 +#define FALSE 0 #endif /* FALSE */ #ifndef TRUE -#define TRUE 1 +#define TRUE 1 #endif /* TRUE */ -typedef enum fill_t { - FILL_ALL, - FILL_FORWARD, - FILL_REVERSE, - FILL_INWARD, - FILL_OUTWARD, - FILL_RANDOM -} fill_t; +typedef enum fill_t { FILL_ALL, FILL_FORWARD, FILL_REVERSE, FILL_INWARD, FILL_OUTWARD, FILL_RANDOM } fill_t; - /*------------------------------------------------------------------------- * Function: usage * @@ -84,8 +76,7 @@ typedef enum fill_t { static void usage(const char *prog) { - HDfprintf(stderr, "usage: %s [STYLE|cache] [LEFT [MIDDLE [RIGHT]]]\n", - prog); + HDfprintf(stderr, "usage: %s [STYLE|cache] [LEFT [MIDDLE [RIGHT]]]\n", prog); HDfprintf(stderr, "\ STYLE is the order that the dataset is filled and should be one of:\n\ forward -- Fill the dataset from lowest address to highest\n\ @@ -117,7 +108,6 @@ usage(const char *prog) exit(1); } - /*------------------------------------------------------------------------- * Function: cleanup * @@ -133,14 +123,13 @@ usage(const char *prog) *------------------------------------------------------------------------- */ static void -cleanup (void) +cleanup(void) { - if (!getenv ("HDF5_NOCLEANUP")) { - remove (FILE_NAME_1); + if (!getenv("HDF5_NOCLEANUP")) { + remove(FILE_NAME_1); } } - /*------------------------------------------------------------------------- * Function: display_error_cb * @@ -158,15 +147,14 @@ cleanup (void) *------------------------------------------------------------------------- */ static herr_t -display_error_cb (hid_t estack, void H5_ATTR_UNUSED *client_data) +display_error_cb(hid_t estack, void H5_ATTR_UNUSED *client_data) { - puts ("*FAILED*"); + puts("*FAILED*"); H5Eprint2(estack, stdout); return 0; } - /*------------------------------------------------------------------------- * Function: test * @@ -184,92 +172,103 @@ display_error_cb (hid_t estack, void H5_ATTR_UNUSED *client_data) *------------------------------------------------------------------------- */ static int -test(fill_t fill_style, const double splits[], - hbool_t verbose, hbool_t use_rdcc) +test(fill_t fill_style, const double splits[], hbool_t verbose, hbool_t use_rdcc) { - hid_t file = (-1), fapl = (-1), dcpl = (-1), xfer = (-1), mspace = (-1), fspace = (-1), dset = (-1); - hsize_t ch_size[1] = {1}; /*chunk size */ - hsize_t cur_size[1] = {1000}; /*current dataset size */ - hsize_t max_size[1] = {H5S_UNLIMITED}; /*maximum dataset size */ - hsize_t hs_start[1]; /*hyperslab start offset*/ - hsize_t hs_count[1] = {1}; /*hyperslab nelmts */ - int fd = (-1); /*h5 file direct */ - int *had = NULL; /*for random filling */ - const char *sname=NULL; /*fill style nam */ - int mdc_nelmts; /*num meta objs to cache*/ - hsize_t i, k; - int j; - h5_stat_t sb; + hid_t file = (-1), fapl = (-1), dcpl = (-1), xfer = (-1), mspace = (-1), fspace = (-1), dset = (-1); + hsize_t ch_size[1] = {1}; /*chunk size */ + hsize_t cur_size[1] = {1000}; /*current dataset size */ + hsize_t max_size[1] = {H5S_UNLIMITED}; /*maximum dataset size */ + hsize_t hs_start[1]; /*hyperslab start offset*/ + hsize_t hs_count[1] = {1}; /*hyperslab nelmts */ + int fd = (-1); /*h5 file direct */ + int * had = NULL; /*for random filling */ + const char *sname = NULL; /*fill style nam */ + int mdc_nelmts; /*num meta objs to cache*/ + hsize_t i, k; + int j; + h5_stat_t sb; - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) goto error; - if(!use_rdcc) { - if(H5Pget_cache(fapl, &mdc_nelmts, NULL, NULL, NULL) < 0) goto error; - if(H5Pset_cache(fapl, mdc_nelmts, 0, 0, 0.0F) < 0) goto error; + if ((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + goto error; + if (!use_rdcc) { + if (H5Pget_cache(fapl, &mdc_nelmts, NULL, NULL, NULL) < 0) + goto error; + if (H5Pset_cache(fapl, mdc_nelmts, 0, 0, 0.0F) < 0) + goto error; } - if((file = H5Fcreate(FILE_NAME_1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) goto error; - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error; - if(H5Pset_chunk(dcpl, 1, ch_size) < 0) goto error; - if((xfer = H5Pcreate(H5P_DATASET_XFER)) < 0) goto error; - if(H5Pset_btree_ratios(xfer, splits[0], splits[1], splits[2]) < 0) goto error; - if((fspace = H5Screate_simple(1, cur_size, max_size)) < 0) goto error; - if((mspace = H5Screate_simple(1, ch_size, ch_size)) < 0) goto error; - if((dset = H5Dcreate2(file, "chunked", H5T_NATIVE_INT, - fspace, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) goto error; - if ((fd=HDopen(FILE_NAME_1, O_RDONLY, 0666)) < 0) goto error; + if ((file = H5Fcreate(FILE_NAME_1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + goto error; + if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) + goto error; + if (H5Pset_chunk(dcpl, 1, ch_size) < 0) + goto error; + if ((xfer = H5Pcreate(H5P_DATASET_XFER)) < 0) + goto error; + if (H5Pset_btree_ratios(xfer, splits[0], splits[1], splits[2]) < 0) + goto error; + if ((fspace = H5Screate_simple(1, cur_size, max_size)) < 0) + goto error; + if ((mspace = H5Screate_simple(1, ch_size, ch_size)) < 0) + goto error; + if ((dset = H5Dcreate2(file, "chunked", H5T_NATIVE_INT, fspace, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + goto error; + if ((fd = HDopen(FILE_NAME_1, O_RDONLY, 0666)) < 0) + goto error; - if(FILL_RANDOM==fill_style) + if (FILL_RANDOM == fill_style) had = (int *)calloc((size_t)cur_size[0], sizeof(int)); - for (i=1; i<=cur_size[0]; i++) { + for (i = 1; i <= cur_size[0]; i++) { /* Decide which chunk to write to */ switch (fill_style) { - case FILL_FORWARD: - hs_start[0] = i-1; - break; - case FILL_REVERSE: - hs_start[0] = cur_size[0]-i; - break; - case FILL_INWARD: - hs_start[0] = i%2 ? i/2 : cur_size[0]-i/2; - break; - case FILL_OUTWARD: - k = (cur_size[0] - i) + 1; - hs_start[0] = k % 2 ? (k / 2) : (hsize_t)((hssize_t)cur_size[0] - (hssize_t)(k / 2)); - break; - case FILL_RANDOM: - for (j=HDrand()%(int)cur_size[0]; had[j]; j=(j+1)%(int)cur_size[0]) - /*void*/; - hs_start[0] = (hsize_t)j; - had[j] = 1; - break; - case FILL_ALL: - abort(); - default: - /* unknown request */ - HDfprintf(stderr, "Unknown fill style\n"); - goto error; - break; + case FILL_FORWARD: + hs_start[0] = i - 1; + break; + case FILL_REVERSE: + hs_start[0] = cur_size[0] - i; + break; + case FILL_INWARD: + hs_start[0] = i % 2 ? i / 2 : cur_size[0] - i / 2; + break; + case FILL_OUTWARD: + k = (cur_size[0] - i) + 1; + hs_start[0] = k % 2 ? (k / 2) : (hsize_t)((hssize_t)cur_size[0] - (hssize_t)(k / 2)); + break; + case FILL_RANDOM: + for (j = HDrand() % (int)cur_size[0]; had[j]; j = (j + 1) % (int)cur_size[0]) + /*void*/; + hs_start[0] = (hsize_t)j; + had[j] = 1; + break; + case FILL_ALL: + abort(); + default: + /* unknown request */ + HDfprintf(stderr, "Unknown fill style\n"); + goto error; + break; } /* Write the chunk */ - if (H5Sselect_hyperslab(fspace, H5S_SELECT_SET, hs_start, NULL, - hs_count, NULL) < 0) goto error; + if (H5Sselect_hyperslab(fspace, H5S_SELECT_SET, hs_start, NULL, hs_count, NULL) < 0) + goto error; if (H5Dwrite(dset, H5T_NATIVE_INT, mspace, fspace, xfer, &i) < 0) { goto error; } /* Determine overhead */ if (verbose) { - if (H5Fflush(file, H5F_SCOPE_LOCAL) < 0) goto error; - if (HDfstat(fd, &sb) < 0) goto error; - printf("%4lu %8.3f ***\n", - (unsigned long)i, - (double)(sb.st_size - (HDoff_t)(i * sizeof(int))) / (double)i); + if (H5Fflush(file, H5F_SCOPE_LOCAL) < 0) + goto error; + if (HDfstat(fd, &sb) < 0) + goto error; + printf("%4lu %8.3f ***\n", (unsigned long)i, + (double)(sb.st_size - (HDoff_t)(i * sizeof(int))) / (double)i); } } - if(had) { + if (had) { free(had); had = NULL; } /* end if */ @@ -283,53 +282,52 @@ test(fill_t fill_style, const double splits[], if (!verbose) { switch (fill_style) { - case FILL_FORWARD: - sname = "forward"; - break; - case FILL_REVERSE: - sname = "reverse"; - break; - case FILL_INWARD: - sname = "inward"; - break; - case FILL_OUTWARD: - sname = "outward"; - break; - case FILL_RANDOM: - sname = "random"; - break; - case FILL_ALL: - abort(); - default: - /* unknown request */ - HDfprintf(stderr, "Unknown fill style\n"); - goto error; - break; + case FILL_FORWARD: + sname = "forward"; + break; + case FILL_REVERSE: + sname = "reverse"; + break; + case FILL_INWARD: + sname = "inward"; + break; + case FILL_OUTWARD: + sname = "outward"; + break; + case FILL_RANDOM: + sname = "random"; + break; + case FILL_ALL: + abort(); + default: + /* unknown request */ + HDfprintf(stderr, "Unknown fill style\n"); + goto error; + break; } - if (HDfstat(fd, &sb) < 0) goto error; + if (HDfstat(fd, &sb) < 0) + goto error; printf("%-7s %8.3f\n", sname, - (double)(sb.st_size - (HDoff_t)(cur_size[0] * sizeof(int))) / - (double)cur_size[0]); + (double)(sb.st_size - (HDoff_t)(cur_size[0] * sizeof(int))) / (double)cur_size[0]); } HDclose(fd); return 0; - error: +error: H5Dclose(dset); H5Sclose(mspace); H5Sclose(fspace); H5Pclose(dcpl); H5Pclose(xfer); H5Fclose(file); - if(had) + if (had) free(had); HDclose(fd); return 1; } - /*------------------------------------------------------------------------- * Function: main * @@ -349,58 +347,70 @@ test(fill_t fill_style, const double splits[], int main(int argc, char *argv[]) { - hid_t xfer; + hid_t xfer; fill_t fill_style = FILL_ALL; - hbool_t use_cache = FALSE; + hbool_t use_cache = FALSE; double splits[3]; - int i, j, nerrors=0; + int i, j, nerrors = 0; /* Default split ratios */ H5Eset_auto2(H5E_DEFAULT, display_error_cb, NULL); - if((xfer = H5Pcreate(H5P_DATASET_XFER)) < 0) goto error; - if(H5Pget_btree_ratios(xfer, splits+0, splits+1, splits+2) < 0) goto error; - if(H5Pclose(xfer) < 0) goto error; + if ((xfer = H5Pcreate(H5P_DATASET_XFER)) < 0) + goto error; + if (H5Pget_btree_ratios(xfer, splits + 0, splits + 1, splits + 2) < 0) + goto error; + if (H5Pclose(xfer) < 0) + goto error; /* Parse command-line options */ - for(i = 1, j = 0; i < argc; i++) { + for (i = 1, j = 0; i < argc; i++) { if (!strcmp(argv[i], "forward")) { fill_style = FILL_FORWARD; - } else if (!strcmp(argv[i], "reverse")) { + } + else if (!strcmp(argv[i], "reverse")) { fill_style = FILL_REVERSE; - } else if (!strcmp(argv[i], "inward")) { + } + else if (!strcmp(argv[i], "inward")) { fill_style = FILL_INWARD; - } else if (!strcmp(argv[i], "outward")) { + } + else if (!strcmp(argv[i], "outward")) { fill_style = FILL_OUTWARD; - } else if (!strcmp(argv[i], "random")) { + } + else if (!strcmp(argv[i], "random")) { fill_style = FILL_RANDOM; - } else if (!strcmp(argv[i], "cache")) { + } + else if (!strcmp(argv[i], "cache")) { use_cache = TRUE; - } else if (j<3 && (isdigit(argv[i][0]) || '.'==argv[i][0])) { + } + else if (j < 3 && (isdigit(argv[i][0]) || '.' == argv[i][0])) { splits[j++] = strtod(argv[i], NULL); - } else { + } + else { usage(argv[0]); } } - if (FILL_ALL==fill_style) { + if (FILL_ALL == fill_style) { printf("%-7s %8s\n", "Style", "Bytes/Chunk"); printf("%-7s %8s\n", "-----", "-----------"); nerrors += test(FILL_FORWARD, splits, FALSE, use_cache); nerrors += test(FILL_REVERSE, splits, FALSE, use_cache); - nerrors += test(FILL_INWARD, splits, FALSE, use_cache); + nerrors += test(FILL_INWARD, splits, FALSE, use_cache); nerrors += test(FILL_OUTWARD, splits, FALSE, use_cache); - nerrors += test(FILL_RANDOM, splits, FALSE, use_cache); + nerrors += test(FILL_RANDOM, splits, FALSE, use_cache); } else { - if (use_cache) usage(argv[0]); - nerrors += test(fill_style, splits, TRUE, FALSE); + if (use_cache) + usage(argv[0]); + nerrors += test(fill_style, splits, TRUE, FALSE); } - if (nerrors>0) goto error; + if (nerrors > 0) + goto error; cleanup(); return 0; - error: +error: HDfprintf(stderr, "*** ERRORS DETECTED ***\n"); return 1; } diff --git a/tools/test/perform/perf.c b/tools/test/perform/perf.c index 5b78c52..22aca04 100644 --- a/tools/test/perform/perf.c +++ b/tools/test/perform/perf.c @@ -44,17 +44,17 @@ #endif #if defined(H5_TIME_WITH_SYS_TIME) -# include <sys/time.h> -# include <time.h> +#include <sys/time.h> +#include <time.h> #elif defined(H5_HAVE_SYS_TIME_H) -# include <sys/time.h> +#include <sys/time.h> #else -# include <time.h> +#include <time.h> #endif #include <mpi.h> -#ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */ -# include <mpio.h> +#ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */ +#include <mpio.h> #endif /* Macro definitions */ @@ -62,50 +62,46 @@ * if val is false (0), print mesg and if fatal is true (non-zero), die. */ #define H5FATAL 1 -#define VRFY(val, mesg, fatal) do { \ - if (!val) { \ - printf("Proc %d: ", mynod); \ - printf("*** Assertion failed (%s) at line %4d in %s\n", \ - mesg, (int)__LINE__, __FILE__); \ - if (fatal){ \ - fflush(stdout); \ - goto die_jar_jar_die; \ - } \ - } \ -} while(0) -#define RANK 1 +#define VRFY(val, mesg, fatal) \ + do { \ + if (!val) { \ + printf("Proc %d: ", mynod); \ + printf("*** Assertion failed (%s) at line %4d in %s\n", mesg, (int)__LINE__, __FILE__); \ + if (fatal) { \ + fflush(stdout); \ + goto die_jar_jar_die; \ + } \ + } \ + } while (0) +#define RANK 1 #define MAX_PATH 1024 -hsize_t dims[RANK]; /* dataset dim sizes */ +hsize_t dims[RANK]; /* dataset dim sizes */ hsize_t block[RANK], stride[RANK], count[RANK]; hsize_t start[RANK]; -hid_t fid; /* HDF5 file ID */ -hid_t acc_tpl; /* File access templates */ -hid_t sid; /* Dataspace ID */ -hid_t file_dataspace; /* File dataspace ID */ -hid_t mem_dataspace; /* memory dataspace ID */ -hid_t dataset; /* Dataset ID */ -hsize_t opt_alignment = 1; -hsize_t opt_threshold = 1; -int opt_split_vfd = 0; -char *meta_ext, *raw_ext; /* holds the meta and raw file extension if */ - /* opt_split_vfd is set */ - +hid_t fid; /* HDF5 file ID */ +hid_t acc_tpl; /* File access templates */ +hid_t sid; /* Dataspace ID */ +hid_t file_dataspace; /* File dataspace ID */ +hid_t mem_dataspace; /* memory dataspace ID */ +hid_t dataset; /* Dataset ID */ +hsize_t opt_alignment = 1; +hsize_t opt_threshold = 1; +int opt_split_vfd = 0; +char * meta_ext, *raw_ext; /* holds the meta and raw file extension if */ + /* opt_split_vfd is set */ /* DEFAULT VALUES FOR OPTIONS */ -int64_t opt_block = 1048576*16; -int opt_iter = 1; -int opt_stripe = -1; -int opt_correct = 0; -int amode = O_RDWR | O_CREAT; -char opt_file[256] = "perftest.out"; +int64_t opt_block = 1048576 * 16; +int opt_iter = 1; +int opt_stripe = -1; +int opt_correct = 0; +int amode = O_RDWR | O_CREAT; +char opt_file[256] = "perftest.out"; char opt_pvfstab[256] = "notset"; -int opt_pvfstab_set = 0; +int opt_pvfstab_set = 0; -const char *FILENAME[] = { - opt_file, - NULL -}; +const char *FILENAME[] = {opt_file, NULL}; /* function prototypes */ static int parse_args(int argc, char **argv); @@ -115,42 +111,44 @@ static int parse_args(int argc, char **argv); extern char *optarg; #endif -int main(int argc, char **argv) +int +main(int argc, char **argv) { - char *buf, *tmp, *buf2 = NULL, *tmp2 = NULL, *check; - int i, j, mynod=0, nprocs=1, my_correct = 1, correct, myerrno; - double stim, etim; - double write_tim = 0; - double read_tim = 0; - double read_bw, write_bw; - double max_read_tim, max_write_tim; - double min_read_tim, min_write_tim; - double ave_read_tim, ave_write_tim; + char * buf, *tmp, *buf2 = NULL, *tmp2 = NULL, *check; + int i, j, mynod = 0, nprocs = 1, my_correct = 1, correct, myerrno; + double stim, etim; + double write_tim = 0; + double read_tim = 0; + double read_bw, write_bw; + double max_read_tim, max_write_tim; + double min_read_tim, min_write_tim; + double ave_read_tim, ave_write_tim; int64_t iter_jump = 0; - char filename[MAX_PATH]; - herr_t ret; /* Generic return value */ + char filename[MAX_PATH]; + herr_t ret; /* Generic return value */ /* startup MPI and determine the rank of this process */ - MPI_Init(&argc,&argv); + MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &nprocs); MPI_Comm_rank(MPI_COMM_WORLD, &mynod); /* parse the command line arguments */ parse_args(argc, argv); - if (mynod == 0) printf("# Using hdf5-io calls.\n"); + if (mynod == 0) + printf("# Using hdf5-io calls.\n"); - /* kindof a weird hack- if the location of the pvfstab file was - * specified on the command line, then spit out this location into - * the appropriate environment variable: */ + /* kindof a weird hack- if the location of the pvfstab file was + * specified on the command line, then spit out this location into + * the appropriate environment variable: */ #if H5_HAVE_SETENV -/* no setenv or unsetenv */ + /* no setenv or unsetenv */ if (opt_pvfstab_set) { - if((setenv("PVFSTAB_FILE", opt_pvfstab, 1)) < 0){ - perror("setenv"); - goto die_jar_jar_die; - } + if ((setenv("PVFSTAB_FILE", opt_pvfstab, 1)) < 0) { + perror("setenv"); + goto die_jar_jar_die; + } } #endif @@ -160,55 +158,56 @@ int main(int argc, char **argv) iter_jump = nprocs * opt_block; /* setup a buffer of data to write */ - if (!(tmp = (char *) malloc((size_t)opt_block + 256))) { - perror("malloc"); - goto die_jar_jar_die; + if (!(tmp = (char *)malloc((size_t)opt_block + 256))) { + perror("malloc"); + goto die_jar_jar_die; } - buf = tmp + 128 - (((long)tmp) % 128); /* align buffer */ + buf = tmp + 128 - (((long)tmp) % 128); /* align buffer */ if (opt_correct) { - /* do the same buffer setup for verifiable data */ - if (!(tmp2 = (char *) malloc((size_t)opt_block + 256))) { - perror("malloc2"); - goto die_jar_jar_die; - } - buf2 = tmp + 128 - (((long)tmp) % 128); + /* do the same buffer setup for verifiable data */ + if (!(tmp2 = (char *)malloc((size_t)opt_block + 256))) { + perror("malloc2"); + goto die_jar_jar_die; + } + buf2 = tmp + 128 - (((long)tmp) % 128); } /* setup file access template with parallel IO access. */ - if (opt_split_vfd){ - hid_t mpio_pl; - - mpio_pl = H5Pcreate (H5P_FILE_ACCESS); - VRFY((acc_tpl >= 0), "", H5FATAL); - ret = H5Pset_fapl_mpio(mpio_pl, MPI_COMM_WORLD, MPI_INFO_NULL); - VRFY((ret >= 0), "", H5FATAL); - - /* set optional allocation alignment */ - if (opt_alignment*opt_threshold != 1){ - ret = H5Pset_alignment(acc_tpl, opt_threshold, opt_alignment ); - VRFY((ret >= 0), "H5Pset_alignment succeeded", !H5FATAL); - } + if (opt_split_vfd) { + hid_t mpio_pl; + + mpio_pl = H5Pcreate(H5P_FILE_ACCESS); + VRFY((acc_tpl >= 0), "", H5FATAL); + ret = H5Pset_fapl_mpio(mpio_pl, MPI_COMM_WORLD, MPI_INFO_NULL); + VRFY((ret >= 0), "", H5FATAL); + + /* set optional allocation alignment */ + if (opt_alignment * opt_threshold != 1) { + ret = H5Pset_alignment(acc_tpl, opt_threshold, opt_alignment); + VRFY((ret >= 0), "H5Pset_alignment succeeded", !H5FATAL); + } - /* setup file access template */ - acc_tpl = H5Pcreate (H5P_FILE_ACCESS); - VRFY((acc_tpl >= 0), "", H5FATAL); - ret = H5Pset_fapl_split(acc_tpl, meta_ext, mpio_pl, raw_ext, mpio_pl); - VRFY((ret >= 0), "H5Pset_fapl_split succeeded", H5FATAL); - ret = H5Pclose(mpio_pl); - VRFY((ret >= 0), "H5Pclose mpio_pl succeeded", H5FATAL); - }else{ - /* setup file access template */ - acc_tpl = H5Pcreate (H5P_FILE_ACCESS); - VRFY((acc_tpl >= 0), "", H5FATAL); - ret = H5Pset_fapl_mpio(acc_tpl, MPI_COMM_WORLD, MPI_INFO_NULL); - VRFY((ret >= 0), "", H5FATAL); - - /* set optional allocation alignment */ - if (opt_alignment*opt_threshold != 1){ - ret = H5Pset_alignment(acc_tpl, opt_threshold, opt_alignment ); - VRFY((ret >= 0), "H5Pset_alignment succeeded", !H5FATAL); + /* setup file access template */ + acc_tpl = H5Pcreate(H5P_FILE_ACCESS); + VRFY((acc_tpl >= 0), "", H5FATAL); + ret = H5Pset_fapl_split(acc_tpl, meta_ext, mpio_pl, raw_ext, mpio_pl); + VRFY((ret >= 0), "H5Pset_fapl_split succeeded", H5FATAL); + ret = H5Pclose(mpio_pl); + VRFY((ret >= 0), "H5Pclose mpio_pl succeeded", H5FATAL); } + else { + /* setup file access template */ + acc_tpl = H5Pcreate(H5P_FILE_ACCESS); + VRFY((acc_tpl >= 0), "", H5FATAL); + ret = H5Pset_fapl_mpio(acc_tpl, MPI_COMM_WORLD, MPI_INFO_NULL); + VRFY((ret >= 0), "", H5FATAL); + + /* set optional allocation alignment */ + if (opt_alignment * opt_threshold != 1) { + ret = H5Pset_alignment(acc_tpl, opt_threshold, opt_alignment); + VRFY((ret >= 0), "H5Pset_alignment succeeded", !H5FATAL); + } } h5_fixname_no_suffix(FILENAME[0], acc_tpl, filename, sizeof filename); @@ -219,14 +218,13 @@ int main(int argc, char **argv) /* define a contiquous dataset of opt_iter*nprocs*opt_block chars */ dims[0] = (hsize_t)opt_iter * (hsize_t)nprocs * (hsize_t)opt_block; - sid = H5Screate_simple(RANK, dims, NULL); + sid = H5Screate_simple(RANK, dims, NULL); VRFY((sid >= 0), "H5Screate_simple succeeded", H5FATAL); - dataset = H5Dcreate2(fid, "Dataset1", H5T_NATIVE_CHAR, sid, - H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(fid, "Dataset1", H5T_NATIVE_CHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); VRFY((dataset >= 0), "H5Dcreate2 succeeded", H5FATAL); /* create the memory dataspace and the file dataspace */ - dims[0] = (hsize_t)opt_block; + dims[0] = (hsize_t)opt_block; mem_dataspace = H5Screate_simple(RANK, dims, NULL); VRFY((mem_dataspace >= 0), "", H5FATAL); file_dataspace = H5Dget_space(dataset); @@ -235,48 +233,46 @@ int main(int argc, char **argv) /* now each process writes a block of opt_block chars in round robbin * fashion until the whole dataset is covered. */ - for(j=0; j < opt_iter; j++) { + for (j = 0; j < opt_iter; j++) { /* setup a file dataspace selection */ - start[0] = (hsize_t)((j * iter_jump) + (mynod * opt_block)); + start[0] = (hsize_t)((j * iter_jump) + (mynod * opt_block)); stride[0] = block[0] = (hsize_t)opt_block; - count[0]= 1; - ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, block); + count[0] = 1; + ret = H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, block); VRFY((ret >= 0), "H5Sset_hyperslab succeeded", H5FATAL); - if (opt_correct) /* fill in buffer for iteration */ { - for (i=mynod+j, check=buf; i<opt_block; i++,check++) *check=(char)i; - } + if (opt_correct) /* fill in buffer for iteration */ { + for (i = mynod + j, check = buf; i < opt_block; i++, check++) + *check = (char)i; + } - /* discover the starting time of the operation */ - MPI_Barrier(MPI_COMM_WORLD); - stim = MPI_Wtime(); + /* discover the starting time of the operation */ + MPI_Barrier(MPI_COMM_WORLD); + stim = MPI_Wtime(); /* write data */ - ret = H5Dwrite(dataset, H5T_NATIVE_CHAR, mem_dataspace, file_dataspace, - H5P_DEFAULT, buf); + ret = H5Dwrite(dataset, H5T_NATIVE_CHAR, mem_dataspace, file_dataspace, H5P_DEFAULT, buf); VRFY((ret >= 0), "H5Dwrite dataset1 succeeded", !H5FATAL); - /* discover the ending time of the operation */ - etim = MPI_Wtime(); + /* discover the ending time of the operation */ + etim = MPI_Wtime(); - write_tim += (etim - stim); + write_tim += (etim - stim); - /* we are done with this "write" iteration */ + /* we are done with this "write" iteration */ } /* close dataset and file */ - ret=H5Dclose(dataset); + ret = H5Dclose(dataset); VRFY((ret >= 0), "H5Dclose succeeded", H5FATAL); - ret=H5Fclose(fid); + ret = H5Fclose(fid); VRFY((ret >= 0), "H5Fclose succeeded", H5FATAL); - - /* wait for everyone to synchronize at this point */ MPI_Barrier(MPI_COMM_WORLD); /* reopen the file for reading */ - fid=H5Fopen(filename,H5F_ACC_RDONLY,acc_tpl); + fid = H5Fopen(filename, H5F_ACC_RDONLY, acc_tpl); VRFY((fid >= 0), "", H5FATAL); /* open the dataset */ @@ -288,119 +284,111 @@ int main(int argc, char **argv) */ /* we are going to repeat the read the same pattern the write used */ - for (j=0; j < opt_iter; j++) { + for (j = 0; j < opt_iter; j++) { /* setup a file dataspace selection */ - start[0] = (hsize_t)((j * iter_jump) + (mynod * opt_block)); + start[0] = (hsize_t)((j * iter_jump) + (mynod * opt_block)); stride[0] = block[0] = (hsize_t)opt_block; - count[0]= 1; - ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, block); + count[0] = 1; + ret = H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, block); VRFY((ret >= 0), "H5Sset_hyperslab succeeded", H5FATAL); - /* seek to the appropriate spot give the current iteration and - * rank within the MPI processes */ + /* seek to the appropriate spot give the current iteration and + * rank within the MPI processes */ - /* discover the start time */ - MPI_Barrier(MPI_COMM_WORLD); - stim = MPI_Wtime(); + /* discover the start time */ + MPI_Barrier(MPI_COMM_WORLD); + stim = MPI_Wtime(); /* read in the file data */ - if (!opt_correct){ + if (!opt_correct) { ret = H5Dread(dataset, H5T_NATIVE_CHAR, mem_dataspace, file_dataspace, H5P_DEFAULT, buf); } - else{ + else { ret = H5Dread(dataset, H5T_NATIVE_CHAR, mem_dataspace, file_dataspace, H5P_DEFAULT, buf2); } myerrno = errno; /* discover the end time */ - etim = MPI_Wtime(); - read_tim += (etim - stim); + etim = MPI_Wtime(); + read_tim += (etim - stim); VRFY((ret >= 0), "H5Dwrite dataset1 succeeded", !H5FATAL); - - if (ret < 0) HDfprintf(stderr, "node %d, read error, loc = %" PRId64 ": %s\n", - mynod, mynod*opt_block, strerror(myerrno)); + if (ret < 0) + HDfprintf(stderr, "node %d, read error, loc = %" PRId64 ": %s\n", mynod, mynod * opt_block, + strerror(myerrno)); /* if the user wanted to check correctness, compare the write * buffer to the read buffer */ if (opt_correct && memcmp(buf, buf2, (size_t)opt_block)) { - HDfprintf(stderr, "node %d, correctness test failed\n", mynod); - my_correct = 0; - MPI_Allreduce(&my_correct, &correct, 1, MPI_INT, MPI_MIN, - MPI_COMM_WORLD); + HDfprintf(stderr, "node %d, correctness test failed\n", mynod); + my_correct = 0; + MPI_Allreduce(&my_correct, &correct, 1, MPI_INT, MPI_MIN, MPI_COMM_WORLD); } /* we are done with this read iteration */ } /* close dataset and file */ - ret=H5Dclose(dataset); + ret = H5Dclose(dataset); VRFY((ret >= 0), "H5Dclose succeeded", H5FATAL); - ret=H5Fclose(fid); + ret = H5Fclose(fid); VRFY((ret >= 0), "H5Fclose succeeded", H5FATAL); - ret=H5Pclose(acc_tpl); + ret = H5Pclose(acc_tpl); VRFY((ret >= 0), "H5Pclose succeeded", H5FATAL); /* compute the read and write times */ - MPI_Allreduce(&read_tim, &max_read_tim, 1, MPI_DOUBLE, MPI_MAX, - MPI_COMM_WORLD); - MPI_Allreduce(&read_tim, &min_read_tim, 1, MPI_DOUBLE, MPI_MIN, - MPI_COMM_WORLD); - MPI_Allreduce(&read_tim, &ave_read_tim, 1, MPI_DOUBLE, MPI_SUM, - MPI_COMM_WORLD); + MPI_Allreduce(&read_tim, &max_read_tim, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD); + MPI_Allreduce(&read_tim, &min_read_tim, 1, MPI_DOUBLE, MPI_MIN, MPI_COMM_WORLD); + MPI_Allreduce(&read_tim, &ave_read_tim, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); /* calculate the average from the sum */ ave_read_tim = ave_read_tim / nprocs; - MPI_Allreduce(&write_tim, &max_write_tim, 1, MPI_DOUBLE, MPI_MAX, - MPI_COMM_WORLD); - MPI_Allreduce(&write_tim, &min_write_tim, 1, MPI_DOUBLE, MPI_MIN, - MPI_COMM_WORLD); - MPI_Allreduce(&write_tim, &ave_write_tim, 1, MPI_DOUBLE, MPI_SUM, - MPI_COMM_WORLD); + MPI_Allreduce(&write_tim, &max_write_tim, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD); + MPI_Allreduce(&write_tim, &min_write_tim, 1, MPI_DOUBLE, MPI_MIN, MPI_COMM_WORLD); + MPI_Allreduce(&write_tim, &ave_write_tim, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); /* calculate the average from the sum */ ave_write_tim = ave_write_tim / nprocs; /* print out the results on one node */ if (mynod == 0) { - read_bw = (double)((int64_t)(opt_block*nprocs*opt_iter))/(max_read_tim*1000000.0); - write_bw = (double)((int64_t)(opt_block*nprocs*opt_iter))/(max_write_tim*1000000.0); + read_bw = (double)((int64_t)(opt_block * nprocs * opt_iter)) / (max_read_tim * 1000000.0); + write_bw = (double)((int64_t)(opt_block * nprocs * opt_iter)) / (max_write_tim * 1000000.0); - printf("nr_procs = %d, nr_iter = %d, blk_sz = %ld\n", nprocs, - opt_iter, (long)opt_block); + printf("nr_procs = %d, nr_iter = %d, blk_sz = %ld\n", nprocs, opt_iter, (long)opt_block); - printf("# total_size = %ld\n", (long)(opt_block*nprocs*opt_iter)); + printf("# total_size = %ld\n", (long)(opt_block * nprocs * opt_iter)); - printf("# Write: min_time = %f, max_time = %f, mean_time = %f\n", - min_write_tim, max_write_tim, ave_write_tim); - printf("# Read: min_time = %f, max_time = %f, mean_time = %f\n", - min_read_tim, max_read_tim, ave_read_tim); + printf("# Write: min_time = %f, max_time = %f, mean_time = %f\n", min_write_tim, max_write_tim, + ave_write_tim); + printf("# Read: min_time = %f, max_time = %f, mean_time = %f\n", min_read_tim, max_read_tim, + ave_read_tim); - printf("Write bandwidth = %f Mbytes/sec\n", write_bw); - printf("Read bandwidth = %f Mbytes/sec\n", read_bw); + printf("Write bandwidth = %f Mbytes/sec\n", write_bw); + printf("Read bandwidth = %f Mbytes/sec\n", read_bw); - if (opt_correct) { - printf("Correctness test %s.\n", correct ? "passed" : "failed"); - } + if (opt_correct) { + printf("Correctness test %s.\n", correct ? "passed" : "failed"); + } } - die_jar_jar_die: #if H5_HAVE_SETENV -/* no setenv or unsetenv */ + /* no setenv or unsetenv */ /* clear the environment variable if it was set earlier */ - if (opt_pvfstab_set){ - unsetenv("PVFSTAB_FILE"); + if (opt_pvfstab_set) { + unsetenv("PVFSTAB_FILE"); } #endif free(tmp); - if (opt_correct) free(tmp2); + if (opt_correct) + free(tmp2); MPI_Finalize(); - return(0); + return (0); } static int @@ -432,32 +420,30 @@ parse_args(int argc, char **argv) * e.g., -a4096/512 allocate at 4096 bytes * boundary if request size >= 512. */ - { - char *p; + { + char *p; - opt_alignment = (hsize_t)HDatoi(optarg); - if(NULL != (p = (char*)HDstrchr(optarg, '/'))) - opt_threshold = (hsize_t)HDatoi(p + 1); - } - HDfprintf(stdout, - "alignment/threshold=%" PRIuHSIZE "/%" PRIuHSIZE "\n", - opt_alignment, opt_threshold); + opt_alignment = (hsize_t)HDatoi(optarg); + if (NULL != (p = (char *)HDstrchr(optarg, '/'))) + opt_threshold = (hsize_t)HDatoi(p + 1); + } + HDfprintf(stdout, "alignment/threshold=%" PRIuHSIZE "/%" PRIuHSIZE "\n", opt_alignment, + opt_threshold); break; case '2': /* use 2-files, i.e., split file driver */ - opt_split_vfd=1; + opt_split_vfd = 1; /* get meta and raw file extension. */ /* syntax is <raw_ext>,<meta_ext> */ meta_ext = raw_ext = optarg; - while (*raw_ext != '\0'){ - if (*raw_ext == ','){ + while (*raw_ext != '\0') { + if (*raw_ext == ',') { *raw_ext = '\0'; raw_ext++; break; } raw_ext++; } - printf("split-file-vfd used: %s,%s\n", - meta_ext, raw_ext); + printf("split-file-vfd used: %s,%s\n", meta_ext, raw_ext); break; case 'c': /* correctness */ opt_correct = 1; @@ -468,7 +454,7 @@ parse_args(int argc, char **argv) } } - return(0); + return (0); } /* @@ -479,13 +465,12 @@ parse_args(int argc, char **argv) * End: */ -#else /* H5_HAVE_PARALLEL */ +#else /* H5_HAVE_PARALLEL */ /* dummy program since H5_HAVE_PARALLEL is not configured in */ int main(int H5_ATTR_UNUSED argc, char H5_ATTR_UNUSED **argv) { printf("No parallel performance because parallel is not configured in\n"); - return(0); + return (0); } #endif /* H5_HAVE_PARALLEL */ - diff --git a/tools/test/perform/perf_meta.c b/tools/test/perform/perf_meta.c index 77248cc..7ce5792 100644 --- a/tools/test/perform/perf_meta.c +++ b/tools/test/perform/perf_meta.c @@ -21,39 +21,33 @@ #include "h5test.h" #ifdef H5_HAVE_PARALLEL -#define MAINPROCESS (!mpi_rank) /* define process 0 as main process */ -#endif /*H5_HAVE_PARALLEL*/ +#define MAINPROCESS (!mpi_rank) /* define process 0 as main process */ +#endif /*H5_HAVE_PARALLEL*/ /* File_Access_type bits */ -#define FACC_DEFAULT 0x0 /* serial as default */ -#define FACC_MPIO 0x1 /* MPIO */ +#define FACC_DEFAULT 0x0 /* serial as default */ +#define FACC_MPIO 0x1 /* MPIO */ /* Which test to run */ -int RUN_TEST = 0x0; /* all tests as default */ -int TEST_1 = 0x1; /* Test 1 */ -int TEST_2 = 0x2; /* Test 2 */ -int TEST_3 = 0x4; /* Test 3 */ - +int RUN_TEST = 0x0; /* all tests as default */ +int TEST_1 = 0x1; /* Test 1 */ +int TEST_2 = 0x2; /* Test 2 */ +int TEST_3 = 0x4; /* Test 3 */ -const char *FILENAME[] = { - "meta_perf_1", - "meta_perf_2", - "meta_perf_3", - NULL -}; +const char *FILENAME[] = {"meta_perf_1", "meta_perf_2", "meta_perf_3", NULL}; /* Default values for performance. Can be changed through command line options */ -int NUM_DSETS = 16; -int NUM_ATTRS = 8; -int BATCH_ATTRS = 2; -hbool_t flush_dset = FALSE; -hbool_t flush_attr = FALSE; -int nerrors = 0; /* errors count */ -hid_t fapl; +int NUM_DSETS = 16; +int NUM_ATTRS = 8; +int BATCH_ATTRS = 2; +hbool_t flush_dset = FALSE; +hbool_t flush_attr = FALSE; +int nerrors = 0; /* errors count */ +hid_t fapl; /* Data space IDs */ -hid_t space; -hid_t small_space; +hid_t space; +hid_t small_space; /* Performance data */ typedef struct p_time { @@ -68,11 +62,10 @@ typedef struct p_time { /*Test file access type for parallel. MPIO as default */ int facc_type = FACC_DEFAULT; -double retrieve_time(void); -void perf(p_time *perf_t, double start_t, double end_t); -void print_perf(p_time, p_time, p_time); +double retrieve_time(void); +void perf(p_time *perf_t, double start_t, double end_t); +void print_perf(p_time, p_time, p_time); - /*------------------------------------------------------------------------- * Function: parse_options * @@ -91,108 +84,108 @@ parse_options(int argc, char **argv) int t; /* Use default values */ - if(argc==1) - return(0); - - while (--argc){ - if (**(++argv) != '-'){ - break; - }else{ - switch(*(*argv+1)){ - case 'h': /* Help page */ - return(1); - - case 'd': /* Number of datasets */ - NUM_DSETS = atoi((*argv+1)+1); - if (NUM_DSETS < 0){ - nerrors++; - return(1); - } - break; - - case 'a': /* Number of attributes per dataset */ - NUM_ATTRS = atoi((*argv+1)+1); - if (NUM_ATTRS < 0){ - nerrors++; - return(1); - } - break; - - case 'n': /* Number of attributes to be created in batch */ - BATCH_ATTRS = atoi((*argv+1)+1); - if (BATCH_ATTRS < 0){ - nerrors++; - return(1); - } - break; - - case 'm': /* Use the MPI-IO driver */ - facc_type = FACC_MPIO; - break; - - case 'f': /* Call H5Fflush for each dataset or attribute */ - if(!strcmp("a", (*argv+2))) - flush_attr = TRUE; - else if(!strcmp("d", (*argv+2))) - flush_dset = TRUE; - else { - nerrors++; - return(1); - } - break; - - case 't': /* Which test to run */ - t = atoi((*argv+1)+1); - if (t < 1 || t > 3){ - nerrors++; - return(1); - } - if(t == 1) - RUN_TEST |= TEST_1; - else if(t == 2) - RUN_TEST |= TEST_2; - else - RUN_TEST |= TEST_3; - - break; - - default: nerrors++; - return(1); - } - } + if (argc == 1) + return (0); + + while (--argc) { + if (**(++argv) != '-') { + break; + } + else { + switch (*(*argv + 1)) { + case 'h': /* Help page */ + return (1); + + case 'd': /* Number of datasets */ + NUM_DSETS = atoi((*argv + 1) + 1); + if (NUM_DSETS < 0) { + nerrors++; + return (1); + } + break; + + case 'a': /* Number of attributes per dataset */ + NUM_ATTRS = atoi((*argv + 1) + 1); + if (NUM_ATTRS < 0) { + nerrors++; + return (1); + } + break; + + case 'n': /* Number of attributes to be created in batch */ + BATCH_ATTRS = atoi((*argv + 1) + 1); + if (BATCH_ATTRS < 0) { + nerrors++; + return (1); + } + break; + + case 'm': /* Use the MPI-IO driver */ + facc_type = FACC_MPIO; + break; + + case 'f': /* Call H5Fflush for each dataset or attribute */ + if (!strcmp("a", (*argv + 2))) + flush_attr = TRUE; + else if (!strcmp("d", (*argv + 2))) + flush_dset = TRUE; + else { + nerrors++; + return (1); + } + break; + + case 't': /* Which test to run */ + t = atoi((*argv + 1) + 1); + if (t < 1 || t > 3) { + nerrors++; + return (1); + } + if (t == 1) + RUN_TEST |= TEST_1; + else if (t == 2) + RUN_TEST |= TEST_2; + else + RUN_TEST |= TEST_3; + + break; + + default: + nerrors++; + return (1); + } + } } /*while*/ /* Check valid values */ #ifndef H5_HAVE_PARALLEL - if(facc_type == FACC_MPIO) - { + if (facc_type == FACC_MPIO) { nerrors++; - return(1); + return (1); } #endif /*H5_HAVE_PARALLEL*/ - if(NUM_ATTRS && !BATCH_ATTRS) + if (NUM_ATTRS && !BATCH_ATTRS) NUM_ATTRS = 0; - if(!NUM_ATTRS && BATCH_ATTRS) + if (!NUM_ATTRS && BATCH_ATTRS) BATCH_ATTRS = 0; - if(!NUM_DSETS) { + if (!NUM_DSETS) { nerrors++; - return(1); + return (1); } - if(NUM_ATTRS && BATCH_ATTRS) { - if(BATCH_ATTRS > NUM_ATTRS || NUM_ATTRS % BATCH_ATTRS) { - nerrors++; - return(1); + if (NUM_ATTRS && BATCH_ATTRS) { + if (BATCH_ATTRS > NUM_ATTRS || NUM_ATTRS % BATCH_ATTRS) { + nerrors++; + return (1); } } - return(0); + return (0); } - /*------------------------------------------------------------------------- * Function: usage * @@ -212,39 +205,38 @@ usage(void) "[-a<num_attributes>]\n" "\t[-n<batch_attributes>] [-f<option>] [-t<test>]\n"); printf("\t-h" - "\t\t\thelp page.\n"); + "\t\t\thelp page.\n"); printf("\t-m" - "\t\t\tset MPIO as the file driver when parallel HDF5\n" - "\t\t\t\tis enabled. -m must be specified\n" - "\t\t\t\twhen running parallel program.\n"); + "\t\t\tset MPIO as the file driver when parallel HDF5\n" + "\t\t\t\tis enabled. -m must be specified\n" + "\t\t\t\twhen running parallel program.\n"); printf("\t-d<num_datasets>" - "\tset number of datasets for meta data \n" - "\t\t\t\tperformance test\n"); + "\tset number of datasets for meta data \n" + "\t\t\t\tperformance test\n"); printf("\t-a<num_attributes>" - "\tset number of attributes per dataset for meta \n" - "\t\t\t\tdata performance test.\n"); + "\tset number of attributes per dataset for meta \n" + "\t\t\t\tdata performance test.\n"); printf("\t-n<batch_attributes>" - "\tset batch number of attributes for dataset \n" - "\t\t\t\tfor meta data performance test.\n"); + "\tset batch number of attributes for dataset \n" + "\t\t\t\tfor meta data performance test.\n"); printf("\t-f<option>" - "\t\tflush data to disk after closing a dataset \n" - "\t\t\t\tor attribute. Valid options are \"d\" for \n" - "\t\t\t\tdataset, \"a\" for attribute. Disabled is \n" - "\t\t\t\tthe default.\n"); + "\t\tflush data to disk after closing a dataset \n" + "\t\t\t\tor attribute. Valid options are \"d\" for \n" + "\t\t\t\tdataset, \"a\" for attribute. Disabled is \n" + "\t\t\t\tthe default.\n"); printf("\t-t<tests>" - "\t\trun specific test. Give only one number each \n" - "\t\t\t\ttime. i.e. \"-t1 -t3\" will run test 1 and 3. \n" - "\t\t\t\tDefault is all three tests. The 3 tests are: \n\n" - "\t\t\t\t1. Create <num_attributes> attributes for each \n" - "\t\t\t\t of <num_datasets> existing datasets.\n" - "\t\t\t\t2. Create <num_attributes> attributes for each \n" - "\t\t\t\t of <num_datasets> new datasets.\n" - "\t\t\t\t3. Create <batch_attributes> attributes for \n" - "\t\t\t\t each of <num_dataset> new datasets for \n" - "\t\t\t\t <num_attributes>/<batch_attributes> times.\n"); + "\t\trun specific test. Give only one number each \n" + "\t\t\t\ttime. i.e. \"-t1 -t3\" will run test 1 and 3. \n" + "\t\t\t\tDefault is all three tests. The 3 tests are: \n\n" + "\t\t\t\t1. Create <num_attributes> attributes for each \n" + "\t\t\t\t of <num_datasets> existing datasets.\n" + "\t\t\t\t2. Create <num_attributes> attributes for each \n" + "\t\t\t\t of <num_datasets> new datasets.\n" + "\t\t\t\t3. Create <batch_attributes> attributes for \n" + "\t\t\t\t each of <num_dataset> new datasets for \n" + "\t\t\t\t <num_attributes>/<batch_attributes> times.\n"); } - /*------------------------------------------------------------------------- * Function: create_dspace * @@ -264,20 +256,20 @@ usage(void) static herr_t create_dspace(void) { - hsize_t dims[2]; - hsize_t small_dims[2]; + hsize_t dims[2]; + hsize_t small_dims[2]; /* Create the data space */ dims[0] = 256; dims[1] = 512; - if((space = H5Screate_simple(2, dims, NULL)) < 0) - goto error; + if ((space = H5Screate_simple(2, dims, NULL)) < 0) + goto error; /* Create a small data space for attributes */ small_dims[0] = 16; small_dims[1] = 8; - if((small_space = H5Screate_simple(2, small_dims, NULL)) < 0) - goto error; + if ((small_space = H5Screate_simple(2, small_dims, NULL)) < 0) + goto error; return 0; @@ -285,7 +277,6 @@ error: return -1; } - /*------------------------------------------------------------------------- * Function: create_dsets * @@ -305,20 +296,20 @@ error: static herr_t create_dsets(hid_t file) { - hid_t dataset; - char dset_name[32]; - int i; + hid_t dataset; + char dset_name[32]; + int i; /* * Create a dataset using the default dataset creation properties. */ - for(i = 0; i < NUM_DSETS; i++) { - HDsprintf(dset_name, "dataset %d", i); - if((dataset = H5Dcreate2(file, dset_name, H5T_NATIVE_DOUBLE, space, - H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + for (i = 0; i < NUM_DSETS; i++) { + HDsprintf(dset_name, "dataset %d", i); + if ((dataset = H5Dcreate2(file, dset_name, H5T_NATIVE_DOUBLE, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto error; - if(H5Dclose(dataset) < 0) + if (H5Dclose(dataset) < 0) goto error; } /* end for */ @@ -326,10 +317,8 @@ create_dsets(hid_t file) error: return -1; - } - /*------------------------------------------------------------------------- * Function: create_attrs_1 * @@ -349,63 +338,62 @@ error: static herr_t create_attrs_1(void) { - hid_t file, dataset, attr; - char filename[128]; - char dset_name[64]; - char attr_name[128]; - int i, j; - p_time attr_t = {0, 0, 0, 1000000, 0, ""}; - p_time open_t = {0, 0, 0, 1000000, 0, "H5Dopen2"}; - p_time close_t = {0, 0, 0, 1000000, 0, ""}; + hid_t file, dataset, attr; + char filename[128]; + char dset_name[64]; + char attr_name[128]; + int i, j; + p_time attr_t = {0, 0, 0, 1000000, 0, ""}; + p_time open_t = {0, 0, 0, 1000000, 0, "H5Dopen2"}; + p_time close_t = {0, 0, 0, 1000000, 0, ""}; #ifdef H5_HAVE_PARALLEL /* need the rank for printing data */ - int mpi_rank; - if(facc_type == FACC_MPIO) + int mpi_rank; + if (facc_type == FACC_MPIO) MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); #endif /*H5_HAVE_PARALLEL*/ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, - fapl)) < 0) - goto error; + if ((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + goto error; - if(create_dsets(file) < 0) - goto error; + if (create_dsets(file) < 0) + goto error; /* * Create all(user specifies the number) attributes for each dataset */ - for(i = 0; i < NUM_DSETS; i++) { - HDsprintf(dset_name, "dataset %d", i); + for (i = 0; i < NUM_DSETS; i++) { + HDsprintf(dset_name, "dataset %d", i); open_t.start = retrieve_time(); - if((dataset = H5Dopen2(file, dset_name, H5P_DEFAULT)) < 0) - goto error; - perf(&open_t, open_t.start, retrieve_time()); + if ((dataset = H5Dopen2(file, dset_name, H5P_DEFAULT)) < 0) + goto error; + perf(&open_t, open_t.start, retrieve_time()); - for(j = 0; j < NUM_ATTRS; j++) { + for (j = 0; j < NUM_ATTRS; j++) { HDsprintf(attr_name, "all attrs for each dset %d", j); attr_t.start = retrieve_time(); - if((attr = H5Acreate2(dataset, attr_name, H5T_NATIVE_DOUBLE, - small_space, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((attr = H5Acreate2(dataset, attr_name, H5T_NATIVE_DOUBLE, small_space, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto error; - if(H5Aclose(attr) < 0) + if (H5Aclose(attr) < 0) goto error; perf(&attr_t, attr_t.start, retrieve_time()); - if(flush_attr && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) + if (flush_attr && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) goto error; - } /* end for */ + } /* end for */ - close_t.start = retrieve_time(); - if(H5Dclose(dataset) < 0) + close_t.start = retrieve_time(); + if (H5Dclose(dataset) < 0) goto error; - perf(&close_t, close_t.start, retrieve_time()); - if(flush_dset && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) + perf(&close_t, close_t.start, retrieve_time()); + if (flush_dset && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) goto error; } /* end for */ - if(facc_type == FACC_MPIO) { + if (facc_type == FACC_MPIO) { #ifdef H5_HAVE_PARALLEL MPI_Barrier(MPI_COMM_WORLD); #endif /*H5_HAVE_PARALLEL*/ @@ -413,21 +401,22 @@ create_attrs_1(void) #ifdef H5_HAVE_PARALLEL if (facc_type == FACC_DEFAULT || (facc_type != FACC_DEFAULT && MAINPROCESS)) /* only process 0 reports */ -#endif /*H5_HAVE_PARALLEL*/ +#endif /*H5_HAVE_PARALLEL*/ { /* Calculate the average time */ open_t.avg = open_t.total / NUM_DSETS; close_t.avg = close_t.total / NUM_DSETS; - if(NUM_ATTRS) - attr_t.avg = attr_t.total / (NUM_ATTRS*NUM_DSETS); + if (NUM_ATTRS) + attr_t.avg = attr_t.total / (NUM_ATTRS * NUM_DSETS); /* Print out the performance result */ - HDfprintf(stderr, "1. Create %d attributes for each of %d existing datasets\n", - NUM_ATTRS, NUM_DSETS); + HDfprintf(stderr, "1. Create %d attributes for each of %d existing datasets\n", NUM_ATTRS, + NUM_DSETS); print_perf(open_t, close_t, attr_t); } - if (H5Fclose(file) < 0) goto error; + if (H5Fclose(file) < 0) + goto error; return 0; @@ -435,7 +424,6 @@ error: return -1; } - /*------------------------------------------------------------------------- * Function: create_attrs_2 * @@ -455,61 +443,61 @@ error: static herr_t create_attrs_2(void) { - hid_t file, dataset, attr; - char filename[128]; - char dset_name[64]; - char attr_name[128]; - int i, j; - p_time attr_t = {0, 0, 0, 1000000, 0, ""}; - p_time create_t = {0, 0, 0, 1000000, 0, "H5Dcreate2"}; - p_time close_t = {0, 0, 0, 1000000, 0, ""}; + hid_t file, dataset, attr; + char filename[128]; + char dset_name[64]; + char attr_name[128]; + int i, j; + p_time attr_t = {0, 0, 0, 1000000, 0, ""}; + p_time create_t = {0, 0, 0, 1000000, 0, "H5Dcreate2"}; + p_time close_t = {0, 0, 0, 1000000, 0, ""}; #ifdef H5_HAVE_PARALLEL /* need the rank for printing data */ - int mpi_rank; - if(facc_type == FACC_MPIO) + int mpi_rank; + if (facc_type == FACC_MPIO) MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); #endif /*H5_HAVE_PARALLEL*/ h5_fixname(FILENAME[1], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) - goto error; + if ((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + goto error; /* * Create all(user specifies the number) attributes for each new dataset */ - for(i = 0; i < NUM_DSETS; i++) { - HDsprintf(dset_name, "dataset %d", i); + for (i = 0; i < NUM_DSETS; i++) { + HDsprintf(dset_name, "dataset %d", i); create_t.start = retrieve_time(); - if((dataset = H5Dcreate2(file, dset_name, H5T_NATIVE_DOUBLE, - space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((dataset = H5Dcreate2(file, dset_name, H5T_NATIVE_DOUBLE, space, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto error; - perf(&create_t, create_t.start, retrieve_time()); + perf(&create_t, create_t.start, retrieve_time()); - for(j = 0; j < NUM_ATTRS; j++) { + for (j = 0; j < NUM_ATTRS; j++) { HDsprintf(attr_name, "all attrs for each dset %d", j); attr_t.start = retrieve_time(); - if((attr = H5Acreate2(dataset, attr_name, H5T_NATIVE_DOUBLE, - small_space, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((attr = H5Acreate2(dataset, attr_name, H5T_NATIVE_DOUBLE, small_space, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto error; - if(H5Aclose(attr) < 0) + if (H5Aclose(attr) < 0) goto error; perf(&attr_t, attr_t.start, retrieve_time()); - if(flush_attr && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) + if (flush_attr && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) goto error; - } /* end for */ + } /* end for */ - close_t.start = retrieve_time(); - if(H5Dclose(dataset) < 0) + close_t.start = retrieve_time(); + if (H5Dclose(dataset) < 0) goto error; - perf(&close_t, close_t.start, retrieve_time()); - if(flush_dset && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) + perf(&close_t, close_t.start, retrieve_time()); + if (flush_dset && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) goto error; } /* end for */ #ifdef H5_HAVE_PARALLEL - if(facc_type == FACC_MPIO) + if (facc_type == FACC_MPIO) MPI_Barrier(MPI_COMM_WORLD); #endif /*H5_HAVE_PARALLEL*/ @@ -521,16 +509,16 @@ create_attrs_2(void) /* Calculate the average time */ create_t.avg = create_t.total / NUM_DSETS; close_t.avg = close_t.total / NUM_DSETS; - if(NUM_ATTRS) - attr_t.avg = attr_t.total / (NUM_ATTRS*NUM_DSETS); + if (NUM_ATTRS) + attr_t.avg = attr_t.total / (NUM_ATTRS * NUM_DSETS); /* Print out the performance result */ - HDfprintf(stderr, "2. Create %d attributes for each of %d new datasets\n", - NUM_ATTRS, NUM_DSETS); + HDfprintf(stderr, "2. Create %d attributes for each of %d new datasets\n", NUM_ATTRS, NUM_DSETS); print_perf(create_t, close_t, attr_t); } - if (H5Fclose(file) < 0) goto error; + if (H5Fclose(file) < 0) + goto error; return 0; @@ -538,7 +526,6 @@ error: return -1; } - /*------------------------------------------------------------------------- * Function: create_attrs_3 * @@ -559,70 +546,69 @@ error: static herr_t create_attrs_3(void) { - hid_t file, dataset, attr; - char filename[128]; - char dset_name[64]; - char attr_name[128]; - int loop_num; - int i, j, k; - p_time attr_t = {0, 0, 0, 1000000, 0, ""}; - p_time open_t = {0, 0, 0, 1000000, 0, "H5Dopen2"}; - p_time close_t = {0, 0, 0, 1000000, 0, ""}; + hid_t file, dataset, attr; + char filename[128]; + char dset_name[64]; + char attr_name[128]; + int loop_num; + int i, j, k; + p_time attr_t = {0, 0, 0, 1000000, 0, ""}; + p_time open_t = {0, 0, 0, 1000000, 0, "H5Dopen2"}; + p_time close_t = {0, 0, 0, 1000000, 0, ""}; #ifdef H5_HAVE_PARALLEL /* need the rank for printing data */ - int mpi_rank; - if(facc_type == FACC_MPIO) + int mpi_rank; + if (facc_type == FACC_MPIO) MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); #endif /*H5_HAVE_PARALLEL*/ h5_fixname(FILENAME[2], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, - fapl)) < 0) - goto error; + if ((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) + goto error; - if(create_dsets(file) < 0) - goto error; + if (create_dsets(file) < 0) + goto error; /* * Create some(user specifies the number) attributes for each dataset * in a loop */ - loop_num = NUM_ATTRS/BATCH_ATTRS; + loop_num = NUM_ATTRS / BATCH_ATTRS; - for(i = 0; i < loop_num; i++) { - for(j = 0; j < NUM_DSETS; j++) { + for (i = 0; i < loop_num; i++) { + for (j = 0; j < NUM_DSETS; j++) { HDsprintf(dset_name, "dataset %d", j); open_t.start = retrieve_time(); - if((dataset = H5Dopen2(file, dset_name, H5P_DEFAULT)) < 0) + if ((dataset = H5Dopen2(file, dset_name, H5P_DEFAULT)) < 0) goto error; perf(&open_t, open_t.start, retrieve_time()); - for(k = 0; k < BATCH_ATTRS; k++) { + for (k = 0; k < BATCH_ATTRS; k++) { HDsprintf(attr_name, "some attrs for each dset %d %d", i, k); attr_t.start = retrieve_time(); - if((attr = H5Acreate2(dataset, attr_name, H5T_NATIVE_DOUBLE, - small_space, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if ((attr = H5Acreate2(dataset, attr_name, H5T_NATIVE_DOUBLE, small_space, H5P_DEFAULT, + H5P_DEFAULT)) < 0) goto error; - if(H5Aclose(attr) < 0) + if (H5Aclose(attr) < 0) goto error; perf(&attr_t, attr_t.start, retrieve_time()); - if(flush_attr && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) + if (flush_attr && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) goto error; } /* end for */ close_t.start = retrieve_time(); - if(H5Dclose(dataset) < 0) + if (H5Dclose(dataset) < 0) goto error; perf(&close_t, close_t.start, retrieve_time()); - if(flush_dset && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) + if (flush_dset && H5Fflush(file, H5F_SCOPE_LOCAL) < 0) goto error; - } /* end for */ - } /* end for */ + } /* end for */ + } /* end for */ #ifdef H5_HAVE_PARALLEL - if(facc_type == FACC_MPIO) + if (facc_type == FACC_MPIO) MPI_Barrier(MPI_COMM_WORLD); #endif /*H5_HAVE_PARALLEL*/ @@ -632,17 +618,18 @@ create_attrs_3(void) #endif /*H5_HAVE_PARALLEL*/ { /* Calculate the average time */ - open_t.avg = open_t.total / (loop_num*NUM_DSETS); - close_t.avg = close_t.total / (loop_num*NUM_DSETS); - attr_t.avg = attr_t.total / (NUM_ATTRS*NUM_DSETS); + open_t.avg = open_t.total / (loop_num * NUM_DSETS); + close_t.avg = close_t.total / (loop_num * NUM_DSETS); + attr_t.avg = attr_t.total / (NUM_ATTRS * NUM_DSETS); /* Print out the performance result */ HDfprintf(stderr, "3. Create %d attributes for each of %d existing datasets for %d times\n", - BATCH_ATTRS, NUM_DSETS, loop_num); + BATCH_ATTRS, NUM_DSETS, loop_num); print_perf(open_t, close_t, attr_t); } - if (H5Fclose(file) < 0) goto error; + if (H5Fclose(file) < 0) + goto error; return 0; @@ -650,7 +637,6 @@ error: return -1; } - /*------------------------------------------------------------------------- * Function: retrieve_time * @@ -663,22 +649,23 @@ error: * *------------------------------------------------------------------------- */ -double retrieve_time(void) +double +retrieve_time(void) { #ifdef H5_HAVE_PARALLEL - if(facc_type == FACC_DEFAULT) { + if (facc_type == FACC_DEFAULT) { #endif /*H5_HAVE_PARALLEL*/ struct timeval t; HDgettimeofday(&t, NULL); return ((double)t.tv_sec + (double)t.tv_usec / 1000000); #ifdef H5_HAVE_PARALLEL - } else { + } + else { return MPI_Wtime(); } #endif /*H5_HAVE_PARALLEL*/ } - /*------------------------------------------------------------------------- * Function: perf * @@ -692,12 +679,13 @@ double retrieve_time(void) * *------------------------------------------------------------------------- */ -void perf(p_time *perf_t, double start_t, double end_t) +void +perf(p_time *perf_t, double start_t, double end_t) { - double t = end_t - start_t; + double t = end_t - start_t; #ifdef H5_HAVE_PARALLEL - if(facc_type == FACC_MPIO) { + if (facc_type == FACC_MPIO) { double reduced_t; double t_max, t_min; int mpi_size, mpi_rank; @@ -706,36 +694,33 @@ void perf(p_time *perf_t, double start_t, double end_t) MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); MPI_Barrier(MPI_COMM_WORLD); - MPI_Reduce(&t, &reduced_t, 1, MPI_DOUBLE, MPI_SUM, 0, - MPI_COMM_WORLD); + MPI_Reduce(&t, &reduced_t, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); reduced_t /= mpi_size; - MPI_Reduce(&t, &t_max, 1, MPI_DOUBLE, MPI_MAX, 0, - MPI_COMM_WORLD); - MPI_Reduce(&t, &t_min, 1, MPI_DOUBLE, MPI_MIN, 0, - MPI_COMM_WORLD); + MPI_Reduce(&t, &t_max, 1, MPI_DOUBLE, MPI_MAX, 0, MPI_COMM_WORLD); + MPI_Reduce(&t, &t_min, 1, MPI_DOUBLE, MPI_MIN, 0, MPI_COMM_WORLD); if (MAINPROCESS) { perf_t->total += reduced_t; - if(t_max > perf_t->max) - perf_t->max = t_max; - if(t_min < perf_t->min) - perf_t->min = t_min; + if (t_max > perf_t->max) + perf_t->max = t_max; + if (t_min < perf_t->min) + perf_t->min = t_min; } - } else + } + else #endif /*H5_HAVE_PARALLEL*/ { - perf_t->total += t; + perf_t->total += t; - if(t > perf_t->max) - perf_t->max = t; - if(t < perf_t->min) - perf_t->min = t; + if (t > perf_t->max) + perf_t->max = t; + if (t < perf_t->min) + perf_t->min = t; } } - /*------------------------------------------------------------------------- * Function: print_perf * @@ -748,18 +733,18 @@ void perf(p_time *perf_t, double start_t, double end_t) * *------------------------------------------------------------------------- */ -void print_perf(p_time open_t, p_time close_t, p_time attr_t) +void +print_perf(p_time open_t, p_time close_t, p_time attr_t) { - HDfprintf(stderr, "\t%s:\t\tavg=%.6fs;\tmax=%.6fs;\tmin=%.6fs\n", - open_t.func, open_t.avg, open_t.max, open_t.min); - HDfprintf(stderr, "\tH5Dclose:\t\tavg=%.6fs;\tmax=%.6fs;\tmin=%.6fs\n", - close_t.avg, close_t.max, close_t.min); - if(NUM_ATTRS) - HDfprintf(stderr, "\tH5A(create & close):\tavg=%.6fs;\tmax=%.6fs;\tmin=%.6fs\n", - attr_t.avg, attr_t.max, attr_t.min); + HDfprintf(stderr, "\t%s:\t\tavg=%.6fs;\tmax=%.6fs;\tmin=%.6fs\n", open_t.func, open_t.avg, open_t.max, + open_t.min); + HDfprintf(stderr, "\tH5Dclose:\t\tavg=%.6fs;\tmax=%.6fs;\tmin=%.6fs\n", close_t.avg, close_t.max, + close_t.min); + if (NUM_ATTRS) + HDfprintf(stderr, "\tH5A(create & close):\tavg=%.6fs;\tmax=%.6fs;\tmin=%.6fs\n", attr_t.avg, + attr_t.max, attr_t.min); } - /*------------------------------------------------------------------------- * Function: main * @@ -780,16 +765,16 @@ int main(int argc, char **argv) { #ifdef H5_HAVE_PARALLEL - int mpi_size, mpi_rank; /* mpi variables */ -#endif /*H5_HAVE_PARALLEL*/ + int mpi_size, mpi_rank; /* mpi variables */ +#endif /*H5_HAVE_PARALLEL*/ - if(parse_options(argc, argv) != 0) { - usage(); - return 0; + if (parse_options(argc, argv) != 0) { + usage(); + return 0; } #ifdef H5_HAVE_PARALLEL - if(facc_type == FACC_MPIO) { + if (facc_type == FACC_MPIO) { MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &mpi_size); MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); @@ -801,33 +786,36 @@ main(int argc, char **argv) #endif /*H5_HAVE_PARALLEL*/ HDfprintf(stderr, "\t\tPerformance result of metadata for datasets and attributes\n\n"); - fapl = H5Pcreate (H5P_FILE_ACCESS); + fapl = H5Pcreate(H5P_FILE_ACCESS); #ifdef H5_HAVE_PARALLEL - if(facc_type == FACC_MPIO) + if (facc_type == FACC_MPIO) H5Pset_fapl_mpio(fapl, MPI_COMM_WORLD, MPI_INFO_NULL); #endif /*H5_HAVE_PARALLEL*/ - nerrors += create_dspace() < 0 ?1:0; + nerrors += create_dspace() < 0 ? 1 : 0; - if((RUN_TEST & TEST_1) || !RUN_TEST) - nerrors += create_attrs_1() < 0 ?1:0; - if((RUN_TEST & TEST_2) || !RUN_TEST) - nerrors += create_attrs_2() < 0 ?1:0; - if(((RUN_TEST & TEST_3) || !RUN_TEST) && BATCH_ATTRS && NUM_ATTRS) - nerrors += create_attrs_3() < 0 ?1:0; + if ((RUN_TEST & TEST_1) || !RUN_TEST) + nerrors += create_attrs_1() < 0 ? 1 : 0; + if ((RUN_TEST & TEST_2) || !RUN_TEST) + nerrors += create_attrs_2() < 0 ? 1 : 0; + if (((RUN_TEST & TEST_3) || !RUN_TEST) && BATCH_ATTRS && NUM_ATTRS) + nerrors += create_attrs_3() < 0 ? 1 : 0; - if (H5Sclose(space) < 0) goto error; - if (H5Sclose(small_space) < 0) goto error; + if (H5Sclose(space) < 0) + goto error; + if (H5Sclose(small_space) < 0) + goto error; h5_clean_files(FILENAME, fapl); #ifdef H5_HAVE_PARALLEL - if(facc_type == FACC_MPIO) + if (facc_type == FACC_MPIO) /* MPI_Finalize must be called AFTER H5close which may use MPI calls */ MPI_Finalize(); #endif /*H5_HAVE_PARALLEL*/ - if (nerrors) goto error; + if (nerrors) + goto error; #ifdef H5_HAVE_PARALLEL if (facc_type != FACC_DEFAULT && MAINPROCESS) #endif /*H5_HAVE_PARALLEL*/ @@ -835,14 +823,12 @@ main(int argc, char **argv) return 0; - error: +error: nerrors = MAX(1, nerrors); #ifdef H5_HAVE_PARALLEL if (facc_type != FACC_DEFAULT && MAINPROCESS) #endif /*H5_HAVE_PARALLEL*/ - printf("***** %d PERFORMANCE TEST%s FAILED! *****\n", - nerrors, 1 == nerrors ? "" : "S"); + printf("***** %d PERFORMANCE TEST%s FAILED! *****\n", nerrors, 1 == nerrors ? "" : "S"); return 1; } - diff --git a/tools/test/perform/pio_engine.c b/tools/test/perform/pio_engine.c index cdd698e..4e690d5 100644 --- a/tools/test/perform/pio_engine.c +++ b/tools/test/perform/pio_engine.c @@ -36,64 +36,65 @@ #include <mpi.h> -#ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */ -# include <mpio.h> -#endif /* !MPI_FILE_NULL */ +#ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */ +#include <mpio.h> +#endif /* !MPI_FILE_NULL */ #include "pio_perf.h" /* Macro definitions */ #if H5_VERS_MAJOR == 1 && H5_VERS_MINOR == 6 -# define H5DCREATE(fd, name, type, space, dcpl) H5Dcreate(fd, name, type, space, dcpl) -# define H5DOPEN(fd, name) H5Dopen(fd, name) +#define H5DCREATE(fd, name, type, space, dcpl) H5Dcreate(fd, name, type, space, dcpl) +#define H5DOPEN(fd, name) H5Dopen(fd, name) #else -# define H5DCREATE(fd, name, type, space, dcpl) H5Dcreate2(fd, name, type, space, H5P_DEFAULT, dcpl, H5P_DEFAULT) -# define H5DOPEN(fd, name) H5Dopen2(fd, name, H5P_DEFAULT) +#define H5DCREATE(fd, name, type, space, dcpl) \ + H5Dcreate2(fd, name, type, space, H5P_DEFAULT, dcpl, H5P_DEFAULT) +#define H5DOPEN(fd, name) H5Dopen2(fd, name, H5P_DEFAULT) #endif /* sizes of various items. these sizes won't change during program execution */ /* The following three must have the same type */ -#define ELMT_H5_TYPE H5T_NATIVE_UCHAR +#define ELMT_H5_TYPE H5T_NATIVE_UCHAR -#define GOTOERROR(errcode) { ret_code = errcode; goto done; } -#define ERRMSG(mesg) { \ - HDfprintf(stderr, "Proc %d: ", pio_mpi_rank_g); \ - HDfprintf(stderr, "*** Assertion failed (%s) at line %4d in %s\n", \ - mesg, (int)__LINE__, __FILE__); \ -} +#define GOTOERROR(errcode) \ + { \ + ret_code = errcode; \ + goto done; \ + } +#define ERRMSG(mesg) \ + { \ + HDfprintf(stderr, "Proc %d: ", pio_mpi_rank_g); \ + HDfprintf(stderr, "*** Assertion failed (%s) at line %4d in %s\n", mesg, (int)__LINE__, __FILE__); \ + } /* verify: if val is false (0), print mesg. */ -#define VRFY(val, mesg) do { \ - if (!val) { \ - ERRMSG(mesg); \ - GOTOERROR(FAIL); \ - } \ -} while(0) - +#define VRFY(val, mesg) \ + do { \ + if (!val) { \ + ERRMSG(mesg); \ + GOTOERROR(FAIL); \ + } \ + } while (0) /* POSIX I/O macros */ #ifdef H5_HAVE_WIN32_API /* Can't link against the library, so this test will use the older, non-Unicode * _open() call on Windows. */ -#define HDopen(S,F,...) _open(S, F | _O_BINARY, __VA_ARGS__) +#define HDopen(S, F, ...) _open(S, F | _O_BINARY, __VA_ARGS__) #endif /* H5_HAVE_WIN32_API */ -#define POSIXCREATE(fn) HDopen(fn, O_CREAT|O_TRUNC|O_RDWR, 0600) -#define POSIXOPEN(fn, F) HDopen(fn, F, 0600) -#define POSIXCLOSE(F) HDclose(F) -#define POSIXSEEK(F,L) HDlseek(F, L, SEEK_SET) -#define POSIXWRITE(F,B,S) HDwrite(F,B,S) -#define POSIXREAD(F,B,S) HDread(F,B,S) - -enum { - PIO_CREATE = 1, - PIO_WRITE = 2, - PIO_READ = 4 -}; +#define POSIXCREATE(fn) HDopen(fn, O_CREAT | O_TRUNC | O_RDWR, 0600) +#define POSIXOPEN(fn, F) HDopen(fn, F, 0600) +#define POSIXCLOSE(F) HDclose(F) +#define POSIXSEEK(F, L) HDlseek(F, L, SEEK_SET) +#define POSIXWRITE(F, B, S) HDwrite(F, B, S) +#define POSIXREAD(F, B, S) HDread(F, B, S) + +enum { PIO_CREATE = 1, PIO_WRITE = 2, PIO_READ = 4 }; /* Global variables */ -static int clean_file_g = -1; /*whether to cleanup temporary test */ +static int clean_file_g = -1; /*whether to cleanup temporary test */ /*files. -1 is not defined; */ /*0 is no cleanup; 1 is do cleanup */ @@ -104,32 +105,30 @@ static int clean_file_g = -1; /*whether to cleanup temporary test */ * is about the best guess. */ #ifndef HDF5_PARAPREFIX -# define HDF5_PARAPREFIX "" -#endif /* !HDF5_PARAPREFIX */ +#define HDF5_PARAPREFIX "" +#endif /* !HDF5_PARAPREFIX */ #ifndef MIN -# define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif /* !MIN */ +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif /* !MIN */ /* the different types of file descriptors we can expect */ typedef union _file_descr { - int posixfd; /* POSIX file handle*/ - MPI_File mpifd; /* MPI file */ - hid_t h5fd; /* HDF5 file */ + int posixfd; /* POSIX file handle*/ + MPI_File mpifd; /* MPI file */ + hid_t h5fd; /* HDF5 file */ } file_descr; /* local functions */ -static char *pio_create_filename(iotype iot, const char *base_name, - char *fullname, size_t size); -static herr_t do_write(results *res, file_descr *fd, parameters *parms, - long ndsets, off_t nelmts, size_t buf_size, void *buffer); -static herr_t do_read(results *res, file_descr *fd, parameters *parms, - long ndsets, off_t nelmts, size_t buf_size, void *buffer /*out*/); -static herr_t do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, - int flags); +static char * pio_create_filename(iotype iot, const char *base_name, char *fullname, size_t size); +static herr_t do_write(results *res, file_descr *fd, parameters *parms, long ndsets, off_t nelmts, + size_t buf_size, void *buffer); +static herr_t do_read(results *res, file_descr *fd, parameters *parms, long ndsets, off_t nelmts, + size_t buf_size, void *buffer /*out*/); +static herr_t do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, int flags); static herr_t do_fclose(iotype iot, file_descr *fd); -static void do_cleanupfile(iotype iot, char *fname); -static off_t sqrto(off_t); +static void do_cleanupfile(iotype iot, char *fname); +static off_t sqrto(off_t); /* * Function: do_pio @@ -139,32 +138,32 @@ static off_t sqrto(off_t); * Modifications: * Added 2D testing (Christian Chilan, 10. August 2005) */ - results +results do_pio(parameters param) { /* return codes */ - herr_t ret_code = 0; /*return code */ - results res; - - file_descr fd; - iotype iot; - - char fname[FILENAME_MAX]; - long nf; - long ndsets; - off_t nbytes; /*number of bytes per dataset */ - off_t snbytes; /*general dataset size */ - /*for 1D, it is the actual dataset size */ - /*for 2D, it is the size of a side of the dataset square */ - char *buffer = NULL; /*data buffer pointer */ - size_t buf_size; /*general buffer size in bytes */ - /*for 1D, it is the actual buffer size */ - /*for 2D, it is the length of the buffer rectangle */ - size_t blk_size; /*data block size in bytes */ - size_t bsize; /*actual buffer size */ + herr_t ret_code = 0; /*return code */ + results res; + + file_descr fd; + iotype iot; + + char fname[FILENAME_MAX]; + long nf; + long ndsets; + off_t nbytes; /*number of bytes per dataset */ + off_t snbytes; /*general dataset size */ + /*for 1D, it is the actual dataset size */ + /*for 2D, it is the size of a side of the dataset square */ + char * buffer = NULL; /*data buffer pointer */ + size_t buf_size; /*general buffer size in bytes */ + /*for 1D, it is the actual buffer size */ + /*for 2D, it is the length of the buffer rectangle */ + size_t blk_size; /*data block size in bytes */ + size_t bsize; /*actual buffer size */ /* HDF5 variables */ - herr_t hrc; /*HDF5 return code */ + herr_t hrc; /*HDF5 return code */ /* Sanity check parameters */ @@ -173,7 +172,7 @@ do_pio(parameters param) switch (iot) { case MPIO: - fd.mpifd = MPI_FILE_NULL; + fd.mpifd = MPI_FILE_NULL; res.timers = io_time_new(MPI_CLOCK); break; case POSIXIO: @@ -181,7 +180,7 @@ do_pio(parameters param) res.timers = io_time_new(MPI_CLOCK); break; case PHDF5: - fd.h5fd = -1; + fd.h5fd = -1; res.timers = io_time_new(MPI_CLOCK); break; default: @@ -190,168 +189,158 @@ do_pio(parameters param) GOTOERROR(FAIL); } - ndsets = param.num_dsets; /* number of datasets per file */ - nbytes = param.num_bytes; /* number of bytes per dataset */ + ndsets = param.num_dsets; /* number of datasets per file */ + nbytes = param.num_bytes; /* number of bytes per dataset */ buf_size = param.buf_size; blk_size = param.blk_size; - if (!param.dim2d){ + if (!param.dim2d) { snbytes = nbytes; /* General dataset size */ - bsize = buf_size; /* Actual buffer size */ + bsize = buf_size; /* Actual buffer size */ } else { - snbytes = sqrto(nbytes); /* General dataset size */ - bsize = buf_size * blk_size; /* Actual buffer size */ + snbytes = sqrto(nbytes); /* General dataset size */ + bsize = buf_size * blk_size; /* Actual buffer size */ } - if (param.num_files < 0 ) { - HDfprintf(stderr, - "number of files must be >= 0 (%ld)\n", - param.num_files); - GOTOERROR(FAIL); + if (param.num_files < 0) { + HDfprintf(stderr, "number of files must be >= 0 (%ld)\n", param.num_files); + GOTOERROR(FAIL); } - if (ndsets < 0 ) { - HDfprintf(stderr, - "number of datasets per file must be >= 0 (%ld)\n", - ndsets); - GOTOERROR(FAIL); + if (ndsets < 0) { + HDfprintf(stderr, "number of datasets per file must be >= 0 (%ld)\n", ndsets); + GOTOERROR(FAIL); } - if (param.num_procs <= 0 ) { - HDfprintf(stderr, - "maximum number of process to use must be > 0 (%d)\n", - param.num_procs); - GOTOERROR(FAIL); + if (param.num_procs <= 0) { + HDfprintf(stderr, "maximum number of process to use must be > 0 (%d)\n", param.num_procs); + GOTOERROR(FAIL); } /* Validate transfer buffer size & block size*/ - if(blk_size<=0) { - HDfprintf(stderr, - "Transfer block size (%zu) must be > 0\n", blk_size); - GOTOERROR(FAIL); - } - if(buf_size<=0) { - HDfprintf(stderr, - "Transfer buffer size (%zu) must be > 0\n", buf_size); - GOTOERROR(FAIL); + if (blk_size <= 0) { + HDfprintf(stderr, "Transfer block size (%zu) must be > 0\n", blk_size); + GOTOERROR(FAIL); } - if ((buf_size % blk_size) != 0){ - HDfprintf(stderr, - "Transfer buffer size (%zu) must be a multiple of the " - "interleaved I/O block size (%zu)\n", - buf_size, blk_size); - GOTOERROR(FAIL); + if (buf_size <= 0) { + HDfprintf(stderr, "Transfer buffer size (%zu) must be > 0\n", buf_size); + GOTOERROR(FAIL); } - if((snbytes%pio_mpi_nprocs_g)!=0) { - HDfprintf(stderr, - "Dataset size (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the " - "number of processes (%d)\n", - (long long)snbytes, pio_mpi_nprocs_g); - GOTOERROR(FAIL); + if ((buf_size % blk_size) != 0) { + HDfprintf(stderr, + "Transfer buffer size (%zu) must be a multiple of the " + "interleaved I/O block size (%zu)\n", + buf_size, blk_size); + GOTOERROR(FAIL); } - - if (!param.dim2d){ - if(((size_t)(snbytes/pio_mpi_nprocs_g)%buf_size)!=0) { + if ((snbytes % pio_mpi_nprocs_g) != 0) { HDfprintf(stderr, - "Dataset size/process (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the " - "trasfer buffer size (%zu)\n", - (long long)(snbytes/pio_mpi_nprocs_g), buf_size); + "Dataset size (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the " + "number of processes (%d)\n", + (long long)snbytes, pio_mpi_nprocs_g); GOTOERROR(FAIL); + } + + if (!param.dim2d) { + if (((size_t)(snbytes / pio_mpi_nprocs_g) % buf_size) != 0) { + HDfprintf(stderr, + "Dataset size/process (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the " + "trasfer buffer size (%zu)\n", + (long long)(snbytes / pio_mpi_nprocs_g), buf_size); + GOTOERROR(FAIL); } } else { - if(((size_t)snbytes%buf_size)!=0) { - HDfprintf(stderr, - "Dataset side size (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the " - "trasfer buffer size (%zu)\n", - (long long)snbytes, buf_size); - GOTOERROR(FAIL); + if (((size_t)snbytes % buf_size) != 0) { + HDfprintf(stderr, + "Dataset side size (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the " + "trasfer buffer size (%zu)\n", + (long long)snbytes, buf_size); + GOTOERROR(FAIL); } } /* Allocate transfer buffer */ - if ((buffer = malloc(bsize)) == NULL){ - HDfprintf(stderr, "malloc for transfer buffer size (%zu) failed\n", - bsize); - GOTOERROR(FAIL); + if ((buffer = malloc(bsize)) == NULL) { + HDfprintf(stderr, "malloc for transfer buffer size (%zu) failed\n", bsize); + GOTOERROR(FAIL); } if (pio_debug_level >= 4) { - int myrank; + int myrank; - MPI_Comm_rank(pio_comm_g, &myrank); + MPI_Comm_rank(pio_comm_g, &myrank); - /* output all of the times for all iterations */ - if (myrank == 0) - HDfprintf(output, "Timer details:\n"); + /* output all of the times for all iterations */ + if (myrank == 0) + HDfprintf(output, "Timer details:\n"); } for (nf = 1; nf <= param.num_files; nf++) { - /* - * Write performance measurement - */ - /* Open file for write */ - char base_name[256]; + /* + * Write performance measurement + */ + /* Open file for write */ + char base_name[256]; - HDsprintf(base_name, "#pio_tmp_%lu", nf); - pio_create_filename(iot, base_name, fname, sizeof(fname)); - if (pio_debug_level > 0) - HDfprintf(output, "rank %d: data filename=%s\n", - pio_mpi_rank_g, fname); + HDsprintf(base_name, "#pio_tmp_%lu", nf); + pio_create_filename(iot, base_name, fname, sizeof(fname)); + if (pio_debug_level > 0) + HDfprintf(output, "rank %d: data filename=%s\n", pio_mpi_rank_g, fname); - /* Need barrier to make sure everyone starts at the same time */ - MPI_Barrier(pio_comm_g); + /* Need barrier to make sure everyone starts at the same time */ + MPI_Barrier(pio_comm_g); - io_time_set(res.timers, HDF5_GROSS_WRITE_FIXED_DIMS, TSTART); - hrc = do_fopen(¶m, fname, &fd, PIO_CREATE | PIO_WRITE); + io_time_set(res.timers, HDF5_GROSS_WRITE_FIXED_DIMS, TSTART); + hrc = do_fopen(¶m, fname, &fd, PIO_CREATE | PIO_WRITE); - VRFY((hrc == SUCCESS), "do_fopen failed"); + VRFY((hrc == SUCCESS), "do_fopen failed"); - io_time_set(res.timers, HDF5_FINE_WRITE_FIXED_DIMS, TSTART); - hrc = do_write(&res, &fd, ¶m, ndsets, nbytes, buf_size, buffer); - io_time_set(res.timers, HDF5_FINE_WRITE_FIXED_DIMS, TSTOP); + io_time_set(res.timers, HDF5_FINE_WRITE_FIXED_DIMS, TSTART); + hrc = do_write(&res, &fd, ¶m, ndsets, nbytes, buf_size, buffer); + io_time_set(res.timers, HDF5_FINE_WRITE_FIXED_DIMS, TSTOP); - VRFY((hrc == SUCCESS), "do_write failed"); + VRFY((hrc == SUCCESS), "do_write failed"); - /* Close file for write */ - hrc = do_fclose(iot, &fd); + /* Close file for write */ + hrc = do_fclose(iot, &fd); - io_time_set(res.timers, HDF5_GROSS_WRITE_FIXED_DIMS, TSTOP); - VRFY((hrc == SUCCESS), "do_fclose failed"); + io_time_set(res.timers, HDF5_GROSS_WRITE_FIXED_DIMS, TSTOP); + VRFY((hrc == SUCCESS), "do_fclose failed"); - if (!param.h5_write_only) { - /* - * Read performance measurement - */ - /* Need barrier to make sure everyone is done writing and has - * closed the file. Also to make sure everyone starts reading - * at the same time. - */ - MPI_Barrier(pio_comm_g); + if (!param.h5_write_only) { + /* + * Read performance measurement + */ + /* Need barrier to make sure everyone is done writing and has + * closed the file. Also to make sure everyone starts reading + * at the same time. + */ + MPI_Barrier(pio_comm_g); - /* Open file for read */ - io_time_set(res.timers, HDF5_GROSS_READ_FIXED_DIMS, TSTART); - hrc = do_fopen(¶m, fname, &fd, PIO_READ); + /* Open file for read */ + io_time_set(res.timers, HDF5_GROSS_READ_FIXED_DIMS, TSTART); + hrc = do_fopen(¶m, fname, &fd, PIO_READ); - VRFY((hrc == SUCCESS), "do_fopen failed"); + VRFY((hrc == SUCCESS), "do_fopen failed"); - io_time_set(res.timers, HDF5_FINE_READ_FIXED_DIMS, TSTART); - hrc = do_read(&res, &fd, ¶m, ndsets, nbytes, buf_size, buffer); - io_time_set(res.timers, HDF5_FINE_READ_FIXED_DIMS, TSTOP); - VRFY((hrc == SUCCESS), "do_read failed"); + io_time_set(res.timers, HDF5_FINE_READ_FIXED_DIMS, TSTART); + hrc = do_read(&res, &fd, ¶m, ndsets, nbytes, buf_size, buffer); + io_time_set(res.timers, HDF5_FINE_READ_FIXED_DIMS, TSTOP); + VRFY((hrc == SUCCESS), "do_read failed"); - /* Close file for read */ - hrc = do_fclose(iot, &fd); + /* Close file for read */ + hrc = do_fclose(iot, &fd); - io_time_set(res.timers, HDF5_GROSS_READ_FIXED_DIMS, TSTOP); - VRFY((hrc == SUCCESS), "do_fclose failed"); - } + io_time_set(res.timers, HDF5_GROSS_READ_FIXED_DIMS, TSTOP); + VRFY((hrc == SUCCESS), "do_fclose failed"); + } - /* Need barrier to make sure everyone is done with the file */ - /* before it may be removed by do_cleanupfile */ - MPI_Barrier(pio_comm_g); - do_cleanupfile(iot, fname); + /* Need barrier to make sure everyone is done with the file */ + /* before it may be removed by do_cleanupfile */ + MPI_Barrier(pio_comm_g); + do_cleanupfile(iot, fname); } done: @@ -378,7 +367,7 @@ done: } /* release generic resources */ - if(buffer) + if (buffer) HDfree(buffer); res.ret_code = ret_code; return res; @@ -394,12 +383,12 @@ done: * Programmer: Bill Wendling, 21. November 2001 * Modifications: */ - static char * +static char * pio_create_filename(iotype iot, const char *base_name, char *fullname, size_t size) { const char *prefix, *suffix = ""; - char *ptr, last = '\0'; - size_t i, j; + char * ptr, last = '\0'; + size_t i, j; if (!base_name || !fullname || size < 1) return NULL; @@ -426,7 +415,7 @@ pio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si #ifdef HDF5_PARAPREFIX if (!prefix) prefix = HDF5_PARAPREFIX; -#endif /* HDF5_PARAPREFIX */ +#endif /* HDF5_PARAPREFIX */ /* Prepend the prefix value to the base name */ if (prefix && *prefix) { @@ -435,12 +424,12 @@ pio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si * directory instead. */ register char *user, *login, *subdir; - user = HDgetenv("USER"); - login = HDgetenv("LOGIN"); + user = HDgetenv("USER"); + login = HDgetenv("LOGIN"); subdir = (user ? user : login); if (subdir) { - for (i = 0; i < size-1 && prefix[i]; i++) + for (i = 0; i < size - 1 && prefix[i]; i++) fullname[i] = prefix[i]; fullname[i++] = '/'; @@ -461,7 +450,7 @@ pio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si if (HDstat(fullname, &buf) < 0) /* The directory doesn't exist just yet */ - if (HDmkdir(fullname, (mode_t) 0755) < 0 && errno != EEXIST) { + if (HDmkdir(fullname, (mode_t)0755) < 0 && errno != EEXIST) { /* We couldn't make the "/tmp/${USER,LOGIN}" subdirectory. * Default to PREFIX's original prefix value. */ HDstrcpy(fullname, prefix); @@ -510,62 +499,62 @@ pio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si * Modifications: * Added 2D testing (Christian Chilan, 10. August 2005) */ - static herr_t -do_write(results *res, file_descr *fd, parameters *parms, long ndsets, - off_t nbytes, size_t buf_size, void *buffer) +static herr_t +do_write(results *res, file_descr *fd, parameters *parms, long ndsets, off_t nbytes, size_t buf_size, + void *buffer) { - int ret_code = SUCCESS; - int rc; /*routine return code */ - long ndset; - size_t blk_size; /* The block size to subdivide the xfer buffer into */ - off_t nbytes_xfer; /* Total number of bytes transferred so far */ - size_t nbytes_xfer_advance; /* Number of bytes transferred in a single I/O operation */ - size_t nbytes_toxfer; /* Number of bytes to transfer a particular time */ - char dname[64]; - off_t dset_offset=0; /*dataset offset in a file */ - off_t bytes_begin[2]; /*first elmt this process transfer */ - off_t bytes_count; /*number of elmts this process transfer */ - off_t snbytes=0; /*size of a side of the dataset square */ - unsigned char *buf_p; /* Current buffer pointer */ + int ret_code = SUCCESS; + int rc; /*routine return code */ + long ndset; + size_t blk_size; /* The block size to subdivide the xfer buffer into */ + off_t nbytes_xfer; /* Total number of bytes transferred so far */ + size_t nbytes_xfer_advance; /* Number of bytes transferred in a single I/O operation */ + size_t nbytes_toxfer; /* Number of bytes to transfer a particular time */ + char dname[64]; + off_t dset_offset = 0; /*dataset offset in a file */ + off_t bytes_begin[2]; /*first elmt this process transfer */ + off_t bytes_count; /*number of elmts this process transfer */ + off_t snbytes = 0; /*size of a side of the dataset square */ + unsigned char *buf_p; /* Current buffer pointer */ /* POSIX variables */ - off_t file_offset; /* File offset of the next transfer */ - off_t file_offset_advance; /* File offset advance after each I/O operation */ - off_t posix_file_offset; /* Base file offset of the next transfer */ + off_t file_offset; /* File offset of the next transfer */ + off_t file_offset_advance; /* File offset advance after each I/O operation */ + off_t posix_file_offset; /* Base file offset of the next transfer */ /* MPI variables */ - MPI_Offset mpi_file_offset; /* Base file offset of the next transfer*/ - MPI_Offset mpi_offset; /* Offset in MPI file */ - MPI_Offset mpi_offset_advance; /* Offset advance after each I/O operation */ - MPI_Datatype mpi_file_type; /* MPI derived type for 1D file */ - MPI_Datatype mpi_blk_type; /* MPI derived type for 1D buffer */ - MPI_Datatype mpi_cont_type; /* MPI derived type for 2D contiguous file */ - MPI_Datatype mpi_partial_buffer_cont; /* MPI derived type for partial 2D contiguous buffer */ - MPI_Datatype mpi_inter_type; /* MPI derived type for 2D interleaved file */ - MPI_Datatype mpi_partial_buffer_inter; /* MPI derived type for partial 2D interleaved buffer */ - MPI_Datatype mpi_full_buffer; /* MPI derived type for 2D full buffer */ - MPI_Datatype mpi_full_chunk; /* MPI derived type for 2D full chunk */ - MPI_Datatype mpi_chunk_inter_type; /* MPI derived type for 2D chunk interleaved file */ - MPI_Datatype mpi_collective_type; /* Generic MPI derived type for 2D collective access */ - MPI_Status mpi_status; - int mrc; /* MPI return code */ + MPI_Offset mpi_file_offset; /* Base file offset of the next transfer*/ + MPI_Offset mpi_offset; /* Offset in MPI file */ + MPI_Offset mpi_offset_advance; /* Offset advance after each I/O operation */ + MPI_Datatype mpi_file_type; /* MPI derived type for 1D file */ + MPI_Datatype mpi_blk_type; /* MPI derived type for 1D buffer */ + MPI_Datatype mpi_cont_type; /* MPI derived type for 2D contiguous file */ + MPI_Datatype mpi_partial_buffer_cont; /* MPI derived type for partial 2D contiguous buffer */ + MPI_Datatype mpi_inter_type; /* MPI derived type for 2D interleaved file */ + MPI_Datatype mpi_partial_buffer_inter; /* MPI derived type for partial 2D interleaved buffer */ + MPI_Datatype mpi_full_buffer; /* MPI derived type for 2D full buffer */ + MPI_Datatype mpi_full_chunk; /* MPI derived type for 2D full chunk */ + MPI_Datatype mpi_chunk_inter_type; /* MPI derived type for 2D chunk interleaved file */ + MPI_Datatype mpi_collective_type; /* Generic MPI derived type for 2D collective access */ + MPI_Status mpi_status; + int mrc; /* MPI return code */ /* HDF5 variables */ - herr_t hrc; /*HDF5 return code */ - hsize_t h5dims[2]; /*dataset dim sizes */ - hid_t h5dset_space_id = H5I_INVALID_HID; /*dataset space ID */ - hid_t h5mem_space_id = H5I_INVALID_HID; /*memory dataspace ID */ - hid_t h5ds_id = H5I_INVALID_HID; /*dataset handle */ - hsize_t h5block[2]; /*dataspace selection */ - hsize_t h5stride[2]; - hsize_t h5count[2]; - hsize_t h5start[2]; - hssize_t h5offset[2]; /* Selection offset within dataspace */ - hid_t h5dcpl = H5I_INVALID_HID; /* Dataset creation property list */ - hid_t h5dxpl = H5I_INVALID_HID; /* Dataset transfer property list */ + herr_t hrc; /*HDF5 return code */ + hsize_t h5dims[2]; /*dataset dim sizes */ + hid_t h5dset_space_id = H5I_INVALID_HID; /*dataset space ID */ + hid_t h5mem_space_id = H5I_INVALID_HID; /*memory dataspace ID */ + hid_t h5ds_id = H5I_INVALID_HID; /*dataset handle */ + hsize_t h5block[2]; /*dataspace selection */ + hsize_t h5stride[2]; + hsize_t h5count[2]; + hsize_t h5start[2]; + hssize_t h5offset[2]; /* Selection offset within dataspace */ + hid_t h5dcpl = H5I_INVALID_HID; /* Dataset creation property list */ + hid_t h5dxpl = H5I_INVALID_HID; /* Dataset transfer property list */ /* Get the parameters from the parameter block */ - blk_size=parms->blk_size; + blk_size = parms->blk_size; /* There are two kinds of transfer patterns, contiguous and interleaved. * Let 0,1,2,...,n be data accessed by process 0,1,2,...,n @@ -578,20 +567,20 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets, */ /* 1D dataspace */ - if (!parms->dim2d){ + if (!parms->dim2d) { /* Contiguous Pattern: */ if (!parms->interleaved) { - bytes_begin[0] = (off_t)(((double)nbytes*pio_mpi_rank_g)/pio_mpi_nprocs_g); + bytes_begin[0] = (off_t)(((double)nbytes * pio_mpi_rank_g) / pio_mpi_nprocs_g); } /* end if */ /* Interleaved Pattern: */ else { - bytes_begin[0] = (off_t)(blk_size*(size_t)pio_mpi_rank_g); + bytes_begin[0] = (off_t)(blk_size * (size_t)pio_mpi_rank_g); } /* end else */ /* Prepare buffer for verifying data */ if (parms->verify) - memset(buffer,pio_mpi_rank_g+1,buf_size); - }/* end if */ + memset(buffer, pio_mpi_rank_g + 1, buf_size); + } /* end if */ /* 2D dataspace */ else { /* nbytes is always the number of bytes per dataset (1D or 2D). If the @@ -601,25 +590,24 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets, /* Contiguous Pattern: */ if (!parms->interleaved) { - bytes_begin[0] = (off_t)((double)snbytes*pio_mpi_rank_g / pio_mpi_nprocs_g); + bytes_begin[0] = (off_t)((double)snbytes * pio_mpi_rank_g / pio_mpi_nprocs_g); bytes_begin[1] = 0; } /* end if */ /* Interleaved Pattern: */ else { bytes_begin[0] = 0; - if(!parms->h5_use_chunks || parms->io_type==PHDF5) - bytes_begin[1] = (off_t)(blk_size*(size_t)pio_mpi_rank_g); + if (!parms->h5_use_chunks || parms->io_type == PHDF5) + bytes_begin[1] = (off_t)(blk_size * (size_t)pio_mpi_rank_g); else - bytes_begin[1] = (off_t)(blk_size*blk_size*(size_t)pio_mpi_rank_g); + bytes_begin[1] = (off_t)(blk_size * blk_size * (size_t)pio_mpi_rank_g); } /* end else */ /* Prepare buffer for verifying data */ if (parms->verify) - HDmemset(buffer,pio_mpi_rank_g+1,buf_size*blk_size); + HDmemset(buffer, pio_mpi_rank_g + 1, buf_size * blk_size); } /* end else */ - /* Calculate the total number of bytes (bytes_count) to be * transferred by this process. It may be different for different * transfer pattern due to rounding to integral values. @@ -630,861 +618,887 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets, * This way, it eliminates any rounding errors. * (This is tricky, don't mess with the formula, rounding errors * can easily get introduced) */ - bytes_count = (off_t)(((double)nbytes*(pio_mpi_rank_g+1)) / pio_mpi_nprocs_g) - - (off_t)(((double)nbytes*pio_mpi_rank_g) / pio_mpi_nprocs_g); + bytes_count = (off_t)(((double)nbytes * (pio_mpi_rank_g + 1)) / pio_mpi_nprocs_g) - + (off_t)(((double)nbytes * pio_mpi_rank_g) / pio_mpi_nprocs_g); /* debug */ if (pio_debug_level >= 4) { HDprint_rank(output); if (!parms->dim2d) { - HDfprintf(output, "Debug(do_write): " - "buf_size=%zu, bytes_begin=%" H5_PRINTF_LL_WIDTH "d, bytes_count=%" H5_PRINTF_LL_WIDTH "d\n", - buf_size, (long long)bytes_begin[0], - (long long)bytes_count); - } else { - HDfprintf(output, "Debug(do_write): " - "linear buf_size=%zu, bytes_begin=(%" H5_PRINTF_LL_WIDTH "d,%" H5_PRINTF_LL_WIDTH "d), bytes_count=%" H5_PRINTF_LL_WIDTH "d\n", - buf_size*blk_size, (long long)bytes_begin[0], - (long long)bytes_begin[1], (long long)bytes_count); + HDfprintf(output, + "Debug(do_write): " + "buf_size=%zu, bytes_begin=%" H5_PRINTF_LL_WIDTH "d, bytes_count=%" H5_PRINTF_LL_WIDTH + "d\n", + buf_size, (long long)bytes_begin[0], (long long)bytes_count); + } + else { + HDfprintf(output, + "Debug(do_write): " + "linear buf_size=%zu, bytes_begin=(%" H5_PRINTF_LL_WIDTH "d,%" H5_PRINTF_LL_WIDTH + "d), bytes_count=%" H5_PRINTF_LL_WIDTH "d\n", + buf_size * blk_size, (long long)bytes_begin[0], (long long)bytes_begin[1], + (long long)bytes_count); } } /* I/O Access specific setup */ switch (parms->io_type) { - case POSIXIO: - /* No extra setup */ - break; - - case MPIO: /* MPI-I/O setup */ - /* 1D dataspace */ - if (!parms->dim2d){ - /* Build block's derived type */ - mrc = MPI_Type_contiguous((int)blk_size, - MPI_BYTE, &mpi_blk_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Build file's derived type */ - mrc = MPI_Type_vector((int)(buf_size/blk_size), (int)1, - (int)pio_mpi_nprocs_g, mpi_blk_type, &mpi_file_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit file type */ - mrc = MPI_Type_commit( &mpi_file_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Commit buffer type */ - mrc = MPI_Type_commit( &mpi_blk_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - } /* end if */ - /* 2D dataspace */ - else { - /* Build partial buffer derived type for contiguous access */ - - mrc = MPI_Type_contiguous((int)buf_size, MPI_BYTE, - &mpi_partial_buffer_cont); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit partial buffer derived type */ - mrc = MPI_Type_commit(&mpi_partial_buffer_cont); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build contiguous file's derived type */ - mrc = MPI_Type_vector((int)blk_size, (int)1, (int)((size_t)snbytes/buf_size), - mpi_partial_buffer_cont, &mpi_cont_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit contiguous file type */ - mrc = MPI_Type_commit(&mpi_cont_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build partial buffer derived type for interleaved access */ - mrc = MPI_Type_contiguous((int)blk_size, MPI_BYTE, - &mpi_partial_buffer_inter); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit partial buffer derived type */ - mrc = MPI_Type_commit(&mpi_partial_buffer_inter); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build interleaved file's derived type */ - mrc = MPI_Type_vector((int)buf_size, (int)1, (int)((size_t)snbytes/blk_size), - mpi_partial_buffer_inter, &mpi_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit interleaved file type */ - mrc = MPI_Type_commit(&mpi_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build full buffer derived type */ - mrc = MPI_Type_contiguous((int)(blk_size*buf_size), MPI_BYTE, - &mpi_full_buffer); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit full buffer derived type */ - mrc = MPI_Type_commit(&mpi_full_buffer); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build full chunk derived type */ - mrc = MPI_Type_contiguous((int)(blk_size*blk_size), MPI_BYTE, - &mpi_full_chunk); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit full chunk derived type */ - mrc = MPI_Type_commit(&mpi_full_chunk); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build chunk interleaved file's derived type */ - mrc = MPI_Type_vector((int)(buf_size/blk_size), (int)1, (int)((size_t)snbytes/blk_size), - mpi_full_chunk, &mpi_chunk_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit chunk interleaved file type */ - mrc = MPI_Type_commit(&mpi_chunk_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - } /* end else */ - break; - - case PHDF5: /* HDF5 setup */ - /* 1D dataspace */ - if (!parms->dim2d){ - if(nbytes>0) { - /* define a contiguous dataset of nbytes native bytes */ - h5dims[0] = (hsize_t)nbytes; - h5dset_space_id = H5Screate_simple(1, h5dims, NULL); - VRFY((h5dset_space_id >= 0), "H5Screate_simple"); - - /* Set up the file dset space id to select the pattern to access */ - if (!parms->interleaved){ - /* Contiguous pattern */ - h5start[0] = (hsize_t)bytes_begin[0]; - h5stride[0] = h5block[0] = blk_size; - h5count[0] = buf_size/blk_size; - } /* end if */ - else { - /* Interleaved access pattern */ - /* Skip offset over blocks of other processes */ - h5start[0] = (hsize_t)bytes_begin[0]; - h5stride[0] = blk_size*(size_t)pio_mpi_nprocs_g; - h5block[0] = blk_size; - h5count[0] = buf_size/blk_size; - } /* end else */ - hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, - h5start, h5stride, h5count, h5block); - VRFY((hrc >= 0), "H5Sselect_hyperslab"); - } /* end if */ - else { - h5dset_space_id = H5Screate(H5S_SCALAR); - VRFY((h5dset_space_id >= 0), "H5Screate"); - } /* end else */ - - /* Create the memory dataspace that corresponds to the xfer buffer */ - if(buf_size>0) { - h5dims[0] = buf_size; - h5mem_space_id = H5Screate_simple(1, h5dims, NULL); - VRFY((h5mem_space_id >= 0), "H5Screate_simple"); - } /* end if */ - else { - h5mem_space_id = H5Screate(H5S_SCALAR); - VRFY((h5mem_space_id >= 0), "H5Screate"); - } /* end else */ - } /* end if */ - /* 2D dataspace */ - else { - if(nbytes>0) { - /* define a contiguous dataset of nbytes native bytes */ - h5dims[0] = (hsize_t)snbytes; - h5dims[1] = (hsize_t)snbytes; - h5dset_space_id = H5Screate_simple(2, h5dims, NULL); - VRFY((h5dset_space_id >= 0), "H5Screate_simple"); - - /* Set up the file dset space id to select the pattern to access */ - if (!parms->interleaved){ - /* Contiguous pattern */ - h5start[0] = (hsize_t)bytes_begin[0]; - h5start[1] = (hsize_t)bytes_begin[1]; - h5stride[0] = 1; - h5stride[1] = h5block[0] = h5block[1] = blk_size; - h5count[0] = 1; - h5count[1] = buf_size/blk_size; - } /* end if */ - else { - /* Interleaved access pattern */ - /* Skip offset over blocks of other processes */ - h5start[0] = (hsize_t)bytes_begin[0]; - h5start[1] = (hsize_t)bytes_begin[1]; - h5stride[0] = blk_size; - h5stride[1] = blk_size*(size_t)pio_mpi_nprocs_g; - h5block[0] = h5block[1] = blk_size; - h5count[0] = buf_size/blk_size; - h5count[1] = 1; - } /* end else */ - hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, - h5start, h5stride, h5count, h5block); - VRFY((hrc >= 0), "H5Sselect_hyperslab"); - } /* end if */ - else { - h5dset_space_id = H5Screate(H5S_SCALAR); - VRFY((h5dset_space_id >= 0), "H5Screate"); - } /* end else */ + case POSIXIO: + /* No extra setup */ + break; - /* Create the memory dataspace that corresponds to the xfer buffer */ - if(buf_size>0) { - if (!parms->interleaved){ - h5dims[0] = blk_size; - h5dims[1] = buf_size; - }else{ - h5dims[0] = buf_size; - h5dims[1] = blk_size; - } - h5mem_space_id = H5Screate_simple(2, h5dims, NULL); - VRFY((h5mem_space_id >= 0), "H5Screate_simple"); + case MPIO: /* MPI-I/O setup */ + /* 1D dataspace */ + if (!parms->dim2d) { + /* Build block's derived type */ + mrc = MPI_Type_contiguous((int)blk_size, MPI_BYTE, &mpi_blk_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Build file's derived type */ + mrc = MPI_Type_vector((int)(buf_size / blk_size), (int)1, (int)pio_mpi_nprocs_g, mpi_blk_type, + &mpi_file_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit file type */ + mrc = MPI_Type_commit(&mpi_file_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); + + /* Commit buffer type */ + mrc = MPI_Type_commit(&mpi_blk_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); } /* end if */ + /* 2D dataspace */ else { - h5mem_space_id = H5Screate(H5S_SCALAR); - VRFY((h5mem_space_id >= 0), "H5Screate"); - } /* end else */ - } /* end else */ + /* Build partial buffer derived type for contiguous access */ - /* Create the dataset transfer property list */ - h5dxpl = H5Pcreate(H5P_DATASET_XFER); - if (h5dxpl < 0) { - HDfprintf(stderr, "HDF5 Property List Create failed\n"); - GOTOERROR(FAIL); - } + mrc = MPI_Type_contiguous((int)buf_size, MPI_BYTE, &mpi_partial_buffer_cont); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); - /* Change to collective I/O, if asked */ - if(parms->collective) { - hrc = H5Pset_dxpl_mpio(h5dxpl, H5FD_MPIO_COLLECTIVE); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Property List Set failed\n"); - GOTOERROR(FAIL); - } /* end if */ - } /* end if */ - break; - - default: - break; - } /* end switch */ + /* Commit partial buffer derived type */ + mrc = MPI_Type_commit(&mpi_partial_buffer_cont); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - for (ndset = 1; ndset <= ndsets; ++ndset) { + /* Build contiguous file's derived type */ + mrc = MPI_Type_vector((int)blk_size, (int)1, (int)((size_t)snbytes / buf_size), + mpi_partial_buffer_cont, &mpi_cont_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); - /* Calculate dataset offset within a file */ + /* Commit contiguous file type */ + mrc = MPI_Type_commit(&mpi_cont_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - /* create dataset */ - switch (parms->io_type) { - case POSIXIO: - case MPIO: - /* both posix and mpi io just need dataset offset in file*/ - dset_offset = (ndset - 1) * nbytes; - break; + /* Build partial buffer derived type for interleaved access */ + mrc = MPI_Type_contiguous((int)blk_size, MPI_BYTE, &mpi_partial_buffer_inter); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); - case PHDF5: - h5dcpl = H5Pcreate(H5P_DATASET_CREATE); - if (h5dcpl < 0) { - HDfprintf(stderr, "HDF5 Property List Create failed\n"); - GOTOERROR(FAIL); - } - /* 1D dataspace */ - if (!parms->dim2d){ - /* Make the dataset chunked if asked */ - if(parms->h5_use_chunks) { - /* Set the chunk size to be the same as the buffer size */ - h5dims[0] = blk_size; - hrc = H5Pset_chunk(h5dcpl, 1, h5dims); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Property List Set failed\n"); - GOTOERROR(FAIL); - } /* end if */ - } /* end if */ - }/* end if */ - else{ - /* 2D dataspace */ - if(parms->h5_use_chunks) { - /* Set the chunk size to be the same as the block size */ - h5dims[0] = blk_size; - h5dims[1] = blk_size; - hrc = H5Pset_chunk(h5dcpl, 2, h5dims); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Property List Set failed\n"); - GOTOERROR(FAIL); - } /* end if */ - } /* end if */ - }/* end else */ + /* Commit partial buffer derived type */ + mrc = MPI_Type_commit(&mpi_partial_buffer_inter); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - HDsprintf(dname, "Dataset_%ld", ndset); - h5ds_id = H5DCREATE(fd->h5fd, dname, ELMT_H5_TYPE, - h5dset_space_id, h5dcpl); + /* Build interleaved file's derived type */ + mrc = MPI_Type_vector((int)buf_size, (int)1, (int)((size_t)snbytes / blk_size), + mpi_partial_buffer_inter, &mpi_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); - if (h5ds_id < 0) { - HDfprintf(stderr, "HDF5 Dataset Create failed\n"); - GOTOERROR(FAIL); - } + /* Commit interleaved file type */ + mrc = MPI_Type_commit(&mpi_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - hrc = H5Pclose(h5dcpl); - /* verifying the close of the dcpl */ - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Property List Close failed\n"); - GOTOERROR(FAIL); - } - break; + /* Build full buffer derived type */ + mrc = MPI_Type_contiguous((int)(blk_size * buf_size), MPI_BYTE, &mpi_full_buffer); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); - default: - break; - } + /* Commit full buffer derived type */ + mrc = MPI_Type_commit(&mpi_full_buffer); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - /* The task is to transfer bytes_count bytes, starting at - * bytes_begin position, using transfer buffer of buf_size bytes. - * If interleaved, select buf_size at a time, in round robin - * fashion, according to number of process. Otherwise, select - * all bytes_count in contiguous. - */ - nbytes_xfer = 0 ; + /* Build full chunk derived type */ + mrc = MPI_Type_contiguous((int)(blk_size * blk_size), MPI_BYTE, &mpi_full_chunk); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); - /* 1D dataspace */ - if (!parms->dim2d){ - /* Set base file offset for all I/O patterns and POSIX access */ - posix_file_offset = dset_offset + bytes_begin[0]; + /* Commit full chunk derived type */ + mrc = MPI_Type_commit(&mpi_full_chunk); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - /* Set base file offset for all I/O patterns and MPI access */ - mpi_file_offset = (MPI_Offset)(dset_offset + bytes_begin[0]); - } /* end if */ - else { - /* Set base file offset for all I/O patterns and POSIX access */ - posix_file_offset=dset_offset + bytes_begin[0]*snbytes+ - bytes_begin[1]; + /* Build chunk interleaved file's derived type */ + mrc = MPI_Type_vector((int)(buf_size / blk_size), (int)1, (int)((size_t)snbytes / blk_size), + mpi_full_chunk, &mpi_chunk_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); - /* Set base file offset for all I/O patterns and MPI access */ - mpi_file_offset=(MPI_Offset)(dset_offset + bytes_begin[0]*snbytes+ - bytes_begin[1]); - } /* end else */ + /* Commit chunk interleaved file type */ + mrc = MPI_Type_commit(&mpi_chunk_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - /* Start "raw data" write timer */ - io_time_set(res->timers, HDF5_RAW_WRITE_FIXED_DIMS, TSTART); + } /* end else */ + break; - while (nbytes_xfer < bytes_count){ - /* Write */ - /* Calculate offset of write within a dataset/file */ - switch (parms->io_type) { - case POSIXIO: + case PHDF5: /* HDF5 setup */ /* 1D dataspace */ - if (!parms->dim2d){ - /* Contiguous pattern */ - if (!parms->interleaved) { - /* Compute file offset */ - file_offset = posix_file_offset + (off_t)nbytes_xfer; - - /* only care if seek returns error */ - rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; - VRFY((rc==0), "POSIXSEEK"); - - /* check if all bytes are written */ - rc = ((ssize_t)buf_size == - POSIXWRITE(fd->posixfd, buffer, buf_size)); - VRFY((rc != 0), "POSIXWRITE"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(ssize_t)buf_size; + if (!parms->dim2d) { + if (nbytes > 0) { + /* define a contiguous dataset of nbytes native bytes */ + h5dims[0] = (hsize_t)nbytes; + h5dset_space_id = H5Screate_simple(1, h5dims, NULL); + VRFY((h5dset_space_id >= 0), "H5Screate_simple"); + + /* Set up the file dset space id to select the pattern to access */ + if (!parms->interleaved) { + /* Contiguous pattern */ + h5start[0] = (hsize_t)bytes_begin[0]; + h5stride[0] = h5block[0] = blk_size; + h5count[0] = buf_size / blk_size; + } /* end if */ + else { + /* Interleaved access pattern */ + /* Skip offset over blocks of other processes */ + h5start[0] = (hsize_t)bytes_begin[0]; + h5stride[0] = blk_size * (size_t)pio_mpi_nprocs_g; + h5block[0] = blk_size; + h5count[0] = buf_size / blk_size; + } /* end else */ + hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, h5start, h5stride, h5count, + h5block); + VRFY((hrc >= 0), "H5Sselect_hyperslab"); } /* end if */ - /* Interleaved access pattern */ else { - /* Set the base of user's buffer */ - buf_p=(unsigned char *)buffer; - - /* Set the number of bytes to transfer this time */ - nbytes_toxfer = buf_size; - - /* Loop over the buffers to write */ - while(nbytes_toxfer>0) { - /* Skip offset over blocks of other processes */ - file_offset = posix_file_offset + - (off_t)(nbytes_xfer*pio_mpi_nprocs_g); - - /* only care if seek returns error */ - rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; - VRFY((rc==0), "POSIXSEEK"); - - /* check if all bytes are written */ - rc = ((ssize_t)blk_size == - POSIXWRITE(fd->posixfd, buf_p, blk_size)); - VRFY((rc != 0), "POSIXWRITE"); - - /* Advance location in buffer */ - buf_p+=blk_size; - - /* Advance global offset in dataset */ - nbytes_xfer+=(ssize_t)blk_size; + h5dset_space_id = H5Screate(H5S_SCALAR); + VRFY((h5dset_space_id >= 0), "H5Screate"); + } /* end else */ - /* Decrement number of bytes left this time */ - nbytes_toxfer-=blk_size; - } /* end while */ + /* Create the memory dataspace that corresponds to the xfer buffer */ + if (buf_size > 0) { + h5dims[0] = buf_size; + h5mem_space_id = H5Screate_simple(1, h5dims, NULL); + VRFY((h5mem_space_id >= 0), "H5Screate_simple"); + } /* end if */ + else { + h5mem_space_id = H5Screate(H5S_SCALAR); + VRFY((h5mem_space_id >= 0), "H5Screate"); } /* end else */ - } /* end if */ + } /* end if */ /* 2D dataspace */ else { - /* Contiguous storage */ - if (!parms->h5_use_chunks) { - /* Contiguous access pattern */ + if (nbytes > 0) { + /* define a contiguous dataset of nbytes native bytes */ + h5dims[0] = (hsize_t)snbytes; + h5dims[1] = (hsize_t)snbytes; + h5dset_space_id = H5Screate_simple(2, h5dims, NULL); + VRFY((h5dset_space_id >= 0), "H5Screate_simple"); + + /* Set up the file dset space id to select the pattern to access */ if (!parms->interleaved) { - /* Compute file offset */ - file_offset=posix_file_offset+(off_t)((((size_t)nbytes_xfer/blk_size) - /(size_t)snbytes)*(blk_size*(size_t)snbytes)+(((size_t)nbytes_xfer/blk_size)%(size_t)snbytes)); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = buf_size; - - /* Global offset advance after each I/O operation */ - file_offset_advance = (off_t)snbytes; + /* Contiguous pattern */ + h5start[0] = (hsize_t)bytes_begin[0]; + h5start[1] = (hsize_t)bytes_begin[1]; + h5stride[0] = 1; + h5stride[1] = h5block[0] = h5block[1] = blk_size; + h5count[0] = 1; + h5count[1] = buf_size / blk_size; } /* end if */ - /* Interleaved access pattern */ else { - /* Compute file offset */ - file_offset=posix_file_offset+(off_t)(((((size_t)nbytes_xfer/buf_size) - *(size_t)pio_mpi_nprocs_g)/(size_t)snbytes)*(buf_size*(size_t)snbytes) - +(((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)%(size_t)snbytes); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size; - - /* Global offset advance after each I/O operation */ - file_offset_advance = (off_t)snbytes; + /* Interleaved access pattern */ + /* Skip offset over blocks of other processes */ + h5start[0] = (hsize_t)bytes_begin[0]; + h5start[1] = (hsize_t)bytes_begin[1]; + h5stride[0] = blk_size; + h5stride[1] = blk_size * (size_t)pio_mpi_nprocs_g; + h5block[0] = h5block[1] = blk_size; + h5count[0] = buf_size / blk_size; + h5count[1] = 1; } /* end else */ + hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, h5start, h5stride, h5count, + h5block); + VRFY((hrc >= 0), "H5Sselect_hyperslab"); } /* end if */ - /* Chunked storage */ else { - /*Contiguous access pattern */ - if (!parms->interleaved) { - /* Compute file offset */ - file_offset=posix_file_offset+(off_t)nbytes_xfer; - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size * buf_size; + h5dset_space_id = H5Screate(H5S_SCALAR); + VRFY((h5dset_space_id >= 0), "H5Screate"); + } /* end else */ - /* Global offset advance after each I/O operation */ - file_offset_advance = 0; - } /* end if */ - /*Interleaved access pattern */ + /* Create the memory dataspace that corresponds to the xfer buffer */ + if (buf_size > 0) { + if (!parms->interleaved) { + h5dims[0] = blk_size; + h5dims[1] = buf_size; + } else { - /* Compute file offset */ - /* Before simplification */ - /* file_offset=posix_file_offset+(off_t)((nbytes_xfer/(buf_size/blk_size) - *pio_mpi_nprocs_g)/(snbytes/blk_size*(blk_size*blk_size))*(buf_size/blk_size - *snbytes/blk_size*(blk_size*blk_size))+((nbytes_xfer/(buf_size/blk_size)) - *pio_mpi_nprocs_g)%(snbytes/blk_size*(blk_size*blk_size))); */ - - file_offset=posix_file_offset+(off_t)((((size_t)nbytes_xfer/(buf_size/blk_size) - *(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*blk_size))*(buf_size*(size_t)snbytes)+(((size_t)nbytes_xfer/(buf_size/blk_size)) - *(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*blk_size)); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size * blk_size; - - /* Global offset advance after each I/O operation */ - /* file_offset_advance = (off_t)(snbytes/blk_size*(blk_size*blk_size)); */ - file_offset_advance = (off_t)snbytes*(off_t)blk_size; - } /* end else */ + h5dims[0] = buf_size; + h5dims[1] = blk_size; + } + h5mem_space_id = H5Screate_simple(2, h5dims, NULL); + VRFY((h5mem_space_id >= 0), "H5Screate_simple"); + } /* end if */ + else { + h5mem_space_id = H5Screate(H5S_SCALAR); + VRFY((h5mem_space_id >= 0), "H5Screate"); } /* end else */ + } /* end else */ + + /* Create the dataset transfer property list */ + h5dxpl = H5Pcreate(H5P_DATASET_XFER); + if (h5dxpl < 0) { + HDfprintf(stderr, "HDF5 Property List Create failed\n"); + GOTOERROR(FAIL); + } - /* Common code for file access */ + /* Change to collective I/O, if asked */ + if (parms->collective) { + hrc = H5Pset_dxpl_mpio(h5dxpl, H5FD_MPIO_COLLECTIVE); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Property List Set failed\n"); + GOTOERROR(FAIL); + } /* end if */ + } /* end if */ + break; - /* Set the base of user's buffer */ - buf_p = (unsigned char *)buffer; + default: + break; + } /* end switch */ - /* Set the number of bytes to transfer this time */ - nbytes_toxfer = buf_size*blk_size; + for (ndset = 1; ndset <= ndsets; ++ndset) { - /* Loop over portions of the buffer to write */ - while(nbytes_toxfer>0){ - /* only care if seek returns error */ - rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; - VRFY((rc==0), "POSIXSEEK"); + /* Calculate dataset offset within a file */ - /* check if all bytes are written */ - rc = ((ssize_t)nbytes_xfer_advance == - POSIXWRITE(fd->posixfd, buf_p, nbytes_xfer_advance)); - VRFY((rc != 0), "POSIXWRITE"); + /* create dataset */ + switch (parms->io_type) { + case POSIXIO: + case MPIO: + /* both posix and mpi io just need dataset offset in file*/ + dset_offset = (ndset - 1) * nbytes; + break; - /* Advance location in buffer */ - buf_p+=nbytes_xfer_advance; + case PHDF5: + h5dcpl = H5Pcreate(H5P_DATASET_CREATE); + if (h5dcpl < 0) { + HDfprintf(stderr, "HDF5 Property List Create failed\n"); + GOTOERROR(FAIL); + } + /* 1D dataspace */ + if (!parms->dim2d) { + /* Make the dataset chunked if asked */ + if (parms->h5_use_chunks) { + /* Set the chunk size to be the same as the buffer size */ + h5dims[0] = blk_size; + hrc = H5Pset_chunk(h5dcpl, 1, h5dims); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Property List Set failed\n"); + GOTOERROR(FAIL); + } /* end if */ + } /* end if */ + } /* end if */ + else { + /* 2D dataspace */ + if (parms->h5_use_chunks) { + /* Set the chunk size to be the same as the block size */ + h5dims[0] = blk_size; + h5dims[1] = blk_size; + hrc = H5Pset_chunk(h5dcpl, 2, h5dims); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Property List Set failed\n"); + GOTOERROR(FAIL); + } /* end if */ + } /* end if */ + } /* end else */ + + HDsprintf(dname, "Dataset_%ld", ndset); + h5ds_id = H5DCREATE(fd->h5fd, dname, ELMT_H5_TYPE, h5dset_space_id, h5dcpl); + + if (h5ds_id < 0) { + HDfprintf(stderr, "HDF5 Dataset Create failed\n"); + GOTOERROR(FAIL); + } - /* Advance global offset in dataset */ - nbytes_xfer+=(ssize_t)nbytes_xfer_advance; + hrc = H5Pclose(h5dcpl); + /* verifying the close of the dcpl */ + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Property List Close failed\n"); + GOTOERROR(FAIL); + } + break; - /* Decrement number of bytes left this time */ - nbytes_toxfer-=nbytes_xfer_advance; + default: + break; + } - /* Partially advance file offset */ - file_offset+=file_offset_advance; - } /* end while */ + /* The task is to transfer bytes_count bytes, starting at + * bytes_begin position, using transfer buffer of buf_size bytes. + * If interleaved, select buf_size at a time, in round robin + * fashion, according to number of process. Otherwise, select + * all bytes_count in contiguous. + */ + nbytes_xfer = 0; - } /* end else */ + /* 1D dataspace */ + if (!parms->dim2d) { + /* Set base file offset for all I/O patterns and POSIX access */ + posix_file_offset = dset_offset + bytes_begin[0]; - break; + /* Set base file offset for all I/O patterns and MPI access */ + mpi_file_offset = (MPI_Offset)(dset_offset + bytes_begin[0]); + } /* end if */ + else { + /* Set base file offset for all I/O patterns and POSIX access */ + posix_file_offset = dset_offset + bytes_begin[0] * snbytes + bytes_begin[1]; - case MPIO: - /* 1D dataspace */ - if (!parms->dim2d){ - /* Independent file access */ - if(!parms->collective) { - /* Contiguous pattern */ - if (!parms->interleaved){ - /* Compute offset in file */ - mpi_offset = mpi_file_offset + - nbytes_xfer; - - /* Perform independent write */ - mrc = MPI_File_write_at(fd->mpifd, mpi_offset, buffer, - (int)(buf_size/blk_size), mpi_blk_type, - &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(ssize_t)buf_size; - } /* end if */ - /* Interleaved access pattern */ + /* Set base file offset for all I/O patterns and MPI access */ + mpi_file_offset = (MPI_Offset)(dset_offset + bytes_begin[0] * snbytes + bytes_begin[1]); + } /* end else */ + + /* Start "raw data" write timer */ + io_time_set(res->timers, HDF5_RAW_WRITE_FIXED_DIMS, TSTART); + + while (nbytes_xfer < bytes_count) { + /* Write */ + /* Calculate offset of write within a dataset/file */ + switch (parms->io_type) { + case POSIXIO: + /* 1D dataspace */ + if (!parms->dim2d) { + /* Contiguous pattern */ + if (!parms->interleaved) { + /* Compute file offset */ + file_offset = posix_file_offset + (off_t)nbytes_xfer; + + /* only care if seek returns error */ + rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; + VRFY((rc == 0), "POSIXSEEK"); + + /* check if all bytes are written */ + rc = ((ssize_t)buf_size == POSIXWRITE(fd->posixfd, buffer, buf_size)); + VRFY((rc != 0), "POSIXWRITE"); + + /* Advance global offset in dataset */ + nbytes_xfer += (ssize_t)buf_size; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Set the base of user's buffer */ + buf_p = (unsigned char *)buffer; + + /* Set the number of bytes to transfer this time */ + nbytes_toxfer = buf_size; + + /* Loop over the buffers to write */ + while (nbytes_toxfer > 0) { + /* Skip offset over blocks of other processes */ + file_offset = posix_file_offset + (off_t)(nbytes_xfer * pio_mpi_nprocs_g); + + /* only care if seek returns error */ + rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; + VRFY((rc == 0), "POSIXSEEK"); + + /* check if all bytes are written */ + rc = ((ssize_t)blk_size == POSIXWRITE(fd->posixfd, buf_p, blk_size)); + VRFY((rc != 0), "POSIXWRITE"); + + /* Advance location in buffer */ + buf_p += blk_size; + + /* Advance global offset in dataset */ + nbytes_xfer += (ssize_t)blk_size; + + /* Decrement number of bytes left this time */ + nbytes_toxfer -= blk_size; + } /* end while */ + } /* end else */ + } /* end if */ + /* 2D dataspace */ else { + /* Contiguous storage */ + if (!parms->h5_use_chunks) { + /* Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute file offset */ + file_offset = posix_file_offset + + (off_t)((((size_t)nbytes_xfer / blk_size) / (size_t)snbytes) * + (blk_size * (size_t)snbytes) + + (((size_t)nbytes_xfer / blk_size) % (size_t)snbytes)); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = buf_size; + + /* Global offset advance after each I/O operation */ + file_offset_advance = (off_t)snbytes; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Compute file offset */ + file_offset = + posix_file_offset + + (off_t)(((((size_t)nbytes_xfer / buf_size) * (size_t)pio_mpi_nprocs_g) / + (size_t)snbytes) * + (buf_size * (size_t)snbytes) + + (((size_t)nbytes_xfer / buf_size) * (size_t)pio_mpi_nprocs_g) % + (size_t)snbytes); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size; + + /* Global offset advance after each I/O operation */ + file_offset_advance = (off_t)snbytes; + } /* end else */ + } /* end if */ + /* Chunked storage */ + else { + /*Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute file offset */ + file_offset = posix_file_offset + (off_t)nbytes_xfer; + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size * buf_size; + + /* Global offset advance after each I/O operation */ + file_offset_advance = 0; + } /* end if */ + /*Interleaved access pattern */ + else { + /* Compute file offset */ + /* Before simplification */ + /* file_offset=posix_file_offset+(off_t)((nbytes_xfer/(buf_size/blk_size) + *pio_mpi_nprocs_g)/(snbytes/blk_size*(blk_size*blk_size))*(buf_size/blk_size + *snbytes/blk_size*(blk_size*blk_size))+((nbytes_xfer/(buf_size/blk_size)) + *pio_mpi_nprocs_g)%(snbytes/blk_size*(blk_size*blk_size))); */ + + file_offset = posix_file_offset + + (off_t)((((size_t)nbytes_xfer / (buf_size / blk_size) * + (size_t)pio_mpi_nprocs_g) / + ((size_t)snbytes * blk_size)) * + (buf_size * (size_t)snbytes) + + (((size_t)nbytes_xfer / (buf_size / blk_size)) * + (size_t)pio_mpi_nprocs_g) % + ((size_t)snbytes * blk_size)); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size * blk_size; + + /* Global offset advance after each I/O operation */ + /* file_offset_advance = (off_t)(snbytes/blk_size*(blk_size*blk_size)); */ + file_offset_advance = (off_t)snbytes * (off_t)blk_size; + } /* end else */ + } /* end else */ + + /* Common code for file access */ + /* Set the base of user's buffer */ - buf_p=(unsigned char *)buffer; + buf_p = (unsigned char *)buffer; /* Set the number of bytes to transfer this time */ - nbytes_toxfer = buf_size; + nbytes_toxfer = buf_size * blk_size; - /* Loop over the buffers to write */ - while(nbytes_toxfer>0) { - /* Skip offset over blocks of other processes */ - mpi_offset = mpi_file_offset + - (nbytes_xfer*pio_mpi_nprocs_g); + /* Loop over portions of the buffer to write */ + while (nbytes_toxfer > 0) { + /* only care if seek returns error */ + rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; + VRFY((rc == 0), "POSIXSEEK"); - /* Perform independent write */ - mrc = MPI_File_write_at(fd->mpifd, mpi_offset, buf_p, - (int)1, mpi_blk_type, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE"); + /* check if all bytes are written */ + rc = ((ssize_t)nbytes_xfer_advance == + POSIXWRITE(fd->posixfd, buf_p, nbytes_xfer_advance)); + VRFY((rc != 0), "POSIXWRITE"); /* Advance location in buffer */ - buf_p+=blk_size; + buf_p += nbytes_xfer_advance; /* Advance global offset in dataset */ - nbytes_xfer+=(ssize_t)blk_size; + nbytes_xfer += (ssize_t)nbytes_xfer_advance; /* Decrement number of bytes left this time */ - nbytes_toxfer-=blk_size; - } /* end while */ - } /* end else */ - } /* end if */ - /* Collective file access */ - else { - /* Contiguous access pattern */ - if (!parms->interleaved){ - /* Compute offset in file */ - mpi_offset = mpi_file_offset + - nbytes_xfer; - - /* Perform independent write */ - mrc = MPI_File_write_at_all(fd->mpifd, mpi_offset, buffer, - (int)(buf_size/blk_size), mpi_blk_type, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(ssize_t)buf_size; - } /* end if */ - /* Interleaved access pattern */ - else { - /* Compute offset in file */ - mpi_offset = mpi_file_offset + - (nbytes_xfer*pio_mpi_nprocs_g); - - /* Set the file view */ - mrc = MPI_File_set_view(fd->mpifd, mpi_offset, mpi_blk_type, - mpi_file_type, (char*)"native", h5_io_info_g); - VRFY((mrc==MPI_SUCCESS), "MPIO_VIEW"); - - /* Perform write */ - mrc = MPI_File_write_at_all(fd->mpifd, 0, buffer, - (int)(buf_size/blk_size), mpi_blk_type, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(ssize_t)buf_size; - } /* end else */ - } /* end else */ - } /* end if */ - /* 2D dataspace */ - else { - /* Contiguous storage */ - if (!parms->h5_use_chunks) { - /* Contiguous access pattern */ - if (!parms->interleaved) { - /* Compute offset in file */ - mpi_offset=mpi_file_offset+(MPI_Offset)((((size_t)nbytes_xfer/blk_size)/(size_t)snbytes)* - (blk_size*(size_t)snbytes))+(MPI_Offset)(((size_t)nbytes_xfer/blk_size)%(size_t)snbytes); + nbytes_toxfer -= nbytes_xfer_advance; - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = buf_size; + /* Partially advance file offset */ + file_offset += file_offset_advance; + } /* end while */ - /* Global offset advance after each I/O operation */ - mpi_offset_advance = snbytes; + } /* end else */ - /* MPI type to be used for collective access */ - mpi_collective_type = mpi_cont_type; - } /* end if */ - /* Interleaved access pattern */ + break; + + case MPIO: + /* 1D dataspace */ + if (!parms->dim2d) { + /* Independent file access */ + if (!parms->collective) { + /* Contiguous pattern */ + if (!parms->interleaved) { + /* Compute offset in file */ + mpi_offset = mpi_file_offset + nbytes_xfer; + + /* Perform independent write */ + mrc = + MPI_File_write_at(fd->mpifd, mpi_offset, buffer, + (int)(buf_size / blk_size), mpi_blk_type, &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_WRITE"); + + /* Advance global offset in dataset */ + nbytes_xfer += (ssize_t)buf_size; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Set the base of user's buffer */ + buf_p = (unsigned char *)buffer; + + /* Set the number of bytes to transfer this time */ + nbytes_toxfer = buf_size; + + /* Loop over the buffers to write */ + while (nbytes_toxfer > 0) { + /* Skip offset over blocks of other processes */ + mpi_offset = mpi_file_offset + (nbytes_xfer * pio_mpi_nprocs_g); + + /* Perform independent write */ + mrc = MPI_File_write_at(fd->mpifd, mpi_offset, buf_p, (int)1, + mpi_blk_type, &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_WRITE"); + + /* Advance location in buffer */ + buf_p += blk_size; + + /* Advance global offset in dataset */ + nbytes_xfer += (ssize_t)blk_size; + + /* Decrement number of bytes left this time */ + nbytes_toxfer -= blk_size; + } /* end while */ + } /* end else */ + } /* end if */ + /* Collective file access */ + else { + /* Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute offset in file */ + mpi_offset = mpi_file_offset + nbytes_xfer; + + /* Perform independent write */ + mrc = MPI_File_write_at_all(fd->mpifd, mpi_offset, buffer, + (int)(buf_size / blk_size), mpi_blk_type, + &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_WRITE"); + + /* Advance global offset in dataset */ + nbytes_xfer += (ssize_t)buf_size; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Compute offset in file */ + mpi_offset = mpi_file_offset + (nbytes_xfer * pio_mpi_nprocs_g); + + /* Set the file view */ + mrc = MPI_File_set_view(fd->mpifd, mpi_offset, mpi_blk_type, mpi_file_type, + (char *)"native", h5_io_info_g); + VRFY((mrc == MPI_SUCCESS), "MPIO_VIEW"); + + /* Perform write */ + mrc = MPI_File_write_at_all(fd->mpifd, 0, buffer, (int)(buf_size / blk_size), + mpi_blk_type, &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_WRITE"); + + /* Advance global offset in dataset */ + nbytes_xfer += (ssize_t)buf_size; + } /* end else */ + } /* end else */ + } /* end if */ + /* 2D dataspace */ else { - /* Compute offset in file */ - mpi_offset=mpi_file_offset+(MPI_Offset)(((((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)/(size_t)snbytes)* - (buf_size*(size_t)snbytes))+(MPI_Offset)((((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)%(size_t)snbytes); + /* Contiguous storage */ + if (!parms->h5_use_chunks) { + /* Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute offset in file */ + mpi_offset = + mpi_file_offset + + (MPI_Offset)((((size_t)nbytes_xfer / blk_size) / (size_t)snbytes) * + (blk_size * (size_t)snbytes)) + + (MPI_Offset)(((size_t)nbytes_xfer / blk_size) % (size_t)snbytes); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = buf_size; + + /* Global offset advance after each I/O operation */ + mpi_offset_advance = snbytes; + + /* MPI type to be used for collective access */ + mpi_collective_type = mpi_cont_type; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Compute offset in file */ + mpi_offset = + mpi_file_offset + + (MPI_Offset)( + ((((size_t)nbytes_xfer / buf_size) * (size_t)pio_mpi_nprocs_g) / + (size_t)snbytes) * + (buf_size * (size_t)snbytes)) + + (MPI_Offset)( + (((size_t)nbytes_xfer / buf_size) * (size_t)pio_mpi_nprocs_g) % + (size_t)snbytes); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size; + + /* Global offset advance after each I/O operation */ + mpi_offset_advance = snbytes; + + /* MPI type to be used for collective access */ + mpi_collective_type = mpi_inter_type; + } /* end else */ + } /* end if */ + /* Chunked storage */ + else { + /*Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute offset in file */ + mpi_offset = mpi_file_offset + nbytes_xfer; + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size * buf_size; + + /* Global offset advance after each I/O operation */ + mpi_offset_advance = 0; + + /* MPI type to be used for collective access */ + mpi_collective_type = mpi_full_buffer; + } /* end if */ + /*Interleaved access pattern */ + else { + /* Compute offset in file */ + /* Before simplification */ + /* mpi_offset=mpi_file_offset+(nbytes_xfer/(buf_size/blk_size) + *pio_mpi_nprocs_g)/(snbytes/blk_size*(blk_size*blk_size))* + (buf_size/blk_size*snbytes/blk_size*(blk_size*blk_size))+ + ((nbytes_xfer/(buf_size/blk_size))*pio_mpi_nprocs_g)%(snbytes + /blk_size*(blk_size*blk_size)); */ + mpi_offset = mpi_file_offset + + (MPI_Offset)((((size_t)nbytes_xfer / (buf_size / blk_size) * + (size_t)pio_mpi_nprocs_g) / + ((size_t)snbytes * blk_size)) * + (buf_size * (size_t)snbytes)) + + (MPI_Offset)((((size_t)nbytes_xfer / (buf_size / blk_size)) * + (size_t)pio_mpi_nprocs_g) % + ((size_t)snbytes * blk_size)); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size * blk_size; + + /* Global offset advance after each I/O operation */ + /* mpi_offset_advance = (MPI_Offset)(snbytes/blk_size*(blk_size*blk_size)); */ + mpi_offset_advance = (MPI_Offset)((size_t)snbytes * blk_size); + + /* MPI type to be used for collective access */ + mpi_collective_type = mpi_chunk_inter_type; + } /* end else */ + } /* end else */ + + /* Common code for independent file access */ + if (!parms->collective) { + /* Set the base of user's buffer */ + buf_p = (unsigned char *)buffer; + + /* Set the number of bytes to transfer this time */ + nbytes_toxfer = buf_size * blk_size; + + /* Loop over portions of the buffer to write */ + while (nbytes_toxfer > 0) { + /* Perform independent write */ + mrc = MPI_File_write_at(fd->mpifd, mpi_offset, buf_p, + (int)nbytes_xfer_advance, MPI_BYTE, &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_WRITE"); + + /* Advance location in buffer */ + buf_p += nbytes_xfer_advance; + + /* Advance global offset in dataset */ + nbytes_xfer += (ssize_t)nbytes_xfer_advance; + + /* Decrement number of bytes left this time */ + nbytes_toxfer -= nbytes_xfer_advance; + + /* Partially advance global offset in dataset */ + mpi_offset += mpi_offset_advance; + } /* end while */ + } /* end if */ + + /* Common code for collective file access */ + else { + /* Set the file view */ + mrc = MPI_File_set_view(fd->mpifd, mpi_offset, MPI_BYTE, mpi_collective_type, + (char *)"native", h5_io_info_g); + VRFY((mrc == MPI_SUCCESS), "MPIO_VIEW"); + + /* Perform write */ + MPI_File_write_at_all(fd->mpifd, 0, buffer, (int)(buf_size * blk_size), MPI_BYTE, + &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_WRITE"); - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size; - - /* Global offset advance after each I/O operation */ - mpi_offset_advance = snbytes; + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)buf_size * (off_t)blk_size; + } /* end else */ - /* MPI type to be used for collective access */ - mpi_collective_type = mpi_inter_type; } /* end else */ - } /* end if */ - /* Chunked storage */ - else { - /*Contiguous access pattern */ - if (!parms->interleaved) { - /* Compute offset in file */ - mpi_offset=mpi_file_offset+nbytes_xfer; - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size * buf_size; - /* Global offset advance after each I/O operation */ - mpi_offset_advance = 0; - - /* MPI type to be used for collective access */ - mpi_collective_type = mpi_full_buffer; + break; + + case PHDF5: + /* 1D dataspace */ + if (!parms->dim2d) { + /* Set up the file dset space id to move the selection to process */ + if (!parms->interleaved) { + /* Contiguous pattern */ + h5offset[0] = nbytes_xfer; + } /* end if */ + else { + /* Interleaved access pattern */ + /* Skip offset over blocks of other processes */ + h5offset[0] = (nbytes_xfer * pio_mpi_nprocs_g); + } /* end else */ + hrc = H5Soffset_simple(h5dset_space_id, h5offset); + VRFY((hrc >= 0), "H5Soffset_simple"); + + /* Write the buffer out */ + hrc = + H5Dwrite(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, h5dset_space_id, h5dxpl, buffer); + VRFY((hrc >= 0), "H5Dwrite"); + + /* Increment number of bytes transferred */ + nbytes_xfer += (ssize_t)buf_size; } /* end if */ - /*Interleaved access pattern */ + /* 2D dataspace */ else { - /* Compute offset in file */ - /* Before simplification */ - /* mpi_offset=mpi_file_offset+(nbytes_xfer/(buf_size/blk_size) - *pio_mpi_nprocs_g)/(snbytes/blk_size*(blk_size*blk_size))* - (buf_size/blk_size*snbytes/blk_size*(blk_size*blk_size))+ - ((nbytes_xfer/(buf_size/blk_size))*pio_mpi_nprocs_g)%(snbytes - /blk_size*(blk_size*blk_size)); */ - mpi_offset=mpi_file_offset+(MPI_Offset)((((size_t)nbytes_xfer/(buf_size/blk_size) - *(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*blk_size))*(buf_size*(size_t)snbytes)) - +(MPI_Offset)((((size_t)nbytes_xfer/(buf_size/blk_size))*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*blk_size)); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size * blk_size; - - /* Global offset advance after each I/O operation */ - /* mpi_offset_advance = (MPI_Offset)(snbytes/blk_size*(blk_size*blk_size)); */ - mpi_offset_advance = (MPI_Offset)((size_t)snbytes*blk_size); - - /* MPI type to be used for collective access */ - mpi_collective_type = mpi_chunk_inter_type; - } /* end else */ - } /* end else */ - - /* Common code for independent file access */ - if (!parms->collective) { - /* Set the base of user's buffer */ - buf_p = (unsigned char *)buffer; - - /* Set the number of bytes to transfer this time */ - nbytes_toxfer = buf_size * blk_size; - - /* Loop over portions of the buffer to write */ - while(nbytes_toxfer>0){ - /* Perform independent write */ - mrc = MPI_File_write_at(fd->mpifd, mpi_offset, buf_p, - (int)nbytes_xfer_advance, MPI_BYTE, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE"); - - /* Advance location in buffer */ - buf_p+=nbytes_xfer_advance; - - /* Advance global offset in dataset */ - nbytes_xfer+=(ssize_t)nbytes_xfer_advance; - - /* Decrement number of bytes left this time */ - nbytes_toxfer-=nbytes_xfer_advance; - - /* Partially advance global offset in dataset */ - mpi_offset+=mpi_offset_advance; - } /* end while */ - } /* end if */ - - /* Common code for collective file access */ - else { - /* Set the file view */ - mrc = MPI_File_set_view(fd->mpifd, mpi_offset, MPI_BYTE, - mpi_collective_type, (char *)"native", h5_io_info_g); - VRFY((mrc==MPI_SUCCESS), "MPIO_VIEW"); - - /* Perform write */ - MPI_File_write_at_all(fd->mpifd, 0, buffer,(int)(buf_size*blk_size), - MPI_BYTE, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_WRITE"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)buf_size*(off_t)blk_size; - } /* end else */ - - } /* end else */ - - break; - - case PHDF5: - /* 1D dataspace */ - if (!parms->dim2d){ - /* Set up the file dset space id to move the selection to process */ - if (!parms->interleaved){ - /* Contiguous pattern */ - h5offset[0] = nbytes_xfer; - } /* end if */ - else { - /* Interleaved access pattern */ - /* Skip offset over blocks of other processes */ - h5offset[0] = (nbytes_xfer*pio_mpi_nprocs_g); - } /* end else */ - hrc = H5Soffset_simple(h5dset_space_id, h5offset); - VRFY((hrc >= 0), "H5Soffset_simple"); - - /* Write the buffer out */ - hrc = H5Dwrite(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, - h5dset_space_id, h5dxpl, buffer); - VRFY((hrc >= 0), "H5Dwrite"); - - /* Increment number of bytes transferred */ - nbytes_xfer += (ssize_t)buf_size; - } /* end if */ - /* 2D dataspace */ - else { - /* Set up the file dset space id to move the selection to process */ - if (!parms->interleaved){ - /* Contiguous pattern */ - h5offset[0] = (hssize_t)(((size_t)nbytes_xfer/((size_t)snbytes*blk_size))*blk_size); - h5offset[1] = (hssize_t)(((size_t)nbytes_xfer%((size_t)snbytes*blk_size))/blk_size); - - } /* end if */ - else { - /* Interleaved access pattern */ - /* Skip offset over blocks of other processes */ - h5offset[0] = (hssize_t)((((size_t)nbytes_xfer*(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*buf_size))*buf_size); - h5offset[1] = (hssize_t)((((size_t)nbytes_xfer*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*buf_size))/buf_size); + /* Set up the file dset space id to move the selection to process */ + if (!parms->interleaved) { + /* Contiguous pattern */ + h5offset[0] = + (hssize_t)(((size_t)nbytes_xfer / ((size_t)snbytes * blk_size)) * blk_size); + h5offset[1] = + (hssize_t)(((size_t)nbytes_xfer % ((size_t)snbytes * blk_size)) / blk_size); + + } /* end if */ + else { + /* Interleaved access pattern */ + /* Skip offset over blocks of other processes */ + h5offset[0] = (hssize_t)((((size_t)nbytes_xfer * (size_t)pio_mpi_nprocs_g) / + ((size_t)snbytes * buf_size)) * + buf_size); + h5offset[1] = (hssize_t)((((size_t)nbytes_xfer * (size_t)pio_mpi_nprocs_g) % + ((size_t)snbytes * buf_size)) / + buf_size); - } /* end else */ - hrc = H5Soffset_simple(h5dset_space_id, h5offset); - VRFY((hrc >= 0), "H5Soffset_simple"); + } /* end else */ + hrc = H5Soffset_simple(h5dset_space_id, h5offset); + VRFY((hrc >= 0), "H5Soffset_simple"); - /* Write the buffer out */ - hrc = H5Dwrite(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, - h5dset_space_id, h5dxpl, buffer); - VRFY((hrc >= 0), "H5Dwrite"); + /* Write the buffer out */ + hrc = + H5Dwrite(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, h5dset_space_id, h5dxpl, buffer); + VRFY((hrc >= 0), "H5Dwrite"); - /* Increment number of bytes transferred */ - nbytes_xfer += (off_t)buf_size*(off_t)blk_size; + /* Increment number of bytes transferred */ + nbytes_xfer += (off_t)buf_size * (off_t)blk_size; - } /* end else */ + } /* end else */ - break; + break; - default: - break; - } /* switch (parms->io_type) */ - } /* end while */ + default: + break; + } /* switch (parms->io_type) */ + } /* end while */ - /* Stop "raw data" write timer */ - io_time_set(res->timers, HDF5_RAW_WRITE_FIXED_DIMS, TSTOP); + /* Stop "raw data" write timer */ + io_time_set(res->timers, HDF5_RAW_WRITE_FIXED_DIMS, TSTOP); - /* Calculate write time */ + /* Calculate write time */ - /* Close dataset. Only HDF5 needs to do an explicit close. */ - if (parms->io_type == PHDF5) { - hrc = H5Dclose(h5ds_id); + /* Close dataset. Only HDF5 needs to do an explicit close. */ + if (parms->io_type == PHDF5) { + hrc = H5Dclose(h5ds_id); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Dataset Close failed\n"); - GOTOERROR(FAIL); - } + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Dataset Close failed\n"); + GOTOERROR(FAIL); + } - h5ds_id = H5I_INVALID_HID; - } /* end if */ - } /* end for */ + h5ds_id = H5I_INVALID_HID; + } /* end if */ + } /* end for */ done: /* release MPI-I/O objects */ if (parms->io_type == MPIO) { /* 1D dataspace */ - if (!parms->dim2d){ + if (!parms->dim2d) { /* Free file type */ - mrc = MPI_Type_free( &mpi_file_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_file_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free buffer type */ - mrc = MPI_Type_free( &mpi_blk_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_blk_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); } /* end if */ /* 2D dataspace */ else { /* Free partial buffer type for contiguous access */ - mrc = MPI_Type_free( &mpi_partial_buffer_cont ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_partial_buffer_cont); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free contiguous file type */ - mrc = MPI_Type_free( &mpi_cont_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_cont_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free partial buffer type for interleaved access */ - mrc = MPI_Type_free( &mpi_partial_buffer_inter ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_partial_buffer_inter); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free interleaved file type */ - mrc = MPI_Type_free( &mpi_inter_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free full buffer type */ mrc = MPI_Type_free(&mpi_full_buffer); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free full chunk type */ mrc = MPI_Type_free(&mpi_full_chunk); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free chunk interleaved file type */ mrc = MPI_Type_free(&mpi_chunk_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); } /* end else */ - } /* end if */ + } /* end if */ /* release HDF5 objects */ if (h5dset_space_id != -1) { - hrc = H5Sclose(h5dset_space_id); - if (hrc < 0){ - HDfprintf(stderr, "HDF5 Dataset Space Close failed\n"); - ret_code = FAIL; - } else { - h5dset_space_id = H5I_INVALID_HID; - } + hrc = H5Sclose(h5dset_space_id); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Dataset Space Close failed\n"); + ret_code = FAIL; + } + else { + h5dset_space_id = H5I_INVALID_HID; + } } if (h5mem_space_id != -1) { - hrc = H5Sclose(h5mem_space_id); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Memory Space Close failed\n"); - ret_code = FAIL; - } else { - h5mem_space_id = H5I_INVALID_HID; - } + hrc = H5Sclose(h5mem_space_id); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Memory Space Close failed\n"); + ret_code = FAIL; + } + else { + h5mem_space_id = H5I_INVALID_HID; + } } if (h5dxpl != -1) { - hrc = H5Pclose(h5dxpl); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Dataset Transfer Property List Close failed\n"); - ret_code = FAIL; - } else { - h5dxpl = H5I_INVALID_HID; - } + hrc = H5Pclose(h5dxpl); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Dataset Transfer Property List Close failed\n"); + ret_code = FAIL; + } + else { + h5dxpl = H5I_INVALID_HID; + } } return ret_code; @@ -1505,62 +1519,62 @@ sqrto(off_t x) * Modifications: * Added 2D testing (Christian Chilan, 10. August 2005) */ - static herr_t -do_read(results *res, file_descr *fd, parameters *parms, long ndsets, - off_t nbytes, size_t buf_size, void *buffer /*out*/) +static herr_t +do_read(results *res, file_descr *fd, parameters *parms, long ndsets, off_t nbytes, size_t buf_size, + void *buffer /*out*/) { - int ret_code = SUCCESS; - int rc; /*routine return code */ - long ndset; - size_t blk_size; /* The block size to subdivide the xfer buffer into */ - size_t bsize; /* Size of the actual buffer */ - off_t nbytes_xfer; /* Total number of bytes transferred so far */ - size_t nbytes_xfer_advance; /* Number of bytes transferred in a single I/O operation */ - size_t nbytes_toxfer; /* Number of bytes to transfer a particular time */ - char dname[64]; - off_t dset_offset=0; /*dataset offset in a file */ - off_t bytes_begin[2]; /*first elmt this process transfer */ - off_t bytes_count; /*number of elmts this process transfer */ - off_t snbytes=0; /*size of a side of the dataset square */ - unsigned char *buf_p; /* Current buffer pointer */ + int ret_code = SUCCESS; + int rc; /*routine return code */ + long ndset; + size_t blk_size; /* The block size to subdivide the xfer buffer into */ + size_t bsize; /* Size of the actual buffer */ + off_t nbytes_xfer; /* Total number of bytes transferred so far */ + size_t nbytes_xfer_advance; /* Number of bytes transferred in a single I/O operation */ + size_t nbytes_toxfer; /* Number of bytes to transfer a particular time */ + char dname[64]; + off_t dset_offset = 0; /*dataset offset in a file */ + off_t bytes_begin[2]; /*first elmt this process transfer */ + off_t bytes_count; /*number of elmts this process transfer */ + off_t snbytes = 0; /*size of a side of the dataset square */ + unsigned char *buf_p; /* Current buffer pointer */ /* POSIX variables */ - off_t file_offset; /* File offset of the next transfer */ - off_t file_offset_advance; /* File offset advance after each I/O operation */ - off_t posix_file_offset; /* Base file offset of the next transfer */ + off_t file_offset; /* File offset of the next transfer */ + off_t file_offset_advance; /* File offset advance after each I/O operation */ + off_t posix_file_offset; /* Base file offset of the next transfer */ /* MPI variables */ - MPI_Offset mpi_file_offset;/* Base file offset of the next transfer*/ - MPI_Offset mpi_offset; /* Offset in MPI file */ - MPI_Offset mpi_offset_advance; /* Offset advance after each I/O operation */ - MPI_Datatype mpi_file_type; /* MPI derived type for 1D file */ - MPI_Datatype mpi_blk_type; /* MPI derived type for 1D buffer */ - MPI_Datatype mpi_cont_type; /* MPI derived type for 2D contiguous file */ - MPI_Datatype mpi_partial_buffer_cont; /* MPI derived type for partial 2D contiguous buffer */ - MPI_Datatype mpi_inter_type; /* MPI derived type for 2D interleaved file */ - MPI_Datatype mpi_partial_buffer_inter; /* MPI derived type for partial 2D interleaved buffer */ - MPI_Datatype mpi_full_buffer; /* MPI derived type for 2D full buffer */ - MPI_Datatype mpi_full_chunk; /* MPI derived type for 2D full chunk */ - MPI_Datatype mpi_chunk_inter_type; /* MPI derived type for 2D chunk interleaved file */ - MPI_Datatype mpi_collective_type; /* Generic MPI derived type for 2D collective access */ - MPI_Status mpi_status; - int mrc; /* MPI return code */ + MPI_Offset mpi_file_offset; /* Base file offset of the next transfer*/ + MPI_Offset mpi_offset; /* Offset in MPI file */ + MPI_Offset mpi_offset_advance; /* Offset advance after each I/O operation */ + MPI_Datatype mpi_file_type; /* MPI derived type for 1D file */ + MPI_Datatype mpi_blk_type; /* MPI derived type for 1D buffer */ + MPI_Datatype mpi_cont_type; /* MPI derived type for 2D contiguous file */ + MPI_Datatype mpi_partial_buffer_cont; /* MPI derived type for partial 2D contiguous buffer */ + MPI_Datatype mpi_inter_type; /* MPI derived type for 2D interleaved file */ + MPI_Datatype mpi_partial_buffer_inter; /* MPI derived type for partial 2D interleaved buffer */ + MPI_Datatype mpi_full_buffer; /* MPI derived type for 2D full buffer */ + MPI_Datatype mpi_full_chunk; /* MPI derived type for 2D full chunk */ + MPI_Datatype mpi_chunk_inter_type; /* MPI derived type for 2D chunk interleaved file */ + MPI_Datatype mpi_collective_type; /* Generic MPI derived type for 2D collective access */ + MPI_Status mpi_status; + int mrc; /* MPI return code */ /* HDF5 variables */ - herr_t hrc; /*HDF5 return code */ - hsize_t h5dims[2]; /*dataset dim sizes */ - hid_t h5dset_space_id = H5I_INVALID_HID; /*dataset space ID */ - hid_t h5mem_space_id = H5I_INVALID_HID; /*memory dataspace ID */ - hid_t h5ds_id = H5I_INVALID_HID; /*dataset handle */ - hsize_t h5block[2]; /*dataspace selection */ - hsize_t h5stride[2]; - hsize_t h5count[2]; - hsize_t h5start[2]; - hssize_t h5offset[2]; /* Selection offset within dataspace */ - hid_t h5dxpl = H5I_INVALID_HID; /* Dataset transfer property list */ + herr_t hrc; /*HDF5 return code */ + hsize_t h5dims[2]; /*dataset dim sizes */ + hid_t h5dset_space_id = H5I_INVALID_HID; /*dataset space ID */ + hid_t h5mem_space_id = H5I_INVALID_HID; /*memory dataspace ID */ + hid_t h5ds_id = H5I_INVALID_HID; /*dataset handle */ + hsize_t h5block[2]; /*dataspace selection */ + hsize_t h5stride[2]; + hsize_t h5count[2]; + hsize_t h5start[2]; + hssize_t h5offset[2]; /* Selection offset within dataspace */ + hid_t h5dxpl = H5I_INVALID_HID; /* Dataset transfer property list */ /* Get the parameters from the parameter block */ - blk_size=parms->blk_size; + blk_size = parms->blk_size; /* There are two kinds of transfer patterns, contiguous and interleaved. * Let 0,1,2,...,n be data accessed by process 0,1,2,...,n @@ -1573,17 +1587,17 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets, */ /* 1D dataspace */ - if (!parms->dim2d){ + if (!parms->dim2d) { bsize = buf_size; /* Contiguous Pattern: */ if (!parms->interleaved) { - bytes_begin[0] = (off_t)(((double)nbytes*pio_mpi_rank_g)/pio_mpi_nprocs_g); + bytes_begin[0] = (off_t)(((double)nbytes * pio_mpi_rank_g) / pio_mpi_nprocs_g); } /* end if */ /* Interleaved Pattern: */ else { - bytes_begin[0] = (off_t)blk_size*(off_t)pio_mpi_rank_g; + bytes_begin[0] = (off_t)blk_size * (off_t)pio_mpi_rank_g; } /* end else */ - }/* end if */ + } /* end if */ /* 2D dataspace */ else { /* nbytes is always the number of bytes per dataset (1D or 2D). If the @@ -1595,19 +1609,19 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets, /* Contiguous Pattern: */ if (!parms->interleaved) { - bytes_begin[0] = (off_t)((double)snbytes*pio_mpi_rank_g / pio_mpi_nprocs_g); + bytes_begin[0] = (off_t)((double)snbytes * pio_mpi_rank_g / pio_mpi_nprocs_g); bytes_begin[1] = 0; } /* end if */ /* Interleaved Pattern: */ else { bytes_begin[0] = 0; - if (!parms->h5_use_chunks || parms->io_type==PHDF5) - bytes_begin[1] = (off_t)blk_size*(off_t)pio_mpi_rank_g; + if (!parms->h5_use_chunks || parms->io_type == PHDF5) + bytes_begin[1] = (off_t)blk_size * (off_t)pio_mpi_rank_g; else - bytes_begin[1] = (off_t)blk_size*(off_t)blk_size*(off_t)pio_mpi_rank_g; + bytes_begin[1] = (off_t)blk_size * (off_t)blk_size * (off_t)pio_mpi_rank_g; } /* end else */ - } /* end else */ + } /* end else */ /* Calculate the total number of bytes (bytes_count) to be * transferred by this process. It may be different for different @@ -1619,842 +1633,865 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets, * This way, it eliminates any rounding errors. * (This is tricky, don't mess with the formula, rounding errors * can easily get introduced) */ - bytes_count = (off_t)(((double)nbytes*(pio_mpi_rank_g+1)) / pio_mpi_nprocs_g) - - (off_t)(((double)nbytes*pio_mpi_rank_g) / pio_mpi_nprocs_g); + bytes_count = (off_t)(((double)nbytes * (pio_mpi_rank_g + 1)) / pio_mpi_nprocs_g) - + (off_t)(((double)nbytes * pio_mpi_rank_g) / pio_mpi_nprocs_g); /* debug */ if (pio_debug_level >= 4) { HDprint_rank(output); if (!parms->dim2d) { - HDfprintf(output, "Debug(do_write): " - "buf_size=%zu, bytes_begin=%" H5_PRINTF_LL_WIDTH "d, bytes_count=%" H5_PRINTF_LL_WIDTH "d\n", - buf_size, (long long)bytes_begin[0], - (long long)bytes_count); - } else { - HDfprintf(output, "Debug(do_write): " - "linear buf_size=%zu, bytes_begin=(%" H5_PRINTF_LL_WIDTH "d,%" H5_PRINTF_LL_WIDTH "d), bytes_count=%" H5_PRINTF_LL_WIDTH "d\n", - buf_size*blk_size, (long long)bytes_begin[0], - (long long)bytes_begin[1], (long long)bytes_count); + HDfprintf(output, + "Debug(do_write): " + "buf_size=%zu, bytes_begin=%" H5_PRINTF_LL_WIDTH "d, bytes_count=%" H5_PRINTF_LL_WIDTH + "d\n", + buf_size, (long long)bytes_begin[0], (long long)bytes_count); + } + else { + HDfprintf(output, + "Debug(do_write): " + "linear buf_size=%zu, bytes_begin=(%" H5_PRINTF_LL_WIDTH "d,%" H5_PRINTF_LL_WIDTH + "d), bytes_count=%" H5_PRINTF_LL_WIDTH "d\n", + buf_size * blk_size, (long long)bytes_begin[0], (long long)bytes_begin[1], + (long long)bytes_count); } } /* I/O Access specific setup */ switch (parms->io_type) { - case POSIXIO: - /* No extra setup */ - break; - - case MPIO: /* MPI-I/O setup */ - /* 1D dataspace */ - if (!parms->dim2d){ - /* Build block's derived type */ - mrc = MPI_Type_contiguous((int)blk_size, - MPI_BYTE, &mpi_blk_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Build file's derived type */ - mrc = MPI_Type_vector((int)(buf_size/blk_size), (int)1, - (int)pio_mpi_nprocs_g, mpi_blk_type, &mpi_file_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit file type */ - mrc = MPI_Type_commit( &mpi_file_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Commit buffer type */ - mrc = MPI_Type_commit( &mpi_blk_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - } /* end if */ - /* 2D dataspace */ - else { - /* Build partial buffer derived type for contiguous access */ - mrc = MPI_Type_contiguous((int)buf_size, MPI_BYTE, - &mpi_partial_buffer_cont); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit partial buffer derived type */ - mrc = MPI_Type_commit(&mpi_partial_buffer_cont); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build contiguous file's derived type */ - mrc = MPI_Type_vector((int)blk_size, (int)1, (int)((size_t)snbytes/buf_size), - mpi_partial_buffer_cont, &mpi_cont_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit contiguous file type */ - mrc = MPI_Type_commit(&mpi_cont_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build partial buffer derived type for interleaved access */ - mrc = MPI_Type_contiguous((int)blk_size, MPI_BYTE, - &mpi_partial_buffer_inter); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit partial buffer derived type */ - mrc = MPI_Type_commit(&mpi_partial_buffer_inter); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build interleaved file's derived type */ - mrc = MPI_Type_vector((int)buf_size, (int)1, (int)((size_t)snbytes/blk_size), - mpi_partial_buffer_inter, &mpi_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit interleaved file type */ - mrc = MPI_Type_commit(&mpi_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build full buffer derived type */ - mrc = MPI_Type_contiguous((int)(blk_size*buf_size), MPI_BYTE, - &mpi_full_buffer); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit full buffer derived type */ - mrc = MPI_Type_commit(&mpi_full_buffer); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build full chunk derived type */ - mrc = MPI_Type_contiguous((int)(blk_size*blk_size), MPI_BYTE, - &mpi_full_chunk); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit full chunk derived type */ - mrc = MPI_Type_commit(&mpi_full_chunk); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - - /* Build chunk interleaved file's derived type */ - mrc = MPI_Type_vector((int)(buf_size/blk_size), (int)1, (int)((size_t)snbytes/blk_size), - mpi_full_chunk, &mpi_chunk_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_CREATE"); - - /* Commit chunk interleaved file type */ - mrc = MPI_Type_commit(&mpi_chunk_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_COMMIT"); - } /* end else */ - break; - - case PHDF5: /* HDF5 setup */ - /* 1D dataspace */ - if (!parms->dim2d){ - if(nbytes>0) { - /* define a contiguous dataset of nbytes native bytes */ - h5dims[0] = (hsize_t)nbytes; - h5dset_space_id = H5Screate_simple(1, h5dims, NULL); - VRFY((h5dset_space_id >= 0), "H5Screate_simple"); - - /* Set up the file dset space id to select the pattern to access */ - if (!parms->interleaved){ - /* Contiguous pattern */ - h5start[0] = (hsize_t)bytes_begin[0]; - h5stride[0] = h5block[0] = blk_size; - h5count[0] = buf_size/blk_size; - } /* end if */ - else { - /* Interleaved access pattern */ - /* Skip offset over blocks of other processes */ - h5start[0] = (hsize_t)bytes_begin[0]; - h5stride[0] = blk_size*(size_t)pio_mpi_nprocs_g; - h5block[0] = blk_size; - h5count[0] = buf_size/blk_size; - } /* end else */ - hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, - h5start, h5stride, h5count, h5block); - VRFY((hrc >= 0), "H5Sselect_hyperslab"); - } /* end if */ - else { - h5dset_space_id = H5Screate(H5S_SCALAR); - VRFY((h5dset_space_id >= 0), "H5Screate"); - } /* end else */ + case POSIXIO: + /* No extra setup */ + break; - /* Create the memory dataspace that corresponds to the xfer buffer */ - if(buf_size>0) { - h5dims[0] = buf_size; - h5mem_space_id = H5Screate_simple(1, h5dims, NULL); - VRFY((h5mem_space_id >= 0), "H5Screate_simple"); - } /* end if */ - else { - h5mem_space_id = H5Screate(H5S_SCALAR); - VRFY((h5mem_space_id >= 0), "H5Screate"); - } /* end else */ - } /* end if */ - /* 2D dataspace */ - else { - if(nbytes>0) { - /* define a contiguous dataset of nbytes native bytes */ - h5dims[0] = (hsize_t)snbytes; - h5dims[1] = (hsize_t)snbytes; - h5dset_space_id = H5Screate_simple(2, h5dims, NULL); - VRFY((h5dset_space_id >= 0), "H5Screate_simple"); - - /* Set up the file dset space id to select the pattern to access */ - if (!parms->interleaved){ - /* Contiguous pattern */ - h5start[0] = (hsize_t)bytes_begin[0]; - h5start[1] = (hsize_t)bytes_begin[1]; - h5stride[0] = 1; - h5stride[1] = h5block[0] = h5block[1] = blk_size; - h5count[0] = 1; - h5count[1] = buf_size/blk_size; + case MPIO: /* MPI-I/O setup */ + /* 1D dataspace */ + if (!parms->dim2d) { + /* Build block's derived type */ + mrc = MPI_Type_contiguous((int)blk_size, MPI_BYTE, &mpi_blk_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Build file's derived type */ + mrc = MPI_Type_vector((int)(buf_size / blk_size), (int)1, (int)pio_mpi_nprocs_g, mpi_blk_type, + &mpi_file_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit file type */ + mrc = MPI_Type_commit(&mpi_file_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); + + /* Commit buffer type */ + mrc = MPI_Type_commit(&mpi_blk_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); } /* end if */ + /* 2D dataspace */ else { - /* Interleaved access pattern */ - /* Skip offset over blocks of other processes */ - h5start[0] = (hsize_t)bytes_begin[0]; - h5start[1] = (hsize_t)bytes_begin[1]; - h5stride[0] = blk_size; - h5stride[1] = blk_size*(size_t)pio_mpi_nprocs_g; - h5block[0] = h5block[1] = blk_size; - h5count[0] = buf_size/blk_size; - h5count[1] = 1; + /* Build partial buffer derived type for contiguous access */ + mrc = MPI_Type_contiguous((int)buf_size, MPI_BYTE, &mpi_partial_buffer_cont); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit partial buffer derived type */ + mrc = MPI_Type_commit(&mpi_partial_buffer_cont); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); + + /* Build contiguous file's derived type */ + mrc = MPI_Type_vector((int)blk_size, (int)1, (int)((size_t)snbytes / buf_size), + mpi_partial_buffer_cont, &mpi_cont_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit contiguous file type */ + mrc = MPI_Type_commit(&mpi_cont_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); + + /* Build partial buffer derived type for interleaved access */ + mrc = MPI_Type_contiguous((int)blk_size, MPI_BYTE, &mpi_partial_buffer_inter); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit partial buffer derived type */ + mrc = MPI_Type_commit(&mpi_partial_buffer_inter); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); + + /* Build interleaved file's derived type */ + mrc = MPI_Type_vector((int)buf_size, (int)1, (int)((size_t)snbytes / blk_size), + mpi_partial_buffer_inter, &mpi_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit interleaved file type */ + mrc = MPI_Type_commit(&mpi_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); + + /* Build full buffer derived type */ + mrc = MPI_Type_contiguous((int)(blk_size * buf_size), MPI_BYTE, &mpi_full_buffer); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit full buffer derived type */ + mrc = MPI_Type_commit(&mpi_full_buffer); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); + + /* Build full chunk derived type */ + mrc = MPI_Type_contiguous((int)(blk_size * blk_size), MPI_BYTE, &mpi_full_chunk); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit full chunk derived type */ + mrc = MPI_Type_commit(&mpi_full_chunk); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); + + /* Build chunk interleaved file's derived type */ + mrc = MPI_Type_vector((int)(buf_size / blk_size), (int)1, (int)((size_t)snbytes / blk_size), + mpi_full_chunk, &mpi_chunk_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_CREATE"); + + /* Commit chunk interleaved file type */ + mrc = MPI_Type_commit(&mpi_chunk_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_COMMIT"); } /* end else */ - hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, - h5start, h5stride, h5count, h5block); - VRFY((hrc >= 0), "H5Sselect_hyperslab"); - } /* end if */ - else { - h5dset_space_id = H5Screate(H5S_SCALAR); - VRFY((h5dset_space_id >= 0), "H5Screate"); - } /* end else */ - - /* Create the memory dataspace that corresponds to the xfer buffer */ - if(buf_size>0) { - if (!parms->interleaved){ - h5dims[0] = blk_size; - h5dims[1] = buf_size; - }else{ - h5dims[0] = buf_size; - h5dims[1] = blk_size; - } - h5mem_space_id = H5Screate_simple(2, h5dims, NULL); - VRFY((h5mem_space_id >= 0), "H5Screate_simple"); - } /* end if */ - else { - h5mem_space_id = H5Screate(H5S_SCALAR); - VRFY((h5mem_space_id >= 0), "H5Screate"); - } /* end else */ - } /* end else */ - - /* Create the dataset transfer property list */ - h5dxpl = H5Pcreate(H5P_DATASET_XFER); - if (h5dxpl < 0) { - HDfprintf(stderr, "HDF5 Property List Create failed\n"); - GOTOERROR(FAIL); - } - - /* Change to collective I/O, if asked */ - if(parms->collective) { - hrc = H5Pset_dxpl_mpio(h5dxpl, H5FD_MPIO_COLLECTIVE); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Property List Set failed\n"); - GOTOERROR(FAIL); - } /* end if */ - } /* end if */ - break; - - default: - break; - } /* end switch */ - - for (ndset = 1; ndset <= ndsets; ++ndset) { - - /* Calculate dataset offset within a file */ - - /* create dataset */ - switch (parms->io_type) { - case POSIXIO: - case MPIO: - /* both posix and mpi io just need dataset offset in file*/ - dset_offset = (ndset - 1) * nbytes; break; - case PHDF5: - HDsprintf(dname, "Dataset_%ld", ndset); - h5ds_id = H5DOPEN(fd->h5fd, dname); - if (h5ds_id < 0) { - HDfprintf(stderr, "HDF5 Dataset open failed\n"); - GOTOERROR(FAIL); - } - break; - - default: - break; - } - - /* The task is to transfer bytes_count bytes, starting at - * bytes_begin position, using transfer buffer of buf_size bytes. - * If interleaved, select buf_size at a time, in round robin - * fashion, according to number of process. Otherwise, select - * all bytes_count in contiguous. - */ - nbytes_xfer = 0 ; - - /* 1D dataspace */ - if (!parms->dim2d){ - /* Set base file offset for all I/O patterns and POSIX access */ - posix_file_offset = dset_offset + bytes_begin[0]; - - /* Set base file offset for all I/O patterns and MPI access */ - mpi_file_offset = (MPI_Offset)(dset_offset + bytes_begin[0]); - } /* end if */ - else { - /* Set base file offset for all I/O patterns and POSIX access */ - posix_file_offset=dset_offset + bytes_begin[0]*snbytes+ - bytes_begin[1]; - - /* Set base file offset for all I/O patterns and MPI access */ - mpi_file_offset=(MPI_Offset)(dset_offset + bytes_begin[0]*snbytes+ - bytes_begin[1]); - } /* end else */ - - /* Start "raw data" read timer */ - io_time_set(res->timers, HDF5_RAW_READ_FIXED_DIMS, TSTART); - - while (nbytes_xfer < bytes_count){ - /* Read */ - /* Calculate offset of read within a dataset/file */ - switch (parms->io_type) { - case POSIXIO: + case PHDF5: /* HDF5 setup */ /* 1D dataspace */ - if (!parms->dim2d){ - /* Contiguous pattern */ - if (!parms->interleaved) { - /* Compute file offset */ - file_offset = posix_file_offset + (off_t)nbytes_xfer; - - /* only care if seek returns error */ - rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; - VRFY((rc==0), "POSIXSEEK"); - - /* check if all bytes are read */ - rc = ((ssize_t)buf_size == - POSIXREAD(fd->posixfd, buffer, buf_size)); - VRFY((rc != 0), "POSIXREAD"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)buf_size; + if (!parms->dim2d) { + if (nbytes > 0) { + /* define a contiguous dataset of nbytes native bytes */ + h5dims[0] = (hsize_t)nbytes; + h5dset_space_id = H5Screate_simple(1, h5dims, NULL); + VRFY((h5dset_space_id >= 0), "H5Screate_simple"); + + /* Set up the file dset space id to select the pattern to access */ + if (!parms->interleaved) { + /* Contiguous pattern */ + h5start[0] = (hsize_t)bytes_begin[0]; + h5stride[0] = h5block[0] = blk_size; + h5count[0] = buf_size / blk_size; + } /* end if */ + else { + /* Interleaved access pattern */ + /* Skip offset over blocks of other processes */ + h5start[0] = (hsize_t)bytes_begin[0]; + h5stride[0] = blk_size * (size_t)pio_mpi_nprocs_g; + h5block[0] = blk_size; + h5count[0] = buf_size / blk_size; + } /* end else */ + hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, h5start, h5stride, h5count, + h5block); + VRFY((hrc >= 0), "H5Sselect_hyperslab"); } /* end if */ - /* Interleaved access pattern */ else { - /* Set the base of user's buffer */ - buf_p=(unsigned char *)buffer; - - /* Set the number of bytes to transfer this time */ - nbytes_toxfer = buf_size; - - /* Loop over the buffers to read */ - while(nbytes_toxfer>0) { - /* Skip offset over blocks of other processes */ - file_offset = posix_file_offset + - (off_t)(nbytes_xfer*pio_mpi_nprocs_g); - - /* only care if seek returns error */ - rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; - VRFY((rc==0), "POSIXSEEK"); - - /* check if all bytes are read */ - rc = ((ssize_t)blk_size == - POSIXREAD(fd->posixfd, buf_p, blk_size)); - VRFY((rc != 0), "POSIXREAD"); - - /* Advance location in buffer */ - buf_p+=blk_size; - - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)blk_size; + h5dset_space_id = H5Screate(H5S_SCALAR); + VRFY((h5dset_space_id >= 0), "H5Screate"); + } /* end else */ - /* Decrement number of bytes left this time */ - nbytes_toxfer-=blk_size; - } /* end while */ + /* Create the memory dataspace that corresponds to the xfer buffer */ + if (buf_size > 0) { + h5dims[0] = buf_size; + h5mem_space_id = H5Screate_simple(1, h5dims, NULL); + VRFY((h5mem_space_id >= 0), "H5Screate_simple"); + } /* end if */ + else { + h5mem_space_id = H5Screate(H5S_SCALAR); + VRFY((h5mem_space_id >= 0), "H5Screate"); } /* end else */ - } /* end if */ + } /* end if */ /* 2D dataspace */ else { - /* Contiguous storage */ - if (!parms->h5_use_chunks) { - /* Contiguous access pattern */ + if (nbytes > 0) { + /* define a contiguous dataset of nbytes native bytes */ + h5dims[0] = (hsize_t)snbytes; + h5dims[1] = (hsize_t)snbytes; + h5dset_space_id = H5Screate_simple(2, h5dims, NULL); + VRFY((h5dset_space_id >= 0), "H5Screate_simple"); + + /* Set up the file dset space id to select the pattern to access */ if (!parms->interleaved) { - /* Compute file offset */ - file_offset=posix_file_offset+(off_t)((((size_t)nbytes_xfer/blk_size) - /(size_t)snbytes)*(blk_size*(size_t)snbytes)+(((size_t)nbytes_xfer/blk_size)%(size_t)snbytes)); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = buf_size; - - /* Global offset advance after each I/O operation */ - file_offset_advance = (off_t)snbytes; + /* Contiguous pattern */ + h5start[0] = (hsize_t)bytes_begin[0]; + h5start[1] = (hsize_t)bytes_begin[1]; + h5stride[0] = 1; + h5stride[1] = h5block[0] = h5block[1] = blk_size; + h5count[0] = 1; + h5count[1] = buf_size / blk_size; } /* end if */ - /* Interleaved access pattern */ else { - /* Compute file offset */ - file_offset=posix_file_offset+(off_t)(((((size_t)nbytes_xfer/buf_size) - *(size_t)pio_mpi_nprocs_g)/(size_t)snbytes)*(buf_size*(size_t)snbytes) - +(((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)%(size_t)snbytes); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size; - - /* Global offset advance after each I/O operation */ - file_offset_advance = (off_t)snbytes; + /* Interleaved access pattern */ + /* Skip offset over blocks of other processes */ + h5start[0] = (hsize_t)bytes_begin[0]; + h5start[1] = (hsize_t)bytes_begin[1]; + h5stride[0] = blk_size; + h5stride[1] = blk_size * (size_t)pio_mpi_nprocs_g; + h5block[0] = h5block[1] = blk_size; + h5count[0] = buf_size / blk_size; + h5count[1] = 1; } /* end else */ + hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, h5start, h5stride, h5count, + h5block); + VRFY((hrc >= 0), "H5Sselect_hyperslab"); } /* end if */ - /* Chunked storage */ else { - /*Contiguous access pattern */ - if (!parms->interleaved) { - /* Compute file offset */ - file_offset=posix_file_offset+(off_t)nbytes_xfer; - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size * buf_size; + h5dset_space_id = H5Screate(H5S_SCALAR); + VRFY((h5dset_space_id >= 0), "H5Screate"); + } /* end else */ - /* Global offset advance after each I/O operation */ - file_offset_advance = 0; - } /* end if */ - /*Interleaved access pattern */ + /* Create the memory dataspace that corresponds to the xfer buffer */ + if (buf_size > 0) { + if (!parms->interleaved) { + h5dims[0] = blk_size; + h5dims[1] = buf_size; + } else { - /* Compute file offset */ - /* Before simplification */ - /* file_offset=posix_file_offset+(off_t)((nbytes_xfer/(buf_size/blk_size) - *pio_mpi_nprocs_g)/(snbytes/blk_size*(blk_size*blk_size))*(buf_size/blk_size - *snbytes/blk_size*(blk_size*blk_size))+((nbytes_xfer/(buf_size/blk_size)) - *pio_mpi_nprocs_g)%(snbytes/blk_size*(blk_size*blk_size))); */ - - file_offset=posix_file_offset+(off_t)((((size_t)nbytes_xfer/(buf_size/blk_size) - *(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*blk_size))*(buf_size*(size_t)snbytes)+(((size_t)nbytes_xfer/(buf_size/blk_size)) - *(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*blk_size)); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size * blk_size; - - /* Global offset advance after each I/O operation */ - /* file_offset_advance = (off_t)(snbytes/blk_size*(blk_size*blk_size)); */ - file_offset_advance = (off_t)((size_t)snbytes*blk_size); - } /* end else */ + h5dims[0] = buf_size; + h5dims[1] = blk_size; + } + h5mem_space_id = H5Screate_simple(2, h5dims, NULL); + VRFY((h5mem_space_id >= 0), "H5Screate_simple"); + } /* end if */ + else { + h5mem_space_id = H5Screate(H5S_SCALAR); + VRFY((h5mem_space_id >= 0), "H5Screate"); } /* end else */ + } /* end else */ + + /* Create the dataset transfer property list */ + h5dxpl = H5Pcreate(H5P_DATASET_XFER); + if (h5dxpl < 0) { + HDfprintf(stderr, "HDF5 Property List Create failed\n"); + GOTOERROR(FAIL); + } - /* Common code for file access */ + /* Change to collective I/O, if asked */ + if (parms->collective) { + hrc = H5Pset_dxpl_mpio(h5dxpl, H5FD_MPIO_COLLECTIVE); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Property List Set failed\n"); + GOTOERROR(FAIL); + } /* end if */ + } /* end if */ + break; - /* Set the base of user's buffer */ - buf_p = (unsigned char *)buffer; + default: + break; + } /* end switch */ - /* Set the number of bytes to transfer this time */ - nbytes_toxfer = buf_size*blk_size; + for (ndset = 1; ndset <= ndsets; ++ndset) { - /* Loop over portions of the buffer to read */ - while(nbytes_toxfer>0){ - /* only care if seek returns error */ - rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; - VRFY((rc==0), "POSIXSEEK"); + /* Calculate dataset offset within a file */ - /* check if all bytes are read */ - rc = ((ssize_t)nbytes_xfer_advance == - POSIXREAD(fd->posixfd, buf_p, nbytes_xfer_advance)); - VRFY((rc != 0), "POSIXREAD"); + /* create dataset */ + switch (parms->io_type) { + case POSIXIO: + case MPIO: + /* both posix and mpi io just need dataset offset in file*/ + dset_offset = (ndset - 1) * nbytes; + break; - /* Advance location in buffer */ - buf_p+=nbytes_xfer_advance; + case PHDF5: + HDsprintf(dname, "Dataset_%ld", ndset); + h5ds_id = H5DOPEN(fd->h5fd, dname); + if (h5ds_id < 0) { + HDfprintf(stderr, "HDF5 Dataset open failed\n"); + GOTOERROR(FAIL); + } + break; - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)nbytes_xfer_advance; + default: + break; + } - /* Decrement number of bytes left this time */ - nbytes_toxfer-=nbytes_xfer_advance; + /* The task is to transfer bytes_count bytes, starting at + * bytes_begin position, using transfer buffer of buf_size bytes. + * If interleaved, select buf_size at a time, in round robin + * fashion, according to number of process. Otherwise, select + * all bytes_count in contiguous. + */ + nbytes_xfer = 0; - /* Partially advance file offset */ - file_offset+=file_offset_advance; - } /* end while */ + /* 1D dataspace */ + if (!parms->dim2d) { + /* Set base file offset for all I/O patterns and POSIX access */ + posix_file_offset = dset_offset + bytes_begin[0]; - } /* end else */ - break; + /* Set base file offset for all I/O patterns and MPI access */ + mpi_file_offset = (MPI_Offset)(dset_offset + bytes_begin[0]); + } /* end if */ + else { + /* Set base file offset for all I/O patterns and POSIX access */ + posix_file_offset = dset_offset + bytes_begin[0] * snbytes + bytes_begin[1]; - case MPIO: - /* 1D dataspace */ - if (!parms->dim2d){ - /* Independent file access */ - if(!parms->collective) { - /* Contiguous pattern */ - if (!parms->interleaved){ - /* Compute offset in file */ - mpi_offset = mpi_file_offset + - nbytes_xfer; - - /* Perform independent read */ - mrc = MPI_File_read_at(fd->mpifd, mpi_offset, buffer, - (int)(buf_size/blk_size), mpi_blk_type, - &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_READ"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)buf_size; - } /* end if */ - /* Interleaved access pattern */ + /* Set base file offset for all I/O patterns and MPI access */ + mpi_file_offset = (MPI_Offset)(dset_offset + bytes_begin[0] * snbytes + bytes_begin[1]); + } /* end else */ + + /* Start "raw data" read timer */ + io_time_set(res->timers, HDF5_RAW_READ_FIXED_DIMS, TSTART); + + while (nbytes_xfer < bytes_count) { + /* Read */ + /* Calculate offset of read within a dataset/file */ + switch (parms->io_type) { + case POSIXIO: + /* 1D dataspace */ + if (!parms->dim2d) { + /* Contiguous pattern */ + if (!parms->interleaved) { + /* Compute file offset */ + file_offset = posix_file_offset + (off_t)nbytes_xfer; + + /* only care if seek returns error */ + rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; + VRFY((rc == 0), "POSIXSEEK"); + + /* check if all bytes are read */ + rc = ((ssize_t)buf_size == POSIXREAD(fd->posixfd, buffer, buf_size)); + VRFY((rc != 0), "POSIXREAD"); + + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)buf_size; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Set the base of user's buffer */ + buf_p = (unsigned char *)buffer; + + /* Set the number of bytes to transfer this time */ + nbytes_toxfer = buf_size; + + /* Loop over the buffers to read */ + while (nbytes_toxfer > 0) { + /* Skip offset over blocks of other processes */ + file_offset = posix_file_offset + (off_t)(nbytes_xfer * pio_mpi_nprocs_g); + + /* only care if seek returns error */ + rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; + VRFY((rc == 0), "POSIXSEEK"); + + /* check if all bytes are read */ + rc = ((ssize_t)blk_size == POSIXREAD(fd->posixfd, buf_p, blk_size)); + VRFY((rc != 0), "POSIXREAD"); + + /* Advance location in buffer */ + buf_p += blk_size; + + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)blk_size; + + /* Decrement number of bytes left this time */ + nbytes_toxfer -= blk_size; + } /* end while */ + } /* end else */ + } /* end if */ + /* 2D dataspace */ else { + /* Contiguous storage */ + if (!parms->h5_use_chunks) { + /* Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute file offset */ + file_offset = posix_file_offset + + (off_t)((((size_t)nbytes_xfer / blk_size) / (size_t)snbytes) * + (blk_size * (size_t)snbytes) + + (((size_t)nbytes_xfer / blk_size) % (size_t)snbytes)); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = buf_size; + + /* Global offset advance after each I/O operation */ + file_offset_advance = (off_t)snbytes; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Compute file offset */ + file_offset = + posix_file_offset + + (off_t)(((((size_t)nbytes_xfer / buf_size) * (size_t)pio_mpi_nprocs_g) / + (size_t)snbytes) * + (buf_size * (size_t)snbytes) + + (((size_t)nbytes_xfer / buf_size) * (size_t)pio_mpi_nprocs_g) % + (size_t)snbytes); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size; + + /* Global offset advance after each I/O operation */ + file_offset_advance = (off_t)snbytes; + } /* end else */ + } /* end if */ + /* Chunked storage */ + else { + /*Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute file offset */ + file_offset = posix_file_offset + (off_t)nbytes_xfer; + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size * buf_size; + + /* Global offset advance after each I/O operation */ + file_offset_advance = 0; + } /* end if */ + /*Interleaved access pattern */ + else { + /* Compute file offset */ + /* Before simplification */ + /* file_offset=posix_file_offset+(off_t)((nbytes_xfer/(buf_size/blk_size) + *pio_mpi_nprocs_g)/(snbytes/blk_size*(blk_size*blk_size))*(buf_size/blk_size + *snbytes/blk_size*(blk_size*blk_size))+((nbytes_xfer/(buf_size/blk_size)) + *pio_mpi_nprocs_g)%(snbytes/blk_size*(blk_size*blk_size))); */ + + file_offset = posix_file_offset + + (off_t)((((size_t)nbytes_xfer / (buf_size / blk_size) * + (size_t)pio_mpi_nprocs_g) / + ((size_t)snbytes * blk_size)) * + (buf_size * (size_t)snbytes) + + (((size_t)nbytes_xfer / (buf_size / blk_size)) * + (size_t)pio_mpi_nprocs_g) % + ((size_t)snbytes * blk_size)); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size * blk_size; + + /* Global offset advance after each I/O operation */ + /* file_offset_advance = (off_t)(snbytes/blk_size*(blk_size*blk_size)); */ + file_offset_advance = (off_t)((size_t)snbytes * blk_size); + } /* end else */ + } /* end else */ + + /* Common code for file access */ + /* Set the base of user's buffer */ - buf_p=(unsigned char *)buffer; + buf_p = (unsigned char *)buffer; /* Set the number of bytes to transfer this time */ - nbytes_toxfer = buf_size; + nbytes_toxfer = buf_size * blk_size; - /* Loop over the buffers to read */ - while(nbytes_toxfer>0) { - /* Skip offset over blocks of other processes */ - mpi_offset = mpi_file_offset + - (nbytes_xfer*pio_mpi_nprocs_g); + /* Loop over portions of the buffer to read */ + while (nbytes_toxfer > 0) { + /* only care if seek returns error */ + rc = POSIXSEEK(fd->posixfd, file_offset) < 0 ? -1 : 0; + VRFY((rc == 0), "POSIXSEEK"); - /* Perform independent read */ - mrc = MPI_File_read_at(fd->mpifd, mpi_offset, buf_p, - (int)1, mpi_blk_type, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_READ"); + /* check if all bytes are read */ + rc = ((ssize_t)nbytes_xfer_advance == + POSIXREAD(fd->posixfd, buf_p, nbytes_xfer_advance)); + VRFY((rc != 0), "POSIXREAD"); /* Advance location in buffer */ - buf_p+=blk_size; + buf_p += nbytes_xfer_advance; /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)blk_size; + nbytes_xfer += (off_t)nbytes_xfer_advance; /* Decrement number of bytes left this time */ - nbytes_toxfer-=blk_size; - } /* end while */ - } /* end else */ - } /* end if */ - /* Collective file access */ - else { - /* Contiguous access pattern */ - if (!parms->interleaved){ - /* Compute offset in file */ - mpi_offset = mpi_file_offset + - nbytes_xfer; - - /* Perform collective read */ - mrc = MPI_File_read_at_all(fd->mpifd, mpi_offset, buffer, - (int)(buf_size/blk_size), mpi_blk_type, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_READ"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)buf_size; - } /* end if */ - /* Interleaved access pattern */ - else { - /* Compute offset in file */ - mpi_offset = mpi_file_offset + - (nbytes_xfer*pio_mpi_nprocs_g); - - /* Set the file view */ - mrc = MPI_File_set_view(fd->mpifd, mpi_offset, mpi_blk_type, - mpi_file_type, (char*)"native", h5_io_info_g); - VRFY((mrc==MPI_SUCCESS), "MPIO_VIEW"); - - /* Perform collective read */ - mrc = MPI_File_read_at_all(fd->mpifd, 0, buffer, - (int)(buf_size/blk_size), mpi_blk_type, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_READ"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)buf_size; - } /* end else */ - } /* end else */ - } /* end if */ - /* 2D dataspace */ - else { - /* Contiguous storage */ - if (!parms->h5_use_chunks) { - /* Contiguous access pattern */ - if (!parms->interleaved) { - /* Compute offset in file */ - mpi_offset=mpi_file_offset+(MPI_Offset)((((size_t)nbytes_xfer/blk_size)/(size_t)snbytes)* - (blk_size*(size_t)snbytes))+(MPI_Offset)(((size_t)nbytes_xfer/blk_size)%(size_t)snbytes); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = buf_size; + nbytes_toxfer -= nbytes_xfer_advance; - /* Global offset advance after each I/O operation */ - mpi_offset_advance = snbytes; + /* Partially advance file offset */ + file_offset += file_offset_advance; + } /* end while */ - /* MPI type to be used for collective access */ - mpi_collective_type = mpi_cont_type; - } /* end if */ - /* Interleaved access pattern */ + } /* end else */ + break; + + case MPIO: + /* 1D dataspace */ + if (!parms->dim2d) { + /* Independent file access */ + if (!parms->collective) { + /* Contiguous pattern */ + if (!parms->interleaved) { + /* Compute offset in file */ + mpi_offset = mpi_file_offset + nbytes_xfer; + + /* Perform independent read */ + mrc = MPI_File_read_at(fd->mpifd, mpi_offset, buffer, + (int)(buf_size / blk_size), mpi_blk_type, &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_READ"); + + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)buf_size; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Set the base of user's buffer */ + buf_p = (unsigned char *)buffer; + + /* Set the number of bytes to transfer this time */ + nbytes_toxfer = buf_size; + + /* Loop over the buffers to read */ + while (nbytes_toxfer > 0) { + /* Skip offset over blocks of other processes */ + mpi_offset = mpi_file_offset + (nbytes_xfer * pio_mpi_nprocs_g); + + /* Perform independent read */ + mrc = MPI_File_read_at(fd->mpifd, mpi_offset, buf_p, (int)1, mpi_blk_type, + &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_READ"); + + /* Advance location in buffer */ + buf_p += blk_size; + + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)blk_size; + + /* Decrement number of bytes left this time */ + nbytes_toxfer -= blk_size; + } /* end while */ + } /* end else */ + } /* end if */ + /* Collective file access */ + else { + /* Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute offset in file */ + mpi_offset = mpi_file_offset + nbytes_xfer; + + /* Perform collective read */ + mrc = MPI_File_read_at_all(fd->mpifd, mpi_offset, buffer, + (int)(buf_size / blk_size), mpi_blk_type, + &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_READ"); + + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)buf_size; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Compute offset in file */ + mpi_offset = mpi_file_offset + (nbytes_xfer * pio_mpi_nprocs_g); + + /* Set the file view */ + mrc = MPI_File_set_view(fd->mpifd, mpi_offset, mpi_blk_type, mpi_file_type, + (char *)"native", h5_io_info_g); + VRFY((mrc == MPI_SUCCESS), "MPIO_VIEW"); + + /* Perform collective read */ + mrc = MPI_File_read_at_all(fd->mpifd, 0, buffer, (int)(buf_size / blk_size), + mpi_blk_type, &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_READ"); + + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)buf_size; + } /* end else */ + } /* end else */ + } /* end if */ + /* 2D dataspace */ else { - /* Compute offset in file */ - mpi_offset=mpi_file_offset+(MPI_Offset)(((((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)/(size_t)snbytes)* - (buf_size*(size_t)snbytes))+(MPI_Offset)((((size_t)nbytes_xfer/buf_size)*(size_t)pio_mpi_nprocs_g)%(size_t)snbytes); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size; + /* Contiguous storage */ + if (!parms->h5_use_chunks) { + /* Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute offset in file */ + mpi_offset = + mpi_file_offset + + (MPI_Offset)((((size_t)nbytes_xfer / blk_size) / (size_t)snbytes) * + (blk_size * (size_t)snbytes)) + + (MPI_Offset)(((size_t)nbytes_xfer / blk_size) % (size_t)snbytes); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = buf_size; + + /* Global offset advance after each I/O operation */ + mpi_offset_advance = snbytes; + + /* MPI type to be used for collective access */ + mpi_collective_type = mpi_cont_type; + } /* end if */ + /* Interleaved access pattern */ + else { + /* Compute offset in file */ + mpi_offset = + mpi_file_offset + + (MPI_Offset)( + ((((size_t)nbytes_xfer / buf_size) * (size_t)pio_mpi_nprocs_g) / + (size_t)snbytes) * + (buf_size * (size_t)snbytes)) + + (MPI_Offset)( + (((size_t)nbytes_xfer / buf_size) * (size_t)pio_mpi_nprocs_g) % + (size_t)snbytes); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size; + + /* Global offset advance after each I/O operation */ + mpi_offset_advance = snbytes; + + /* MPI type to be used for collective access */ + mpi_collective_type = mpi_inter_type; + } /* end else */ + } /* end if */ + /* Chunked storage */ + else { + /*Contiguous access pattern */ + if (!parms->interleaved) { + /* Compute offset in file */ + mpi_offset = mpi_file_offset + nbytes_xfer; + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size * buf_size; + + /* Global offset advance after each I/O operation */ + mpi_offset_advance = 0; + + /* MPI type to be used for collective access */ + mpi_collective_type = mpi_full_buffer; + } /* end if */ + /*Interleaved access pattern */ + else { + /* Compute offset in file */ + /* Before simplification */ + /* mpi_offset=mpi_file_offset+(nbytes_xfer/(buf_size/blk_size) + *pio_mpi_nprocs_g)/(snbytes/blk_size*(blk_size*blk_size))* + (buf_size/blk_size*snbytes/blk_size*(blk_size*blk_size))+ + ((nbytes_xfer/(buf_size/blk_size))*pio_mpi_nprocs_g)%(snbytes + /blk_size*(blk_size*blk_size)); */ + mpi_offset = mpi_file_offset + + (MPI_Offset)((((size_t)nbytes_xfer / (buf_size / blk_size) * + (size_t)pio_mpi_nprocs_g) / + ((size_t)snbytes * blk_size)) * + (buf_size * (size_t)snbytes)) + + (MPI_Offset)((((size_t)nbytes_xfer / (buf_size / blk_size)) * + (size_t)pio_mpi_nprocs_g) % + ((size_t)snbytes * blk_size)); + + /* Number of bytes to be transferred per I/O operation */ + nbytes_xfer_advance = blk_size * blk_size; + + /* Global offset advance after each I/O operation */ + /* mpi_offset_advance = (MPI_Offset)(snbytes/blk_size*(blk_size*blk_size)); */ + mpi_offset_advance = (MPI_Offset)((size_t)snbytes * blk_size); + + /* MPI type to be used for collective access */ + mpi_collective_type = mpi_chunk_inter_type; + } /* end else */ + } /* end else */ + + /* Common code for independent file access */ + if (!parms->collective) { + /* Set the base of user's buffer */ + buf_p = (unsigned char *)buffer; + + /* Set the number of bytes to transfer this time */ + nbytes_toxfer = buf_size * blk_size; + + /* Loop over portions of the buffer to read */ + while (nbytes_toxfer > 0) { + /* Perform independent read */ + mrc = MPI_File_read_at(fd->mpifd, mpi_offset, buf_p, (int)nbytes_xfer_advance, + MPI_BYTE, &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_READ"); + + /* Advance location in buffer */ + buf_p += nbytes_xfer_advance; + + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)nbytes_xfer_advance; + + /* Decrement number of bytes left this time */ + nbytes_toxfer -= nbytes_xfer_advance; + + /* Partially advance global offset in dataset */ + mpi_offset += mpi_offset_advance; + } /* end while */ + } /* end if */ + + /* Common code for collective file access */ + else { + /* Set the file view */ + mrc = MPI_File_set_view(fd->mpifd, mpi_offset, MPI_BYTE, mpi_collective_type, + (char *)"native", h5_io_info_g); + VRFY((mrc == MPI_SUCCESS), "MPIO_VIEW"); + + /* Perform read */ + MPI_File_read_at_all(fd->mpifd, 0, buffer, (int)(buf_size * blk_size), MPI_BYTE, + &mpi_status); + VRFY((mrc == MPI_SUCCESS), "MPIO_READ"); - /* Global offset advance after each I/O operation */ - mpi_offset_advance = snbytes; + /* Advance global offset in dataset */ + nbytes_xfer += (off_t)buf_size * (off_t)blk_size; + } /* end else */ - /* MPI type to be used for collective access */ - mpi_collective_type = mpi_inter_type; } /* end else */ - } /* end if */ - /* Chunked storage */ - else { - /*Contiguous access pattern */ - if (!parms->interleaved) { - /* Compute offset in file */ - mpi_offset=mpi_file_offset+nbytes_xfer; - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size * buf_size; + break; + + case PHDF5: + /* 1D dataspace */ + if (!parms->dim2d) { + /* Set up the file dset space id to move the selection to process */ + if (!parms->interleaved) { + /* Contiguous pattern */ + h5offset[0] = nbytes_xfer; + } /* end if */ + else { + /* Interleaved access pattern */ + /* Skip offset over blocks of other processes */ + h5offset[0] = (nbytes_xfer * pio_mpi_nprocs_g); + } /* end else */ + hrc = H5Soffset_simple(h5dset_space_id, h5offset); + VRFY((hrc >= 0), "H5Soffset_simple"); - /* Global offset advance after each I/O operation */ - mpi_offset_advance = 0; + /* Read the buffer in */ + hrc = H5Dread(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, h5dset_space_id, h5dxpl, buffer); + VRFY((hrc >= 0), "H5Dread"); - /* MPI type to be used for collective access */ - mpi_collective_type = mpi_full_buffer; + /* Increment number of bytes transferred */ + nbytes_xfer += (off_t)buf_size; } /* end if */ - /*Interleaved access pattern */ + /* 2D dataspace */ else { - /* Compute offset in file */ - /* Before simplification */ - /* mpi_offset=mpi_file_offset+(nbytes_xfer/(buf_size/blk_size) - *pio_mpi_nprocs_g)/(snbytes/blk_size*(blk_size*blk_size))* - (buf_size/blk_size*snbytes/blk_size*(blk_size*blk_size))+ - ((nbytes_xfer/(buf_size/blk_size))*pio_mpi_nprocs_g)%(snbytes - /blk_size*(blk_size*blk_size)); */ - mpi_offset=mpi_file_offset+(MPI_Offset)((((size_t)nbytes_xfer/(buf_size/blk_size) - *(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*blk_size))*(buf_size*(size_t)snbytes)) - +(MPI_Offset)((((size_t)nbytes_xfer/(buf_size/blk_size))*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*blk_size)); - - /* Number of bytes to be transferred per I/O operation */ - nbytes_xfer_advance = blk_size * blk_size; - - /* Global offset advance after each I/O operation */ - /* mpi_offset_advance = (MPI_Offset)(snbytes/blk_size*(blk_size*blk_size)); */ - mpi_offset_advance = (MPI_Offset)((size_t)snbytes*blk_size); - - /* MPI type to be used for collective access */ - mpi_collective_type = mpi_chunk_inter_type; - } /* end else */ - } /* end else */ - - /* Common code for independent file access */ - if (!parms->collective) { - /* Set the base of user's buffer */ - buf_p = (unsigned char *)buffer; - - /* Set the number of bytes to transfer this time */ - nbytes_toxfer = buf_size * blk_size; - - /* Loop over portions of the buffer to read */ - while(nbytes_toxfer>0){ - /* Perform independent read */ - mrc = MPI_File_read_at(fd->mpifd, mpi_offset, buf_p, - (int)nbytes_xfer_advance, MPI_BYTE, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_READ"); + /* Set up the file dset space id to move the selection to process */ + if (!parms->interleaved) { + /* Contiguous pattern */ + h5offset[0] = + (hssize_t)(((size_t)nbytes_xfer / ((size_t)snbytes * blk_size)) * blk_size); + h5offset[1] = + (hssize_t)(((size_t)nbytes_xfer % ((size_t)snbytes * blk_size)) / blk_size); + } /* end if */ + else { + /* Interleaved access pattern */ + /* Skip offset over blocks of other processes */ + h5offset[0] = (hssize_t)((((size_t)nbytes_xfer * (size_t)pio_mpi_nprocs_g) / + ((size_t)snbytes * buf_size)) * + buf_size); + h5offset[1] = (hssize_t)((((size_t)nbytes_xfer * (size_t)pio_mpi_nprocs_g) % + ((size_t)snbytes * buf_size)) / + buf_size); - /* Advance location in buffer */ - buf_p+=nbytes_xfer_advance; + } /* end else */ + hrc = H5Soffset_simple(h5dset_space_id, h5offset); + VRFY((hrc >= 0), "H5Soffset_simple"); - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)nbytes_xfer_advance; + /* Write the buffer out */ + hrc = H5Dread(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, h5dset_space_id, h5dxpl, buffer); + VRFY((hrc >= 0), "H5Dread"); - /* Decrement number of bytes left this time */ - nbytes_toxfer-=nbytes_xfer_advance; + /* Increment number of bytes transferred */ + nbytes_xfer += (off_t)buf_size * (off_t)blk_size; - /* Partially advance global offset in dataset */ - mpi_offset+=mpi_offset_advance; - } /* end while */ + } /* end else */ + break; + + default: + break; + } /* switch (parms->io_type) */ + + /* Verify raw data, if asked */ + if (parms->verify) { + /* Verify data read */ + unsigned char *ucharptr = (unsigned char *)buffer; + size_t i; + int nerror = 0; + + for (i = 0; i < bsize; ++i) { + if (*ucharptr++ != pio_mpi_rank_g + 1) { + if (++nerror < 20) { + /* report at most 20 errors */ + HDprint_rank(output); + HDfprintf(output, + "read data error, expected (%d), " + "got (%d)\n", + pio_mpi_rank_g + 1, (int)*(ucharptr - 1)); + } /* end if */ + } /* end if */ + } /* end for */ + if (nerror >= 20) { + HDprint_rank(output); + HDfprintf(output, "..."); + HDfprintf(output, "total read data errors=%d\n", nerror); } /* end if */ + } /* if (parms->verify) */ - /* Common code for collective file access */ - else { - /* Set the file view */ - mrc = MPI_File_set_view(fd->mpifd, mpi_offset, MPI_BYTE, - mpi_collective_type, (char *)"native", h5_io_info_g); - VRFY((mrc==MPI_SUCCESS), "MPIO_VIEW"); - - /* Perform read */ - MPI_File_read_at_all(fd->mpifd, 0, buffer,(int)(buf_size*blk_size), - MPI_BYTE, &mpi_status); - VRFY((mrc==MPI_SUCCESS), "MPIO_READ"); - - /* Advance global offset in dataset */ - nbytes_xfer+=(off_t)buf_size*(off_t)blk_size; - } /* end else */ + } /* end while */ - } /* end else */ - break; + /* Stop "raw data" read timer */ + io_time_set(res->timers, HDF5_RAW_READ_FIXED_DIMS, TSTOP); - case PHDF5: - /* 1D dataspace */ - if (!parms->dim2d){ - /* Set up the file dset space id to move the selection to process */ - if (!parms->interleaved){ - /* Contiguous pattern */ - h5offset[0] = nbytes_xfer; - } /* end if */ - else { - /* Interleaved access pattern */ - /* Skip offset over blocks of other processes */ - h5offset[0] = (nbytes_xfer*pio_mpi_nprocs_g); - } /* end else */ - hrc = H5Soffset_simple(h5dset_space_id, h5offset); - VRFY((hrc >= 0), "H5Soffset_simple"); - - /* Read the buffer in */ - hrc = H5Dread(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, - h5dset_space_id, h5dxpl, buffer); - VRFY((hrc >= 0), "H5Dread"); + /* Calculate read time */ - /* Increment number of bytes transferred */ - nbytes_xfer += (off_t)buf_size; - } /* end if */ - /* 2D dataspace */ - else { - /* Set up the file dset space id to move the selection to process */ - if (!parms->interleaved){ - /* Contiguous pattern */ - h5offset[0] = (hssize_t)(((size_t)nbytes_xfer/((size_t)snbytes*blk_size))*blk_size); - h5offset[1] = (hssize_t)(((size_t)nbytes_xfer%((size_t)snbytes*blk_size))/blk_size); - } /* end if */ - else { - /* Interleaved access pattern */ - /* Skip offset over blocks of other processes */ - h5offset[0] = (hssize_t)((((size_t)nbytes_xfer*(size_t)pio_mpi_nprocs_g)/((size_t)snbytes*buf_size))*buf_size); - h5offset[1] = (hssize_t)((((size_t)nbytes_xfer*(size_t)pio_mpi_nprocs_g)%((size_t)snbytes*buf_size))/buf_size); + /* Close dataset. Only HDF5 needs to do an explicit close. */ + if (parms->io_type == PHDF5) { + hrc = H5Dclose(h5ds_id); - } /* end else */ - hrc = H5Soffset_simple(h5dset_space_id, h5offset); - VRFY((hrc >= 0), "H5Soffset_simple"); - - /* Write the buffer out */ - hrc = H5Dread(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, - h5dset_space_id, h5dxpl, buffer); - VRFY((hrc >= 0), "H5Dread"); - - /* Increment number of bytes transferred */ - nbytes_xfer += (off_t)buf_size*(off_t)blk_size; - - } /* end else */ - break; + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Dataset Close failed\n"); + GOTOERROR(FAIL); + } - default: - break; - } /* switch (parms->io_type) */ - - /* Verify raw data, if asked */ - if (parms->verify) { - /* Verify data read */ - unsigned char *ucharptr = (unsigned char *)buffer; - size_t i; - int nerror=0; - - for (i = 0; i < bsize; ++i){ - if (*ucharptr++ != pio_mpi_rank_g+1) { - if (++nerror < 20){ - /* report at most 20 errors */ - HDprint_rank(output); - HDfprintf(output, "read data error, expected (%d), " - "got (%d)\n", - pio_mpi_rank_g+1, - (int)*(ucharptr-1)); - } /* end if */ - } /* end if */ - } /* end for */ - if (nerror >= 20) { - HDprint_rank(output); - HDfprintf(output, "..."); - HDfprintf(output, "total read data errors=%d\n", - nerror); + h5ds_id = H5I_INVALID_HID; } /* end if */ - } /* if (parms->verify) */ - - } /* end while */ - - /* Stop "raw data" read timer */ - io_time_set(res->timers, HDF5_RAW_READ_FIXED_DIMS, TSTOP); - - /* Calculate read time */ - - /* Close dataset. Only HDF5 needs to do an explicit close. */ - if (parms->io_type == PHDF5) { - hrc = H5Dclose(h5ds_id); - - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Dataset Close failed\n"); - GOTOERROR(FAIL); - } - - h5ds_id = H5I_INVALID_HID; - } /* end if */ - } /* end for */ + } /* end for */ done: /* release MPI-I/O objects */ if (parms->io_type == MPIO) { /* 1D dataspace */ - if (!parms->dim2d){ + if (!parms->dim2d) { /* Free file type */ - mrc = MPI_Type_free( &mpi_file_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_file_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free buffer type */ - mrc = MPI_Type_free( &mpi_blk_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_blk_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); } /* end if */ /* 2D dataspace */ else { /* Free partial buffer type for contiguous access */ - mrc = MPI_Type_free( &mpi_partial_buffer_cont ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_partial_buffer_cont); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free contiguous file type */ - mrc = MPI_Type_free( &mpi_cont_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_cont_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free partial buffer type for interleaved access */ - mrc = MPI_Type_free( &mpi_partial_buffer_inter ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_partial_buffer_inter); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free interleaved file type */ - mrc = MPI_Type_free( &mpi_inter_type ); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + mrc = MPI_Type_free(&mpi_inter_type); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free full buffer type */ mrc = MPI_Type_free(&mpi_full_buffer); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free full chunk type */ mrc = MPI_Type_free(&mpi_full_chunk); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); /* Free chunk interleaved file type */ mrc = MPI_Type_free(&mpi_chunk_inter_type); - VRFY((mrc==MPI_SUCCESS), "MPIO_TYPE_FREE"); + VRFY((mrc == MPI_SUCCESS), "MPIO_TYPE_FREE"); } /* end else */ - } /* end if */ + } /* end if */ /* release HDF5 objects */ if (h5dset_space_id != -1) { - hrc = H5Sclose(h5dset_space_id); - if (hrc < 0){ - HDfprintf(stderr, "HDF5 Dataset Space Close failed\n"); - ret_code = FAIL; - } else { - h5dset_space_id = H5I_INVALID_HID; - } + hrc = H5Sclose(h5dset_space_id); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Dataset Space Close failed\n"); + ret_code = FAIL; + } + else { + h5dset_space_id = H5I_INVALID_HID; + } } if (h5mem_space_id != -1) { - hrc = H5Sclose(h5mem_space_id); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Memory Space Close failed\n"); - ret_code = FAIL; - } else { - h5mem_space_id = H5I_INVALID_HID; - } + hrc = H5Sclose(h5mem_space_id); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Memory Space Close failed\n"); + ret_code = FAIL; + } + else { + h5mem_space_id = H5I_INVALID_HID; + } } if (h5dxpl != -1) { - hrc = H5Pclose(h5dxpl); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Dataset Transfer Property List Close failed\n"); - ret_code = FAIL; - } else { - h5dxpl = H5I_INVALID_HID; - } + hrc = H5Pclose(h5dxpl); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Dataset Transfer Property List Close failed\n"); + ret_code = FAIL; + } + else { + h5dxpl = H5I_INVALID_HID; + } } return ret_code; @@ -2467,11 +2504,11 @@ done: * Programmer: Albert Cheng, Bill Wendling, 2001/12/13 * Modifications: */ - static herr_t +static herr_t do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, int flags) { - int ret_code = SUCCESS, mrc; - hid_t acc_tpl = H5I_INVALID_HID; /* file access templates */ + int ret_code = SUCCESS, mrc; + hid_t acc_tpl = H5I_INVALID_HID; /* file access templates */ switch (param->io_type) { case POSIXIO: @@ -2480,12 +2517,11 @@ do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, int flags) else fd->posixfd = POSIXOPEN(fname, O_RDONLY); - if (fd->posixfd < 0 ) { + if (fd->posixfd < 0) { HDfprintf(stderr, "POSIX File Open failed(%s)\n", fname); GOTOERROR(FAIL); } - /* The perils of POSIX I/O in a parallel environment. The problem is: * * - Process n opens a file with truncation and then starts @@ -2501,8 +2537,8 @@ do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, int flags) case MPIO: if (flags & (PIO_CREATE | PIO_WRITE)) { MPI_File_delete(fname, h5_io_info_g); - mrc = MPI_File_open(pio_comm_g, fname, MPI_MODE_CREATE | MPI_MODE_RDWR, - h5_io_info_g, &fd->mpifd); + mrc = MPI_File_open(pio_comm_g, fname, MPI_MODE_CREATE | MPI_MODE_RDWR, h5_io_info_g, + &fd->mpifd); if (mrc != MPI_SUCCESS) { HDfprintf(stderr, "MPI File Open failed(%s)\n", fname); @@ -2516,7 +2552,8 @@ do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, int flags) HDfprintf(stderr, "MPI_File_set_size failed\n"); GOTOERROR(FAIL); } - } else { + } + else { mrc = MPI_File_open(pio_comm_g, fname, MPI_MODE_RDONLY, h5_io_info_g, &fd->mpifd); if (mrc != MPI_SUCCESS) { HDfprintf(stderr, "MPI File Open failed(%s)\n", fname); @@ -2577,17 +2614,17 @@ done: * Programmer: Albert Cheng, Bill Wendling, 2001/12/13 * Modifications: */ - static herr_t +static herr_t do_fclose(iotype iot, file_descr *fd /*out*/) { herr_t ret_code = SUCCESS, hrc; - int mrc = 0, rc = 0; + int mrc = 0, rc = 0; switch (iot) { case POSIXIO: rc = POSIXCLOSE(fd->posixfd); - if (rc != 0){ + if (rc != 0) { HDfprintf(stderr, "POSIX File Close failed\n"); GOTOERROR(FAIL); } @@ -2598,7 +2635,7 @@ do_fclose(iotype iot, file_descr *fd /*out*/) case MPIO: mrc = MPI_File_close(&fd->mpifd); - if (mrc != MPI_SUCCESS){ + if (mrc != MPI_SUCCESS) { HDfprintf(stderr, "MPI File close failed\n"); GOTOERROR(FAIL); } @@ -2625,7 +2662,6 @@ done: return ret_code; } - /* * Function: do_fclose * Purpose: Cleanup temporary file unless HDF5_NOCLEANUP is set. @@ -2635,17 +2671,17 @@ done: * Programmer: Albert Cheng 2001/12/12 * Modifications: */ - static void +static void do_cleanupfile(iotype iot, char *fname) { if (pio_mpi_rank_g != 0) - return; + return; if (clean_file_g == -1) - clean_file_g = (getenv("HDF5_NOCLEANUP")==NULL) ? 1 : 0; + clean_file_g = (getenv("HDF5_NOCLEANUP") == NULL) ? 1 : 0; - if (clean_file_g){ - switch (iot){ + if (clean_file_g) { + switch (iot) { case POSIXIO: HDremove(fname); break; @@ -2663,51 +2699,49 @@ do_cleanupfile(iotype iot, char *fname) /* instrument the MPI_File_wrirte_xxx and read_xxx calls to measure * pure time spent in MPI_File code. */ -int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, - int count, MPI_Datatype datatype, MPI_Status *status) +int +MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) { int err; io_time_set(timer_g, HDF5_MPI_READ, TSTART); - err=PMPI_File_read_at(fh, offset, buf, count, datatype, status); + err = PMPI_File_read_at(fh, offset, buf, count, datatype, status); io_time_set(timer_g, HDF5_MPI_READ, TSTOP); return err; } - -int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, - int count, MPI_Datatype datatype, MPI_Status *status) +int +MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) { int err; io_time_set(timer_g, HDF5_MPI_READ, TSTART); - err=PMPI_File_read_at_all(fh, offset, buf, count, datatype, status); + err = PMPI_File_read_at_all(fh, offset, buf, count, datatype, status); io_time_set(timer_g, HDF5_MPI_READ, TSTOP); return err; } -int MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf, - int count, MPI_Datatype datatype, MPI_Status *status) +int +MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) { int err; io_time_set(timer_g, HDF5_MPI_WRITE, TSTART); - err=PMPI_File_write_at(fh, offset, buf, count, datatype, status); + err = PMPI_File_write_at(fh, offset, buf, count, datatype, status); io_time_set(timer_g, HDF5_MPI_WRITE, TSTOP); return err; } -int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf, - int count, MPI_Datatype datatype, MPI_Status *status) +int +MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) { int err; io_time_set(timer_g, HDF5_MPI_WRITE, TSTART); - err=PMPI_File_write_at_all(fh, offset, buf, count, datatype, status); + err = PMPI_File_write_at_all(fh, offset, buf, count, datatype, status); io_time_set(timer_g, HDF5_MPI_WRITE, TSTOP); return err; } -#endif /* TIME_MPI */ +#endif /* TIME_MPI */ #endif /* H5_HAVE_PARALLEL */ - - - - - diff --git a/tools/test/perform/pio_perf.c b/tools/test/perform/pio_perf.c index cb15f64..f1b8c4f 100644 --- a/tools/test/perform/pio_perf.c +++ b/tools/test/perform/pio_perf.c @@ -70,48 +70,48 @@ #include "pio_perf.h" /* useful macros */ -#define TAB_SPACE 4 +#define TAB_SPACE 4 -#define ONE_KB 1024 -#define ONE_MB (ONE_KB * ONE_KB) -#define ONE_GB (ONE_MB * ONE_KB) +#define ONE_KB 1024 +#define ONE_MB (ONE_KB * ONE_KB) +#define ONE_GB (ONE_MB * ONE_KB) -#define PIO_POSIX 0x1 -#define PIO_MPI 0x2 -#define PIO_HDF5 0x4 +#define PIO_POSIX 0x1 +#define PIO_MPI 0x2 +#define PIO_HDF5 0x4 #ifdef STANDALONE -#define DBL_EPSILON 2.2204460492503131e-16 -#define H5_DBL_ABS_EQUAL(X,Y) (fabs((X)-(Y)) < DBL_EPSILON) +#define DBL_EPSILON 2.2204460492503131e-16 +#define H5_DBL_ABS_EQUAL(X, Y) (fabs((X) - (Y)) < DBL_EPSILON) #endif /* report 0.0 in case t is zero too */ -#define MB_PER_SEC(bytes,t) (H5_DBL_ABS_EQUAL((t), 0.0) ? 0.0 : ((((double)bytes) / ONE_MB) / (t))) +#define MB_PER_SEC(bytes, t) (H5_DBL_ABS_EQUAL((t), 0.0) ? 0.0 : ((((double)bytes) / ONE_MB) / (t))) #ifndef TRUE -#define TRUE 1 -#endif /* TRUE */ +#define TRUE 1 +#endif /* TRUE */ #ifndef FALSE -#define FALSE (!TRUE) -#endif /* FALSE */ +#define FALSE (!TRUE) +#endif /* FALSE */ /* global variables */ -FILE *output; /* output file */ -int comm_world_rank_g; /* my rank in MPI_COMM_RANK */ -int comm_world_nprocs_g;/* num. of processes of MPI_COMM_WORLD */ -MPI_Comm pio_comm_g; /* Communicator to run the PIO */ -int pio_mpi_rank_g; /* MPI rank of pio_comm_g */ -int pio_mpi_nprocs_g; /* Number of processes of pio_comm_g */ -int pio_debug_level = 0;/* The debug level: - * 0 - Off - * 1 - Minimal - * 2 - Some more - * 3 - Maximal - * 4 - Maximal & then some - */ +FILE * output; /* output file */ +int comm_world_rank_g; /* my rank in MPI_COMM_RANK */ +int comm_world_nprocs_g; /* num. of processes of MPI_COMM_WORLD */ +MPI_Comm pio_comm_g; /* Communicator to run the PIO */ +int pio_mpi_rank_g; /* MPI rank of pio_comm_g */ +int pio_mpi_nprocs_g; /* Number of processes of pio_comm_g */ +int pio_debug_level = 0; /* The debug level: + * 0 - Off + * 1 - Minimal + * 2 - Some more + * 3 - Maximal + * 4 - Maximal & then some + */ /* local variables */ -static const char *progname = "h5perf"; +static const char *progname = "h5perf"; /* * Command-line options: The user can specify short or long-named @@ -122,14 +122,13 @@ static const char *progname = "h5perf"; static const char *s_opts = "a:A:B:cCd:D:e:F:ghi:Imno:p:P:stT:wx:X:"; #else static const char *s_opts = "a:A:bB:cCd:D:e:F:ghi:Imno:p:P:stT:wx:X:"; -#endif /* 1 */ -static struct long_options l_opts[] = { - { "align", require_arg, 'a' }, - { "alig", require_arg, 'a' }, - { "ali", require_arg, 'a' }, - { "al", require_arg, 'a' }, - { "api", require_arg, 'A' }, - { "ap", require_arg, 'A' }, +#endif /* 1 */ +static struct long_options l_opts[] = {{"align", require_arg, 'a'}, + {"alig", require_arg, 'a'}, + {"ali", require_arg, 'a'}, + {"al", require_arg, 'a'}, + {"api", require_arg, 'A'}, + {"ap", require_arg, 'A'}, #if 0 /* a sighting of the elusive binary option */ { "binary", no_arg, 'b' }, @@ -137,185 +136,183 @@ static struct long_options l_opts[] = { { "bina", no_arg, 'b' }, { "bin", no_arg, 'b' }, { "bi", no_arg, 'b' }, -#endif /* 0 */ - { "block-size", require_arg, 'B' }, - { "block-siz", require_arg, 'B' }, - { "block-si", require_arg, 'B' }, - { "block-s", require_arg, 'B' }, - { "block-", require_arg, 'B' }, - { "block", require_arg, 'B' }, - { "bloc", require_arg, 'B' }, - { "blo", require_arg, 'B' }, - { "bl", require_arg, 'B' }, - { "chunk", no_arg, 'c' }, - { "chun", no_arg, 'c' }, - { "chu", no_arg, 'c' }, - { "ch", no_arg, 'c' }, - { "collective", no_arg, 'C' }, - { "collectiv", no_arg, 'C' }, - { "collecti", no_arg, 'C' }, - { "collect", no_arg, 'C' }, - { "collec", no_arg, 'C' }, - { "colle", no_arg, 'C' }, - { "coll", no_arg, 'C' }, - { "col", no_arg, 'C' }, - { "co", no_arg, 'C' }, - { "debug", require_arg, 'D' }, - { "debu", require_arg, 'D' }, - { "deb", require_arg, 'D' }, - { "de", require_arg, 'D' }, - { "geometry", no_arg, 'g' }, - { "geometr", no_arg, 'g' }, - { "geomet", no_arg, 'g' }, - { "geome", no_arg, 'g' }, - { "geom", no_arg, 'g' }, - { "geo", no_arg, 'g' }, - { "ge", no_arg, 'g' }, - { "help", no_arg, 'h' }, - { "hel", no_arg, 'h' }, - { "he", no_arg, 'h' }, - { "interleaved", require_arg, 'I' }, - { "interleave", require_arg, 'I' }, - { "interleav", require_arg, 'I' }, - { "interlea", require_arg, 'I' }, - { "interle", require_arg, 'I' }, - { "interl", require_arg, 'I' }, - { "inter", require_arg, 'I' }, - { "inte", require_arg, 'I' }, - { "int", require_arg, 'I' }, - { "in", require_arg, 'I' }, - { "max-num-processes", require_arg, 'P' }, - { "max-num-processe", require_arg, 'P' }, - { "max-num-process", require_arg, 'P' }, - { "max-num-proces", require_arg, 'P' }, - { "max-num-proce", require_arg, 'P' }, - { "max-num-proc", require_arg, 'P' }, - { "max-num-pro", require_arg, 'P' }, - { "max-num-pr", require_arg, 'P' }, - { "max-num-p", require_arg, 'P' }, - { "min-num-processes", require_arg, 'p' }, - { "min-num-processe", require_arg, 'p' }, - { "min-num-process", require_arg, 'p' }, - { "min-num-proces", require_arg, 'p' }, - { "min-num-proce", require_arg, 'p' }, - { "min-num-proc", require_arg, 'p' }, - { "min-num-pro", require_arg, 'p' }, - { "min-num-pr", require_arg, 'p' }, - { "min-num-p", require_arg, 'p' }, - { "max-xfer-size", require_arg, 'X' }, - { "max-xfer-siz", require_arg, 'X' }, - { "max-xfer-si", require_arg, 'X' }, - { "max-xfer-s", require_arg, 'X' }, - { "max-xfer", require_arg, 'X' }, - { "max-xfe", require_arg, 'X' }, - { "max-xf", require_arg, 'X' }, - { "max-x", require_arg, 'X' }, - { "min-xfer-size", require_arg, 'x' }, - { "min-xfer-siz", require_arg, 'x' }, - { "min-xfer-si", require_arg, 'x' }, - { "min-xfer-s", require_arg, 'x' }, - { "min-xfer", require_arg, 'x' }, - { "min-xfe", require_arg, 'x' }, - { "min-xf", require_arg, 'x' }, - { "min-x", require_arg, 'x' }, - { "num-bytes", require_arg, 'e' }, - { "num-byte", require_arg, 'e' }, - { "num-byt", require_arg, 'e' }, - { "num-by", require_arg, 'e' }, - { "num-b", require_arg, 'e' }, - { "num-dsets", require_arg, 'd' }, - { "num-dset", require_arg, 'd' }, - { "num-dse", require_arg, 'd' }, - { "num-ds", require_arg, 'd' }, - { "num-d", require_arg, 'd' }, - { "num-files", require_arg, 'F' }, - { "num-file", require_arg, 'F' }, - { "num-fil", require_arg, 'F' }, - { "num-fi", require_arg, 'F' }, - { "num-f", require_arg, 'F' }, - { "num-iterations", require_arg, 'i' }, - { "num-iteration", require_arg, 'i' }, - { "num-iteratio", require_arg, 'i' }, - { "num-iterati", require_arg, 'i' }, - { "num-iterat", require_arg, 'i' }, - { "num-itera", require_arg, 'i' }, - { "num-iter", require_arg, 'i' }, - { "num-ite", require_arg, 'i' }, - { "num-it", require_arg, 'i' }, - { "num-i", require_arg, 'i' }, - { "output", require_arg, 'o' }, - { "outpu", require_arg, 'o' }, - { "outp", require_arg, 'o' }, - { "out", require_arg, 'o' }, - { "ou", require_arg, 'o' }, - { "threshold", require_arg, 'T' }, - { "threshol", require_arg, 'T' }, - { "thresho", require_arg, 'T' }, - { "thresh", require_arg, 'T' }, - { "thres", require_arg, 'T' }, - { "thre", require_arg, 'T' }, - { "thr", require_arg, 'T' }, - { "th", require_arg, 'T' }, - { "write-only", require_arg, 'w' }, - { "write-onl", require_arg, 'w' }, - { "write-on", require_arg, 'w' }, - { "write-o", require_arg, 'w' }, - { "write", require_arg, 'w' }, - { "writ", require_arg, 'w' }, - { "wri", require_arg, 'w' }, - { "wr", require_arg, 'w' }, - { NULL, 0, '\0' } -}; +#endif /* 0 */ + {"block-size", require_arg, 'B'}, + {"block-siz", require_arg, 'B'}, + {"block-si", require_arg, 'B'}, + {"block-s", require_arg, 'B'}, + {"block-", require_arg, 'B'}, + {"block", require_arg, 'B'}, + {"bloc", require_arg, 'B'}, + {"blo", require_arg, 'B'}, + {"bl", require_arg, 'B'}, + {"chunk", no_arg, 'c'}, + {"chun", no_arg, 'c'}, + {"chu", no_arg, 'c'}, + {"ch", no_arg, 'c'}, + {"collective", no_arg, 'C'}, + {"collectiv", no_arg, 'C'}, + {"collecti", no_arg, 'C'}, + {"collect", no_arg, 'C'}, + {"collec", no_arg, 'C'}, + {"colle", no_arg, 'C'}, + {"coll", no_arg, 'C'}, + {"col", no_arg, 'C'}, + {"co", no_arg, 'C'}, + {"debug", require_arg, 'D'}, + {"debu", require_arg, 'D'}, + {"deb", require_arg, 'D'}, + {"de", require_arg, 'D'}, + {"geometry", no_arg, 'g'}, + {"geometr", no_arg, 'g'}, + {"geomet", no_arg, 'g'}, + {"geome", no_arg, 'g'}, + {"geom", no_arg, 'g'}, + {"geo", no_arg, 'g'}, + {"ge", no_arg, 'g'}, + {"help", no_arg, 'h'}, + {"hel", no_arg, 'h'}, + {"he", no_arg, 'h'}, + {"interleaved", require_arg, 'I'}, + {"interleave", require_arg, 'I'}, + {"interleav", require_arg, 'I'}, + {"interlea", require_arg, 'I'}, + {"interle", require_arg, 'I'}, + {"interl", require_arg, 'I'}, + {"inter", require_arg, 'I'}, + {"inte", require_arg, 'I'}, + {"int", require_arg, 'I'}, + {"in", require_arg, 'I'}, + {"max-num-processes", require_arg, 'P'}, + {"max-num-processe", require_arg, 'P'}, + {"max-num-process", require_arg, 'P'}, + {"max-num-proces", require_arg, 'P'}, + {"max-num-proce", require_arg, 'P'}, + {"max-num-proc", require_arg, 'P'}, + {"max-num-pro", require_arg, 'P'}, + {"max-num-pr", require_arg, 'P'}, + {"max-num-p", require_arg, 'P'}, + {"min-num-processes", require_arg, 'p'}, + {"min-num-processe", require_arg, 'p'}, + {"min-num-process", require_arg, 'p'}, + {"min-num-proces", require_arg, 'p'}, + {"min-num-proce", require_arg, 'p'}, + {"min-num-proc", require_arg, 'p'}, + {"min-num-pro", require_arg, 'p'}, + {"min-num-pr", require_arg, 'p'}, + {"min-num-p", require_arg, 'p'}, + {"max-xfer-size", require_arg, 'X'}, + {"max-xfer-siz", require_arg, 'X'}, + {"max-xfer-si", require_arg, 'X'}, + {"max-xfer-s", require_arg, 'X'}, + {"max-xfer", require_arg, 'X'}, + {"max-xfe", require_arg, 'X'}, + {"max-xf", require_arg, 'X'}, + {"max-x", require_arg, 'X'}, + {"min-xfer-size", require_arg, 'x'}, + {"min-xfer-siz", require_arg, 'x'}, + {"min-xfer-si", require_arg, 'x'}, + {"min-xfer-s", require_arg, 'x'}, + {"min-xfer", require_arg, 'x'}, + {"min-xfe", require_arg, 'x'}, + {"min-xf", require_arg, 'x'}, + {"min-x", require_arg, 'x'}, + {"num-bytes", require_arg, 'e'}, + {"num-byte", require_arg, 'e'}, + {"num-byt", require_arg, 'e'}, + {"num-by", require_arg, 'e'}, + {"num-b", require_arg, 'e'}, + {"num-dsets", require_arg, 'd'}, + {"num-dset", require_arg, 'd'}, + {"num-dse", require_arg, 'd'}, + {"num-ds", require_arg, 'd'}, + {"num-d", require_arg, 'd'}, + {"num-files", require_arg, 'F'}, + {"num-file", require_arg, 'F'}, + {"num-fil", require_arg, 'F'}, + {"num-fi", require_arg, 'F'}, + {"num-f", require_arg, 'F'}, + {"num-iterations", require_arg, 'i'}, + {"num-iteration", require_arg, 'i'}, + {"num-iteratio", require_arg, 'i'}, + {"num-iterati", require_arg, 'i'}, + {"num-iterat", require_arg, 'i'}, + {"num-itera", require_arg, 'i'}, + {"num-iter", require_arg, 'i'}, + {"num-ite", require_arg, 'i'}, + {"num-it", require_arg, 'i'}, + {"num-i", require_arg, 'i'}, + {"output", require_arg, 'o'}, + {"outpu", require_arg, 'o'}, + {"outp", require_arg, 'o'}, + {"out", require_arg, 'o'}, + {"ou", require_arg, 'o'}, + {"threshold", require_arg, 'T'}, + {"threshol", require_arg, 'T'}, + {"thresho", require_arg, 'T'}, + {"thresh", require_arg, 'T'}, + {"thres", require_arg, 'T'}, + {"thre", require_arg, 'T'}, + {"thr", require_arg, 'T'}, + {"th", require_arg, 'T'}, + {"write-only", require_arg, 'w'}, + {"write-onl", require_arg, 'w'}, + {"write-on", require_arg, 'w'}, + {"write-o", require_arg, 'w'}, + {"write", require_arg, 'w'}, + {"writ", require_arg, 'w'}, + {"wri", require_arg, 'w'}, + {"wr", require_arg, 'w'}, + {NULL, 0, '\0'}}; struct options { - long io_types; /* bitmask of which I/O types to test */ - const char *output_file; /* file to print report to */ - long num_dsets; /* number of datasets */ - long num_files; /* number of files */ - off_t num_bpp; /* number of bytes per proc per dset */ - int num_iters; /* number of iterations */ - int max_num_procs; /* maximum number of processes to use */ - int min_num_procs; /* minimum number of processes to use */ - size_t max_xfer_size; /* maximum transfer buffer size */ - size_t min_xfer_size; /* minimum transfer buffer size */ - size_t blk_size; /* Block size */ - unsigned interleaved; /* Interleaved vs. contiguous blocks */ - unsigned collective; /* Collective vs. independent I/O */ - unsigned dim2d; /* 1D vs. 2D geometry */ - int print_times; /* print times as well as throughputs */ - int print_raw; /* print raw data throughput info */ - off_t h5_alignment; /* alignment in HDF5 file */ - off_t h5_threshold; /* threshold for alignment in HDF5 file */ - int h5_use_chunks; /* Make HDF5 dataset chunked */ - int h5_write_only; /* Perform the write tests only */ - int verify; /* Verify data correctness */ + long io_types; /* bitmask of which I/O types to test */ + const char *output_file; /* file to print report to */ + long num_dsets; /* number of datasets */ + long num_files; /* number of files */ + off_t num_bpp; /* number of bytes per proc per dset */ + int num_iters; /* number of iterations */ + int max_num_procs; /* maximum number of processes to use */ + int min_num_procs; /* minimum number of processes to use */ + size_t max_xfer_size; /* maximum transfer buffer size */ + size_t min_xfer_size; /* minimum transfer buffer size */ + size_t blk_size; /* Block size */ + unsigned interleaved; /* Interleaved vs. contiguous blocks */ + unsigned collective; /* Collective vs. independent I/O */ + unsigned dim2d; /* 1D vs. 2D geometry */ + int print_times; /* print times as well as throughputs */ + int print_raw; /* print raw data throughput info */ + off_t h5_alignment; /* alignment in HDF5 file */ + off_t h5_threshold; /* threshold for alignment in HDF5 file */ + int h5_use_chunks; /* Make HDF5 dataset chunked */ + int h5_write_only; /* Perform the write tests only */ + int verify; /* Verify data correctness */ }; typedef struct _minmax { double min; double max; double sum; - int num; + int num; } minmax; /* local functions */ -static off_t parse_size_directive(const char *size); +static off_t parse_size_directive(const char *size); static struct options *parse_command_line(int argc, char *argv[]); -static void run_test_loop(struct options *options); -static int run_test(iotype iot, parameters parms, struct options *opts); -static void output_all_info(minmax *mm, int count, int indent_level); -static void get_minmax(minmax *mm, double val); -static minmax accumulate_minmax_stuff(minmax *mm, int count); -static int create_comm_world(int num_procs, int *doing_pio); -static int destroy_comm_world(void); -static void output_results(const struct options *options, const char *name, - minmax *table, int table_size, off_t data_size); -static void output_times(const struct options *options, const char *name, - minmax *table, int table_size); -static void output_report(const char *fmt, ...); -static void print_indent(register int indent); -static void usage(const char *prog); -static void report_parameters(struct options *opts); +static void run_test_loop(struct options *options); +static int run_test(iotype iot, parameters parms, struct options *opts); +static void output_all_info(minmax *mm, int count, int indent_level); +static void get_minmax(minmax *mm, double val); +static minmax accumulate_minmax_stuff(minmax *mm, int count); +static int create_comm_world(int num_procs, int *doing_pio); +static int destroy_comm_world(void); +static void output_results(const struct options *options, const char *name, minmax *table, int table_size, + off_t data_size); +static void output_times(const struct options *options, const char *name, minmax *table, int table_size); +static void output_report(const char *fmt, ...); +static void print_indent(register int indent); +static void usage(const char *prog); +static void report_parameters(struct options *opts); static off_t squareo(off_t); /* @@ -329,9 +326,9 @@ static off_t squareo(off_t); int main(int argc, char *argv[]) { - int ret; - int exit_value = EXIT_SUCCESS; - struct options *opts = NULL; + int ret; + int exit_value = EXIT_SUCCESS; + struct options *opts = NULL; #ifndef STANDALONE /* Initialize h5tools lib */ @@ -430,26 +427,25 @@ static void run_test_loop(struct options *opts) { parameters parms; - int num_procs; - int doing_pio; /* if this process is doing PIO */ - - parms.num_files = opts->num_files; - parms.num_dsets = opts->num_dsets; - parms.num_iters = opts->num_iters; - parms.blk_size = opts->blk_size; - parms.interleaved = opts->interleaved; - parms.collective = opts->collective; - parms.dim2d = opts->dim2d; - parms.h5_align = (hsize_t)opts->h5_alignment; - parms.h5_thresh = (hsize_t)opts->h5_threshold; + int num_procs; + int doing_pio; /* if this process is doing PIO */ + + parms.num_files = opts->num_files; + parms.num_dsets = opts->num_dsets; + parms.num_iters = opts->num_iters; + parms.blk_size = opts->blk_size; + parms.interleaved = opts->interleaved; + parms.collective = opts->collective; + parms.dim2d = opts->dim2d; + parms.h5_align = (hsize_t)opts->h5_alignment; + parms.h5_thresh = (hsize_t)opts->h5_threshold; parms.h5_use_chunks = opts->h5_use_chunks; parms.h5_write_only = opts->h5_write_only; - parms.verify = opts->verify; + parms.verify = opts->verify; /* start with max_num_procs and decrement it by half for each loop. */ /* if performance needs restart, fewer processes may be needed. */ - for (num_procs = opts->max_num_procs; - num_procs >= opts->min_num_procs; num_procs >>= 1) { + for (num_procs = opts->max_num_procs; num_procs >= opts->min_num_procs; num_procs >>= 1) { register size_t buf_size; parms.num_procs = num_procs; @@ -458,42 +454,41 @@ run_test_loop(struct options *opts) /* do something harsh */ } - /* only processes doing PIO will run the tests */ - if (doing_pio){ + /* only processes doing PIO will run the tests */ + if (doing_pio) { output_report("Number of processors = %ld\n", parms.num_procs); /* multiply the xfer buffer size by 2 for each loop iteration */ - for (buf_size = opts->min_xfer_size; - buf_size <= opts->max_xfer_size; buf_size <<= 1) { + for (buf_size = opts->min_xfer_size; buf_size <= opts->max_xfer_size; buf_size <<= 1) { parms.buf_size = buf_size; - if (parms.dim2d){ - parms.num_bytes = squareo(opts->num_bpp * parms.num_procs); - if (parms.interleaved) - output_report("Transfer Buffer Size: %ldx%ld bytes, File size: %.2f MB\n", - buf_size, opts->blk_size, - ((double)parms.num_dsets * (double)parms.num_bytes) - / ONE_MB); - else - output_report("Transfer Buffer Size: %ldx%ld bytes, File size: %.2f MB\n", - opts->blk_size, buf_size, - ((double)parms.num_dsets * (double)parms.num_bytes) - / ONE_MB); - - print_indent(1); - output_report(" # of files: %ld, # of datasets: %ld, dataset size: %.2fx%.2f KB\n", - parms.num_files, parms.num_dsets, (double)(opts->num_bpp*parms.num_procs)/ONE_KB, - (double)(opts->num_bpp*parms.num_procs)/ONE_KB); - } - else{ - parms.num_bytes = (off_t)opts->num_bpp*parms.num_procs; - output_report("Transfer Buffer Size: %ld bytes, File size: %.2f MB\n", - buf_size,((double)parms.num_dsets * (double)parms.num_bytes) / ONE_MB); - - print_indent(1); - output_report(" # of files: %ld, # of datasets: %ld, dataset size: %.2f MB\n", - parms.num_files, parms.num_dsets, (double)(opts->num_bpp*parms.num_procs)/ONE_MB); - } + if (parms.dim2d) { + parms.num_bytes = squareo(opts->num_bpp * parms.num_procs); + if (parms.interleaved) + output_report("Transfer Buffer Size: %ldx%ld bytes, File size: %.2f MB\n", buf_size, + opts->blk_size, + ((double)parms.num_dsets * (double)parms.num_bytes) / ONE_MB); + else + output_report("Transfer Buffer Size: %ldx%ld bytes, File size: %.2f MB\n", + opts->blk_size, buf_size, + ((double)parms.num_dsets * (double)parms.num_bytes) / ONE_MB); + + print_indent(1); + output_report(" # of files: %ld, # of datasets: %ld, dataset size: %.2fx%.2f KB\n", + parms.num_files, parms.num_dsets, + (double)(opts->num_bpp * parms.num_procs) / ONE_KB, + (double)(opts->num_bpp * parms.num_procs) / ONE_KB); + } + else { + parms.num_bytes = (off_t)opts->num_bpp * parms.num_procs; + output_report("Transfer Buffer Size: %ld bytes, File size: %.2f MB\n", buf_size, + ((double)parms.num_dsets * (double)parms.num_bytes) / ONE_MB); + + print_indent(1); + output_report(" # of files: %ld, # of datasets: %ld, dataset size: %.2f MB\n", + parms.num_files, parms.num_dsets, + (double)(opts->num_bpp * parms.num_procs) / ONE_MB); + } if (opts->io_types & PIO_POSIX) run_test(POSIXIO, parms, opts); @@ -505,14 +500,14 @@ run_test_loop(struct options *opts) run_test(PHDF5, parms, opts); /* Run the tests once if buf_size==0, but then break out */ - if(buf_size==0) + if (buf_size == 0) break; } if (destroy_comm_world() != SUCCESS) { /* do something harsh */ } - } + } } } @@ -526,36 +521,36 @@ run_test_loop(struct options *opts) static int run_test(iotype iot, parameters parms, struct options *opts) { - results res; - register int i, ret_value = SUCCESS; - int comm_size; - off_t raw_size; - minmax *write_mpi_mm_table=NULL; - minmax *write_mm_table=NULL; - minmax *write_gross_mm_table=NULL; - minmax *write_raw_mm_table=NULL; - minmax *read_mpi_mm_table=NULL; - minmax *read_mm_table=NULL; - minmax *read_gross_mm_table=NULL; - minmax *read_raw_mm_table=NULL; - minmax *read_open_mm_table=NULL; - minmax *read_close_mm_table=NULL; - minmax *write_open_mm_table=NULL; - minmax *write_close_mm_table=NULL; - minmax write_mpi_mm = {0.0, 0.0, 0.0, 0}; - minmax write_mm = {0.0, 0.0, 0.0, 0}; - minmax write_gross_mm = {0.0, 0.0, 0.0, 0}; - minmax write_raw_mm = {0.0, 0.0, 0.0, 0}; - minmax read_mpi_mm = {0.0, 0.0, 0.0, 0}; - minmax read_mm = {0.0, 0.0, 0.0, 0}; - minmax read_gross_mm = {0.0, 0.0, 0.0, 0}; - minmax read_raw_mm = {0.0, 0.0, 0.0, 0}; - minmax read_open_mm = {0.0, 0.0, 0.0, 0}; - minmax read_close_mm = {0.0, 0.0, 0.0, 0}; - minmax write_open_mm = {0.0, 0.0, 0.0, 0}; - minmax write_close_mm = {0.0, 0.0, 0.0, 0}; - - raw_size = parms.num_files * (off_t)parms.num_dsets * (off_t)parms.num_bytes; + results res; + register int i, ret_value = SUCCESS; + int comm_size; + off_t raw_size; + minmax * write_mpi_mm_table = NULL; + minmax * write_mm_table = NULL; + minmax * write_gross_mm_table = NULL; + minmax * write_raw_mm_table = NULL; + minmax * read_mpi_mm_table = NULL; + minmax * read_mm_table = NULL; + minmax * read_gross_mm_table = NULL; + minmax * read_raw_mm_table = NULL; + minmax * read_open_mm_table = NULL; + minmax * read_close_mm_table = NULL; + minmax * write_open_mm_table = NULL; + minmax * write_close_mm_table = NULL; + minmax write_mpi_mm = {0.0, 0.0, 0.0, 0}; + minmax write_mm = {0.0, 0.0, 0.0, 0}; + minmax write_gross_mm = {0.0, 0.0, 0.0, 0}; + minmax write_raw_mm = {0.0, 0.0, 0.0, 0}; + minmax read_mpi_mm = {0.0, 0.0, 0.0, 0}; + minmax read_mm = {0.0, 0.0, 0.0, 0}; + minmax read_gross_mm = {0.0, 0.0, 0.0, 0}; + minmax read_raw_mm = {0.0, 0.0, 0.0, 0}; + minmax read_open_mm = {0.0, 0.0, 0.0, 0}; + minmax read_close_mm = {0.0, 0.0, 0.0, 0}; + minmax write_open_mm = {0.0, 0.0, 0.0, 0}; + minmax write_close_mm = {0.0, 0.0, 0.0, 0}; + + raw_size = parms.num_files * (off_t)parms.num_dsets * (off_t)parms.num_bytes; parms.io_type = iot; print_indent(2); output_report("IO API = "); @@ -578,19 +573,19 @@ run_test(iotype iot, parameters parms, struct options *opts) /* allocate space for tables minmax and that it is sufficient */ /* to initialize all elements to zeros by calloc. */ - write_mpi_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - write_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - write_gross_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - write_raw_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - write_open_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - write_close_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); + write_mpi_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + write_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + write_gross_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + write_raw_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + write_open_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + write_close_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); if (!parms.h5_write_only) { - read_mpi_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - read_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - read_gross_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - read_raw_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - read_open_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); - read_close_mm_table = calloc((size_t)parms.num_iters , sizeof(minmax)); + read_mpi_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + read_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + read_gross_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + read_raw_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + read_open_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); + read_close_mm_table = calloc((size_t)parms.num_iters, sizeof(minmax)); } /* Do IO iteration times, collecting statistics each time */ @@ -672,10 +667,9 @@ run_test(iotype iot, parameters parms, struct options *opts) get_minmax(&read_close_mm, t); read_close_mm_table[i] = read_close_mm; + } - } - - io_time_destroy(res.timers); + io_time_destroy(res.timers); } /* @@ -692,7 +686,7 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(write_raw_mm_table, parms.num_iters, 4); } - output_results(opts,"Raw Data Write",write_raw_mm_table,parms.num_iters,raw_size); + output_results(opts, "Raw Data Write", write_raw_mm_table, parms.num_iters, raw_size); } /* end if */ /* show mpi write statics */ @@ -713,7 +707,7 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(write_mm_table, parms.num_iters, 4); } - output_results(opts,"Write",write_mm_table,parms.num_iters,raw_size); + output_results(opts, "Write", write_mm_table, parms.num_iters, raw_size); /* accumulate and output the max, min, and average "gross write" times */ if (pio_debug_level >= 3) { @@ -723,27 +717,27 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(write_gross_mm_table, parms.num_iters, 4); } - output_results(opts,"Write Open-Close",write_gross_mm_table,parms.num_iters,raw_size); + output_results(opts, "Write Open-Close", write_gross_mm_table, parms.num_iters, raw_size); if (opts->print_times) { - output_times(opts,"Write File Open",write_open_mm_table,parms.num_iters); - output_times(opts,"Write File Close",write_close_mm_table,parms.num_iters); + output_times(opts, "Write File Open", write_open_mm_table, parms.num_iters); + output_times(opts, "Write File Close", write_close_mm_table, parms.num_iters); } /* Print out time from open to first write */ if (pio_debug_level >= 3) { - /* output all of the times for all iterations */ - print_indent(3); - output_report("Write file open details:\n"); - output_all_info(write_open_mm_table, parms.num_iters, 4); + /* output all of the times for all iterations */ + print_indent(3); + output_report("Write file open details:\n"); + output_all_info(write_open_mm_table, parms.num_iters, 4); } /* Print out time from last write to close */ if (pio_debug_level >= 3) { - /* output all of the times for all iterations */ - print_indent(3); - output_report("Write file close details:\n"); - output_all_info(write_close_mm_table, parms.num_iters, 4); + /* output all of the times for all iterations */ + print_indent(3); + output_report("Write file close details:\n"); + output_all_info(write_close_mm_table, parms.num_iters, 4); } if (!parms.h5_write_only) { @@ -758,8 +752,7 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(read_raw_mm_table, parms.num_iters, 4); } - output_results(opts, "Raw Data Read", read_raw_mm_table, - parms.num_iters, raw_size); + output_results(opts, "Raw Data Read", read_raw_mm_table, parms.num_iters, raw_size); } /* end if */ /* show mpi read statics */ @@ -790,11 +783,11 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(read_gross_mm_table, parms.num_iters, 4); } - output_results(opts, "Read Open-Close", read_gross_mm_table,parms.num_iters, raw_size); + output_results(opts, "Read Open-Close", read_gross_mm_table, parms.num_iters, raw_size); if (opts->print_times) { - output_times(opts,"Read File Open",read_open_mm_table,parms.num_iters); - output_times(opts,"Read File Close",read_close_mm_table,parms.num_iters); + output_times(opts, "Read File Open", read_open_mm_table, parms.num_iters); + output_times(opts, "Read File Close", read_close_mm_table, parms.num_iters); } /* Print out time from open to first read */ @@ -812,7 +805,6 @@ run_test(iotype iot, parameters parms, struct options *opts) output_report("Read file close details:\n"); output_all_info(read_close_mm_table, parms.num_iters, 4); } - } /* clean up our mess */ @@ -890,7 +882,7 @@ get_minmax(minmax *mm, double val) static minmax accumulate_minmax_stuff(minmax *mm, int count) { - int i; + int i; minmax total_mm; total_mm.sum = 0.0f; @@ -926,9 +918,9 @@ static int create_comm_world(int num_procs, int *doing_pio) { /* MPI variables */ - int mrc; /* return values */ - int color; /* for communicator creation */ - int myrank, nprocs; + int mrc; /* return values */ + int color; /* for communicator creation */ + int myrank, nprocs; pio_comm_g = MPI_COMM_NULL; @@ -939,15 +931,14 @@ create_comm_world(int num_procs, int *doing_pio) MPI_Comm_size(MPI_COMM_WORLD, &nprocs); if (num_procs > nprocs) { - HDfprintf(stderr, - "number of process(%d) must be <= number of processes in MPI_COMM_WORLD(%d)\n", - num_procs, nprocs); + HDfprintf(stderr, "number of process(%d) must be <= number of processes in MPI_COMM_WORLD(%d)\n", + num_procs, nprocs); goto error_done; } MPI_Comm_rank(MPI_COMM_WORLD, &myrank); color = (myrank < num_procs); - mrc = MPI_Comm_split(MPI_COMM_WORLD, color, myrank, &pio_comm_g); + mrc = MPI_Comm_split(MPI_COMM_WORLD, color, myrank, &pio_comm_g); if (mrc != MPI_SUCCESS) { HDfprintf(stderr, "MPI_Comm_split failed\n"); @@ -985,7 +976,7 @@ error_done: static int destroy_comm_world(void) { - int mrc = SUCCESS; /* return code */ + int mrc = SUCCESS; /* return code */ /* release MPI resources */ if (pio_comm_g != MPI_COMM_NULL) @@ -1003,63 +994,60 @@ destroy_comm_world(void) * Modifications: */ static void -output_results(const struct options *opts, const char *name, minmax *table, - int table_size,off_t data_size) +output_results(const struct options *opts, const char *name, minmax *table, int table_size, off_t data_size) { - minmax total_mm; + minmax total_mm; total_mm = accumulate_minmax_stuff(table, table_size); print_indent(3); - output_report("%s (%d iteration(s)):\n", name,table_size); + output_report("%s (%d iteration(s)):\n", name, table_size); /* Note: The maximum throughput uses the minimum amount of time & vice versa */ print_indent(4); - output_report("Maximum Throughput: %6.2f MB/s", MB_PER_SEC(data_size,total_mm.min)); - if(opts->print_times) + output_report("Maximum Throughput: %6.2f MB/s", MB_PER_SEC(data_size, total_mm.min)); + if (opts->print_times) output_report(" (%7.3f s)\n", total_mm.min); else output_report("\n"); print_indent(4); - output_report("Average Throughput: %6.2f MB/s", - MB_PER_SEC(data_size,total_mm.sum / total_mm.num)); - if(opts->print_times) + output_report("Average Throughput: %6.2f MB/s", MB_PER_SEC(data_size, total_mm.sum / total_mm.num)); + if (opts->print_times) output_report(" (%7.3f s)\n", (total_mm.sum / total_mm.num)); else output_report("\n"); print_indent(4); - output_report("Minimum Throughput: %6.2f MB/s", MB_PER_SEC(data_size,total_mm.max)); - if(opts->print_times) + output_report("Minimum Throughput: %6.2f MB/s", MB_PER_SEC(data_size, total_mm.max)); + if (opts->print_times) output_report(" (%7.3f s)\n", total_mm.max); else output_report("\n"); - } static void -output_times(const struct options *opts, const char *name, minmax *table, - int table_size) +output_times(const struct options *opts, const char *name, minmax *table, int table_size) { - minmax total_mm; + minmax total_mm; total_mm = accumulate_minmax_stuff(table, table_size); print_indent(3); - output_report("%s (%d iteration(s)):\n", name,table_size); + output_report("%s (%d iteration(s)):\n", name, table_size); /* Note: The maximum throughput uses the minimum amount of time & vice versa */ print_indent(4); - output_report("Minimum Accumulated Time using %d file(s): %7.5f s\n", opts->num_files,(total_mm.min)); + output_report("Minimum Accumulated Time using %d file(s): %7.5f s\n", opts->num_files, (total_mm.min)); print_indent(4); - output_report("Average Accumulated Time using %d file(s): %7.5f s\n", opts->num_files,(total_mm.sum / total_mm.num)); + output_report("Average Accumulated Time using %d file(s): %7.5f s\n", opts->num_files, + (total_mm.sum / total_mm.num)); print_indent(4); - output_report("Maximum Accumulated Time using %d file(s): %7.5f s\n", opts->num_files,(total_mm.max)); + output_report("Maximum Accumulated Time using %d file(s): %7.5f s\n", opts->num_files, (total_mm.max)); } /* @@ -1101,10 +1089,10 @@ print_indent(register int indent) MPI_Comm_rank(pio_comm_g, &myrank); if (myrank == 0) { - indent *= TAB_SPACE; + indent *= TAB_SPACE; - for (; indent > 0; --indent) - HDfputc(' ', output); + for (; indent > 0; --indent) + HDfputc(' ', output); } } @@ -1114,14 +1102,28 @@ recover_size_and_print(long long val, const char *end) if (val >= ONE_KB && (val % ONE_KB) == 0) { if (val >= ONE_MB && (val % ONE_MB) == 0) { if (val >= ONE_GB && (val % ONE_GB) == 0) - HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""GB%s", val / ONE_GB, end); + HDfprintf(output, + "%" H5_PRINTF_LL_WIDTH "d" + "GB%s", + val / ONE_GB, end); else - HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""MB%s", val / ONE_MB, end); - } else { - HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""KB%s", val / ONE_KB, end); + HDfprintf(output, + "%" H5_PRINTF_LL_WIDTH "d" + "MB%s", + val / ONE_MB, end); + } + else { + HDfprintf(output, + "%" H5_PRINTF_LL_WIDTH "d" + "KB%s", + val / ONE_KB, end); } - } else { - HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""%s", val, end); + } + else { + HDfprintf(output, + "%" H5_PRINTF_LL_WIDTH "d" + "%s", + val, end); } } @@ -1129,11 +1131,11 @@ static void print_io_api(long io_types) { if (io_types & PIO_POSIX) - HDfprintf(output, "posix "); + HDfprintf(output, "posix "); if (io_types & PIO_MPI) - HDfprintf(output, "mpiio "); + HDfprintf(output, "mpiio "); if (io_types & PIO_HDF5) - HDfprintf(output, "phdf5 "); + HDfprintf(output, "phdf5 "); HDfprintf(output, "\n"); } @@ -1142,90 +1144,84 @@ report_parameters(struct options *opts) { int rank = comm_world_rank_g; - print_version("HDF5 Library"); /* print library version */ + print_version("HDF5 Library"); /* print library version */ HDfprintf(output, "rank %d: ==== Parameters ====\n", rank); HDfprintf(output, "rank %d: IO API=", rank); print_io_api(opts->io_types); - HDfprintf(output, "rank %d: Number of files=%ld\n", rank, - opts->num_files); - HDfprintf(output, "rank %d: Number of datasets=%ld\n", rank, - opts->num_dsets); - HDfprintf(output, "rank %d: Number of iterations=%d\n", rank, - opts->num_iters); - HDfprintf(output, "rank %d: Number of processes=%d:%d\n", rank, - opts->min_num_procs, opts->max_num_procs); - - if (opts->dim2d){ - HDfprintf(output, "rank %d: Number of bytes per process per dataset=", rank); - recover_size_and_print((long long)(opts->num_bpp * opts->num_bpp * opts->min_num_procs), ":"); - recover_size_and_print((long long)(opts->num_bpp * opts->num_bpp * opts->max_num_procs), "\n"); - - HDfprintf(output, "rank %d: Size of dataset(s)=", rank); - recover_size_and_print((long long)(opts->num_bpp * opts->min_num_procs), "x"); - recover_size_and_print((long long)(opts->num_bpp * opts->min_num_procs), ":"); - recover_size_and_print((long long)(opts->num_bpp * opts->max_num_procs), "x"); - recover_size_and_print((long long)(opts->num_bpp * opts->max_num_procs), "\n"); - - HDfprintf(output, "rank %d: File size=", rank); - recover_size_and_print((long long)(squareo(opts->num_bpp * opts->min_num_procs) - * opts->num_dsets), ":"); - recover_size_and_print((long long)(squareo(opts->num_bpp * opts->max_num_procs) - * opts->num_dsets), "\n"); - - HDfprintf(output, "rank %d: Transfer buffer size=", rank); - if(opts->interleaved){ - recover_size_and_print((long long)opts->min_xfer_size, "x"); - recover_size_and_print((long long)opts->blk_size, ":"); - recover_size_and_print((long long)opts->max_xfer_size, "x"); + HDfprintf(output, "rank %d: Number of files=%ld\n", rank, opts->num_files); + HDfprintf(output, "rank %d: Number of datasets=%ld\n", rank, opts->num_dsets); + HDfprintf(output, "rank %d: Number of iterations=%d\n", rank, opts->num_iters); + HDfprintf(output, "rank %d: Number of processes=%d:%d\n", rank, opts->min_num_procs, opts->max_num_procs); + + if (opts->dim2d) { + HDfprintf(output, "rank %d: Number of bytes per process per dataset=", rank); + recover_size_and_print((long long)(opts->num_bpp * opts->num_bpp * opts->min_num_procs), ":"); + recover_size_and_print((long long)(opts->num_bpp * opts->num_bpp * opts->max_num_procs), "\n"); + + HDfprintf(output, "rank %d: Size of dataset(s)=", rank); + recover_size_and_print((long long)(opts->num_bpp * opts->min_num_procs), "x"); + recover_size_and_print((long long)(opts->num_bpp * opts->min_num_procs), ":"); + recover_size_and_print((long long)(opts->num_bpp * opts->max_num_procs), "x"); + recover_size_and_print((long long)(opts->num_bpp * opts->max_num_procs), "\n"); + + HDfprintf(output, "rank %d: File size=", rank); + recover_size_and_print((long long)(squareo(opts->num_bpp * opts->min_num_procs) * opts->num_dsets), + ":"); + recover_size_and_print((long long)(squareo(opts->num_bpp * opts->max_num_procs) * opts->num_dsets), + "\n"); + + HDfprintf(output, "rank %d: Transfer buffer size=", rank); + if (opts->interleaved) { + recover_size_and_print((long long)opts->min_xfer_size, "x"); + recover_size_and_print((long long)opts->blk_size, ":"); + recover_size_and_print((long long)opts->max_xfer_size, "x"); + recover_size_and_print((long long)opts->blk_size, "\n"); + } + else { + recover_size_and_print((long long)opts->blk_size, "x"); + recover_size_and_print((long long)opts->min_xfer_size, ":"); + recover_size_and_print((long long)opts->blk_size, "x"); + recover_size_and_print((long long)opts->max_xfer_size, "\n"); + } + HDfprintf(output, "rank %d: Block size=", rank); + recover_size_and_print((long long)opts->blk_size, "x"); recover_size_and_print((long long)opts->blk_size, "\n"); } - else{ - recover_size_and_print((long long)opts->blk_size, "x"); + else { + HDfprintf(output, "rank %d: Number of bytes per process per dataset=", rank); + recover_size_and_print((long long)opts->num_bpp, "\n"); + + HDfprintf(output, "rank %d: Size of dataset(s)=", rank); + recover_size_and_print((long long)(opts->num_bpp * opts->min_num_procs), ":"); + recover_size_and_print((long long)(opts->num_bpp * opts->max_num_procs), "\n"); + + HDfprintf(output, "rank %d: File size=", rank); + recover_size_and_print((long long)(opts->num_bpp * opts->min_num_procs * opts->num_dsets), ":"); + recover_size_and_print((long long)(opts->num_bpp * opts->max_num_procs * opts->num_dsets), "\n"); + + HDfprintf(output, "rank %d: Transfer buffer size=", rank); recover_size_and_print((long long)opts->min_xfer_size, ":"); - recover_size_and_print((long long)opts->blk_size, "x"); recover_size_and_print((long long)opts->max_xfer_size, "\n"); - } - HDfprintf(output, "rank %d: Block size=", rank); - recover_size_and_print((long long)opts->blk_size, "x"); - recover_size_and_print((long long)opts->blk_size, "\n"); - } - else{ - HDfprintf(output, "rank %d: Number of bytes per process per dataset=", rank); - recover_size_and_print((long long)opts->num_bpp, "\n"); - - HDfprintf(output, "rank %d: Size of dataset(s)=", rank); - recover_size_and_print((long long)(opts->num_bpp * opts->min_num_procs), ":"); - recover_size_and_print((long long)(opts->num_bpp * opts->max_num_procs), "\n"); - - HDfprintf(output, "rank %d: File size=", rank); - recover_size_and_print((long long)(opts->num_bpp * opts->min_num_procs - * opts->num_dsets), ":"); - recover_size_and_print((long long)(opts->num_bpp * opts->max_num_procs - * opts->num_dsets), "\n"); - - HDfprintf(output, "rank %d: Transfer buffer size=", rank); - recover_size_and_print((long long)opts->min_xfer_size, ":"); - recover_size_and_print((long long)opts->max_xfer_size, "\n"); - HDfprintf(output, "rank %d: Block size=", rank); - recover_size_and_print((long long)opts->blk_size, "\n"); + HDfprintf(output, "rank %d: Block size=", rank); + recover_size_and_print((long long)opts->blk_size, "\n"); } HDfprintf(output, "rank %d: Block Pattern in Dataset=", rank); - if(opts->interleaved) + if (opts->interleaved) HDfprintf(output, "Interleaved\n"); else HDfprintf(output, "Contiguous\n"); HDfprintf(output, "rank %d: I/O Method for MPI and HDF5=", rank); - if(opts->collective) + if (opts->collective) HDfprintf(output, "Collective\n"); else HDfprintf(output, "Independent\n"); HDfprintf(output, "rank %d: Geometry=", rank); - if(opts->dim2d) + if (opts->dim2d) HDfprintf(output, "2D\n"); else HDfprintf(output, "1D\n"); @@ -1233,7 +1229,7 @@ report_parameters(struct options *opts) HDfprintf(output, "rank %d: VFL used for HDF5 I/O=%s\n", rank, "MPI-IO driver"); HDfprintf(output, "rank %d: Data storage method in HDF5=", rank); - if(opts->h5_use_chunks) + if (opts->h5_use_chunks) HDfprintf(output, "Chunked\n"); else HDfprintf(output, "Contiguous\n"); @@ -1241,8 +1237,7 @@ report_parameters(struct options *opts) { char *prefix = HDgetenv("HDF5_PARAPREFIX"); - HDfprintf(output, "rank %d: Env HDF5_PARAPREFIX=%s\n", rank, - (prefix ? prefix : "not set")); + HDfprintf(output, "rank %d: Env HDF5_PARAPREFIX=%s\n", rank, (prefix ? prefix : "not set")); } HDfprintf(output, "rank %d: ", rank); @@ -1264,45 +1259,44 @@ report_parameters(struct options *opts) static struct options * parse_command_line(int argc, char *argv[]) { - register int opt; + register int opt; struct options *cl_opts; cl_opts = (struct options *)malloc(sizeof(struct options)); - cl_opts->output_file = NULL; - cl_opts->io_types = 0; /* will set default after parsing options */ - cl_opts->num_dsets = 1; - cl_opts->num_files = 1; - cl_opts->num_bpp = 0; - cl_opts->num_iters = 1; + cl_opts->output_file = NULL; + cl_opts->io_types = 0; /* will set default after parsing options */ + cl_opts->num_dsets = 1; + cl_opts->num_files = 1; + cl_opts->num_bpp = 0; + cl_opts->num_iters = 1; cl_opts->max_num_procs = comm_world_nprocs_g; cl_opts->min_num_procs = 1; cl_opts->max_xfer_size = 0; cl_opts->min_xfer_size = 0; - cl_opts->blk_size = 0; - cl_opts->interleaved = 0; /* Default to contiguous blocks in dataset */ - cl_opts->collective = 0; /* Default to independent I/O access */ - cl_opts->dim2d = 0; /* Default to 1D */ - cl_opts->print_times = FALSE; /* Printing times is off by default */ - cl_opts->print_raw = FALSE; /* Printing raw data throughput is off by default */ - cl_opts->h5_alignment = 1; /* No alignment for HDF5 objects by default */ - cl_opts->h5_threshold = 1; /* No threshold for aligning HDF5 objects by default */ + cl_opts->blk_size = 0; + cl_opts->interleaved = 0; /* Default to contiguous blocks in dataset */ + cl_opts->collective = 0; /* Default to independent I/O access */ + cl_opts->dim2d = 0; /* Default to 1D */ + cl_opts->print_times = FALSE; /* Printing times is off by default */ + cl_opts->print_raw = FALSE; /* Printing raw data throughput is off by default */ + cl_opts->h5_alignment = 1; /* No alignment for HDF5 objects by default */ + cl_opts->h5_threshold = 1; /* No threshold for aligning HDF5 objects by default */ cl_opts->h5_use_chunks = FALSE; /* Don't chunk the HDF5 dataset by default */ cl_opts->h5_write_only = FALSE; /* Do both read and write by default */ - cl_opts->verify = FALSE; /* No Verify data correctness by default */ + cl_opts->verify = FALSE; /* No Verify data correctness by default */ while ((opt = get_option(argc, (const char **)argv, s_opts, l_opts)) != EOF) { switch ((char)opt) { - case 'a': - cl_opts->h5_alignment = parse_size_directive(opt_arg); - break; - case 'A': - { + case 'a': + cl_opts->h5_alignment = parse_size_directive(opt_arg); + break; + case 'A': { const char *end = opt_arg; while (end && *end != '\0') { char buf[10]; - int i; + int i; HDmemset(buf, '\0', sizeof(buf)); @@ -1312,13 +1306,15 @@ parse_command_line(int argc, char *argv[]) if (!HDstrcasecmp(buf, "phdf5")) { cl_opts->io_types |= PIO_HDF5; - } else if (!HDstrcasecmp(buf, "mpiio")) { + } + else if (!HDstrcasecmp(buf, "mpiio")) { cl_opts->io_types |= PIO_MPI; - } else if (!HDstrcasecmp(buf, "posix")) { + } + else if (!HDstrcasecmp(buf, "posix")) { cl_opts->io_types |= PIO_POSIX; - } else { - HDfprintf(stderr, "pio_perf: invalid --api option %s\n", - buf); + } + else { + HDfprintf(stderr, "pio_perf: invalid --api option %s\n", buf); HDexit(EXIT_FAILURE); } @@ -1334,27 +1330,26 @@ parse_command_line(int argc, char *argv[]) case 'b': /* the future "binary" option */ break; -#endif /* 0 */ - case 'B': - cl_opts->blk_size = (size_t)parse_size_directive(opt_arg); - break; - case 'c': - /* Turn on chunked HDF5 dataset creation */ - cl_opts->h5_use_chunks = TRUE; - break; - case 'C': - cl_opts->collective = 1; - break; - case 'd': - cl_opts->num_dsets = atoi(opt_arg); - break; - case 'D': - { +#endif /* 0 */ + case 'B': + cl_opts->blk_size = (size_t)parse_size_directive(opt_arg); + break; + case 'c': + /* Turn on chunked HDF5 dataset creation */ + cl_opts->h5_use_chunks = TRUE; + break; + case 'C': + cl_opts->collective = 1; + break; + case 'd': + cl_opts->num_dsets = atoi(opt_arg); + break; + case 'D': { const char *end = opt_arg; while (end && *end != '\0') { char buf[10]; - int i; + int i; HDmemset(buf, '\0', sizeof(buf)); @@ -1367,8 +1362,7 @@ parse_command_line(int argc, char *argv[]) for (j = 0; j < 10 && buf[j] != '\0'; ++j) if (!isdigit(buf[j])) { - HDfprintf(stderr, "pio_perf: invalid --debug option %s\n", - buf); + HDfprintf(stderr, "pio_perf: invalid --debug option %s\n", buf); HDexit(EXIT_FAILURE); } @@ -1378,23 +1372,24 @@ parse_command_line(int argc, char *argv[]) pio_debug_level = 4; else if (pio_debug_level < 0) pio_debug_level = 0; - } else { + } + else { switch (*buf) { - case 'r': - /* Turn on raw data throughput info */ - cl_opts->print_raw = TRUE; - break; - case 't': - /* Turn on time printing */ - cl_opts->print_times = TRUE; - break; - case 'v': - /* Turn on verify data correctness*/ - cl_opts->verify = TRUE; - break; - default: - HDfprintf(stderr, "pio_perf: invalid --debug option %s\n", buf); - HDexit(EXIT_FAILURE); + case 'r': + /* Turn on raw data throughput info */ + cl_opts->print_raw = TRUE; + break; + case 't': + /* Turn on time printing */ + cl_opts->print_times = TRUE; + break; + case 'v': + /* Turn on verify data correctness*/ + cl_opts->verify = TRUE; + break; + default: + HDfprintf(stderr, "pio_perf: invalid --debug option %s\n", buf); + HDexit(EXIT_FAILURE); } } @@ -1406,53 +1401,52 @@ parse_command_line(int argc, char *argv[]) } break; - case 'e': - cl_opts->num_bpp = parse_size_directive(opt_arg); - break; - case 'F': - cl_opts->num_files = HDatoi(opt_arg); - break; - case 'g': - cl_opts->dim2d = 1; - break; - case 'i': - cl_opts->num_iters = HDatoi(opt_arg); - break; - case 'I': - cl_opts->interleaved = 1; - break; - case 'o': - cl_opts->output_file = opt_arg; - break; - case 'p': - cl_opts->min_num_procs = HDatoi(opt_arg); - break; - case 'P': - cl_opts->max_num_procs = HDatoi(opt_arg); - break; - case 'T': - cl_opts->h5_threshold = parse_size_directive(opt_arg); - break; - case 'w': - cl_opts->h5_write_only = TRUE; - break; - case 'x': - cl_opts->min_xfer_size = (size_t)parse_size_directive(opt_arg); - break; - case 'X': - cl_opts->max_xfer_size = (size_t)parse_size_directive(opt_arg); - break; - case 'h': - case '?': - default: - usage(progname); - HDfree(cl_opts); - return NULL; + case 'e': + cl_opts->num_bpp = parse_size_directive(opt_arg); + break; + case 'F': + cl_opts->num_files = HDatoi(opt_arg); + break; + case 'g': + cl_opts->dim2d = 1; + break; + case 'i': + cl_opts->num_iters = HDatoi(opt_arg); + break; + case 'I': + cl_opts->interleaved = 1; + break; + case 'o': + cl_opts->output_file = opt_arg; + break; + case 'p': + cl_opts->min_num_procs = HDatoi(opt_arg); + break; + case 'P': + cl_opts->max_num_procs = HDatoi(opt_arg); + break; + case 'T': + cl_opts->h5_threshold = parse_size_directive(opt_arg); + break; + case 'w': + cl_opts->h5_write_only = TRUE; + break; + case 'x': + cl_opts->min_xfer_size = (size_t)parse_size_directive(opt_arg); + break; + case 'X': + cl_opts->max_xfer_size = (size_t)parse_size_directive(opt_arg); + break; + case 'h': + case '?': + default: + usage(progname); + HDfree(cl_opts); + return NULL; } } - - if (cl_opts->num_bpp == 0){ + if (cl_opts->num_bpp == 0) { if (cl_opts->dim2d == 0) cl_opts->num_bpp = 256 * ONE_KB; else @@ -1463,38 +1457,37 @@ parse_command_line(int argc, char *argv[]) cl_opts->max_xfer_size = (size_t)cl_opts->num_bpp; if (cl_opts->min_xfer_size == 0) - cl_opts->min_xfer_size = (size_t)(cl_opts->num_bpp)/2; + cl_opts->min_xfer_size = (size_t)(cl_opts->num_bpp) / 2; if (cl_opts->blk_size == 0) - cl_opts->blk_size = (size_t)(cl_opts->num_bpp)/2; - + cl_opts->blk_size = (size_t)(cl_opts->num_bpp) / 2; /* set default if none specified yet */ if (!cl_opts->io_types) - cl_opts->io_types = PIO_HDF5 | PIO_MPI | PIO_POSIX; /* run all API */ + cl_opts->io_types = PIO_HDF5 | PIO_MPI | PIO_POSIX; /* run all API */ /* verify parameters sanity. Adjust if needed. */ /* cap xfer_size with bytes per process */ if (!cl_opts->dim2d) { if (cl_opts->min_xfer_size > (size_t)cl_opts->num_bpp) - cl_opts->min_xfer_size = (size_t)cl_opts->num_bpp; + cl_opts->min_xfer_size = (size_t)cl_opts->num_bpp; if (cl_opts->max_xfer_size > (size_t)cl_opts->num_bpp) - cl_opts->max_xfer_size = (size_t)cl_opts->num_bpp; + cl_opts->max_xfer_size = (size_t)cl_opts->num_bpp; } if (cl_opts->min_xfer_size > cl_opts->max_xfer_size) - cl_opts->min_xfer_size = cl_opts->max_xfer_size; - if (cl_opts->blk_size > (size_t)cl_opts->num_bpp ) + cl_opts->min_xfer_size = cl_opts->max_xfer_size; + if (cl_opts->blk_size > (size_t)cl_opts->num_bpp) cl_opts->blk_size = (size_t)cl_opts->num_bpp; /* check range of number of processes */ if (cl_opts->min_num_procs <= 0) - cl_opts->min_num_procs = 1; + cl_opts->min_num_procs = 1; if (cl_opts->max_num_procs <= 0) - cl_opts->max_num_procs = 1; + cl_opts->max_num_procs = 1; if (cl_opts->min_num_procs > cl_opts->max_num_procs) - cl_opts->min_num_procs = cl_opts->max_num_procs; + cl_opts->min_num_procs = cl_opts->max_num_procs; /* check iteration */ if (cl_opts->num_iters <= 0) - cl_opts->num_iters = 1; + cl_opts->num_iters = 1; return cl_opts; } @@ -1572,7 +1565,7 @@ usage(const char *prog) HDprintf(" -A AL, --api=AL Which APIs to test [default: all of them]\n"); #if 0 HDprintf(" -b, --binary The elusive binary option\n"); -#endif /* 0 */ +#endif /* 0 */ HDprintf(" -B S, --block-size=S Block size within transfer buffer\n"); HDprintf(" (see below for description)\n"); HDprintf(" [default: half the number of bytes per process\n"); @@ -1615,7 +1608,7 @@ usage(const char *prog) HDprintf(" M - Megabyte (%d)\n", ONE_MB); HDprintf(" G - Gigabyte (%d)\n", ONE_GB); HDprintf("\n"); - HDprintf(" Example: '37M' is 37 megabytes or %d bytes\n", 37*ONE_MB); + HDprintf(" Example: '37M' is 37 megabytes or %d bytes\n", 37 * ONE_MB); HDprintf("\n"); HDprintf(" AL - is an API list. Valid values are:\n"); HDprintf(" phdf5 - Parallel HDF5\n"); diff --git a/tools/test/perform/pio_perf.h b/tools/test/perform/pio_perf.h index 55d721e..cc1a65c 100644 --- a/tools/test/perform/pio_perf.h +++ b/tools/test/perform/pio_perf.h @@ -36,67 +36,65 @@ typedef enum iotype_ { } iotype; typedef struct parameters_ { - iotype io_type; /* The type of IO test to perform */ - int num_procs; /* Maximum number of processes to use */ - long num_files; /* Number of files to create */ - long num_dsets; /* Number of datasets to create */ - off_t num_bytes; /* Number of bytes in each dset */ - int num_iters; /* Number of times to loop doing the IO */ - size_t buf_size; /* Buffer size */ - size_t blk_size; /* Block size */ - unsigned interleaved; /* Interleaved vs. contiguous blocks */ - unsigned collective; /* Collective vs. independent I/O */ - unsigned dim2d; /* 1D vs. 2D */ - hsize_t h5_align; /* HDF5 object alignment */ - hsize_t h5_thresh; /* HDF5 object alignment threshold */ - int h5_use_chunks; /* Make HDF5 dataset chunked */ - int h5_write_only; /* Perform the write tests only */ - int verify; /* Verify data correctness */ + iotype io_type; /* The type of IO test to perform */ + int num_procs; /* Maximum number of processes to use */ + long num_files; /* Number of files to create */ + long num_dsets; /* Number of datasets to create */ + off_t num_bytes; /* Number of bytes in each dset */ + int num_iters; /* Number of times to loop doing the IO */ + size_t buf_size; /* Buffer size */ + size_t blk_size; /* Block size */ + unsigned interleaved; /* Interleaved vs. contiguous blocks */ + unsigned collective; /* Collective vs. independent I/O */ + unsigned dim2d; /* 1D vs. 2D */ + hsize_t h5_align; /* HDF5 object alignment */ + hsize_t h5_thresh; /* HDF5 object alignment threshold */ + int h5_use_chunks; /* Make HDF5 dataset chunked */ + int h5_write_only; /* Perform the write tests only */ + int verify; /* Verify data correctness */ } parameters; typedef struct results_ { - herr_t ret_code; - io_time_t *timers; + herr_t ret_code; + io_time_t *timers; } results; #ifndef SUCCESS -#define SUCCESS 0 -#endif /* !SUCCESS */ +#define SUCCESS 0 +#endif /* !SUCCESS */ #ifndef FAIL -#define FAIL -1 -#endif /* !FAIL */ +#define FAIL -1 +#endif /* !FAIL */ -extern FILE *output; /* output file */ -extern io_time_t *timer_g; /* timer: global for stub functions */ -extern int comm_world_rank_g; /* my rank in MPI_COMM_RANK */ -extern int comm_world_nprocs_g;/* num. of processes of MPI_COMM_WORLD */ -extern MPI_Comm pio_comm_g; /* Communicator to run the PIO */ -extern int pio_mpi_rank_g; /* MPI rank of pio_comm_g */ -extern int pio_mpi_nprocs_g; /* number of processes of pio_comm_g */ -extern int pio_debug_level; /* The debug level: - * 0 - Off - * 1 - Minimal - * 2 - Some more - * 3 - Maximal - * 4 - Even More Debugging (timer stuff) - */ +extern FILE * output; /* output file */ +extern io_time_t *timer_g; /* timer: global for stub functions */ +extern int comm_world_rank_g; /* my rank in MPI_COMM_RANK */ +extern int comm_world_nprocs_g; /* num. of processes of MPI_COMM_WORLD */ +extern MPI_Comm pio_comm_g; /* Communicator to run the PIO */ +extern int pio_mpi_rank_g; /* MPI rank of pio_comm_g */ +extern int pio_mpi_nprocs_g; /* number of processes of pio_comm_g */ +extern int pio_debug_level; /* The debug level: + * 0 - Off + * 1 - Minimal + * 2 - Some more + * 3 - Maximal + * 4 - Even More Debugging (timer stuff) + */ -#define HDprint_rank(f) /* print rank in MPI_COMM_WORLD */ \ - HDfprintf(f, "%d: ", comm_world_rank_g); -#define HDprint_size(f) /* print size of MPI_COMM_WORLD */ \ - HDfprintf(f, "%d", comm_world_nprocs_g); -#define HDprint_rank_size(f) /* print rank/size of MPI_COMM_WORLD */ \ +#define HDprint_rank(f) /* print rank in MPI_COMM_WORLD */ HDfprintf(f, "%d: ", comm_world_rank_g); +#define HDprint_size(f) /* print size of MPI_COMM_WORLD */ HDfprintf(f, "%d", comm_world_nprocs_g); +#define HDprint_rank_size(f) /* print rank/size of MPI_COMM_WORLD */ \ HDfprintf(f, "%d/%d: ", comm_world_rank_g, comm_world_nprocs_g); #ifdef __cplusplus extern "C" { -#endif /* __cplusplus */ +#endif /* __cplusplus */ extern results do_pio(parameters param); #ifdef __cplusplus } -#endif /* __cplusplus */ +#endif /* __cplusplus */ -#endif /* PIO_PERF_H__ */ +#endif /* PIO_PERF_H__ */ diff --git a/tools/test/perform/pio_standalone.c b/tools/test/perform/pio_standalone.c index 8cdca85..9d88727 100644 --- a/tools/test/perform/pio_standalone.c +++ b/tools/test/perform/pio_standalone.c @@ -10,7 +10,6 @@ * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - /* This file contains the definition of functions required to build h5perf in * STANDALONE mode. * Created: Christian Chilan, 2005/5/18. @@ -19,31 +18,31 @@ #include "pio_perf.h" #ifdef STANDALONE -MPI_Info h5_io_info_g=MPI_INFO_NULL;/* MPI INFO object for IO */ +MPI_Info h5_io_info_g = MPI_INFO_NULL; /* MPI INFO object for IO */ #endif /** From h5tools_utils.c **/ /* global variables */ -int nCols = 80; +int nCols = 80; /* ``get_option'' variables */ -int opt_err = 1; /*get_option prints errors if this is on */ -int opt_ind = 1; /*token pointer */ -const char *opt_arg; /*flag argument (or value) */ - +int opt_err = 1; /*get_option prints errors if this is on */ +int opt_ind = 1; /*token pointer */ +const char *opt_arg; /*flag argument (or value) */ int get_option(int argc, const char **argv, const char *opts, const struct long_options *l_opts) { - static int sp = 1; /* character index in current token */ - int opt_opt = '?'; /* option character passed back to user */ + static int sp = 1; /* character index in current token */ + int opt_opt = '?'; /* option character passed back to user */ if (sp == 1) { /* check for more flag-like tokens */ if (opt_ind >= argc || argv[opt_ind][0] != '-' || argv[opt_ind][1] == '\0') { return EOF; - } else if (HDstrcmp(argv[opt_ind], "--") == 0) { + } + else if (HDstrcmp(argv[opt_ind], "--") == 0) { opt_ind++; return EOF; } @@ -52,7 +51,7 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti if (sp == 1 && argv[opt_ind][0] == '-' && argv[opt_ind][1] == '-') { /* long command line option */ const char *arg = &argv[opt_ind][2]; - int i; + int i; for (i = 0; l_opts && l_opts[i].name; i++) { size_t len = HDstrlen(l_opts[i].name); @@ -64,22 +63,21 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti if (l_opts[i].has_arg != no_arg) { if (arg[len] == '=') { opt_arg = &arg[len + 1]; - } else if (opt_ind < (argc - 1) && argv[opt_ind + 1][0] != '-') { + } + else if (opt_ind < (argc - 1) && argv[opt_ind + 1][0] != '-') { opt_arg = argv[++opt_ind]; - } else if (l_opts[i].has_arg == require_arg) { + } + else if (l_opts[i].has_arg == require_arg) { if (opt_err) - HDfprintf(stderr, - "%s: option required for \"--%s\" flag\n", - argv[0], arg); + HDfprintf(stderr, "%s: option required for \"--%s\" flag\n", argv[0], arg); opt_opt = '?'; } - } else { + } + else { if (arg[len] == '=') { if (opt_err) - HDfprintf(stderr, - "%s: no option required for \"%s\" flag\n", - argv[0], arg); + HDfprintf(stderr, "%s: no option required for \"%s\" flag\n", argv[0], arg); opt_opt = '?'; } @@ -101,8 +99,9 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti opt_ind++; sp = 1; - } else { - register char *cp; /* pointer into current token */ + } + else { + register char *cp; /* pointer into current token */ /* short command line option */ opt_opt = argv[opt_ind][sp]; @@ -110,8 +109,7 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti if (opt_opt == ':' || (cp = strchr(opts, opt_opt)) == 0) { if (opt_err) - HDfprintf(stderr, "%s: unknown option \"%c\"\n", - argv[0], opt_opt); + HDfprintf(stderr, "%s: unknown option \"%c\"\n", argv[0], opt_opt); /* if no chars left in this token, move to next token */ if (argv[opt_ind][++sp] == '\0') { @@ -127,20 +125,21 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti if (argv[opt_ind][sp + 1] != '\0') { /* flag value is rest of current token */ opt_arg = &argv[opt_ind++][sp + 1]; - } else if (++opt_ind >= argc) { + } + else if (++opt_ind >= argc) { if (opt_err) - HDfprintf(stderr, - "%s: value expected for option \"%c\"\n", - argv[0], opt_opt); + HDfprintf(stderr, "%s: value expected for option \"%c\"\n", argv[0], opt_opt); opt_opt = '?'; - } else { + } + else { /* flag value is next token */ opt_arg = argv[opt_ind++]; } sp = 1; - } else { + } + else { /* set up to look at next char in token, next time */ if (argv[opt_ind][++sp] == '\0') { /* no more in current token, so setup next token */ @@ -156,12 +155,10 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti return opt_opt; } - void print_version(const char *progname) { - printf("%s: Version %u.%u.%u%s%s\n", - progname, H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, + printf("%s: Version %u.%u.%u%s%s\n", progname, H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, H5_VERS_SUBRELEASE[0] ? "-" : "", H5_VERS_SUBRELEASE); } @@ -182,16 +179,17 @@ print_version(const char *progname) int h5_set_info_object(void) { - char *envp; /* environment pointer */ - int ret_value=0; + char *envp; /* environment pointer */ + int ret_value = 0; /* handle any MPI INFO hints via $HDF5_MPI_INFO */ - if ((envp = HDgetenv("HDF5_MPI_INFO")) != NULL){ + if ((envp = HDgetenv("HDF5_MPI_INFO")) != NULL) { char *next, *valp; valp = envp = next = HDstrdup(envp); - if (!valp) return 0; + if (!valp) + return 0; /* create an INFO object if not created yet */ if (h5_io_info_g == MPI_INFO_NULL) @@ -199,14 +197,14 @@ h5_set_info_object(void) do { size_t len; - char *key_val, *endp, *namep; + char * key_val, *endp, *namep; if (*valp == ';') valp++; /* copy key/value pair into temporary buffer */ - len = strcspn(valp, ";"); - next = &valp[len]; + len = strcspn(valp, ";"); + next = &valp[len]; key_val = (char *)HDcalloc(1, len + 1); /* increment the next pointer past the terminating semicolon */ @@ -219,7 +217,8 @@ h5_set_info_object(void) while (*namep && (*namep == ' ' || *namep == '\t')) namep++; - if (!*namep) continue; /* was all white space, so move to next k/v pair */ + if (!*namep) + continue; /* was all white space, so move to next k/v pair */ /* eat up any ending white spaces */ endp = &namep[HDstrlen(namep) - 1]; @@ -230,7 +229,7 @@ h5_set_info_object(void) /* find the '=' */ valp = HDstrchr(namep, '='); - if (valp != NULL) { /* it's a valid key/value pairing */ + if (valp != NULL) { /* it's a valid key/value pairing */ char *tmp_val = valp + 1; /* change '=' to \0, move valp down one */ @@ -263,7 +262,6 @@ h5_set_info_object(void) return ret_value; } - /* * Function: h5_dump_info_object * Purpose: Display content of an MPI Info object @@ -274,25 +272,23 @@ h5_set_info_object(void) void h5_dump_info_object(MPI_Info info) { - char key[MPI_MAX_INFO_KEY+1]; - char value[MPI_MAX_INFO_VAL+1]; - int flag; - int i, nkeys; + char key[MPI_MAX_INFO_KEY + 1]; + char value[MPI_MAX_INFO_VAL + 1]; + int flag; + int i, nkeys; HDprintf("Dumping MPI Info Object (up to %d bytes per item):\n", MPI_MAX_INFO_VAL); - if (info==MPI_INFO_NULL){ - HDprintf("object is MPI_INFO_NULL\n"); + if (info == MPI_INFO_NULL) { + HDprintf("object is MPI_INFO_NULL\n"); } else { - MPI_Info_get_nkeys(info, &nkeys); - HDprintf("object has %d items\n", nkeys); - for (i=0; i<nkeys; i++){ - MPI_Info_get_nthkey(info, i, key); - MPI_Info_get(info, key, MPI_MAX_INFO_VAL, value, &flag); - HDprintf("%s=%s\n", key, value); - } - + MPI_Info_get_nkeys(info, &nkeys); + HDprintf("object has %d items\n", nkeys); + for (i = 0; i < nkeys; i++) { + MPI_Info_get_nthkey(info, i, key); + MPI_Info_get(info, key, MPI_MAX_INFO_VAL, value, &flag); + HDprintf("%s=%s\n", key, value); + } } } -#endif /* STANDALONE */ - +#endif /* STANDALONE */ diff --git a/tools/test/perform/pio_standalone.h b/tools/test/perform/pio_standalone.h index 55880e3..d64f421 100644 --- a/tools/test/perform/pio_standalone.h +++ b/tools/test/perform/pio_standalone.h @@ -19,450 +19,449 @@ /** From H5private.h **/ -#include "H5public.h" /* Include Public Definitions */ - +#include "H5public.h" /* Include Public Definitions */ /* * Include ANSI-C header files. */ #ifdef H5_STDC_HEADERS -# include <assert.h> -# include <ctype.h> -# include <errno.h> -# include <fcntl.h> -# include <float.h> -# include <limits.h> -# include <math.h> -# include <signal.h> -# include <stdarg.h> -# include <stdio.h> -# include <stdlib.h> -# include <string.h> +#include <assert.h> +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <float.h> +#include <limits.h> +#include <math.h> +#include <signal.h> +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> #endif /* * Redefine all the POSIX functions. We should never see a POSIX * function (or any other non-HDF5 function) in the source! */ -#define HDabort() abort() -#define HDabs(X) abs(X) +#define HDabort() abort() +#define HDabs(X) abs(X) #ifdef H5_HAVE_WIN32_API -#define HDaccess(F,M) _access(F, M) -#define R_OK 4 /* Test for read permission. */ -#define W_OK 2 /* Test for write permission. */ -#define X_OK 1 /* Test for execute permission. */ -#define F_OK 0 /* Test for existence. */ -#else /* H5_HAVE_WIN32_API */ -#define HDaccess(F,M) access(F, M) +#define HDaccess(F, M) _access(F, M) +#define R_OK 4 /* Test for read permission. */ +#define W_OK 2 /* Test for write permission. */ +#define X_OK 1 /* Test for execute permission. */ +#define F_OK 0 /* Test for existence. */ +#else /* H5_HAVE_WIN32_API */ +#define HDaccess(F, M) access(F, M) #ifndef F_OK -#define F_OK 00 +#define F_OK 00 #define W_OK 02 #define R_OK 04 #endif #endif /* H5_HAVE_WIN32_API */ -#define HDacos(X) acos(X) +#define HDacos(X) acos(X) #ifdef H5_HAVE_ALARM -#define HDalarm(N) alarm(N) +#define HDalarm(N) alarm(N) #else /* H5_HAVE_ALARM */ -#define HDalarm(N) (0) +#define HDalarm(N) (0) #endif /* H5_HAVE_ALARM */ -#define HDasctime(T) asctime(T) -#define HDasin(X) asin(X) -#define HDasprintf asprintf /*varargs*/ -#define HDassert(X) assert(X) -#define HDatan(X) atan(X) -#define HDatan2(X,Y) atan2(X,Y) -#define HDatexit(F) atexit(F) -#define HDatof(S) atof(S) -#define HDatoi(S) atoi(S) -#define HDatol(S) atol(S) -#define HDbsearch(K,B,N,Z,F) bsearch(K,B,N,Z,F) -#define HDcalloc(N,Z) calloc(N,Z) -#define HDceil(X) ceil(X) -#define HDcfgetispeed(T) cfgetispeed(T) -#define HDcfgetospeed(T) cfgetospeed(T) -#define HDcfsetispeed(T,S) cfsetispeed(T,S) -#define HDcfsetospeed(T,S) cfsetospeed(T,S) -#define HDchdir(S) chdir(S) -#define HDchmod(S,M) chmod(S,M) -#define HDchown(S,O,G) chown(S,O,G) -#define HDclearerr(F) clearerr(F) -#define HDclock() clock() -#define HDclose(F) close(F) -#define HDclosedir(D) closedir(D) -#define HDcos(X) cos(X) -#define HDcosh(X) cosh(X) -#define HDcreat(S,M) creat(S,M) -#define HDctermid(S) ctermid(S) -#define HDctime(T) ctime(T) -#define HDcuserid(S) cuserid(S) +#define HDasctime(T) asctime(T) +#define HDasin(X) asin(X) +#define HDasprintf asprintf /*varargs*/ +#define HDassert(X) assert(X) +#define HDatan(X) atan(X) +#define HDatan2(X, Y) atan2(X, Y) +#define HDatexit(F) atexit(F) +#define HDatof(S) atof(S) +#define HDatoi(S) atoi(S) +#define HDatol(S) atol(S) +#define HDbsearch(K, B, N, Z, F) bsearch(K, B, N, Z, F) +#define HDcalloc(N, Z) calloc(N, Z) +#define HDceil(X) ceil(X) +#define HDcfgetispeed(T) cfgetispeed(T) +#define HDcfgetospeed(T) cfgetospeed(T) +#define HDcfsetispeed(T, S) cfsetispeed(T, S) +#define HDcfsetospeed(T, S) cfsetospeed(T, S) +#define HDchdir(S) chdir(S) +#define HDchmod(S, M) chmod(S, M) +#define HDchown(S, O, G) chown(S, O, G) +#define HDclearerr(F) clearerr(F) +#define HDclock() clock() +#define HDclose(F) close(F) +#define HDclosedir(D) closedir(D) +#define HDcos(X) cos(X) +#define HDcosh(X) cosh(X) +#define HDcreat(S, M) creat(S, M) +#define HDctermid(S) ctermid(S) +#define HDctime(T) ctime(T) +#define HDcuserid(S) cuserid(S) #ifdef H5_HAVE_DIFFTIME -#define HDdifftime(X,Y) difftime(X,Y) +#define HDdifftime(X, Y) difftime(X, Y) #else -#define HDdifftime(X,Y) ((double)(X)-(double)(Y)) +#define HDdifftime(X, Y) ((double)(X) - (double)(Y)) #endif -#define HDdiv(X,Y) div(X,Y) -#define HDdup(F) dup(F) -#define HDdup2(F,I) dup2(F,I) +#define HDdiv(X, Y) div(X, Y) +#define HDdup(F) dup(F) +#define HDdup2(F, I) dup2(F, I) /* execl() variable arguments */ /* execle() variable arguments */ /* execlp() variable arguments */ -#define HDexecv(S,AV) execv(S,AV) -#define HDexecve(S,AV,E) execve(S,AV,E) -#define HDexecvp(S,AV) execvp(S,AV) -#define HDexit(N) exit(N) -#define HD_exit(N) _exit(N) -#define HDexp(X) exp(X) -#define HDfabs(X) fabs(X) +#define HDexecv(S, AV) execv(S, AV) +#define HDexecve(S, AV, E) execve(S, AV, E) +#define HDexecvp(S, AV) execvp(S, AV) +#define HDexit(N) exit(N) +#define HD_exit(N) _exit(N) +#define HDexp(X) exp(X) +#define HDfabs(X) fabs(X) /* use ABS() because fabsf() fabsl() are not common yet. */ -#define HDfabsf(X) ABS(X) -#define HDfabsl(X) ABS(X) -#define HDfclose(F) fclose(F) +#define HDfabsf(X) ABS(X) +#define HDfabsl(X) ABS(X) +#define HDfclose(F) fclose(F) /* fcntl() variable arguments */ -#define HDfdopen(N,S) fdopen(N,S) -#define HDfeof(F) feof(F) -#define HDferror(F) ferror(F) -#define HDfflush(F) fflush(F) -#define HDfgetc(F) fgetc(F) -#define HDfgetpos(F,P) fgetpos(F,P) -#define HDfgets(S,N,F) fgets(S,N,F) +#define HDfdopen(N, S) fdopen(N, S) +#define HDfeof(F) feof(F) +#define HDferror(F) ferror(F) +#define HDfflush(F) fflush(F) +#define HDfgetc(F) fgetc(F) +#define HDfgetpos(F, P) fgetpos(F, P) +#define HDfgets(S, N, F) fgets(S, N, F) #ifdef H5_HAVE_WIN32_API -#define HDfileno(F) _fileno(F) +#define HDfileno(F) _fileno(F) #else /* H5_HAVE_WIN32_API */ -#define HDfileno(F) fileno(F) +#define HDfileno(F) fileno(F) #endif /* H5_HAVE_WIN32_API */ -#define HDfloor(X) floor(X) -#define HDfmod(X,Y) fmod(X,Y) -#define HDfopen(S,M) fopen(S,M) -#define HDfork() fork() -#define HDfpathconf(F,N) fpathconf(F,N) -#define HDfprintf fprintf -#define HDfputc(C,F) fputc(C,F) -#define HDfputs(S,F) fputs(S,F) -#define HDfread(M,Z,N,F) fread(M,Z,N,F) -#define HDfree(M) free(M) -#define HDfreopen(S,M,F) freopen(S,M,F) -#define HDfrexp(X,N) frexp(X,N) +#define HDfloor(X) floor(X) +#define HDfmod(X, Y) fmod(X, Y) +#define HDfopen(S, M) fopen(S, M) +#define HDfork() fork() +#define HDfpathconf(F, N) fpathconf(F, N) +#define HDfprintf fprintf +#define HDfputc(C, F) fputc(C, F) +#define HDfputs(S, F) fputs(S, F) +#define HDfread(M, Z, N, F) fread(M, Z, N, F) +#define HDfree(M) free(M) +#define HDfreopen(S, M, F) freopen(S, M, F) +#define HDfrexp(X, N) frexp(X, N) /* Check for Cray-specific 'frexpf()' and 'frexpl()' routines */ #ifdef H5_HAVE_FREXPF -#define HDfrexpf(X,N) frexpf(X,N) +#define HDfrexpf(X, N) frexpf(X, N) #else /* H5_HAVE_FREXPF */ -#define HDfrexpf(X,N) frexp(X,N) +#define HDfrexpf(X, N) frexp(X, N) #endif /* H5_HAVE_FREXPF */ #ifdef H5_HAVE_FREXPL -#define HDfrexpl(X,N) frexpl(X,N) +#define HDfrexpl(X, N) frexpl(X, N) #else /* H5_HAVE_FREXPL */ -#define HDfrexpl(X,N) frexp(X,N) +#define HDfrexpl(X, N) frexp(X, N) #endif /* H5_HAVE_FREXPL */ /* fscanf() variable arguments */ #ifdef H5_HAVE_FSEEKO - #define HDfseek(F,O,W) fseeko(F,O,W) +#define HDfseek(F, O, W) fseeko(F, O, W) #else - #define HDfseek(F,O,W) fseek(F,O,W) +#define HDfseek(F, O, W) fseek(F, O, W) #endif -#define HDfsetpos(F,P) fsetpos(F,P) +#define HDfsetpos(F, P) fsetpos(F, P) /* definitions related to the file stat utilities. * Windows have its own function names. * For Unix, if off_t is not 64bit big, try use the pseudo-standard * xxx64 versions if available. */ #ifdef H5_HAVE_WIN32_API - #define HDfstat(F,B) _fstati64(F,B) - #define HDlstat(S,B) _lstati64(S,B) - #define HDstat(S,B) _stati64(S,B) - typedef struct _stati64 h5_stat_t; - typedef __int64 h5_stat_size_t; - #define HDoff_t __int64 -#elif H5_SIZEOF_OFF_T!=8 && H5_SIZEOF_OFF64_T==8 && defined(H5_HAVE_STAT64) - #define HDfstat(F,B) fstat64(F,B) - #define HDlstat(S,B) lstat64(S,B) - #define HDstat(S,B) stat64(S,B) - typedef struct stat64 h5_stat_t; - typedef off64_t h5_stat_size_t; - #define HDoff_t off64_t +#define HDfstat(F, B) _fstati64(F, B) +#define HDlstat(S, B) _lstati64(S, B) +#define HDstat(S, B) _stati64(S, B) +typedef struct _stati64 h5_stat_t; +typedef __int64 h5_stat_size_t; +#define HDoff_t __int64 +#elif H5_SIZEOF_OFF_T != 8 && H5_SIZEOF_OFF64_T == 8 && defined(H5_HAVE_STAT64) +#define HDfstat(F, B) fstat64(F, B) +#define HDlstat(S, B) lstat64(S, B) +#define HDstat(S, B) stat64(S, B) +typedef struct stat64 h5_stat_t; +typedef off64_t h5_stat_size_t; +#define HDoff_t off64_t #else - #define HDfstat(F,B) fstat(F,B) - #define HDlstat(S,B) lstat(S,B) - #define HDstat(S,B) stat(S,B) - typedef struct stat h5_stat_t; - typedef off_t h5_stat_size_t; - #define HDoff_t off_t +#define HDfstat(F, B) fstat(F, B) +#define HDlstat(S, B) lstat(S, B) +#define HDstat(S, B) stat(S, B) +typedef struct stat h5_stat_t; +typedef off_t h5_stat_size_t; +#define HDoff_t off_t #endif -#define HDftell(F) ftell(F) -#define HDftruncate(F,L) ftruncate(F,L) -#define HDfwrite(M,Z,N,F) fwrite(M,Z,N,F) -#define HDgetc(F) getc(F) -#define HDgetchar() getchar() -#define HDgetcwd(S,Z) getcwd(S,Z) -#define HDgetegid() getegid() -#define HDgetenv(S) getenv(S) -#define HDgeteuid() geteuid() -#define HDgetgid() getgid() -#define HDgetgrgid(G) getgrgid(G) -#define HDgetgrnam(S) getgrnam(S) -#define HDgetgroups(Z,G) getgroups(Z,G) +#define HDftell(F) ftell(F) +#define HDftruncate(F, L) ftruncate(F, L) +#define HDfwrite(M, Z, N, F) fwrite(M, Z, N, F) +#define HDgetc(F) getc(F) +#define HDgetchar() getchar() +#define HDgetcwd(S, Z) getcwd(S, Z) +#define HDgetegid() getegid() +#define HDgetenv(S) getenv(S) +#define HDgeteuid() geteuid() +#define HDgetgid() getgid() +#define HDgetgrgid(G) getgrgid(G) +#define HDgetgrnam(S) getgrnam(S) +#define HDgetgroups(Z, G) getgroups(Z, G) #ifdef H5_HAVE_WIN32_API -#define HDgetlogin() Wgetlogin() +#define HDgetlogin() Wgetlogin() #else /* H5_HAVE_WIN32_API */ -#define HDgetlogin() getlogin() +#define HDgetlogin() getlogin() #endif /* H5_HAVE_WIN32_API */ -#define HDgetpgrp() getpgrp() -#define HDgetpid() getpid() -#define HDgetppid() getppid() -#define HDgetpwnam(S) getpwnam(S) -#define HDgetpwuid(U) getpwuid(U) -#define HDgetrusage(X,S) getrusage(X,S) +#define HDgetpgrp() getpgrp() +#define HDgetpid() getpid() +#define HDgetppid() getppid() +#define HDgetpwnam(S) getpwnam(S) +#define HDgetpwuid(U) getpwuid(U) +#define HDgetrusage(X, S) getrusage(X, S) /* Don't define a macro for gets() - it was removed in C11 */ #ifdef H5_HAVE_WIN32_API - H5_DLL int Wgettimeofday(struct timeval *tv, struct timezone *tz); -#define HDgettimeofday(V,Z) Wgettimeofday(V,Z) +H5_DLL int Wgettimeofday(struct timeval *tv, struct timezone *tz); +#define HDgettimeofday(V, Z) Wgettimeofday(V, Z) #else /* H5_HAVE_WIN32_API */ -#define HDgettimeofday(S,P) gettimeofday(S,P) +#define HDgettimeofday(S, P) gettimeofday(S, P) #endif /* H5_HAVE_WIN32_API */ -#define HDgetuid() getuid() -#define HDgmtime(T) gmtime(T) -#define HDisalnum(C) isalnum((int)(C)) /*cast for solaris warning*/ -#define HDisalpha(C) isalpha((int)(C)) /*cast for solaris warning*/ -#define HDisatty(F) isatty(F) -#define HDiscntrl(C) iscntrl((int)(C)) /*cast for solaris warning*/ -#define HDisdigit(C) isdigit((int)(C)) /*cast for solaris warning*/ -#define HDisgraph(C) isgraph((int)(C)) /*cast for solaris warning*/ -#define HDislower(C) islower((int)(C)) /*cast for solaris warning*/ -#define HDisprint(C) isprint((int)(C)) /*cast for solaris warning*/ -#define HDispunct(C) ispunct((int)(C)) /*cast for solaris warning*/ -#define HDisspace(C) isspace((int)(C)) /*cast for solaris warning*/ -#define HDisupper(C) isupper((int)(C)) /*cast for solaris warning*/ -#define HDisxdigit(C) isxdigit((int)(C)) /*cast for solaris warning*/ -#define HDkill(P,S) kill(P,S) -#define HDlabs(X) labs(X) -#define HDldexp(X,N) ldexp(X,N) -#define HDldiv(X,Y) ldiv(X,Y) -#define HDlink(OLD,NEW) link(OLD,NEW) -#define HDlocaleconv() localeconv() -#define HDlocaltime(T) localtime(T) -#define HDlog(X) log(X) -#define HDlog10(X) log10(X) -#define HDlongjmp(J,N) longjmp(J,N) +#define HDgetuid() getuid() +#define HDgmtime(T) gmtime(T) +#define HDisalnum(C) isalnum((int)(C)) /*cast for solaris warning*/ +#define HDisalpha(C) isalpha((int)(C)) /*cast for solaris warning*/ +#define HDisatty(F) isatty(F) +#define HDiscntrl(C) iscntrl((int)(C)) /*cast for solaris warning*/ +#define HDisdigit(C) isdigit((int)(C)) /*cast for solaris warning*/ +#define HDisgraph(C) isgraph((int)(C)) /*cast for solaris warning*/ +#define HDislower(C) islower((int)(C)) /*cast for solaris warning*/ +#define HDisprint(C) isprint((int)(C)) /*cast for solaris warning*/ +#define HDispunct(C) ispunct((int)(C)) /*cast for solaris warning*/ +#define HDisspace(C) isspace((int)(C)) /*cast for solaris warning*/ +#define HDisupper(C) isupper((int)(C)) /*cast for solaris warning*/ +#define HDisxdigit(C) isxdigit((int)(C)) /*cast for solaris warning*/ +#define HDkill(P, S) kill(P, S) +#define HDlabs(X) labs(X) +#define HDldexp(X, N) ldexp(X, N) +#define HDldiv(X, Y) ldiv(X, Y) +#define HDlink(OLD, NEW) link(OLD, NEW) +#define HDlocaleconv() localeconv() +#define HDlocaltime(T) localtime(T) +#define HDlog(X) log(X) +#define HDlog10(X) log10(X) +#define HDlongjmp(J, N) longjmp(J, N) #ifdef H5_HAVE_WIN32_API - #define HDlseek(F,O,W) _lseeki64(F,O,W) +#define HDlseek(F, O, W) _lseeki64(F, O, W) #else - #ifdef H5_HAVE_LSEEK64 - #define HDlseek(F,O,W) lseek64(F,O,W) - #else - #define HDlseek(F,O,W) lseek(F,O,W) - #endif +#ifdef H5_HAVE_LSEEK64 +#define HDlseek(F, O, W) lseek64(F, O, W) +#else +#define HDlseek(F, O, W) lseek(F, O, W) +#endif #endif -#define HDmalloc(Z) malloc(Z) -#define HDposix_memalign(P,A,Z) posix_memalign(P,A,Z) -#define HDmblen(S,N) mblen(S,N) -#define HDmbstowcs(P,S,Z) mbstowcs(P,S,Z) -#define HDmbtowc(P,S,Z) mbtowc(P,S,Z) -#define HDmemchr(S,C,Z) memchr(S,C,Z) -#define HDmemcmp(X,Y,Z) memcmp(X,Y,Z) +#define HDmalloc(Z) malloc(Z) +#define HDposix_memalign(P, A, Z) posix_memalign(P, A, Z) +#define HDmblen(S, N) mblen(S, N) +#define HDmbstowcs(P, S, Z) mbstowcs(P, S, Z) +#define HDmbtowc(P, S, Z) mbtowc(P, S, Z) +#define HDmemchr(S, C, Z) memchr(S, C, Z) +#define HDmemcmp(X, Y, Z) memcmp(X, Y, Z) /* * The (char*) casts are required for the DEC when optimizations are turned * on and the source and/or destination are not aligned. */ -#define HDmemcpy(X,Y,Z) memcpy((char*)(X),(const char*)(Y),Z) -#define HDmemmove(X,Y,Z) memmove((char*)(X),(const char*)(Y),Z) +#define HDmemcpy(X, Y, Z) memcpy((char *)(X), (const char *)(Y), Z) +#define HDmemmove(X, Y, Z) memmove((char *)(X), (const char *)(Y), Z) /* * The (void*) cast just avoids a compiler warning in H5_HAVE_VISUAL_STUDIO */ #ifdef H5_HAVE_VISUAL_STUDIO -#define HDmemset(X,C,Z) memset((void*)(X),C,Z) +#define HDmemset(X, C, Z) memset((void *)(X), C, Z) #else /* H5_HAVE_VISUAL_STUDIO */ -#define HDmemset(X,C,Z) memset(X,C,Z) +#define HDmemset(X, C, Z) memset(X, C, Z) #endif /* H5_HAVE_VISUAL_STUDIO */ #ifdef H5_HAVE_WIN32_API -#define HDmkdir(S,M) _mkdir(S) +#define HDmkdir(S, M) _mkdir(S) #else /* H5_HAVE_WIN32_API */ -#define HDmkdir(S,M) mkdir(S,M) +#define HDmkdir(S, M) mkdir(S, M) #endif /* H5_HAVE_WIN32_API */ -#define HDmkfifo(S,M) mkfifo(S,M) -#define HDmktime(T) mktime(T) -#define HDmodf(X,Y) modf(X,Y) +#define HDmkfifo(S, M) mkfifo(S, M) +#define HDmktime(T) mktime(T) +#define HDmodf(X, Y) modf(X, Y) #ifdef _O_BINARY -#define HDopen(S,F,M) open(S,F|_O_BINARY,M) +#define HDopen(S, F, M) open(S, F | _O_BINARY, M) #else -#define HDopen(S,F,M) open(S,F,M) +#define HDopen(S, F, M) open(S, F, M) #endif -#define HDopendir(S) opendir(S) -#define HDpathconf(S,N) pathconf(S,N) -#define HDpause() pause() -#define HDperror(S) perror(S) -#define HDpipe(F) pipe(F) -#define HDpow(X,Y) pow(X,Y) +#define HDopendir(S) opendir(S) +#define HDpathconf(S, N) pathconf(S, N) +#define HDpause() pause() +#define HDperror(S) perror(S) +#define HDpipe(F) pipe(F) +#define HDpow(X, Y) pow(X, Y) /* printf() variable arguments */ -#define HDprintf(...) HDfprintf(stdout, __VA_ARGS__) -#define HDputc(C,F) putc(C,F) -#define HDputchar(C) putchar(C) -#define HDputs(S) puts(S) -#define HDqsort(M,N,Z,F) qsort(M,N,Z,F) -#define HDraise(N) raise(N) +#define HDprintf(...) HDfprintf(stdout, __VA_ARGS__) +#define HDputc(C, F) putc(C, F) +#define HDputchar(C) putchar(C) +#define HDputs(S) puts(S) +#define HDqsort(M, N, Z, F) qsort(M, N, Z, F) +#define HDraise(N) raise(N) #ifdef H5_HAVE_RAND_R -#define HDrandom() HDrand() +#define HDrandom() HDrand() H5_DLL int HDrand(void); #elif H5_HAVE_RANDOM -#define HDrand() random() -#define HDrandom() random() +#define HDrand() random() +#define HDrandom() random() #else -#define HDrand() rand() -#define HDrandom() rand() +#define HDrand() rand() +#define HDrandom() rand() #endif -#define HDread(F,M,Z) read(F,M,Z) -#define HDreaddir(D) readdir(D) -#define HDrealloc(M,Z) realloc(M,Z) -#define HDremove(S) remove(S) -#define HDrename(OLD,NEW) rename(OLD,NEW) -#define HDrewind(F) rewind(F) -#define HDrewinddir(D) rewinddir(D) -#define HDrmdir(S) rmdir(S) +#define HDread(F, M, Z) read(F, M, Z) +#define HDreaddir(D) readdir(D) +#define HDrealloc(M, Z) realloc(M, Z) +#define HDremove(S) remove(S) +#define HDrename(OLD, NEW) rename(OLD, NEW) +#define HDrewind(F) rewind(F) +#define HDrewinddir(D) rewinddir(D) +#define HDrmdir(S) rmdir(S) /* scanf() variable arguments */ -#define HDsetbuf(F,S) setbuf(F,S) -#define HDsetgid(G) setgid(G) -#define HDsetjmp(J) setjmp(J) -#define HDsetlocale(N,S) setlocale(N,S) -#define HDsetpgid(P,PG) setpgid(P,PG) -#define HDsetsid() setsid() -#define HDsetuid(U) setuid(U) +#define HDsetbuf(F, S) setbuf(F, S) +#define HDsetgid(G) setgid(G) +#define HDsetjmp(J) setjmp(J) +#define HDsetlocale(N, S) setlocale(N, S) +#define HDsetpgid(P, PG) setpgid(P, PG) +#define HDsetsid() setsid() +#define HDsetuid(U) setuid(U) /* Windows does not permit setting the buffer size to values less than 2. */ #ifndef H5_HAVE_WIN32_API -#define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,Z) +#define HDsetvbuf(F, S, M, Z) setvbuf(F, S, M, Z) #else -#define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,(Z>1?Z:2)) +#define HDsetvbuf(F, S, M, Z) setvbuf(F, S, M, (Z > 1 ? Z : 2)) #endif -#define HDsigaddset(S,N) sigaddset(S,N) -#define HDsigdelset(S,N) sigdelset(S,N) -#define HDsigemptyset(S) sigemptyset(S) -#define HDsigfillset(S) sigfillset(S) -#define HDsigismember(S,N) sigismember(S,N) -#define HDsiglongjmp(J,N) siglongjmp(J,N) -#define HDsignal(N,F) signal(N,F) -#define HDsigpending(S) sigpending(S) -#define HDsigprocmask(H,S,O) sigprocmask(H,S,O) -#define HDsigsetjmp(J,N) sigsetjmp(J,N) -#define HDsigsuspend(S) sigsuspend(S) -#define HDsin(X) sin(X) -#define HDsinh(X) sinh(X) -#define HDsleep(N) sleep(N) +#define HDsigaddset(S, N) sigaddset(S, N) +#define HDsigdelset(S, N) sigdelset(S, N) +#define HDsigemptyset(S) sigemptyset(S) +#define HDsigfillset(S) sigfillset(S) +#define HDsigismember(S, N) sigismember(S, N) +#define HDsiglongjmp(J, N) siglongjmp(J, N) +#define HDsignal(N, F) signal(N, F) +#define HDsigpending(S) sigpending(S) +#define HDsigprocmask(H, S, O) sigprocmask(H, S, O) +#define HDsigsetjmp(J, N) sigsetjmp(J, N) +#define HDsigsuspend(S) sigsuspend(S) +#define HDsin(X) sin(X) +#define HDsinh(X) sinh(X) +#define HDsleep(N) sleep(N) #ifdef H5_HAVE_WIN32_API -H5_DLL int c99_snprintf(char* str, size_t size, const char* format, ...); -#define HDsnprintf c99_snprintf /*varargs*/ +H5_DLL int c99_snprintf(char *str, size_t size, const char *format, ...); +#define HDsnprintf c99_snprintf /*varargs*/ #else -#define HDsnprintf snprintf /*varargs*/ +#define HDsnprintf snprintf /*varargs*/ #endif /* sprintf() variable arguments */ -#define HDsprintf sprintf /*varargs*/ -#define HDsqrt(X) sqrt(X) +#define HDsprintf sprintf /*varargs*/ +#define HDsqrt(X) sqrt(X) #ifdef H5_HAVE_RAND_R H5_DLL void HDsrand(unsigned int seed); -#define HDsrandom(S) HDsrand(S) +#define HDsrandom(S) HDsrand(S) #elif H5_HAVE_RANDOM -#define HDsrand(S) srandom(S) -#define HDsrandom(S) srandom(S) +#define HDsrand(S) srandom(S) +#define HDsrandom(S) srandom(S) #else -#define HDsrand(S) srand(S) -#define HDsrandom(S) srand(S) +#define HDsrand(S) srand(S) +#define HDsrandom(S) srand(S) #endif /* sscanf() variable arguments */ #ifdef H5_HAVE_WIN32_API -#define HDstrcasecmp(A,B) _stricmp(A,B) +#define HDstrcasecmp(A, B) _stricmp(A, B) #else -#define HDstrcasecmp(X,Y) strcasecmp(X,Y) +#define HDstrcasecmp(X, Y) strcasecmp(X, Y) #endif -#define HDstrcat(X,Y) strcat(X,Y) -#define HDstrchr(S,C) strchr(S,C) -#define HDstrcmp(X,Y) strcmp(X,Y) -#define HDstrcoll(X,Y) strcoll(X,Y) -#define HDstrcpy(X,Y) strcpy(X,Y) -#define HDstrcspn(X,Y) strcspn(X,Y) -#define HDstrerror(N) strerror(N) -#define HDstrftime(S,Z,F,T) strftime(S,Z,F,T) -#define HDstrlen(S) strlen(S) -#define HDstrncat(X,Y,Z) strncat(X,Y,Z) -#define HDstrncmp(X,Y,Z) strncmp(X,Y,Z) -#define HDstrncpy(X,Y,Z) strncpy(X,Y,Z) -#define HDstrpbrk(X,Y) strpbrk(X,Y) -#define HDstrrchr(S,C) strrchr(S,C) -#define HDstrspn(X,Y) strspn(X,Y) -#define HDstrstr(X,Y) strstr(X,Y) -#define HDstrtod(S,R) strtod(S,R) -#define HDstrtok(X,Y) strtok(X,Y) -#define HDstrtol(S,R,N) strtol(S,R,N) -H5_DLL int64_t HDstrtoll (const char *s, const char **rest, int base); -#define HDstrtoul(S,R,N) strtoul(S,R,N) +#define HDstrcat(X, Y) strcat(X, Y) +#define HDstrchr(S, C) strchr(S, C) +#define HDstrcmp(X, Y) strcmp(X, Y) +#define HDstrcoll(X, Y) strcoll(X, Y) +#define HDstrcpy(X, Y) strcpy(X, Y) +#define HDstrcspn(X, Y) strcspn(X, Y) +#define HDstrerror(N) strerror(N) +#define HDstrftime(S, Z, F, T) strftime(S, Z, F, T) +#define HDstrlen(S) strlen(S) +#define HDstrncat(X, Y, Z) strncat(X, Y, Z) +#define HDstrncmp(X, Y, Z) strncmp(X, Y, Z) +#define HDstrncpy(X, Y, Z) strncpy(X, Y, Z) +#define HDstrpbrk(X, Y) strpbrk(X, Y) +#define HDstrrchr(S, C) strrchr(S, C) +#define HDstrspn(X, Y) strspn(X, Y) +#define HDstrstr(X, Y) strstr(X, Y) +#define HDstrtod(S, R) strtod(S, R) +#define HDstrtok(X, Y) strtok(X, Y) +#define HDstrtol(S, R, N) strtol(S, R, N) +H5_DLL int64_t HDstrtoll(const char *s, const char **rest, int base); +#define HDstrtoul(S, R, N) strtoul(S, R, N) #ifdef H5_HAVE_WIN32_API -#define HDstrtoull(S,R,N) _strtoui64(S,R,N) +#define HDstrtoull(S, R, N) _strtoui64(S, R, N) #else -#define HDstrtoull(S,R,N) strtoull(S,R,N) +#define HDstrtoull(S, R, N) strtoull(S, R, N) #endif -#define HDstrxfrm(X,Y,Z) strxfrm(X,Y,Z) -#define HDsysconf(N) sysconf(N) -#define HDsystem(S) system(S) -#define HDtan(X) tan(X) -#define HDtanh(X) tanh(X) -#define HDtcdrain(F) tcdrain(F) -#define HDtcflow(F,A) tcflow(F,A) -#define HDtcflush(F,N) tcflush(F,N) -#define HDtcgetattr(F,T) tcgetattr(F,T) -#define HDtcgetpgrp(F) tcgetpgrp(F) -#define HDtcsendbreak(F,N) tcsendbreak(F,N) -#define HDtcsetattr(F,O,T) tcsetattr(F,O,T) -#define HDtcsetpgrp(F,N) tcsetpgrp(F,N) -#define HDtime(T) time(T) -#define HDtimes(T) times(T) -#define HDtmpfile() tmpfile() -#define HDtmpnam(S) tmpnam(S) -#define HDtolower(C) tolower(C) -#define HDtoupper(C) toupper(C) -#define HDttyname(F) ttyname(F) -#define HDtzset() tzset() -#define HDumask(N) umask(N) -#define HDuname(S) uname(S) -#define HDungetc(C,F) ungetc(C,F) +#define HDstrxfrm(X, Y, Z) strxfrm(X, Y, Z) +#define HDsysconf(N) sysconf(N) +#define HDsystem(S) system(S) +#define HDtan(X) tan(X) +#define HDtanh(X) tanh(X) +#define HDtcdrain(F) tcdrain(F) +#define HDtcflow(F, A) tcflow(F, A) +#define HDtcflush(F, N) tcflush(F, N) +#define HDtcgetattr(F, T) tcgetattr(F, T) +#define HDtcgetpgrp(F) tcgetpgrp(F) +#define HDtcsendbreak(F, N) tcsendbreak(F, N) +#define HDtcsetattr(F, O, T) tcsetattr(F, O, T) +#define HDtcsetpgrp(F, N) tcsetpgrp(F, N) +#define HDtime(T) time(T) +#define HDtimes(T) times(T) +#define HDtmpfile() tmpfile() +#define HDtmpnam(S) tmpnam(S) +#define HDtolower(C) tolower(C) +#define HDtoupper(C) toupper(C) +#define HDttyname(F) ttyname(F) +#define HDtzset() tzset() +#define HDumask(N) umask(N) +#define HDuname(S) uname(S) +#define HDungetc(C, F) ungetc(C, F) #ifdef H5_HAVE_WIN32_API -#define HDunlink(S) _unlink(S) +#define HDunlink(S) _unlink(S) #else -#define HDunlink(S) unlink(S) +#define HDunlink(S) unlink(S) #endif -#define HDutime(S,T) utime(S,T) -#define HDva_arg(A,T) va_arg(A,T) -#define HDva_end(A) va_end(A) -#define HDva_start(A,P) va_start(A,P) -#define HDvasprintf(RET,FMT,A) vasprintf(RET,FMT,A) -#define HDvfprintf(F,FMT,A) vfprintf(F,FMT,A) -#define HDvprintf(FMT,A) vprintf(FMT,A) -#define HDvsprintf(S,FMT,A) vsprintf(S,FMT,A) +#define HDutime(S, T) utime(S, T) +#define HDva_arg(A, T) va_arg(A, T) +#define HDva_end(A) va_end(A) +#define HDva_start(A, P) va_start(A, P) +#define HDvasprintf(RET, FMT, A) vasprintf(RET, FMT, A) +#define HDvfprintf(F, FMT, A) vfprintf(F, FMT, A) +#define HDvprintf(FMT, A) vprintf(FMT, A) +#define HDvsprintf(S, FMT, A) vsprintf(S, FMT, A) #ifdef H5_HAVE_WIN32_API -H5_DLL int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap); -#define HDvsnprintf c99_vsnprintf +H5_DLL int c99_vsnprintf(char *str, size_t size, const char *format, va_list ap); +#define HDvsnprintf c99_vsnprintf #else -# define HDvsnprintf(S,N,FMT,A) vsnprintf(S,N,FMT,A) +#define HDvsnprintf(S, N, FMT, A) vsnprintf(S, N, FMT, A) #endif -#define HDwait(W) wait(W) -#define HDwaitpid(P,W,O) waitpid(P,W,O) -#define HDwcstombs(S,P,Z) wcstombs(S,P,Z) -#define HDwctomb(S,C) wctomb(S,C) -#define HDwrite(F,M,Z) write(F,M,Z) +#define HDwait(W) wait(W) +#define HDwaitpid(P, W, O) waitpid(P, W, O) +#define HDwcstombs(S, P, Z) wcstombs(S, P, Z) +#define HDwctomb(S, C) wctomb(S, C) +#define HDwrite(F, M, Z) write(F, M, Z) /* * And now for a couple non-Posix functions... Watch out for systems that * define these in terms of macros. */ #ifdef H5_HAVE_WIN32_API -#define HDstrdup(S) _strdup(S) +#define HDstrdup(S) _strdup(S) #else /* H5_HAVE_WIN32_API */ #if !defined strdup && !defined H5_HAVE_STRDUP -extern char *strdup(const char *s); +extern char * strdup(const char *s); #endif -#define HDstrdup(S) strdup(S) +#define HDstrdup(S) strdup(S) #endif /* H5_HAVE_WIN32_API */ @@ -470,52 +469,47 @@ extern char *strdup(const char *s); * HDF Boolean type. */ #ifndef FALSE -# define FALSE false +#define FALSE false #endif #ifndef TRUE -# define TRUE true +#define TRUE true #endif /** From h5test.h **/ #ifdef H5_HAVE_PARALLEL -extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */ +extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */ #endif #ifdef H5_HAVE_PARALLEL -int h5_set_info_object(void); +int h5_set_info_object(void); void h5_dump_info_object(MPI_Info info); #endif - - /** From h5tools_utils.h **/ -extern int opt_err; /* getoption prints errors if this is on */ -extern int opt_ind; /* token pointer */ -extern const char *opt_arg; /* flag argument (or value) */ - +extern int opt_err; /* getoption prints errors if this is on */ +extern int opt_ind; /* token pointer */ +extern const char *opt_arg; /* flag argument (or value) */ enum { - no_arg = 0, /* doesn't take an argument */ - require_arg, /* requires an argument */ - optional_arg /* argument is optional */ + no_arg = 0, /* doesn't take an argument */ + require_arg, /* requires an argument */ + optional_arg /* argument is optional */ }; - typedef struct long_options { - const char *name; /* name of the long option */ - int has_arg; /* whether we should look for an arg */ - char shortval; /* the shortname equivalent of long arg - * this gets returned from get_option */ + const char *name; /* name of the long option */ + int has_arg; /* whether we should look for an arg */ + char shortval; /* the shortname equivalent of long arg + * this gets returned from get_option */ } long_options; -extern int get_option(int argc, const char **argv, const char *opt, - const struct long_options *l_opt); +extern int get_option(int argc, const char **argv, const char *opt, const struct long_options *l_opt); -extern int nCols; /*max number of columns for outputting */ +extern int nCols; /*max number of columns for outputting */ /* Definitions of useful routines */ -extern void print_version(const char *progname); +extern void print_version(const char *progname); #endif diff --git a/tools/test/perform/sio_engine.c b/tools/test/perform/sio_engine.c index 2e61e74..11001c6 100644 --- a/tools/test/perform/sio_engine.c +++ b/tools/test/perform/sio_engine.c @@ -37,88 +37,88 @@ /* Macro definitions */ /* sizes of various items. these sizes won't change during program execution */ -#define ELMT_H5_TYPE H5T_NATIVE_UCHAR +#define ELMT_H5_TYPE H5T_NATIVE_UCHAR -#define GOTOERROR(errcode) { ret_code = errcode; goto done; } -#define ERRMSG(mesg) { \ - HDfprintf(stderr, "*** Assertion failed (%s) at line %4d in %s\n", \ - mesg, (int)__LINE__, __FILE__); \ -} +#define GOTOERROR(errcode) \ + { \ + ret_code = errcode; \ + goto done; \ + } +#define ERRMSG(mesg) \ + { \ + HDfprintf(stderr, "*** Assertion failed (%s) at line %4d in %s\n", mesg, (int)__LINE__, __FILE__); \ + } /* verify: if val is false (0), print mesg. */ -#define VRFY(val, mesg) do { \ - if (!val) { \ - ERRMSG(mesg); \ - GOTOERROR(FAIL); \ - } \ -} while(0) +#define VRFY(val, mesg) \ + do { \ + if (!val) { \ + ERRMSG(mesg); \ + GOTOERROR(FAIL); \ + } \ + } while (0) /* POSIX I/O macros */ #ifdef H5_HAVE_WIN32_API /* Can't link against the library, so this test will use the older, non-Unicode * _open() call on Windows. */ -#define HDopen(S,F,...) _open(S, F | _O_BINARY, __VA_ARGS__) +#define HDopen(S, F, ...) _open(S, F | _O_BINARY, __VA_ARGS__) #endif /* H5_HAVE_WIN32_API */ -#define POSIXCREATE(fn) HDopen(fn, O_CREAT|O_TRUNC|O_RDWR, 0600) -#define POSIXOPEN(fn, F) HDopen(fn, F, 0600) -#define POSIXCLOSE(F) HDclose(F) -#define POSIXSEEK(F,L) HDlseek(F, L, SEEK_SET) -#define POSIXWRITE(F,B,S) HDwrite(F,B,S) -#define POSIXREAD(F,B,S) HDread(F,B,S) - -enum { - SIO_CREATE = 1, - SIO_WRITE = 2, - SIO_READ = 4 -}; +#define POSIXCREATE(fn) HDopen(fn, O_CREAT | O_TRUNC | O_RDWR, 0600) +#define POSIXOPEN(fn, F) HDopen(fn, F, 0600) +#define POSIXCLOSE(F) HDclose(F) +#define POSIXSEEK(F, L) HDlseek(F, L, SEEK_SET) +#define POSIXWRITE(F, B, S) HDwrite(F, B, S) +#define POSIXREAD(F, B, S) HDread(F, B, S) + +enum { SIO_CREATE = 1, SIO_WRITE = 2, SIO_READ = 4 }; /* Global variables */ -static int clean_file_g = -1; /*whether to cleanup temporary test */ +static int clean_file_g = -1; /*whether to cleanup temporary test */ /*files. -1 is not defined; */ /*0 is no cleanup; 1 is do cleanup */ /* the different types of file descriptors we can expect */ typedef union _file_descr { - int posixfd; /* POSIX file handle*/ - hid_t h5fd; /* HDF5 file */ + int posixfd; /* POSIX file handle*/ + hid_t h5fd; /* HDF5 file */ } file_descr; /* local functions */ -static char *sio_create_filename(iotype iot, const char *base_name, - char *fullname, size_t size, parameters *param); +static char * sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t size, + parameters *param); static herr_t do_write(results *res, file_descr *fd, parameters *parms, void *buffer); static herr_t do_read(results *res, file_descr *fd, parameters *parms, void *buffer); static herr_t dset_write(int local_dim, file_descr *fd, parameters *parms, void *buffer); static herr_t posix_buffer_write(int local_dim, file_descr *fd, parameters *parms, void *buffer); static herr_t dset_read(int localrank, file_descr *fd, parameters *parms, void *buffer, const char *buffer2); static herr_t posix_buffer_read(int local_dim, file_descr *fd, parameters *parms, void *buffer); -static herr_t do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, - int flags); -hid_t set_vfd(parameters *param); +static herr_t do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, int flags); +hid_t set_vfd(parameters *param); static herr_t do_fclose(iotype iot, file_descr *fd); -static void do_cleanupfile(iotype iot, char *fname); +static void do_cleanupfile(iotype iot, char *fname); /* global variables */ -static HDoff_t offset[MAX_DIMS]; /* dataset size in bytes */ -static size_t buf_offset[MAX_DIMS]; /* dataset size in bytes */ -static int order[MAX_DIMS]; /* dimension access order */ -static size_t linear_buf_size; /* linear buffer size */ -static int cont_dim; /* lowest dimension for contiguous POSIX - access */ -static size_t cont_size; /* size of contiguous POSIX access */ -static hid_t fapl; /* file access list */ -static unsigned char *buf_p; /* buffer pointer */ -static const char *multi_letters = "msbrglo"; /* string for multi driver */ +static HDoff_t offset[MAX_DIMS]; /* dataset size in bytes */ +static size_t buf_offset[MAX_DIMS]; /* dataset size in bytes */ +static int order[MAX_DIMS]; /* dimension access order */ +static size_t linear_buf_size; /* linear buffer size */ +static int cont_dim; /* lowest dimension for contiguous POSIX + access */ +static size_t cont_size; /* size of contiguous POSIX access */ +static hid_t fapl; /* file access list */ +static unsigned char *buf_p; /* buffer pointer */ +static const char * multi_letters = "msbrglo"; /* string for multi driver */ /* HDF5 global variables */ -static hsize_t h5count[MAX_DIMS]; /*selection count */ -static hssize_t h5offset[MAX_DIMS]; /* Selection offset within dataspace */ -static hid_t h5dset_space_id = H5I_INVALID_HID; /*dataset space ID */ -static hid_t h5mem_space_id = H5I_INVALID_HID; /*memory dataspace ID */ -static hid_t h5ds_id = H5I_INVALID_HID; /*dataset handle */ -static hid_t h5dcpl = H5I_INVALID_HID; /* Dataset creation property list */ -static hid_t h5dxpl = H5I_INVALID_HID; /* Dataset transfer property list */ +static hsize_t h5count[MAX_DIMS]; /*selection count */ +static hssize_t h5offset[MAX_DIMS]; /* Selection offset within dataspace */ +static hid_t h5dset_space_id = H5I_INVALID_HID; /*dataset space ID */ +static hid_t h5mem_space_id = H5I_INVALID_HID; /*memory dataspace ID */ +static hid_t h5ds_id = H5I_INVALID_HID; /*dataset handle */ +static hid_t h5dcpl = H5I_INVALID_HID; /* Dataset creation property list */ +static hid_t h5dxpl = H5I_INVALID_HID; /* Dataset transfer property list */ /* * Function: do_sio @@ -130,18 +130,18 @@ static hid_t h5dxpl = H5I_INVALID_HID; /* Dataset transfer prop void do_sio(parameters param, results *res) { - char *buffer = NULL; /*data buffer pointer */ - size_t buf_size[MAX_DIMS]; /* general buffer size in bytes */ - file_descr fd; /* file handles */ - iotype iot; /* API type */ - char base_name[256]; /* test file base name */ + char * buffer = NULL; /*data buffer pointer */ + size_t buf_size[MAX_DIMS]; /* general buffer size in bytes */ + file_descr fd; /* file handles */ + iotype iot; /* API type */ + char base_name[256]; /* test file base name */ /* return codes */ - herr_t ret_code = 0; /*return code */ + herr_t ret_code = 0; /*return code */ - char fname[FILENAME_MAX]; /* test file name */ - int i; + char fname[FILENAME_MAX]; /* test file name */ + int i; /* HDF5 variables */ - herr_t hrc; /*HDF5 return code */ + herr_t hrc; /*HDF5 return code */ /* Sanity check parameters */ @@ -149,55 +149,53 @@ do_sio(parameters param, results *res) iot = param.io_type; switch (iot) { - case POSIXIO: - fd.posixfd = -1; - res->timers = io_time_new(SYS_CLOCK); - break; - case HDF5: - fd.h5fd = -1; - res->timers = io_time_new(SYS_CLOCK); - break; - default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)iot); - GOTOERROR(FAIL); + case POSIXIO: + fd.posixfd = -1; + res->timers = io_time_new(SYS_CLOCK); + break; + case HDF5: + fd.h5fd = -1; + res->timers = io_time_new(SYS_CLOCK); + break; + default: + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)iot); + GOTOERROR(FAIL); } linear_buf_size = 1; - for (i=0; i<param.rank; i++){ + for (i = 0; i < param.rank; i++) { buf_size[i] = param.buf_size[i]; - order[i] = param.order[i]; + order[i] = param.order[i]; linear_buf_size *= buf_size[i]; buf_offset[i] = 0; - offset[i] = 0; + offset[i] = 0; /* Validate transfer buffer size */ - if (param.buf_size[i]<=0) { - HDfprintf(stderr, - "Transfer buffer size[%d] (%zu) must be > 0\n", i,buf_size[i]); + if (param.buf_size[i] <= 0) { + HDfprintf(stderr, "Transfer buffer size[%d] (%zu) must be > 0\n", i, buf_size[i]); GOTOERROR(FAIL); } - if ((param.dset_size[i]%param.buf_size[i])!=0) { + if ((param.dset_size[i] % param.buf_size[i]) != 0) { HDfprintf(stderr, - "Dataset size[%d] (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the " - "trasfer buffer size[%d] (%zu)\n",param.rank, - (long long)param.dset_size[i], param.rank, param.buf_size[i]); + "Dataset size[%d] (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the " + "trasfer buffer size[%d] (%zu)\n", + param.rank, (long long)param.dset_size[i], param.rank, param.buf_size[i]); GOTOERROR(FAIL); } - } /* Allocate transfer buffer */ - if ((buffer = (char *)malloc(linear_buf_size)) == NULL){ + if ((buffer = (char *)malloc(linear_buf_size)) == NULL) { HDfprintf(stderr, "malloc for transfer buffer size (%zu) failed\n", linear_buf_size); GOTOERROR(FAIL); } if (sio_debug_level >= 4) - /* output all of the times for all iterations */ + /* output all of the times for all iterations */ HDfprintf(output, "Timer details:\n"); /* @@ -209,8 +207,7 @@ do_sio(parameters param, results *res) sio_create_filename(iot, base_name, fname, sizeof(fname), ¶m); if (sio_debug_level > 0) - HDfprintf(output, "data filename=%s\n", - fname); + HDfprintf(output, "data filename=%s\n", fname); io_time_set(res->timers, HDF5_GROSS_WRITE_FIXED_DIMS, TSTART); hrc = do_fopen(¶m, fname, &fd, SIO_CREATE | SIO_WRITE); @@ -288,36 +285,36 @@ done: * Programmer: Bill Wendling, 21. November 2001 * Modifications: Support for file drivers. Christian Chilan, April, 2008 */ - static char * +static char * sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t size, parameters *param) { - const char *prefix, *suffix=""; - char *ptr, last = '\0'; - size_t i, j; - vfdtype vfd; + const char *prefix, *suffix = ""; + char * ptr, last = '\0'; + size_t i, j; + vfdtype vfd; vfd = param->vfd; if (!base_name || !fullname || size < 1) - return NULL; + return NULL; memset(fullname, 0, size); switch (iot) { - case POSIXIO: - suffix = ".posix"; - break; - case HDF5: - suffix = ".h5"; - if (vfd == family) - suffix = "%05d.h5"; - else if (vfd == multi) - suffix = NULL; - break; - default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)iot); - HDassert(0 && "Unknown IO type"); - break; + case POSIXIO: + suffix = ".posix"; + break; + case HDF5: + suffix = ".h5"; + if (vfd == family) + suffix = "%05d.h5"; + else if (vfd == multi) + suffix = NULL; + break; + default: + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)iot); + HDassert(0 && "Unknown IO type"); + break; } /* First use the environment variable and then try the constant */ @@ -325,57 +322,61 @@ sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si #ifdef HDF5_PREFIX if (!prefix) - prefix = HDF5_PREFIX; -#endif /* HDF5_PREFIX */ + prefix = HDF5_PREFIX; +#endif /* HDF5_PREFIX */ /* Prepend the prefix value to the base name */ if (prefix && *prefix) { - /* If the prefix specifies the HDF5_PREFIX directory, then - * default to using the "/tmp/$USER" or "/tmp/$LOGIN" - * directory instead. */ - register char *user, *login, *subdir; - - user = HDgetenv("USER"); - login = HDgetenv("LOGIN"); - subdir = (user ? user : login); - - if (subdir) { - for (i = 0; i < size-1 && prefix[i]; i++) - fullname[i] = prefix[i]; - - fullname[i++] = '/'; - - for (j = 0; i < size && subdir[j]; i++, j++) - fullname[i] = subdir[j]; - } else { - /* We didn't append the prefix yet */ - HDstrncpy(fullname, prefix, size); - fullname[size - 1] = '\0'; - } + /* If the prefix specifies the HDF5_PREFIX directory, then + * default to using the "/tmp/$USER" or "/tmp/$LOGIN" + * directory instead. */ + register char *user, *login, *subdir; - if ((HDstrlen(fullname) + HDstrlen(base_name) + 1) < size) { - /* Append the base_name with a slash first. Multiple slashes are - * handled below. */ - h5_stat_t buf; - - if (HDstat(fullname, &buf) < 0) - /* The directory doesn't exist just yet */ - if (HDmkdir(fullname, 0755) < 0 && errno != EEXIST) { - /* We couldn't make the "/tmp/${USER,LOGIN}" subdirectory. - * Default to PREFIX's original prefix value. */ - HDstrcpy(fullname, prefix); + user = HDgetenv("USER"); + login = HDgetenv("LOGIN"); + subdir = (user ? user : login); + + if (subdir) { + for (i = 0; i < size - 1 && prefix[i]; i++) + fullname[i] = prefix[i]; + + fullname[i++] = '/'; + + for (j = 0; i < size && subdir[j]; i++, j++) + fullname[i] = subdir[j]; + } + else { + /* We didn't append the prefix yet */ + HDstrncpy(fullname, prefix, size); + fullname[size - 1] = '\0'; } - HDstrcat(fullname, "/"); - HDstrcat(fullname, base_name); - } else { + if ((HDstrlen(fullname) + HDstrlen(base_name) + 1) < size) { + /* Append the base_name with a slash first. Multiple slashes are + * handled below. */ + h5_stat_t buf; + + if (HDstat(fullname, &buf) < 0) + /* The directory doesn't exist just yet */ + if (HDmkdir(fullname, 0755) < 0 && errno != EEXIST) { + /* We couldn't make the "/tmp/${USER,LOGIN}" subdirectory. + * Default to PREFIX's original prefix value. */ + HDstrcpy(fullname, prefix); + } + + HDstrcat(fullname, "/"); + HDstrcat(fullname, base_name); + } + else { + /* Buffer is too small */ + return NULL; + } + } + else if (strlen(base_name) >= size) { /* Buffer is too small */ return NULL; } - } else if (strlen(base_name) >= size) { - /* Buffer is too small */ - return NULL; - } else { + else { HDstrcpy(fullname, base_name); } @@ -408,159 +409,155 @@ sio_create_filename(iotype iot, const char *base_name, char *fullname, size_t si static herr_t do_write(results *res, file_descr *fd, parameters *parms, void *buffer) { - int ret_code = SUCCESS; - char dname[64]; - int i; - size_t u; + int ret_code = SUCCESS; + char dname[64]; + int i; + size_t u; /* HDF5 variables */ - herr_t hrc; /*HDF5 return code */ - hsize_t h5dims[MAX_DIMS]; /*dataset dim sizes */ - hsize_t h5chunk[MAX_DIMS]; /*dataset dim sizes */ - hsize_t h5block[MAX_DIMS]; /*dataspace selection */ - hsize_t h5stride[MAX_DIMS]; /*selection stride */ - hsize_t h5start[MAX_DIMS]; /*selection start */ - hsize_t h5maxdims[MAX_DIMS]; - int rank; /*rank of dataset */ + herr_t hrc; /*HDF5 return code */ + hsize_t h5dims[MAX_DIMS]; /*dataset dim sizes */ + hsize_t h5chunk[MAX_DIMS]; /*dataset dim sizes */ + hsize_t h5block[MAX_DIMS]; /*dataspace selection */ + hsize_t h5stride[MAX_DIMS]; /*selection stride */ + hsize_t h5start[MAX_DIMS]; /*selection start */ + hsize_t h5maxdims[MAX_DIMS]; + int rank; /*rank of dataset */ /* Prepare buffer for verifying data */ -/* if (parms->verify) - memset(buffer,1,linear_buf_size); */ + /* if (parms->verify) + memset(buffer,1,linear_buf_size); */ - buf_p=(unsigned char *)buffer; + buf_p = (unsigned char *)buffer; - for(u = 0; u < linear_buf_size; u++) + for (u = 0; u < linear_buf_size; u++) buf_p[u] = u % 128; rank = parms->rank; - for(i = 0; i < rank; i++) + for (i = 0; i < rank; i++) h5offset[i] = offset[i] = 0; /* I/O Access specific setup */ switch (parms->io_type) { - case POSIXIO: + case POSIXIO: /* determine lowest dimension for contiguous POSIX access */ cont_dim = rank; - for (i=rank-1; i>=0; i--) { - if (parms->buf_size[i]==parms->dset_size[i]) + for (i = rank - 1; i >= 0; i--) { + if (parms->buf_size[i] == parms->dset_size[i]) cont_dim = i; else break; } /* determine size of the contiguous POSIX access */ - cont_size = (!cont_dim)? 1 : parms->buf_size[cont_dim-1]; - for (i=cont_dim; i<rank; i++) + cont_size = (!cont_dim) ? 1 : parms->buf_size[cont_dim - 1]; + for (i = cont_dim; i < rank; i++) cont_size *= parms->buf_size[i]; - break; - - case HDF5: /* HDF5 setup */ + break; - for (i=0; i < rank; i++){ - h5dims[i] = parms->dset_size[i]; - h5start[i] = 0; - h5stride[i] = 1; - h5block[i] = 1; - h5count[i] = parms->buf_size[i]; - h5chunk[i] = parms->chk_size[i]; - h5maxdims[i] = H5S_UNLIMITED; + case HDF5: /* HDF5 setup */ - } + for (i = 0; i < rank; i++) { + h5dims[i] = parms->dset_size[i]; + h5start[i] = 0; + h5stride[i] = 1; + h5block[i] = 1; + h5count[i] = parms->buf_size[i]; + h5chunk[i] = parms->chk_size[i]; + h5maxdims[i] = H5S_UNLIMITED; + } - if (parms->h5_use_chunks && parms->h5_extendable) { - h5dset_space_id = H5Screate_simple(rank, h5count, h5maxdims); - VRFY((h5dset_space_id >= 0), "H5Screate_simple"); - } - else { - h5dset_space_id = H5Screate_simple(rank, h5dims, NULL); - VRFY((h5dset_space_id >= 0), "H5Screate_simple"); - } + if (parms->h5_use_chunks && parms->h5_extendable) { + h5dset_space_id = H5Screate_simple(rank, h5count, h5maxdims); + VRFY((h5dset_space_id >= 0), "H5Screate_simple"); + } + else { + h5dset_space_id = H5Screate_simple(rank, h5dims, NULL); + VRFY((h5dset_space_id >= 0), "H5Screate_simple"); + } - hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, - h5start, h5stride, h5count, h5block); - VRFY((hrc >= 0), "H5Sselect_hyperslab"); + hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, h5start, h5stride, h5count, h5block); + VRFY((hrc >= 0), "H5Sselect_hyperslab"); - /* Create the memory dataspace that corresponds to the xfer buffer */ - h5mem_space_id = H5Screate_simple(rank, h5count, NULL); - VRFY((h5mem_space_id >= 0), "H5Screate_simple"); + /* Create the memory dataspace that corresponds to the xfer buffer */ + h5mem_space_id = H5Screate_simple(rank, h5count, NULL); + VRFY((h5mem_space_id >= 0), "H5Screate_simple"); - /* Create the dataset transfer property list */ - h5dxpl = H5Pcreate(H5P_DATASET_XFER); - if (h5dxpl < 0) { - HDfprintf(stderr, "HDF5 Property List Create failed\n"); - GOTOERROR(FAIL); - } + /* Create the dataset transfer property list */ + h5dxpl = H5Pcreate(H5P_DATASET_XFER); + if (h5dxpl < 0) { + HDfprintf(stderr, "HDF5 Property List Create failed\n"); + GOTOERROR(FAIL); + } - break; + break; - default: - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); - GOTOERROR(FAIL); - break; + default: + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); + GOTOERROR(FAIL); + break; } /* end switch */ - /* create dataset */ switch (parms->io_type) { case POSIXIO: - break; + break; case HDF5: h5dcpl = H5Pcreate(H5P_DATASET_CREATE); - if (h5dcpl < 0) { - HDfprintf(stderr, "HDF5 Property List Create failed\n"); - GOTOERROR(FAIL); - } - - if(parms->h5_use_chunks) { - /* Set the chunk size to be the same as the buffer size */ - hrc = H5Pset_chunk(h5dcpl, rank, h5chunk); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Property List Set failed\n"); + if (h5dcpl < 0) { + HDfprintf(stderr, "HDF5 Property List Create failed\n"); GOTOERROR(FAIL); - } /* end if */ - } /* end if */ - - HDsprintf(dname, "Dataset_%ld", (unsigned long)parms->num_bytes); - h5ds_id = H5Dcreate2(fd->h5fd, dname, ELMT_H5_TYPE, - h5dset_space_id, H5P_DEFAULT, h5dcpl, H5P_DEFAULT); + } - if (h5ds_id < 0) { - HDfprintf(stderr, "HDF5 Dataset Create failed\n"); - GOTOERROR(FAIL); - } + if (parms->h5_use_chunks) { + /* Set the chunk size to be the same as the buffer size */ + hrc = H5Pset_chunk(h5dcpl, rank, h5chunk); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Property List Set failed\n"); + GOTOERROR(FAIL); + } /* end if */ + } /* end if */ + + HDsprintf(dname, "Dataset_%ld", (unsigned long)parms->num_bytes); + h5ds_id = + H5Dcreate2(fd->h5fd, dname, ELMT_H5_TYPE, h5dset_space_id, H5P_DEFAULT, h5dcpl, H5P_DEFAULT); + + if (h5ds_id < 0) { + HDfprintf(stderr, "HDF5 Dataset Create failed\n"); + GOTOERROR(FAIL); + } - hrc = H5Pclose(h5dcpl); - /* verifying the close of the dcpl */ - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Property List Close failed\n"); - GOTOERROR(FAIL); - } - break; + hrc = H5Pclose(h5dcpl); + /* verifying the close of the dcpl */ + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Property List Close failed\n"); + GOTOERROR(FAIL); + } + break; default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); - GOTOERROR(FAIL); - break; + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); + GOTOERROR(FAIL); + break; } /* Start "raw data" write timer */ io_time_set(res->timers, HDF5_RAW_WRITE_FIXED_DIMS, TSTART); /* Perform write */ - hrc = dset_write(rank-1, fd, parms, buffer); + hrc = dset_write(rank - 1, fd, parms, buffer); if (hrc < 0) { HDfprintf(stderr, "Error in dataset write\n"); GOTOERROR(FAIL); } - /* Stop "raw data" write timer */ io_time_set(res->timers, HDF5_RAW_WRITE_FIXED_DIMS, TSTOP); @@ -583,10 +580,11 @@ done: /* release HDF5 objects */ if (h5dset_space_id != -1) { hrc = H5Sclose(h5dset_space_id); - if (hrc < 0){ + if (hrc < 0) { HDfprintf(stderr, "HDF5 Dataset Space Close failed\n"); ret_code = FAIL; - } else { + } + else { h5dset_space_id = H5I_INVALID_HID; } } @@ -596,7 +594,8 @@ done: if (hrc < 0) { HDfprintf(stderr, "HDF5 Memory Space Close failed\n"); ret_code = FAIL; - } else { + } + else { h5mem_space_id = H5I_INVALID_HID; } } @@ -606,7 +605,8 @@ done: if (hrc < 0) { HDfprintf(stderr, "HDF5 Dataset Transfer Property List Close failed\n"); ret_code = FAIL; - } else { + } + else { h5dxpl = H5I_INVALID_HID; } } @@ -624,73 +624,72 @@ done: static herr_t dset_write(int local_dim, file_descr *fd, parameters *parms, void *buffer) { - int cur_dim = order[local_dim]-1; - int ret_code = SUCCESS; - int k; - hsize_t dims[MAX_DIMS], maxdims[MAX_DIMS]; + int cur_dim = order[local_dim] - 1; + int ret_code = SUCCESS; + int k; + hsize_t dims[MAX_DIMS], maxdims[MAX_DIMS]; hsize_t i; - int j; - herr_t hrc; + int j; + herr_t hrc; /* iterates according to the dimensions in order array */ - for (i=0; i < parms->dset_size[cur_dim]; i += parms->buf_size[cur_dim]){ + for (i = 0; i < parms->dset_size[cur_dim]; i += parms->buf_size[cur_dim]) { h5offset[cur_dim] = (hssize_t)i; - offset[cur_dim] = (HDoff_t)i; - - if (local_dim > 0){ + offset[cur_dim] = (HDoff_t)i; - dset_write(local_dim-1, fd, parms, buffer); + if (local_dim > 0) { - }else{ + dset_write(local_dim - 1, fd, parms, buffer); + } + else { switch (parms->io_type) { - case POSIXIO: - /* initialize POSIX offset in the buffer */ - for(j = 0; j < parms->rank; j++) - buf_offset[j] = 0; - buf_p = (unsigned char *)buffer; - /* write POSIX buffer */ - posix_buffer_write(0, fd, parms, buffer); - break; + case POSIXIO: + /* initialize POSIX offset in the buffer */ + for (j = 0; j < parms->rank; j++) + buf_offset[j] = 0; + buf_p = (unsigned char *)buffer; + /* write POSIX buffer */ + posix_buffer_write(0, fd, parms, buffer); + break; - case HDF5: - /* if dimensions are extendable, extend them as needed during access */ - if (parms->h5_use_chunks && parms->h5_extendable) { + case HDF5: + /* if dimensions are extendable, extend them as needed during access */ + if (parms->h5_use_chunks && parms->h5_extendable) { - hrc=H5Sget_simple_extent_dims(h5dset_space_id,dims,maxdims); - VRFY((hrc >= 0), "H5Sget_simple_extent_dims"); + hrc = H5Sget_simple_extent_dims(h5dset_space_id, dims, maxdims); + VRFY((hrc >= 0), "H5Sget_simple_extent_dims"); - for (k=0; k < parms->rank; k++){ + for (k = 0; k < parms->rank; k++) { - HDassert(h5offset[k] >= 0); - if (dims[k] <= (hsize_t)h5offset[k]) { - dims[k] = dims[k]+h5count[k]; - hrc=H5Sset_extent_simple(h5dset_space_id,parms->rank,dims,maxdims); - VRFY((hrc >= 0), "H5Sset_extent_simple"); - hrc=H5Dset_extent(h5ds_id,dims); - VRFY((hrc >= 0), "H5Dextend"); + HDassert(h5offset[k] >= 0); + if (dims[k] <= (hsize_t)h5offset[k]) { + dims[k] = dims[k] + h5count[k]; + hrc = H5Sset_extent_simple(h5dset_space_id, parms->rank, dims, maxdims); + VRFY((hrc >= 0), "H5Sset_extent_simple"); + hrc = H5Dset_extent(h5ds_id, dims); + VRFY((hrc >= 0), "H5Dextend"); + } } } - } - /* applies offset */ - hrc = H5Soffset_simple(h5dset_space_id, h5offset); - VRFY((hrc >= 0), "H5Soffset_simple"); + /* applies offset */ + hrc = H5Soffset_simple(h5dset_space_id, h5offset); + VRFY((hrc >= 0), "H5Soffset_simple"); - /* Write the buffer out */ - hrc=H5Sget_simple_extent_dims(h5dset_space_id,dims,maxdims); - hrc = H5Dwrite(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, - h5dset_space_id, h5dxpl, buffer); - VRFY((hrc >= 0), "H5Dwrite"); + /* Write the buffer out */ + hrc = H5Sget_simple_extent_dims(h5dset_space_id, dims, maxdims); + hrc = H5Dwrite(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, h5dset_space_id, h5dxpl, buffer); + VRFY((hrc >= 0), "H5Dwrite"); - break; + break; - default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); - HDassert(0 && "Unknown IO type"); - break; + default: + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); + HDassert(0 && "Unknown IO type"); + break; } /* switch (parms->io_type) */ } } @@ -709,35 +708,36 @@ done: static herr_t posix_buffer_write(int local_dim, file_descr *fd, parameters *parms, void *buffer) { - int ret_code = SUCCESS; + int ret_code = SUCCESS; /* if dimension is not contiguous, call recursively */ - if (local_dim < parms->rank-1 && local_dim != cont_dim) { + if (local_dim < parms->rank - 1 && local_dim != cont_dim) { size_t u; - for(u = 0; u < parms->buf_size[local_dim]; u ++) { + for (u = 0; u < parms->buf_size[local_dim]; u++) { buf_offset[local_dim] = u; - posix_buffer_write(local_dim+1, fd, parms, buffer); + posix_buffer_write(local_dim + 1, fd, parms, buffer); /* if next dimension is cont_dim, it will fill out the buffer traversing the entire dimension local_dim without the need of performing iteration */ - if (local_dim+1==cont_dim) + if (local_dim + 1 == cont_dim) break; } - /* otherwise, perform contiguous POSIX access */ - } else { + /* otherwise, perform contiguous POSIX access */ + } + else { HDoff_t d_offset; HDoff_t linear_dset_offset = 0; - int i, j, rc; + int i, j, rc; buf_offset[local_dim] = 0; /* determine offset in the buffer */ - for(i = 0; i < parms->rank; i++) { + for (i = 0; i < parms->rank; i++) { d_offset = 1; - for(j = i + 1; j < parms->rank; j++) + for (j = i + 1; j < parms->rank; j++) d_offset *= (HDoff_t)parms->dset_size[j]; linear_dset_offset += (offset[i] + (HDoff_t)buf_offset[i]) * d_offset; @@ -745,15 +745,13 @@ posix_buffer_write(int local_dim, file_descr *fd, parameters *parms, void *buffe /* only care if seek returns error */ rc = POSIXSEEK(fd->posixfd, linear_dset_offset) < 0 ? -1 : 0; - VRFY((rc==0), "POSIXSEEK"); + VRFY((rc == 0), "POSIXSEEK"); /* check if all bytes are written */ - rc = ((ssize_t)cont_size == - POSIXWRITE(fd->posixfd, buf_p, cont_size)); + rc = ((ssize_t)cont_size == POSIXWRITE(fd->posixfd, buf_p, cont_size)); VRFY((rc != 0), "POSIXWRITE"); /* Advance location in buffer */ buf_p += cont_size; - } done: @@ -770,110 +768,108 @@ done: static herr_t do_read(results *res, file_descr *fd, parameters *parms, void *buffer) { - char *buffer2 = NULL; /* Buffer for data verification */ - int ret_code = SUCCESS; - char dname[64]; - int i; - size_t u; + char * buffer2 = NULL; /* Buffer for data verification */ + int ret_code = SUCCESS; + char dname[64]; + int i; + size_t u; /* HDF5 variables */ - herr_t hrc; /*HDF5 return code */ - hsize_t h5dims[MAX_DIMS]; /*dataset dim sizes */ - hsize_t h5block[MAX_DIMS]; /*dataspace selection */ - hsize_t h5stride[MAX_DIMS]; /*selection stride */ - hsize_t h5start[MAX_DIMS]; /*selection start */ - int rank; + herr_t hrc; /*HDF5 return code */ + hsize_t h5dims[MAX_DIMS]; /*dataset dim sizes */ + hsize_t h5block[MAX_DIMS]; /*dataspace selection */ + hsize_t h5stride[MAX_DIMS]; /*selection stride */ + hsize_t h5start[MAX_DIMS]; /*selection start */ + int rank; /* Allocate data verification buffer */ - if(NULL == (buffer2 = (char *)malloc(linear_buf_size))) { + if (NULL == (buffer2 = (char *)malloc(linear_buf_size))) { HDfprintf(stderr, "malloc for data verification buffer size (%zu) failed\n", linear_buf_size); GOTOERROR(FAIL); } /* end if */ /* Prepare buffer for verifying data */ - for(u = 0; u < linear_buf_size; u++) + for (u = 0; u < linear_buf_size; u++) buffer2[u] = (char)(u % 128); rank = parms->rank; - for(i = 0; i < rank; i++) + for (i = 0; i < rank; i++) h5offset[i] = offset[i] = 0; /* I/O Access specific setup */ switch (parms->io_type) { - case POSIXIO: + case POSIXIO: cont_dim = rank; - for (i=rank-1; i>=0; i--) { - if (parms->buf_size[i]==parms->dset_size[i]) + for (i = rank - 1; i >= 0; i--) { + if (parms->buf_size[i] == parms->dset_size[i]) cont_dim = i; else break; } - cont_size = (!cont_dim)? 1 : parms->buf_size[cont_dim-1]; - for (i=cont_dim; i<rank; i++) + cont_size = (!cont_dim) ? 1 : parms->buf_size[cont_dim - 1]; + for (i = cont_dim; i < rank; i++) cont_size *= parms->buf_size[i]; - break; + break; - case HDF5: /* HDF5 setup */ - for (i=0; i < rank; i++){ - h5dims[i] = parms->dset_size[i]; - h5start[i] = 0; - h5stride[i] = 1; - h5block[i] = 1; - h5count[i] = parms->buf_size[i]; - } + case HDF5: /* HDF5 setup */ + for (i = 0; i < rank; i++) { + h5dims[i] = parms->dset_size[i]; + h5start[i] = 0; + h5stride[i] = 1; + h5block[i] = 1; + h5count[i] = parms->buf_size[i]; + } - h5dset_space_id = H5Screate_simple(rank, h5dims, NULL); - VRFY((h5dset_space_id >= 0), "H5Screate_simple"); + h5dset_space_id = H5Screate_simple(rank, h5dims, NULL); + VRFY((h5dset_space_id >= 0), "H5Screate_simple"); - hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, - h5start, h5stride, h5count, h5block); - VRFY((hrc >= 0), "H5Sselect_hyperslab"); + hrc = H5Sselect_hyperslab(h5dset_space_id, H5S_SELECT_SET, h5start, h5stride, h5count, h5block); + VRFY((hrc >= 0), "H5Sselect_hyperslab"); - /* Create the memory dataspace that corresponds to the xfer buffer */ - h5mem_space_id = H5Screate_simple(rank, h5count, NULL); - VRFY((h5mem_space_id >= 0), "H5Screate_simple"); + /* Create the memory dataspace that corresponds to the xfer buffer */ + h5mem_space_id = H5Screate_simple(rank, h5count, NULL); + VRFY((h5mem_space_id >= 0), "H5Screate_simple"); - /* Create the dataset transfer property list */ - h5dxpl = H5Pcreate(H5P_DATASET_XFER); - if (h5dxpl < 0) { - HDfprintf(stderr, "HDF5 Property List Create failed\n"); - GOTOERROR(FAIL); - } - break; + /* Create the dataset transfer property list */ + h5dxpl = H5Pcreate(H5P_DATASET_XFER); + if (h5dxpl < 0) { + HDfprintf(stderr, "HDF5 Property List Create failed\n"); + GOTOERROR(FAIL); + } + break; - default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); - GOTOERROR(FAIL); - break; + default: + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); + GOTOERROR(FAIL); + break; } /* end switch */ - /* create dataset */ switch (parms->io_type) { case POSIXIO: - break; + break; case HDF5: - HDsprintf(dname, "Dataset_%ld", (long)parms->num_bytes); - h5ds_id = H5Dopen2(fd->h5fd, dname, H5P_DEFAULT); - if (h5ds_id < 0) { - HDfprintf(stderr, "HDF5 Dataset open failed\n"); - GOTOERROR(FAIL); - } - break; + HDsprintf(dname, "Dataset_%ld", (long)parms->num_bytes); + h5ds_id = H5Dopen2(fd->h5fd, dname, H5P_DEFAULT); + if (h5ds_id < 0) { + HDfprintf(stderr, "HDF5 Dataset open failed\n"); + GOTOERROR(FAIL); + } + break; default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); - GOTOERROR(FAIL); - break; + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); + GOTOERROR(FAIL); + break; } /* end switch */ /* Start "raw data" read timer */ io_time_set(res->timers, HDF5_RAW_READ_FIXED_DIMS, TSTART); - hrc = dset_read(rank-1, fd, parms, buffer, buffer2); + hrc = dset_read(rank - 1, fd, parms, buffer, buffer2); if (hrc < 0) { HDfprintf(stderr, "Error in dataset read\n"); @@ -890,8 +886,8 @@ do_read(results *res, file_descr *fd, parameters *parms, void *buffer) hrc = H5Dclose(h5ds_id); if (hrc < 0) { - HDfprintf(stderr, "HDF5 Dataset Close failed\n"); - GOTOERROR(FAIL); + HDfprintf(stderr, "HDF5 Dataset Close failed\n"); + GOTOERROR(FAIL); } h5ds_id = H5I_INVALID_HID; @@ -901,37 +897,40 @@ done: /* release HDF5 objects */ if (h5dset_space_id != -1) { - hrc = H5Sclose(h5dset_space_id); - if (hrc < 0){ - HDfprintf(stderr, "HDF5 Dataset Space Close failed\n"); - ret_code = FAIL; - } else { - h5dset_space_id = H5I_INVALID_HID; - } + hrc = H5Sclose(h5dset_space_id); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Dataset Space Close failed\n"); + ret_code = FAIL; + } + else { + h5dset_space_id = H5I_INVALID_HID; + } } if (h5mem_space_id != -1) { - hrc = H5Sclose(h5mem_space_id); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Memory Space Close failed\n"); - ret_code = FAIL; - } else { - h5mem_space_id = H5I_INVALID_HID; - } + hrc = H5Sclose(h5mem_space_id); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Memory Space Close failed\n"); + ret_code = FAIL; + } + else { + h5mem_space_id = H5I_INVALID_HID; + } } if (h5dxpl != -1) { - hrc = H5Pclose(h5dxpl); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 Dataset Transfer Property List Close failed\n"); - ret_code = FAIL; - } else { - h5dxpl = H5I_INVALID_HID; - } + hrc = H5Pclose(h5dxpl); + if (hrc < 0) { + HDfprintf(stderr, "HDF5 Dataset Transfer Property List Close failed\n"); + ret_code = FAIL; + } + else { + h5dxpl = H5I_INVALID_HID; + } } /* release generic resources */ - if(buffer2) + if (buffer2) free(buffer2); return ret_code; @@ -946,53 +945,52 @@ done: */ static herr_t -dset_read(int local_dim, file_descr *fd, parameters *parms, void *buffer, - const char *buffer2) +dset_read(int local_dim, file_descr *fd, parameters *parms, void *buffer, const char *buffer2) { - int cur_dim = order[local_dim]-1; + int cur_dim = order[local_dim] - 1; hsize_t i; - int j; - herr_t hrc; - int ret_code = SUCCESS; + int j; + herr_t hrc; + int ret_code = SUCCESS; /* iterate on the current dimension */ - for (i=0; i < parms->dset_size[cur_dim]; i += parms->buf_size[cur_dim]){ + for (i = 0; i < parms->dset_size[cur_dim]; i += parms->buf_size[cur_dim]) { h5offset[cur_dim] = (hssize_t)i; - offset[cur_dim] = (HDoff_t)i; + offset[cur_dim] = (HDoff_t)i; /* if traverse in order array is incomplete, recurse */ - if (local_dim > 0){ + if (local_dim > 0) { - ret_code = dset_read(local_dim-1, fd, parms, buffer, buffer2); + ret_code = dset_read(local_dim - 1, fd, parms, buffer, buffer2); - /* otherwise, write buffer into dataset */ - }else{ + /* otherwise, write buffer into dataset */ + } + else { switch (parms->io_type) { - case POSIXIO: - for (j=0; j<parms->rank; j++) { - buf_offset[j] = 0; - } - buf_p = (unsigned char*)buffer; - posix_buffer_read(0, fd, parms, buffer); - break; + case POSIXIO: + for (j = 0; j < parms->rank; j++) { + buf_offset[j] = 0; + } + buf_p = (unsigned char *)buffer; + posix_buffer_read(0, fd, parms, buffer); + break; - case HDF5: - hrc = H5Soffset_simple(h5dset_space_id, h5offset); - VRFY((hrc >= 0), "H5Soffset_simple"); - /* Read the buffer out */ - hrc = H5Dread(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, - h5dset_space_id, h5dxpl, buffer); - VRFY((hrc >= 0), "H5Dread"); - break; + case HDF5: + hrc = H5Soffset_simple(h5dset_space_id, h5offset); + VRFY((hrc >= 0), "H5Soffset_simple"); + /* Read the buffer out */ + hrc = H5Dread(h5ds_id, ELMT_H5_TYPE, h5mem_space_id, h5dset_space_id, h5dxpl, buffer); + VRFY((hrc >= 0), "H5Dread"); + break; - default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); - HDassert(0 && "Unknown IO type"); - break; + default: + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)parms->io_type); + HDassert(0 && "Unknown IO type"); + break; } /* switch (parms->io_type) */ } } @@ -1011,30 +1009,31 @@ done: static herr_t posix_buffer_read(int local_dim, file_descr *fd, parameters *parms, void *buffer) { - int ret_code = SUCCESS; + int ret_code = SUCCESS; /* if local dimension is not contiguous, recurse */ - if (local_dim < parms->rank-1 && local_dim != cont_dim) { + if (local_dim < parms->rank - 1 && local_dim != cont_dim) { size_t u; - for(u = 0; u < parms->buf_size[local_dim]; u++) { + for (u = 0; u < parms->buf_size[local_dim]; u++) { buf_offset[local_dim] = u; - ret_code = posix_buffer_read(local_dim+1, fd, parms, buffer); - if (local_dim+1==cont_dim) + ret_code = posix_buffer_read(local_dim + 1, fd, parms, buffer); + if (local_dim + 1 == cont_dim) break; } - /* otherwise, perform contiguous POSIX access */ - } else { + /* otherwise, perform contiguous POSIX access */ + } + else { HDoff_t d_offset; HDoff_t linear_dset_offset = 0; - int i, j, rc; + int i, j, rc; buf_offset[local_dim] = 0; /* determine offset in buffer */ - for (i=0; i<parms->rank; i++){ - d_offset=1; + for (i = 0; i < parms->rank; i++) { + d_offset = 1; - for (j=i+1; j<parms->rank; j++) + for (j = i + 1; j < parms->rank; j++) d_offset *= (HDoff_t)parms->dset_size[j]; linear_dset_offset += (offset[i] + (HDoff_t)buf_offset[i]) * d_offset; @@ -1042,21 +1041,18 @@ posix_buffer_read(int local_dim, file_descr *fd, parameters *parms, void *buffer /* only care if seek returns error */ rc = POSIXSEEK(fd->posixfd, linear_dset_offset) < 0 ? -1 : 0; - VRFY((rc==0), "POSIXSEEK"); + VRFY((rc == 0), "POSIXSEEK"); /* check if all bytes are read */ - rc = ((ssize_t)cont_size == - POSIXREAD(fd->posixfd, buf_p, cont_size)); + rc = ((ssize_t)cont_size == POSIXREAD(fd->posixfd, buf_p, cont_size)); VRFY((rc != 0), "POSIXREAD"); /* Advance location in buffer */ buf_p += cont_size; - } done: return ret_code; } - /* * Function: do_fopen * Purpose: Open the specified file. @@ -1064,62 +1060,62 @@ done: * Programmer: Albert Cheng, Bill Wendling, 2001/12/13 * Modifications: Support for file drivers, Christian Chilan, April, 2008 */ - static herr_t +static herr_t do_fopen(parameters *param, char *fname, file_descr *fd /*out*/, int flags) { - int ret_code = SUCCESS; + int ret_code = SUCCESS; hid_t fcpl; switch (param->io_type) { - case POSIXIO: - if (flags & (SIO_CREATE | SIO_WRITE)) - fd->posixfd = POSIXCREATE(fname); - else - fd->posixfd = POSIXOPEN(fname, O_RDONLY); - - if (fd->posixfd < 0 ) { - HDfprintf(stderr, "POSIX File Open failed(%s)\n", fname); - GOTOERROR(FAIL); - } + case POSIXIO: + if (flags & (SIO_CREATE | SIO_WRITE)) + fd->posixfd = POSIXCREATE(fname); + else + fd->posixfd = POSIXOPEN(fname, O_RDONLY); - break; + if (fd->posixfd < 0) { + HDfprintf(stderr, "POSIX File Open failed(%s)\n", fname); + GOTOERROR(FAIL); + } - case HDF5: + break; - fapl = set_vfd(param); + case HDF5: - if (fapl < 0) { - HDfprintf(stderr, "HDF5 Property List Create failed\n"); - GOTOERROR(FAIL); - } + fapl = set_vfd(param); - fcpl = H5Pcreate(H5P_FILE_CREATE); - if(param->page_size) { - H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1); - H5Pset_file_space_page_size(fcpl, param->page_size); - if(param->page_buffer_size) - H5Pset_page_buffer_size(fapl, param->page_buffer_size, 0, 0); - } + if (fapl < 0) { + HDfprintf(stderr, "HDF5 Property List Create failed\n"); + GOTOERROR(FAIL); + } - /* create the parallel file */ - if (flags & (SIO_CREATE | SIO_WRITE)) { - fd->h5fd = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl); - } else { - fd->h5fd = H5Fopen(fname, H5F_ACC_RDONLY, fapl); - } + fcpl = H5Pcreate(H5P_FILE_CREATE); + if (param->page_size) { + H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1); + H5Pset_file_space_page_size(fcpl, param->page_size); + if (param->page_buffer_size) + H5Pset_page_buffer_size(fapl, param->page_buffer_size, 0, 0); + } + /* create the parallel file */ + if (flags & (SIO_CREATE | SIO_WRITE)) { + fd->h5fd = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl); + } + else { + fd->h5fd = H5Fopen(fname, H5F_ACC_RDONLY, fapl); + } - if (fd->h5fd < 0) { - HDfprintf(stderr, "HDF5 File Create failed(%s)\n", fname); - GOTOERROR(FAIL); - } - break; + if (fd->h5fd < 0) { + HDfprintf(stderr, "HDF5 File Create failed(%s)\n", fname); + GOTOERROR(FAIL); + } + break; - default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)param->io_type); - GOTOERROR(FAIL); - break; + default: + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)param->io_type); + GOTOERROR(FAIL); + break; } done: @@ -1137,69 +1133,78 @@ done: hid_t set_vfd(parameters *param) { - hid_t my_fapl = H5I_INVALID_HID; - vfdtype vfd; + hid_t my_fapl = H5I_INVALID_HID; + vfdtype vfd; vfd = param->vfd; - if ((my_fapl=H5Pcreate(H5P_FILE_ACCESS))<0) return -1; + if ((my_fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) + return -1; if (vfd == sec2) { /* Unix read() and write() system calls */ - if (H5Pset_fapl_sec2(my_fapl)<0) return -1; - } else if (vfd == stdio) { + if (H5Pset_fapl_sec2(my_fapl) < 0) + return -1; + } + else if (vfd == stdio) { /* Standard C fread() and fwrite() system calls */ - if (H5Pset_fapl_stdio(my_fapl)<0) return -1; - } else if (vfd == core) { + if (H5Pset_fapl_stdio(my_fapl) < 0) + return -1; + } + else if (vfd == core) { /* In-core temporary file with 1MB increment */ - if (H5Pset_fapl_core(my_fapl, (size_t)1024*1024, TRUE)<0) return -1; - } else if (vfd == split) { + if (H5Pset_fapl_core(my_fapl, (size_t)1024 * 1024, TRUE) < 0) + return -1; + } + else if (vfd == split) { /* Split meta data and raw data each using default driver */ - if (H5Pset_fapl_split(my_fapl, - "-m.h5", H5P_DEFAULT, - "-r.h5", H5P_DEFAULT)<0) + if (H5Pset_fapl_split(my_fapl, "-m.h5", H5P_DEFAULT, "-r.h5", H5P_DEFAULT) < 0) return -1; - } else if (vfd == multi) { + } + else if (vfd == multi) { /* Multi-file driver, general case of the split driver */ - H5FD_mem_t memb_map[H5FD_MEM_NTYPES]; - hid_t memb_fapl[H5FD_MEM_NTYPES]; + H5FD_mem_t memb_map[H5FD_MEM_NTYPES]; + hid_t memb_fapl[H5FD_MEM_NTYPES]; const char *memb_name[H5FD_MEM_NTYPES]; - char sv[H5FD_MEM_NTYPES][1024]; - haddr_t memb_addr[H5FD_MEM_NTYPES]; - H5FD_mem_t mt; + char sv[H5FD_MEM_NTYPES][1024]; + haddr_t memb_addr[H5FD_MEM_NTYPES]; + H5FD_mem_t mt; HDmemset(memb_map, 0, sizeof memb_map); HDmemset(memb_fapl, 0, sizeof memb_fapl); HDmemset(memb_name, 0, sizeof memb_name); HDmemset(memb_addr, 0, sizeof memb_addr); - HDassert(HDstrlen(multi_letters)==H5FD_MEM_NTYPES); - for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt++) { + HDassert(HDstrlen(multi_letters) == H5FD_MEM_NTYPES); + for (mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++) { memb_fapl[mt] = H5P_DEFAULT; HDsprintf(sv[mt], "%%s-%c.h5", multi_letters[mt]); memb_name[mt] = sv[mt]; - memb_addr[mt] = (haddr_t)MAX(mt - 1,0) * (HADDR_MAX / 10); + memb_addr[mt] = (haddr_t)MAX(mt - 1, 0) * (HADDR_MAX / 10); } - if (H5Pset_fapl_multi(my_fapl, memb_map, memb_fapl, memb_name, - memb_addr, FALSE)<0) { + if (H5Pset_fapl_multi(my_fapl, memb_map, memb_fapl, memb_name, memb_addr, FALSE) < 0) { return -1; } - } else if (vfd == family) { - hsize_t fam_size = 1*1024*1024; /*100 MB*/ + } + else if (vfd == family) { + hsize_t fam_size = 1 * 1024 * 1024; /*100 MB*/ /* Family of files, each 1MB and using the default driver */ /* if ((val=HDstrtok(NULL, " \t\n\r"))) fam_size = (hsize_t)(HDstrtod(val, NULL) * 1024*1024); */ - if (H5Pset_fapl_family(my_fapl, fam_size, H5P_DEFAULT)<0) + if (H5Pset_fapl_family(my_fapl, fam_size, H5P_DEFAULT) < 0) return -1; - } else if (vfd == direct) { + } + else if (vfd == direct) { #ifdef H5_HAVE_DIRECT /* Linux direct read() and write() system calls. Set memory boundary, file block size, * and copy buffer size to the default values. */ - if (H5Pset_fapl_direct(my_fapl, 1024, 4096, 8*4096)<0) return -1; + if (H5Pset_fapl_direct(my_fapl, 1024, 4096, 8 * 4096) < 0) + return -1; #endif - } else { + } + else { /* Unknown driver */ return -1; } @@ -1214,47 +1219,46 @@ set_vfd(parameters *param) * Programmer: Albert Cheng, Bill Wendling, 2001/12/13 * Modifications: */ - static herr_t +static herr_t do_fclose(iotype iot, file_descr *fd /*out*/) { herr_t ret_code = SUCCESS, hrc; - int rc = 0; + int rc = 0; switch (iot) { - case POSIXIO: - rc = POSIXCLOSE(fd->posixfd); + case POSIXIO: + rc = POSIXCLOSE(fd->posixfd); - if (rc != 0){ - HDfprintf(stderr, "POSIX File Close failed\n"); - GOTOERROR(FAIL); - } + if (rc != 0) { + HDfprintf(stderr, "POSIX File Close failed\n"); + GOTOERROR(FAIL); + } - fd->posixfd = -1; - break; + fd->posixfd = -1; + break; - case HDF5: - hrc = H5Fclose(fd->h5fd); + case HDF5: + hrc = H5Fclose(fd->h5fd); - if (hrc < 0) { - HDfprintf(stderr, "HDF5 File Close failed\n"); - GOTOERROR(FAIL); - } + if (hrc < 0) { + HDfprintf(stderr, "HDF5 File Close failed\n"); + GOTOERROR(FAIL); + } - fd->h5fd = -1; - break; + fd->h5fd = -1; + break; - default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)iot); - GOTOERROR(FAIL); - break; + default: + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)iot); + GOTOERROR(FAIL); + break; } done: return ret_code; } - /* * Function: do_cleanupfile * Purpose: Cleanup temporary file unless HDF5_NOCLEANUP is set. @@ -1272,63 +1276,63 @@ H5_GCC_DIAG_OFF("format-nonliteral") static void do_cleanupfile(iotype iot, char *filename) { - char temp[2048]; - int j; - hid_t driver; + char temp[2048]; + int j; + hid_t driver; if (clean_file_g == -1) - clean_file_g = (HDgetenv("HDF5_NOCLEANUP")==NULL) ? 1 : 0; + clean_file_g = (HDgetenv("HDF5_NOCLEANUP") == NULL) ? 1 : 0; - if (clean_file_g){ + if (clean_file_g) { - switch (iot) { - case POSIXIO: - HDremove(filename); - break; + switch (iot) { + case POSIXIO: + HDremove(filename); + break; - case HDF5: - driver = H5Pget_driver(fapl); + case HDF5: + driver = H5Pget_driver(fapl); - if (driver == H5FD_FAMILY) { - for (j = 0; /*void*/; j++) { - HDsnprintf(temp, sizeof temp, filename, j); + if (driver == H5FD_FAMILY) { + for (j = 0; /*void*/; j++) { + HDsnprintf(temp, sizeof temp, filename, j); - if (HDaccess(temp, F_OK) < 0) - break; + if (HDaccess(temp, F_OK) < 0) + break; - HDremove(temp); + HDremove(temp); + } } - } else if (driver == H5FD_CORE) { - hbool_t backing; /* Whether the core file has backing store */ - - H5Pget_fapl_core(fapl,NULL,&backing); + else if (driver == H5FD_CORE) { + hbool_t backing; /* Whether the core file has backing store */ - /* If the file was stored to disk with bacing store, remove it */ - if(backing) - HDremove(filename); + H5Pget_fapl_core(fapl, NULL, &backing); - } else if (driver == H5FD_MULTI) { - H5FD_mem_t mt; - assert(HDstrlen(multi_letters)==H5FD_MEM_NTYPES); + /* If the file was stored to disk with bacing store, remove it */ + if (backing) + HDremove(filename); + } + else if (driver == H5FD_MULTI) { + H5FD_mem_t mt; + assert(HDstrlen(multi_letters) == H5FD_MEM_NTYPES); - for (mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++) { - HDsnprintf(temp, sizeof temp, "%s-%c.h5", - filename, multi_letters[mt]); - HDremove(temp); /*don't care if it fails*/ + for (mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++) { + HDsnprintf(temp, sizeof temp, "%s-%c.h5", filename, multi_letters[mt]); + HDremove(temp); /*don't care if it fails*/ + } } - } else { - HDremove(filename); - } - H5Pclose(fapl); - break; + else { + HDremove(filename); + } + H5Pclose(fapl); + break; - default: - /* unknown request */ - HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)iot); - HDassert(0 && "Unknown IO type"); - break; + default: + /* unknown request */ + HDfprintf(stderr, "Unknown IO type request (%d)\n", (int)iot); + HDassert(0 && "Unknown IO type"); + break; } } } H5_GCC_DIAG_ON("format-nonliteral") - diff --git a/tools/test/perform/sio_perf.c b/tools/test/perform/sio_perf.c index 0656e94..fb31080 100644 --- a/tools/test/perform/sio_perf.c +++ b/tools/test/perform/sio_perf.c @@ -51,42 +51,42 @@ #include "hdf5.h" - /* our header files */ #include "sio_perf.h" /* useful macros */ -#define TAB_SPACE 4 +#define TAB_SPACE 4 -#define ONE_KB 1024 -#define ONE_MB (ONE_KB * ONE_KB) -#define ONE_GB (ONE_MB * ONE_KB) +#define ONE_KB 1024 +#define ONE_MB (ONE_KB * ONE_KB) +#define ONE_GB (ONE_MB * ONE_KB) -#define SIO_POSIX 0x1 -#define SIO_HDF5 0x4 +#define SIO_POSIX 0x1 +#define SIO_HDF5 0x4 /* report 0.0 in case t is zero too */ -#define MB_PER_SEC(bytes,t) (H5_DBL_ABS_EQUAL(t, (double)0.0F) ? (double)0.0F : ((((double)bytes) / (double)ONE_MB) / (t))) +#define MB_PER_SEC(bytes, t) \ + (H5_DBL_ABS_EQUAL(t, (double)0.0F) ? (double)0.0F : ((((double)bytes) / (double)ONE_MB) / (t))) #ifndef TRUE -#define TRUE 1 -#endif /* TRUE */ +#define TRUE 1 +#endif /* TRUE */ #ifndef FALSE -#define FALSE (!TRUE) -#endif /* FALSE */ +#define FALSE (!TRUE) +#endif /* FALSE */ /* global variables */ -FILE *output; /* output file */ -int sio_debug_level = 0;/* The debug level: - * 0 - Off - * 1 - Minimal - * 2 - Some more - * 3 - Maximal - * 4 - Maximal & then some - */ +FILE *output; /* output file */ +int sio_debug_level = 0; /* The debug level: + * 0 - Off + * 1 - Minimal + * 2 - Some more + * 3 - Maximal + * 4 - Maximal & then some + */ /* local variables */ -static const char *progname = "h5perf_serial"; +static const char *progname = "h5perf_serial"; /* * Command-line options: The user can specify short or long-named @@ -98,14 +98,13 @@ static const char *progname = "h5perf_serial"; * It seems that only the options that accept additional information * such as dataset size (-e) require the colon next to it. */ -static const char *s_opts = "a:A:B:c:Cd:D:e:F:ghi:Imno:p:P:r:stT:v:wx:X:"; -static struct long_options l_opts[] = { - { "align", require_arg, 'a' }, - { "alig", require_arg, 'a' }, - { "ali", require_arg, 'a' }, - { "al", require_arg, 'a' }, - { "api", require_arg, 'A' }, - { "ap", require_arg, 'A' }, +static const char * s_opts = "a:A:B:c:Cd:D:e:F:ghi:Imno:p:P:r:stT:v:wx:X:"; +static struct long_options l_opts[] = {{"align", require_arg, 'a'}, + {"alig", require_arg, 'a'}, + {"ali", require_arg, 'a'}, + {"al", require_arg, 'a'}, + {"api", require_arg, 'A'}, + {"ap", require_arg, 'A'}, #if 0 /* a sighting of the elusive binary option */ { "binary", no_arg, 'b' }, @@ -113,204 +112,203 @@ static struct long_options l_opts[] = { { "bina", no_arg, 'b' }, { "bin", no_arg, 'b' }, { "bi", no_arg, 'b' }, -#endif /* 0 */ - { "block-size", require_arg, 'B' }, - { "block-siz", require_arg, 'B' }, - { "block-si", require_arg, 'B' }, - { "block-s", require_arg, 'B' }, - { "block-", require_arg, 'B' }, - { "block", require_arg, 'B' }, - { "bloc", require_arg, 'B' }, - { "blo", require_arg, 'B' }, - { "bl", require_arg, 'B' }, - { "chunk", no_arg, 'c' }, - { "chun", no_arg, 'c' }, - { "chu", no_arg, 'c' }, - { "ch", no_arg, 'c' }, - { "collective", no_arg, 'C' }, - { "collectiv", no_arg, 'C' }, - { "collecti", no_arg, 'C' }, - { "collect", no_arg, 'C' }, - { "collec", no_arg, 'C' }, - { "colle", no_arg, 'C' }, - { "coll", no_arg, 'C' }, - { "col", no_arg, 'C' }, - { "co", no_arg, 'C' }, - { "debug", require_arg, 'D' }, - { "debu", require_arg, 'D' }, - { "deb", require_arg, 'D' }, - { "de", require_arg, 'D' }, - { "file-driver", require_arg, 'v' }, - { "file-drive", require_arg, 'v' }, - { "file-driv", require_arg, 'v' }, - { "file-dri", require_arg, 'v' }, - { "file-dr", require_arg, 'v' }, - { "file-d", require_arg, 'v' }, - { "file-", require_arg, 'v' }, - { "file", require_arg, 'v' }, - { "fil", require_arg, 'v' }, - { "fi", require_arg, 'v' }, - { "geometry", no_arg, 'g' }, - { "geometr", no_arg, 'g' }, - { "geomet", no_arg, 'g' }, - { "geome", no_arg, 'g' }, - { "geom", no_arg, 'g' }, - { "geo", no_arg, 'g' }, - { "ge", no_arg, 'g' }, - { "help", no_arg, 'h' }, - { "hel", no_arg, 'h' }, - { "he", no_arg, 'h' }, - { "interleaved", require_arg, 'I' }, - { "interleave", require_arg, 'I' }, - { "interleav", require_arg, 'I' }, - { "interlea", require_arg, 'I' }, - { "interle", require_arg, 'I' }, - { "interl", require_arg, 'I' }, - { "inter", require_arg, 'I' }, - { "inte", require_arg, 'I' }, - { "int", require_arg, 'I' }, - { "in", require_arg, 'I' }, - { "max-num-processes", require_arg, 'P' }, - { "max-num-processe", require_arg, 'P' }, - { "max-num-process", require_arg, 'P' }, - { "max-num-proces", require_arg, 'P' }, - { "max-num-proce", require_arg, 'P' }, - { "max-num-proc", require_arg, 'P' }, - { "max-num-pro", require_arg, 'P' }, - { "max-num-pr", require_arg, 'P' }, - { "max-num-p", require_arg, 'P' }, - { "min-num-processes", require_arg, 'p' }, - { "min-num-processe", require_arg, 'p' }, - { "min-num-process", require_arg, 'p' }, - { "min-num-proces", require_arg, 'p' }, - { "min-num-proce", require_arg, 'p' }, - { "min-num-proc", require_arg, 'p' }, - { "min-num-pro", require_arg, 'p' }, - { "min-num-pr", require_arg, 'p' }, - { "min-num-p", require_arg, 'p' }, - { "max-xfer-size", require_arg, 'X' }, - { "max-xfer-siz", require_arg, 'X' }, - { "max-xfer-si", require_arg, 'X' }, - { "max-xfer-s", require_arg, 'X' }, - { "max-xfer", require_arg, 'X' }, - { "max-xfe", require_arg, 'X' }, - { "max-xf", require_arg, 'X' }, - { "max-x", require_arg, 'X' }, - { "min-xfer-size", require_arg, 'x' }, - { "min-xfer-siz", require_arg, 'x' }, - { "min-xfer-si", require_arg, 'x' }, - { "min-xfer-s", require_arg, 'x' }, - { "min-xfer", require_arg, 'x' }, - { "min-xfe", require_arg, 'x' }, - { "min-xf", require_arg, 'x' }, - { "min-x", require_arg, 'x' }, - { "num-bytes", require_arg, 'e' }, - { "num-byte", require_arg, 'e' }, - { "num-byt", require_arg, 'e' }, - { "num-by", require_arg, 'e' }, - { "num-b", require_arg, 'e' }, - { "num-dsets", require_arg, 'd' }, - { "num-dset", require_arg, 'd' }, - { "num-dse", require_arg, 'd' }, - { "num-ds", require_arg, 'd' }, - { "num-d", require_arg, 'd' }, - { "num-files", require_arg, 'F' }, - { "num-file", require_arg, 'F' }, - { "num-fil", require_arg, 'F' }, - { "num-fi", require_arg, 'F' }, - { "num-f", require_arg, 'F' }, - { "num-iterations", require_arg, 'i' }, - { "num-iteration", require_arg, 'i' }, - { "num-iteratio", require_arg, 'i' }, - { "num-iterati", require_arg, 'i' }, - { "num-iterat", require_arg, 'i' }, - { "num-itera", require_arg, 'i' }, - { "num-iter", require_arg, 'i' }, - { "num-ite", require_arg, 'i' }, - { "num-it", require_arg, 'i' }, - { "num-i", require_arg, 'i' }, - { "order", require_arg, 'r' }, - { "orde", require_arg, 'r' }, - { "ord", require_arg, 'r' }, - { "or", require_arg, 'r' }, - { "output", require_arg, 'o' }, - { "outpu", require_arg, 'o' }, - { "outp", require_arg, 'o' }, - { "out", require_arg, 'o' }, - { "ou", require_arg, 'o' }, - { "extendable", no_arg, 't' }, - { "extendabl", no_arg, 't' }, - { "extendab", no_arg, 't' }, - { "extenda", no_arg, 't' }, - { "extend", no_arg, 't' }, - { "exten", no_arg, 't' }, - { "exte", no_arg, 't' }, - { "ext", no_arg, 't' }, - { "ex", no_arg, 't' }, - { "threshold", require_arg, 'T' }, - { "threshol", require_arg, 'T' }, - { "thresho", require_arg, 'T' }, - { "thresh", require_arg, 'T' }, - { "thres", require_arg, 'T' }, - { "thre", require_arg, 'T' }, - { "thr", require_arg, 'T' }, - { "th", require_arg, 'T' }, - { "write-only", require_arg, 'w' }, - { "write-onl", require_arg, 'w' }, - { "write-on", require_arg, 'w' }, - { "write-o", require_arg, 'w' }, - { "write", require_arg, 'w' }, - { "writ", require_arg, 'w' }, - { "wri", require_arg, 'w' }, - { "wr", require_arg, 'w' }, - { NULL, 0, '\0' } -}; +#endif /* 0 */ + {"block-size", require_arg, 'B'}, + {"block-siz", require_arg, 'B'}, + {"block-si", require_arg, 'B'}, + {"block-s", require_arg, 'B'}, + {"block-", require_arg, 'B'}, + {"block", require_arg, 'B'}, + {"bloc", require_arg, 'B'}, + {"blo", require_arg, 'B'}, + {"bl", require_arg, 'B'}, + {"chunk", no_arg, 'c'}, + {"chun", no_arg, 'c'}, + {"chu", no_arg, 'c'}, + {"ch", no_arg, 'c'}, + {"collective", no_arg, 'C'}, + {"collectiv", no_arg, 'C'}, + {"collecti", no_arg, 'C'}, + {"collect", no_arg, 'C'}, + {"collec", no_arg, 'C'}, + {"colle", no_arg, 'C'}, + {"coll", no_arg, 'C'}, + {"col", no_arg, 'C'}, + {"co", no_arg, 'C'}, + {"debug", require_arg, 'D'}, + {"debu", require_arg, 'D'}, + {"deb", require_arg, 'D'}, + {"de", require_arg, 'D'}, + {"file-driver", require_arg, 'v'}, + {"file-drive", require_arg, 'v'}, + {"file-driv", require_arg, 'v'}, + {"file-dri", require_arg, 'v'}, + {"file-dr", require_arg, 'v'}, + {"file-d", require_arg, 'v'}, + {"file-", require_arg, 'v'}, + {"file", require_arg, 'v'}, + {"fil", require_arg, 'v'}, + {"fi", require_arg, 'v'}, + {"geometry", no_arg, 'g'}, + {"geometr", no_arg, 'g'}, + {"geomet", no_arg, 'g'}, + {"geome", no_arg, 'g'}, + {"geom", no_arg, 'g'}, + {"geo", no_arg, 'g'}, + {"ge", no_arg, 'g'}, + {"help", no_arg, 'h'}, + {"hel", no_arg, 'h'}, + {"he", no_arg, 'h'}, + {"interleaved", require_arg, 'I'}, + {"interleave", require_arg, 'I'}, + {"interleav", require_arg, 'I'}, + {"interlea", require_arg, 'I'}, + {"interle", require_arg, 'I'}, + {"interl", require_arg, 'I'}, + {"inter", require_arg, 'I'}, + {"inte", require_arg, 'I'}, + {"int", require_arg, 'I'}, + {"in", require_arg, 'I'}, + {"max-num-processes", require_arg, 'P'}, + {"max-num-processe", require_arg, 'P'}, + {"max-num-process", require_arg, 'P'}, + {"max-num-proces", require_arg, 'P'}, + {"max-num-proce", require_arg, 'P'}, + {"max-num-proc", require_arg, 'P'}, + {"max-num-pro", require_arg, 'P'}, + {"max-num-pr", require_arg, 'P'}, + {"max-num-p", require_arg, 'P'}, + {"min-num-processes", require_arg, 'p'}, + {"min-num-processe", require_arg, 'p'}, + {"min-num-process", require_arg, 'p'}, + {"min-num-proces", require_arg, 'p'}, + {"min-num-proce", require_arg, 'p'}, + {"min-num-proc", require_arg, 'p'}, + {"min-num-pro", require_arg, 'p'}, + {"min-num-pr", require_arg, 'p'}, + {"min-num-p", require_arg, 'p'}, + {"max-xfer-size", require_arg, 'X'}, + {"max-xfer-siz", require_arg, 'X'}, + {"max-xfer-si", require_arg, 'X'}, + {"max-xfer-s", require_arg, 'X'}, + {"max-xfer", require_arg, 'X'}, + {"max-xfe", require_arg, 'X'}, + {"max-xf", require_arg, 'X'}, + {"max-x", require_arg, 'X'}, + {"min-xfer-size", require_arg, 'x'}, + {"min-xfer-siz", require_arg, 'x'}, + {"min-xfer-si", require_arg, 'x'}, + {"min-xfer-s", require_arg, 'x'}, + {"min-xfer", require_arg, 'x'}, + {"min-xfe", require_arg, 'x'}, + {"min-xf", require_arg, 'x'}, + {"min-x", require_arg, 'x'}, + {"num-bytes", require_arg, 'e'}, + {"num-byte", require_arg, 'e'}, + {"num-byt", require_arg, 'e'}, + {"num-by", require_arg, 'e'}, + {"num-b", require_arg, 'e'}, + {"num-dsets", require_arg, 'd'}, + {"num-dset", require_arg, 'd'}, + {"num-dse", require_arg, 'd'}, + {"num-ds", require_arg, 'd'}, + {"num-d", require_arg, 'd'}, + {"num-files", require_arg, 'F'}, + {"num-file", require_arg, 'F'}, + {"num-fil", require_arg, 'F'}, + {"num-fi", require_arg, 'F'}, + {"num-f", require_arg, 'F'}, + {"num-iterations", require_arg, 'i'}, + {"num-iteration", require_arg, 'i'}, + {"num-iteratio", require_arg, 'i'}, + {"num-iterati", require_arg, 'i'}, + {"num-iterat", require_arg, 'i'}, + {"num-itera", require_arg, 'i'}, + {"num-iter", require_arg, 'i'}, + {"num-ite", require_arg, 'i'}, + {"num-it", require_arg, 'i'}, + {"num-i", require_arg, 'i'}, + {"order", require_arg, 'r'}, + {"orde", require_arg, 'r'}, + {"ord", require_arg, 'r'}, + {"or", require_arg, 'r'}, + {"output", require_arg, 'o'}, + {"outpu", require_arg, 'o'}, + {"outp", require_arg, 'o'}, + {"out", require_arg, 'o'}, + {"ou", require_arg, 'o'}, + {"extendable", no_arg, 't'}, + {"extendabl", no_arg, 't'}, + {"extendab", no_arg, 't'}, + {"extenda", no_arg, 't'}, + {"extend", no_arg, 't'}, + {"exten", no_arg, 't'}, + {"exte", no_arg, 't'}, + {"ext", no_arg, 't'}, + {"ex", no_arg, 't'}, + {"threshold", require_arg, 'T'}, + {"threshol", require_arg, 'T'}, + {"thresho", require_arg, 'T'}, + {"thresh", require_arg, 'T'}, + {"thres", require_arg, 'T'}, + {"thre", require_arg, 'T'}, + {"thr", require_arg, 'T'}, + {"th", require_arg, 'T'}, + {"write-only", require_arg, 'w'}, + {"write-onl", require_arg, 'w'}, + {"write-on", require_arg, 'w'}, + {"write-o", require_arg, 'w'}, + {"write", require_arg, 'w'}, + {"writ", require_arg, 'w'}, + {"wri", require_arg, 'w'}, + {"wr", require_arg, 'w'}, + {NULL, 0, '\0'}}; struct options { - long io_types; /* bitmask of which I/O types to test */ - const char *output_file; /* file to print report to */ - long num_dsets; /* number of datasets */ - long num_files; /* number of files */ - off_t num_bpp; /* number of bytes per proc per dset */ - int num_iters; /* number of iterations */ - hsize_t dset_size[MAX_DIMS]; /* Dataset size */ - size_t buf_size[MAX_DIMS]; /* Buffer size */ - size_t chk_size[MAX_DIMS]; /* Chunk size */ - int order[MAX_DIMS]; /* Dimension access order */ - int dset_rank; /* Rank */ - int buf_rank; /* Rank */ - int order_rank; /* Rank */ - int chk_rank; /* Rank */ - int print_times; /* print times as well as throughputs */ - int print_raw; /* print raw data throughput info */ - hsize_t h5_alignment; /* alignment in HDF5 file */ - hsize_t h5_threshold; /* threshold for alignment in HDF5 file */ - int h5_use_chunks; /* Make HDF5 dataset chunked */ - int h5_write_only; /* Perform the write tests only */ - int h5_extendable; /* Perform the write tests only */ - int verify; /* Verify data correctness */ - vfdtype vfd; /* File driver */ - size_t page_buffer_size; - size_t page_size; + long io_types; /* bitmask of which I/O types to test */ + const char *output_file; /* file to print report to */ + long num_dsets; /* number of datasets */ + long num_files; /* number of files */ + off_t num_bpp; /* number of bytes per proc per dset */ + int num_iters; /* number of iterations */ + hsize_t dset_size[MAX_DIMS]; /* Dataset size */ + size_t buf_size[MAX_DIMS]; /* Buffer size */ + size_t chk_size[MAX_DIMS]; /* Chunk size */ + int order[MAX_DIMS]; /* Dimension access order */ + int dset_rank; /* Rank */ + int buf_rank; /* Rank */ + int order_rank; /* Rank */ + int chk_rank; /* Rank */ + int print_times; /* print times as well as throughputs */ + int print_raw; /* print raw data throughput info */ + hsize_t h5_alignment; /* alignment in HDF5 file */ + hsize_t h5_threshold; /* threshold for alignment in HDF5 file */ + int h5_use_chunks; /* Make HDF5 dataset chunked */ + int h5_write_only; /* Perform the write tests only */ + int h5_extendable; /* Perform the write tests only */ + int verify; /* Verify data correctness */ + vfdtype vfd; /* File driver */ + size_t page_buffer_size; + size_t page_size; }; typedef struct _minmax { double min; double max; double sum; - int num; + int num; } minmax; /* local functions */ -static hsize_t parse_size_directive(const char *size); +static hsize_t parse_size_directive(const char *size); static struct options *parse_command_line(int argc, const char *argv[]); -static void run_test_loop(struct options *options); -static int run_test(iotype iot, parameters parms, struct options *opts); -static void output_all_info(minmax *mm, int count, int indent_level); -static void get_minmax(minmax *mm, double val); -static void accumulate_minmax_stuff(const minmax *mm, int count, minmax *total_mm); -static void output_results(const struct options *options, const char *name, - minmax *table, int table_size, off_t data_size); +static void run_test_loop(struct options *options); +static int run_test(iotype iot, parameters parms, struct options *opts); +static void output_all_info(minmax *mm, int count, int indent_level); +static void get_minmax(minmax *mm, double val); +static void accumulate_minmax_stuff(const minmax *mm, int count, minmax *total_mm); +static void output_results(const struct options *options, const char *name, minmax *table, int table_size, + off_t data_size); static void output_report(const char *fmt, ...); static void print_indent(register int indent); static void usage(const char *prog); @@ -326,8 +324,8 @@ static void report_parameters(struct options *opts); int main(int argc, const char *argv[]) { - int exit_value = EXIT_SUCCESS; - struct options *opts = NULL; + int exit_value = EXIT_SUCCESS; + struct options *opts = NULL; #ifndef STANDALONE /* Initialize h5tools lib */ @@ -389,35 +387,35 @@ run_test_loop(struct options *opts) size_t buf_bytes; /* load options into parameter structure */ - parms.num_files = opts->num_files; - parms.num_dsets = opts->num_dsets; - parms.num_iters = opts->num_iters; - parms.rank = opts->dset_rank; - parms.h5_align = opts->h5_alignment; - parms.h5_thresh = opts->h5_threshold; - parms.h5_use_chunks = opts->h5_use_chunks; - parms.h5_extendable = opts->h5_extendable; - parms.h5_write_only = opts->h5_write_only; - parms.verify = opts->verify; - parms.vfd = opts->vfd; + parms.num_files = opts->num_files; + parms.num_dsets = opts->num_dsets; + parms.num_iters = opts->num_iters; + parms.rank = opts->dset_rank; + parms.h5_align = opts->h5_alignment; + parms.h5_thresh = opts->h5_threshold; + parms.h5_use_chunks = opts->h5_use_chunks; + parms.h5_extendable = opts->h5_extendable; + parms.h5_write_only = opts->h5_write_only; + parms.verify = opts->verify; + parms.vfd = opts->vfd; parms.page_buffer_size = opts->page_buffer_size; - parms.page_size = opts->page_size; + parms.page_size = opts->page_size; /* load multidimensional options */ parms.num_bytes = 1; - buf_bytes = 1; - for (i=0; i<parms.rank; i++){ - parms.buf_size[i] = opts->buf_size[i]; + buf_bytes = 1; + for (i = 0; i < parms.rank; i++) { + parms.buf_size[i] = opts->buf_size[i]; parms.dset_size[i] = opts->dset_size[i]; - parms.chk_size[i] = opts->chk_size[i]; - parms.order[i] = opts->order[i]; + parms.chk_size[i] = opts->chk_size[i]; + parms.order[i] = opts->order[i]; parms.num_bytes *= opts->dset_size[i]; buf_bytes *= opts->buf_size[i]; } /* print size information */ output_report("Transfer Buffer Size (bytes): %d\n", buf_bytes); - output_report("File Size(MB): %.2f\n",((double)parms.num_bytes) / ONE_MB); + output_report("File Size(MB): %.2f\n", ((double)parms.num_bytes) / ONE_MB); print_indent(0); if (opts->io_types & SIO_POSIX) @@ -438,27 +436,27 @@ run_test_loop(struct options *opts) static int run_test(iotype iot, parameters parms, struct options *opts) { - results res; - register int i, ret_value = SUCCESS; - off_t raw_size; - minmax *write_sys_mm_table=NULL; - minmax *write_mm_table=NULL; - minmax *write_gross_mm_table=NULL; - minmax *write_raw_mm_table=NULL; - minmax *read_sys_mm_table=NULL; - minmax *read_mm_table=NULL; - minmax *read_gross_mm_table=NULL; - minmax *read_raw_mm_table=NULL; - minmax write_sys_mm = {0.0F, 0.0F, 0.0F, 0}; - minmax write_mm = {0.0F, 0.0F, 0.0F, 0}; - minmax write_gross_mm = {0.0F, 0.0F, 0.0F, 0}; - minmax write_raw_mm = {0.0F, 0.0F, 0.0F, 0}; - minmax read_sys_mm = {0.0F, 0.0F, 0.0F, 0}; - minmax read_mm = {0.0F, 0.0F, 0.0F, 0}; - minmax read_gross_mm = {0.0F, 0.0F, 0.0F, 0}; - minmax read_raw_mm = {0.0F, 0.0F, 0.0F, 0}; - - raw_size = (off_t)parms.num_bytes; + results res; + register int i, ret_value = SUCCESS; + off_t raw_size; + minmax * write_sys_mm_table = NULL; + minmax * write_mm_table = NULL; + minmax * write_gross_mm_table = NULL; + minmax * write_raw_mm_table = NULL; + minmax * read_sys_mm_table = NULL; + minmax * read_mm_table = NULL; + minmax * read_gross_mm_table = NULL; + minmax * read_raw_mm_table = NULL; + minmax write_sys_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax write_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax write_gross_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax write_raw_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax read_sys_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax read_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax read_gross_mm = {0.0F, 0.0F, 0.0F, 0}; + minmax read_raw_mm = {0.0F, 0.0F, 0.0F, 0}; + + raw_size = (off_t)parms.num_bytes; parms.io_type = iot; print_indent(2); output_report("IO API = "); @@ -479,16 +477,16 @@ run_test(iotype iot, parameters parms, struct options *opts) /* allocate space for tables minmax and that it is sufficient */ /* to initialize all elements to zeros by calloc. */ - write_sys_mm_table = (minmax *)calloc((size_t)parms.num_iters , sizeof(minmax)); - write_mm_table = (minmax *)calloc((size_t)parms.num_iters , sizeof(minmax)); - write_gross_mm_table = (minmax *)calloc((size_t)parms.num_iters , sizeof(minmax)); - write_raw_mm_table = (minmax *)calloc((size_t)parms.num_iters , sizeof(minmax)); + write_sys_mm_table = (minmax *)calloc((size_t)parms.num_iters, sizeof(minmax)); + write_mm_table = (minmax *)calloc((size_t)parms.num_iters, sizeof(minmax)); + write_gross_mm_table = (minmax *)calloc((size_t)parms.num_iters, sizeof(minmax)); + write_raw_mm_table = (minmax *)calloc((size_t)parms.num_iters, sizeof(minmax)); if (!parms.h5_write_only) { - read_sys_mm_table = (minmax *)calloc((size_t)parms.num_iters , sizeof(minmax)); - read_mm_table = (minmax *)calloc((size_t)parms.num_iters , sizeof(minmax)); - read_gross_mm_table = (minmax *)calloc((size_t)parms.num_iters , sizeof(minmax)); - read_raw_mm_table = (minmax *)calloc((size_t)parms.num_iters , sizeof(minmax)); + read_sys_mm_table = (minmax *)calloc((size_t)parms.num_iters, sizeof(minmax)); + read_mm_table = (minmax *)calloc((size_t)parms.num_iters, sizeof(minmax)); + read_gross_mm_table = (minmax *)calloc((size_t)parms.num_iters, sizeof(minmax)); + read_raw_mm_table = (minmax *)calloc((size_t)parms.num_iters, sizeof(minmax)); } /* Do IO iteration times, collecting statistics each time */ @@ -563,7 +561,7 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(write_raw_mm_table, parms.num_iters, 4); } - output_results(opts,"Raw Data Write",write_raw_mm_table,parms.num_iters,raw_size); + output_results(opts, "Raw Data Write", write_raw_mm_table, parms.num_iters, raw_size); } /* end if */ /* show sys write statics */ @@ -585,7 +583,7 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(write_mm_table, parms.num_iters, 4); } - output_results(opts,"Write",write_mm_table,parms.num_iters,raw_size); + output_results(opts, "Write", write_mm_table, parms.num_iters, raw_size); /* accumulate and output the max, min, and average "gross write" times */ if (sio_debug_level >= 3) { @@ -595,7 +593,7 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(write_gross_mm_table, parms.num_iters, 4); } - output_results(opts,"Write Open-Close",write_gross_mm_table,parms.num_iters,raw_size); + output_results(opts, "Write Open-Close", write_gross_mm_table, parms.num_iters, raw_size); if (!parms.h5_write_only) { /* Read statistics */ @@ -609,8 +607,7 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(read_raw_mm_table, parms.num_iters, 4); } - output_results(opts, "Raw Data Read", read_raw_mm_table, - parms.num_iters, raw_size); + output_results(opts, "Raw Data Read", read_raw_mm_table, parms.num_iters, raw_size); } /* end if */ /* show mpi read statics */ @@ -642,8 +639,7 @@ run_test(iotype iot, parameters parms, struct options *opts) output_all_info(read_gross_mm_table, parms.num_iters, 4); } - output_results(opts, "Read Open-Close", read_gross_mm_table, - parms.num_iters, raw_size); + output_results(opts, "Read Open-Close", read_gross_mm_table, parms.num_iters, raw_size); } /* clean up our mess */ @@ -733,7 +729,6 @@ accumulate_minmax_stuff(const minmax *mm, int count, minmax *total_mm) } } - /* * Function: output_results * Purpose: Print information about the time & bandwidth for a given @@ -743,36 +738,34 @@ accumulate_minmax_stuff(const minmax *mm, int count, minmax *total_mm) * Modifications: */ static void -output_results(const struct options *opts, const char *name, minmax *table, - int table_size,off_t data_size) +output_results(const struct options *opts, const char *name, minmax *table, int table_size, off_t data_size) { - minmax total_mm; + minmax total_mm; accumulate_minmax_stuff(table, table_size, &total_mm); print_indent(3); - output_report("%s (%d iteration(s)):\n", name,table_size); + output_report("%s (%d iteration(s)):\n", name, table_size); /* Note: The maximum throughput uses the minimum amount of time & vice versa */ print_indent(4); - output_report("Maximum Throughput: %6.2f MB/s", MB_PER_SEC(data_size,total_mm.min)); - if(opts->print_times) + output_report("Maximum Throughput: %6.2f MB/s", MB_PER_SEC(data_size, total_mm.min)); + if (opts->print_times) output_report(" (%7.3f s)\n", total_mm.min); else output_report("\n"); print_indent(4); - output_report("Average Throughput: %6.2f MB/s", - MB_PER_SEC(data_size,total_mm.sum / total_mm.num)); - if(opts->print_times) + output_report("Average Throughput: %6.2f MB/s", MB_PER_SEC(data_size, total_mm.sum / total_mm.num)); + if (opts->print_times) output_report(" (%7.3f s)\n", (total_mm.sum / total_mm.num)); else output_report("\n"); print_indent(4); - output_report("Minimum Throughput: %6.2f MB/s", MB_PER_SEC(data_size,total_mm.max)); - if(opts->print_times) + output_report("Minimum Throughput: %6.2f MB/s", MB_PER_SEC(data_size, total_mm.max)); + if (opts->print_times) output_report(" (%7.3f s)\n", total_mm.max); else output_report("\n"); @@ -788,11 +781,11 @@ output_results(const struct options *opts, const char *name, minmax *table, static void output_report(const char *fmt, ...) { - va_list ap; + va_list ap; - HDva_start(ap, fmt); - HDvfprintf(output, fmt, ap); - HDva_end(ap); + HDva_start(ap, fmt); + HDvfprintf(output, fmt, ap); + HDva_end(ap); } /* @@ -818,14 +811,28 @@ recover_size_and_print(long long val, const char *end) if (val >= ONE_KB && (val % ONE_KB) == 0) { if (val >= ONE_MB && (val % ONE_MB) == 0) { if (val >= ONE_GB && (val % ONE_GB) == 0) - HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""GB%s", val / ONE_GB, end); + HDfprintf(output, + "%" H5_PRINTF_LL_WIDTH "d" + "GB%s", + val / ONE_GB, end); else - HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""MB%s", val / ONE_MB, end); - } else { - HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""KB%s", val / ONE_KB, end); + HDfprintf(output, + "%" H5_PRINTF_LL_WIDTH "d" + "MB%s", + val / ONE_MB, end); + } + else { + HDfprintf(output, + "%" H5_PRINTF_LL_WIDTH "d" + "KB%s", + val / ONE_KB, end); } - } else { - HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""%s", val, end); + } + else { + HDfprintf(output, + "%" H5_PRINTF_LL_WIDTH "d" + "%s", + val, end); } } @@ -833,9 +840,9 @@ static void print_io_api(long io_types) { if (io_types & SIO_POSIX) - HDfprintf(output, "posix "); + HDfprintf(output, "posix "); if (io_types & SIO_HDF5) - HDfprintf(output, "hdf5 "); + HDfprintf(output, "hdf5 "); HDfprintf(output, "\n"); } @@ -845,30 +852,28 @@ report_parameters(struct options *opts) int i, rank; rank = opts->dset_rank; - print_version("HDF5 Library"); /* print library version */ + print_version("HDF5 Library"); /* print library version */ HDfprintf(output, "==== Parameters ====\n"); HDfprintf(output, "IO API="); print_io_api(opts->io_types); - HDfprintf(output, "Number of iterations=%d\n", - opts->num_iters); + HDfprintf(output, "Number of iterations=%d\n", opts->num_iters); HDfprintf(output, "Dataset size="); - for (i=0; i<rank; i++) + for (i = 0; i < rank; i++) recover_size_and_print((long long)opts->dset_size[i], " "); HDfprintf(output, "\n"); - HDfprintf(output, "Transfer buffer size="); - for (i=0; i<rank; i++) + for (i = 0; i < rank; i++) recover_size_and_print((long long)opts->buf_size[i], " "); HDfprintf(output, "\n"); - if(opts->page_size) { + if (opts->page_size) { HDfprintf(output, "Page Aggregation Enabled. Page size = %zu\n", opts->page_size); - if(opts->page_buffer_size) + if (opts->page_buffer_size) HDfprintf(output, "Page Buffering Enabled. Page Buffer size = %zu\n", opts->page_buffer_size); else HDfprintf(output, "Page Buffering Disabled\n"); @@ -877,7 +882,7 @@ report_parameters(struct options *opts) HDfprintf(output, "Page Aggregation Disabled\n"); HDfprintf(output, "Dimension access order="); - for (i=0; i<rank; i++) + for (i = 0; i < rank; i++) recover_size_and_print((long long)opts->order[i], " "); HDfprintf(output, "\n"); @@ -885,11 +890,11 @@ report_parameters(struct options *opts) HDfprintf(output, "HDF5 data storage method="); - if (opts->h5_use_chunks){ + if (opts->h5_use_chunks) { HDfprintf(output, "Chunked\n"); HDfprintf(output, "HDF5 chunk size="); - for (i=0; i<rank; i++) + for (i = 0; i < rank; i++) recover_size_and_print((long long)opts->chk_size[i], " "); HDfprintf(output, "\n"); @@ -906,19 +911,25 @@ report_parameters(struct options *opts) } HDfprintf(output, "HDF5 file driver="); - if (opts->vfd==sec2) { + if (opts->vfd == sec2) { HDfprintf(output, "sec2\n"); - } else if (opts->vfd==stdio) { + } + else if (opts->vfd == stdio) { HDfprintf(output, "stdio\n"); - } else if (opts->vfd==core) { + } + else if (opts->vfd == core) { HDfprintf(output, "core\n"); - } else if (opts->vfd==split) { + } + else if (opts->vfd == split) { HDfprintf(output, "split\n"); - } else if (opts->vfd==multi) { + } + else if (opts->vfd == multi) { HDfprintf(output, "multi\n"); - } else if (opts->vfd==family) { + } + else if (opts->vfd == family) { HDfprintf(output, "family\n"); - } else if (opts->vfd==direct) { + } + else if (opts->vfd == direct) { HDfprintf(output, "direct\n"); } } @@ -926,8 +937,7 @@ report_parameters(struct options *opts) { char *prefix = HDgetenv("HDF5_PREFIX"); - HDfprintf(output, "Env HDF5_PREFIX=%s\n", - (prefix ? prefix : "not set")); + HDfprintf(output, "Env HDF5_PREFIX=%s\n", (prefix ? prefix : "not set")); } HDfprintf(output, "==== End of Parameters ====\n"); @@ -946,57 +956,56 @@ report_parameters(struct options *opts) static struct options * parse_command_line(int argc, const char *argv[]) { - int opt; + int opt; struct options *cl_opts; - int i, default_rank, actual_rank, ranks[4]; + int i, default_rank, actual_rank, ranks[4]; cl_opts = (struct options *)HDmalloc(sizeof(struct options)); cl_opts->page_buffer_size = 0; - cl_opts->page_size = 0; + cl_opts->page_size = 0; cl_opts->output_file = NULL; - cl_opts->io_types = 0; /* will set default after parsing options */ - cl_opts->num_iters = 1; + cl_opts->io_types = 0; /* will set default after parsing options */ + cl_opts->num_iters = 1; default_rank = 2; - cl_opts->dset_rank = 0; - cl_opts->buf_rank = 0; - cl_opts->chk_rank = 0; + cl_opts->dset_rank = 0; + cl_opts->buf_rank = 0; + cl_opts->chk_rank = 0; cl_opts->order_rank = 0; - for(i = 0; i < MAX_DIMS; i++) { - cl_opts->buf_size[i] = (size_t)((i + 1) * 10); + for (i = 0; i < MAX_DIMS; i++) { + cl_opts->buf_size[i] = (size_t)((i + 1) * 10); cl_opts->dset_size[i] = (hsize_t)((i + 1) * 100); - cl_opts->chk_size[i] = (size_t)((i + 1) * 10); - cl_opts->order[i] = i + 1; + cl_opts->chk_size[i] = (size_t)((i + 1) * 10); + cl_opts->order[i] = i + 1; } cl_opts->vfd = sec2; - cl_opts->print_times = FALSE; /* Printing times is off by default */ - cl_opts->print_raw = FALSE; /* Printing raw data throughput is off by default */ - cl_opts->h5_alignment = 1; /* No alignment for HDF5 objects by default */ - cl_opts->h5_threshold = 1; /* No threshold for aligning HDF5 objects by default */ + cl_opts->print_times = FALSE; /* Printing times is off by default */ + cl_opts->print_raw = FALSE; /* Printing raw data throughput is off by default */ + cl_opts->h5_alignment = 1; /* No alignment for HDF5 objects by default */ + cl_opts->h5_threshold = 1; /* No threshold for aligning HDF5 objects by default */ cl_opts->h5_use_chunks = FALSE; /* Don't chunk the HDF5 dataset by default */ cl_opts->h5_write_only = FALSE; /* Do both read and write by default */ cl_opts->h5_extendable = FALSE; /* Use extendable dataset */ - cl_opts->verify = FALSE; /* No Verify data correctness by default */ + cl_opts->verify = FALSE; /* No Verify data correctness by default */ while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) { switch ((char)opt) { - case 'a': - cl_opts->h5_alignment = parse_size_directive(opt_arg); - break; - case 'G': - cl_opts->page_size = parse_size_directive(opt_arg); - break; - case 'b': - cl_opts->page_buffer_size = parse_size_directive(opt_arg); - break; - case 'A': - { + case 'a': + cl_opts->h5_alignment = parse_size_directive(opt_arg); + break; + case 'G': + cl_opts->page_size = parse_size_directive(opt_arg); + break; + case 'b': + cl_opts->page_buffer_size = parse_size_directive(opt_arg); + break; + case 'A': { const char *end = opt_arg; while (end && *end != '\0') { char buf[10]; @@ -1009,11 +1018,12 @@ parse_command_line(int argc, const char *argv[]) if (!HDstrcasecmp(buf, "hdf5")) { cl_opts->io_types |= SIO_HDF5; - } else if (!HDstrcasecmp(buf, "posix")) { + } + else if (!HDstrcasecmp(buf, "posix")) { cl_opts->io_types |= SIO_POSIX; - } else { - HDfprintf(stderr, "sio_perf: invalid --api option %s\n", - buf); + } + else { + HDfprintf(stderr, "sio_perf: invalid --api option %s\n", buf); HDexit(EXIT_FAILURE); } @@ -1029,40 +1039,38 @@ parse_command_line(int argc, const char *argv[]) case 'b': /* the future "binary" option */ break; -#endif /* 0 */ - case 'c': - /* Turn on chunked HDF5 dataset creation */ - cl_opts->h5_use_chunks = 1; - { - const char *end = opt_arg; - int j = 0; +#endif /* 0 */ + case 'c': + /* Turn on chunked HDF5 dataset creation */ + cl_opts->h5_use_chunks = 1; + { + const char *end = opt_arg; + int j = 0; - while (end && *end != '\0') { - char buf[10]; + while (end && *end != '\0') { + char buf[10]; - HDmemset(buf, '\0', sizeof(buf)); + HDmemset(buf, '\0', sizeof(buf)); - for (i = 0; *end != '\0' && *end != ','; ++end) - if (HDisalnum(*end) && i < 10) - buf[i++] = *end; + for (i = 0; *end != '\0' && *end != ','; ++end) + if (HDisalnum(*end) && i < 10) + buf[i++] = *end; - cl_opts->chk_size[j] = parse_size_directive(buf); + cl_opts->chk_size[j] = parse_size_directive(buf); - j++; + j++; - if (*end == '\0') - break; + if (*end == '\0') + break; - end++; + end++; + } + cl_opts->chk_rank = j; } - cl_opts->chk_rank = j; - } - - break; + break; - case 'D': - { + case 'D': { const char *end = opt_arg; while (end && *end != '\0') { @@ -1079,8 +1087,7 @@ parse_command_line(int argc, const char *argv[]) for (j = 0; j < 10 && buf[j] != '\0'; ++j) if (!HDisdigit(buf[j])) { - HDfprintf(stderr, "sio_perf: invalid --debug option %s\n", - buf); + HDfprintf(stderr, "sio_perf: invalid --debug option %s\n", buf); HDexit(EXIT_FAILURE); } @@ -1090,23 +1097,24 @@ parse_command_line(int argc, const char *argv[]) sio_debug_level = 4; else if (sio_debug_level < 0) sio_debug_level = 0; - } else { + } + else { switch (*buf) { - case 'r': - /* Turn on raw data throughput info */ - cl_opts->print_raw = TRUE; - break; - case 't': - /* Turn on time printing */ - cl_opts->print_times = TRUE; - break; - case 'v': - /* Turn on verify data correctness*/ - cl_opts->verify = TRUE; - break; - default: - HDfprintf(stderr, "sio_perf: invalid --debug option %s\n", buf); - HDexit(EXIT_FAILURE); + case 'r': + /* Turn on raw data throughput info */ + cl_opts->print_raw = TRUE; + break; + case 't': + /* Turn on time printing */ + cl_opts->print_times = TRUE; + break; + case 'v': + /* Turn on verify data correctness*/ + cl_opts->verify = TRUE; + break; + default: + HDfprintf(stderr, "sio_perf: invalid --debug option %s\n", buf); + HDexit(EXIT_FAILURE); } } @@ -1118,10 +1126,9 @@ parse_command_line(int argc, const char *argv[]) } break; - case 'e': - { + case 'e': { const char *end = opt_arg; - int j = 0; + int j = 0; while (end && *end != '\0') { char buf[10]; @@ -1146,46 +1153,51 @@ parse_command_line(int argc, const char *argv[]) break; - case 'i': - cl_opts->num_iters = HDatoi(opt_arg); - break; - case 'o': - cl_opts->output_file = opt_arg; - break; - case 'T': - cl_opts->h5_threshold = parse_size_directive(opt_arg); - break; - case 'v': - if (!HDstrcasecmp(opt_arg, "sec2")) { - cl_opts->vfd=sec2; - } else if (!HDstrcasecmp(opt_arg, "stdio")) { - cl_opts->vfd=stdio; - } else if (!HDstrcasecmp(opt_arg, "core")) { - cl_opts->vfd=core; - } else if (!HDstrcasecmp(opt_arg, "split")) { - cl_opts->vfd=split; - } else if (!HDstrcasecmp(opt_arg, "multi")) { - cl_opts->vfd=multi; - } else if (!HDstrcasecmp(opt_arg, "family")) { - cl_opts->vfd=family; - } else if (!HDstrcasecmp(opt_arg, "direct")) { - cl_opts->vfd=direct; - } else { - HDfprintf(stderr, "sio_perf: invalid --api option %s\n", - opt_arg); - HDexit(EXIT_FAILURE); - } - break; - case 'w': - cl_opts->h5_write_only = TRUE; - break; - case 't': - cl_opts->h5_extendable = TRUE; - break; - case 'x': - { + case 'i': + cl_opts->num_iters = HDatoi(opt_arg); + break; + case 'o': + cl_opts->output_file = opt_arg; + break; + case 'T': + cl_opts->h5_threshold = parse_size_directive(opt_arg); + break; + case 'v': + if (!HDstrcasecmp(opt_arg, "sec2")) { + cl_opts->vfd = sec2; + } + else if (!HDstrcasecmp(opt_arg, "stdio")) { + cl_opts->vfd = stdio; + } + else if (!HDstrcasecmp(opt_arg, "core")) { + cl_opts->vfd = core; + } + else if (!HDstrcasecmp(opt_arg, "split")) { + cl_opts->vfd = split; + } + else if (!HDstrcasecmp(opt_arg, "multi")) { + cl_opts->vfd = multi; + } + else if (!HDstrcasecmp(opt_arg, "family")) { + cl_opts->vfd = family; + } + else if (!HDstrcasecmp(opt_arg, "direct")) { + cl_opts->vfd = direct; + } + else { + HDfprintf(stderr, "sio_perf: invalid --api option %s\n", opt_arg); + HDexit(EXIT_FAILURE); + } + break; + case 'w': + cl_opts->h5_write_only = TRUE; + break; + case 't': + cl_opts->h5_extendable = TRUE; + break; + case 'x': { const char *end = opt_arg; - int j = 0; + int j = 0; while (end && *end != '\0') { char buf[10]; @@ -1210,10 +1222,9 @@ parse_command_line(int argc, const char *argv[]) break; - case 'r': - { + case 'r': { const char *end = opt_arg; - int j = 0; + int j = 0; while (end && *end != '\0') { char buf[10]; @@ -1239,12 +1250,12 @@ parse_command_line(int argc, const char *argv[]) break; - case 'h': - case '?': - default: - usage(progname); - HDfree(cl_opts); - return NULL; + case 'h': + case '?': + default: + usage(progname); + HDfree(cl_opts); + return NULL; } } @@ -1256,8 +1267,8 @@ parse_command_line(int argc, const char *argv[]) ranks[2] = cl_opts->order_rank; ranks[3] = cl_opts->chk_rank; - for (i=0; i<4; i++) { - if (ranks[i]>0) { + for (i = 0; i < 4; i++) { + if (ranks[i] > 0) { if (!actual_rank) { actual_rank = ranks[i]; } @@ -1271,12 +1282,12 @@ parse_command_line(int argc, const char *argv[]) if (!actual_rank) actual_rank = default_rank; - cl_opts->dset_rank = actual_rank; - cl_opts->buf_rank = actual_rank; + cl_opts->dset_rank = actual_rank; + cl_opts->buf_rank = actual_rank; cl_opts->order_rank = actual_rank; - cl_opts->chk_rank = actual_rank; + cl_opts->chk_rank = actual_rank; - for (i=0; i<actual_rank; i++) { + for (i = 0; i < actual_rank; i++) { if (cl_opts->order[i] > actual_rank) { exit(EXIT_FAILURE); } @@ -1314,7 +1325,7 @@ static hsize_t parse_size_directive(const char *size) { hsize_t s; - char *endptr; + char * endptr; s = HDstrtoull(size, &endptr, 10); @@ -1358,71 +1369,70 @@ static void usage(const char *prog) { print_version(prog); - HDprintf("usage: %s [OPTIONS]\n", prog); - HDprintf(" OPTIONS\n"); - HDprintf(" -h Print an usage message and exit\n"); - HDprintf(" -A AL Which APIs to test\n"); - HDprintf(" [default: all of them]\n"); - HDprintf(" -c SL Selects chunked storage and defines chunks dimensions\n"); - HDprintf(" and sizes\n"); - HDprintf(" [default: Off]\n"); - HDprintf(" -e SL Dimensions and sizes of dataset\n"); - HDprintf(" [default: 100,200]\n"); - HDprintf(" -i N Number of iterations to perform\n"); - HDprintf(" [default: 1]\n"); - HDprintf(" -r NL Dimension access order (see below for description)\n"); - HDprintf(" [default: 1,2]\n"); - HDprintf(" -t Selects extendable dimensions for HDF5 dataset\n"); - HDprintf(" [default: Off]\n"); - HDprintf(" -v VFD Selects file driver for HDF5 access\n"); - HDprintf(" [default: sec2]\n"); - HDprintf(" -w Perform write tests, not the read tests\n"); - HDprintf(" [default: Off]\n"); - HDprintf(" -x SL Dimensions and sizes of the transfer buffer\n"); - HDprintf(" [default: 10,20]\n"); - HDprintf("\n"); - HDprintf(" N - is an integer > 0.\n"); - HDprintf("\n"); - HDprintf(" S - is a size specifier, an integer > 0 followed by a size indicator:\n"); - HDprintf(" K - Kilobyte (%d)\n", ONE_KB); - HDprintf(" M - Megabyte (%d)\n", ONE_MB); - HDprintf(" G - Gigabyte (%d)\n", ONE_GB); - HDprintf("\n"); - HDprintf(" Example: '37M' is 37 megabytes or %d bytes\n", 37*ONE_MB); - HDprintf("\n"); - HDprintf(" AL - is an API list. Valid values are:\n"); - HDprintf(" hdf5 - HDF5\n"); - HDprintf(" posix - POSIX\n"); - HDprintf("\n"); - HDprintf(" Example: -A posix,hdf5\n"); - HDprintf("\n"); - HDprintf(" NL - is list of integers (N) separated by commas.\n"); - HDprintf("\n"); - HDprintf(" Example: 1,2,3\n"); - HDprintf("\n"); - HDprintf(" SL - is list of size specifiers (S) separated by commas.\n"); - HDprintf("\n"); - HDprintf(" Example: 2K,2K,3K\n"); - HDprintf("\n"); - HDprintf(" The example defines an object (dataset, tranfer buffer) with three\n"); - HDprintf(" dimensions. Be aware that as the number of dimensions increases, the\n"); - HDprintf(" the total size of the object increases exponentially.\n"); - HDprintf("\n"); - HDprintf(" VFD - is an HDF5 file driver specifier. Valid values are:\n"); - HDprintf(" sec2, stdio, core, split, multi, family, direct\n"); - HDprintf("\n"); - HDprintf(" Dimension access order:\n"); - HDprintf(" Data access starts at the cardinal origin of the dataset using the\n"); - HDprintf(" transfer buffer. The next access occurs on a dataset region next to\n"); - HDprintf(" the previous one. For a multidimensional dataset, there are several\n"); - HDprintf(" directions as to where to proceed. This can be specified in the dimension\n"); - HDprintf(" access order. For example, -r 1,2 states that the tool should traverse\n"); - HDprintf(" dimension 1 first, and then dimension 2.\n"); - HDprintf("\n"); - HDprintf(" Environment variables:\n"); - HDprintf(" HDF5_NOCLEANUP Do not remove data files if set [default remove]\n"); - HDprintf(" HDF5_PREFIX Data file prefix\n"); - HDprintf("\n"); - HDfflush(stdout); + HDprintf("usage: %s [OPTIONS]\n", prog); + HDprintf(" OPTIONS\n"); + HDprintf(" -h Print an usage message and exit\n"); + HDprintf(" -A AL Which APIs to test\n"); + HDprintf(" [default: all of them]\n"); + HDprintf(" -c SL Selects chunked storage and defines chunks dimensions\n"); + HDprintf(" and sizes\n"); + HDprintf(" [default: Off]\n"); + HDprintf(" -e SL Dimensions and sizes of dataset\n"); + HDprintf(" [default: 100,200]\n"); + HDprintf(" -i N Number of iterations to perform\n"); + HDprintf(" [default: 1]\n"); + HDprintf(" -r NL Dimension access order (see below for description)\n"); + HDprintf(" [default: 1,2]\n"); + HDprintf(" -t Selects extendable dimensions for HDF5 dataset\n"); + HDprintf(" [default: Off]\n"); + HDprintf(" -v VFD Selects file driver for HDF5 access\n"); + HDprintf(" [default: sec2]\n"); + HDprintf(" -w Perform write tests, not the read tests\n"); + HDprintf(" [default: Off]\n"); + HDprintf(" -x SL Dimensions and sizes of the transfer buffer\n"); + HDprintf(" [default: 10,20]\n"); + HDprintf("\n"); + HDprintf(" N - is an integer > 0.\n"); + HDprintf("\n"); + HDprintf(" S - is a size specifier, an integer > 0 followed by a size indicator:\n"); + HDprintf(" K - Kilobyte (%d)\n", ONE_KB); + HDprintf(" M - Megabyte (%d)\n", ONE_MB); + HDprintf(" G - Gigabyte (%d)\n", ONE_GB); + HDprintf("\n"); + HDprintf(" Example: '37M' is 37 megabytes or %d bytes\n", 37 * ONE_MB); + HDprintf("\n"); + HDprintf(" AL - is an API list. Valid values are:\n"); + HDprintf(" hdf5 - HDF5\n"); + HDprintf(" posix - POSIX\n"); + HDprintf("\n"); + HDprintf(" Example: -A posix,hdf5\n"); + HDprintf("\n"); + HDprintf(" NL - is list of integers (N) separated by commas.\n"); + HDprintf("\n"); + HDprintf(" Example: 1,2,3\n"); + HDprintf("\n"); + HDprintf(" SL - is list of size specifiers (S) separated by commas.\n"); + HDprintf("\n"); + HDprintf(" Example: 2K,2K,3K\n"); + HDprintf("\n"); + HDprintf(" The example defines an object (dataset, tranfer buffer) with three\n"); + HDprintf(" dimensions. Be aware that as the number of dimensions increases, the\n"); + HDprintf(" the total size of the object increases exponentially.\n"); + HDprintf("\n"); + HDprintf(" VFD - is an HDF5 file driver specifier. Valid values are:\n"); + HDprintf(" sec2, stdio, core, split, multi, family, direct\n"); + HDprintf("\n"); + HDprintf(" Dimension access order:\n"); + HDprintf(" Data access starts at the cardinal origin of the dataset using the\n"); + HDprintf(" transfer buffer. The next access occurs on a dataset region next to\n"); + HDprintf(" the previous one. For a multidimensional dataset, there are several\n"); + HDprintf(" directions as to where to proceed. This can be specified in the dimension\n"); + HDprintf(" access order. For example, -r 1,2 states that the tool should traverse\n"); + HDprintf(" dimension 1 first, and then dimension 2.\n"); + HDprintf("\n"); + HDprintf(" Environment variables:\n"); + HDprintf(" HDF5_NOCLEANUP Do not remove data files if set [default remove]\n"); + HDprintf(" HDF5_PREFIX Data file prefix\n"); + HDprintf("\n"); + HDfflush(stdout); } /* end usage() */ - diff --git a/tools/test/perform/sio_perf.h b/tools/test/perform/sio_perf.h index d26c78b..4e11db1 100644 --- a/tools/test/perform/sio_perf.h +++ b/tools/test/perform/sio_perf.h @@ -48,57 +48,57 @@ typedef enum vfdtype_ { } vfdtype; typedef struct parameters_ { - iotype io_type; /* The type of IO test to perform */ - vfdtype vfd; - long num_files; /* Number of files to create */ - long num_dsets; /* Number of datasets to create */ - hsize_t num_bytes; /* Number of bytes in each dset */ - int num_iters; /* Number of times to loop doing the IO */ - int rank; /* Rank of dataset */ - hsize_t dset_size[MAX_DIMS]; /* Dataset size */ - size_t buf_size[MAX_DIMS]; /* Buffer size */ - size_t chk_size[MAX_DIMS]; /* Chunk size */ - int order[MAX_DIMS]; /* Buffer size */ - hsize_t h5_align; /* HDF5 object alignment */ - hsize_t h5_thresh; /* HDF5 object alignment threshold */ - int h5_use_chunks; /* Make HDF5 dataset chunked */ - int h5_extendable; /* Make HDF5 dataset chunked */ - int h5_write_only; /* Perform the write tests only */ - int verify; /* Verify data correctness */ - size_t page_size; - size_t page_buffer_size; + iotype io_type; /* The type of IO test to perform */ + vfdtype vfd; + long num_files; /* Number of files to create */ + long num_dsets; /* Number of datasets to create */ + hsize_t num_bytes; /* Number of bytes in each dset */ + int num_iters; /* Number of times to loop doing the IO */ + int rank; /* Rank of dataset */ + hsize_t dset_size[MAX_DIMS]; /* Dataset size */ + size_t buf_size[MAX_DIMS]; /* Buffer size */ + size_t chk_size[MAX_DIMS]; /* Chunk size */ + int order[MAX_DIMS]; /* Buffer size */ + hsize_t h5_align; /* HDF5 object alignment */ + hsize_t h5_thresh; /* HDF5 object alignment threshold */ + int h5_use_chunks; /* Make HDF5 dataset chunked */ + int h5_extendable; /* Make HDF5 dataset chunked */ + int h5_write_only; /* Perform the write tests only */ + int verify; /* Verify data correctness */ + size_t page_size; + size_t page_buffer_size; } parameters; typedef struct results_ { - herr_t ret_code; - io_time_t *timers; + herr_t ret_code; + io_time_t *timers; } results; #ifndef SUCCESS -#define SUCCESS 0 -#endif /* !SUCCESS */ +#define SUCCESS 0 +#endif /* !SUCCESS */ #ifndef FAIL -#define FAIL -1 -#endif /* !FAIL */ +#define FAIL -1 +#endif /* !FAIL */ -extern FILE *output; /* output file */ -extern io_time_t *timer_g; /* timer: global for stub functions */ -extern int sio_debug_level; /* The debug level: - * 0 - Off - * 1 - Minimal - * 2 - Some more - * 3 - Maximal - * 4 - Even More Debugging (timer stuff) - */ +extern FILE * output; /* output file */ +extern io_time_t *timer_g; /* timer: global for stub functions */ +extern int sio_debug_level; /* The debug level: + * 0 - Off + * 1 - Minimal + * 2 - Some more + * 3 - Maximal + * 4 - Even More Debugging (timer stuff) + */ #ifdef __cplusplus extern "C" { -#endif /* __cplusplus */ +#endif /* __cplusplus */ extern void do_sio(parameters param, results *res); #ifdef __cplusplus } -#endif /* __cplusplus */ +#endif /* __cplusplus */ -#endif /* PIO_PERF_H__ */ +#endif /* PIO_PERF_H__ */ diff --git a/tools/test/perform/sio_standalone.c b/tools/test/perform/sio_standalone.c index ac191e5..2fb5737 100644 --- a/tools/test/perform/sio_standalone.c +++ b/tools/test/perform/sio_standalone.c @@ -10,7 +10,6 @@ * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - /* This file contains the definition of functions required to build h5perf in * STANDALONE mode. * Created: Christian Chilan, 2005/5/18. @@ -18,29 +17,28 @@ #include "sio_perf.h" - /** From h5tools_utils.c **/ /* global variables */ -int nCols = 80; +int nCols = 80; /* ``get_option'' variables */ -int opt_err = 1; /*get_option prints errors if this is on */ -int opt_ind = 1; /*token pointer */ -const char *opt_arg; /*flag argument (or value) */ - +int opt_err = 1; /*get_option prints errors if this is on */ +int opt_ind = 1; /*token pointer */ +const char *opt_arg; /*flag argument (or value) */ int get_option(int argc, const char **argv, const char *opts, const struct long_options *l_opts) { - static int sp = 1; /* character index in current token */ - int opt_opt = '?'; /* option character passed back to user */ + static int sp = 1; /* character index in current token */ + int opt_opt = '?'; /* option character passed back to user */ if (sp == 1) { /* check for more flag-like tokens */ if (opt_ind >= argc || argv[opt_ind][0] != '-' || argv[opt_ind][1] == '\0') { return EOF; - } else if (HDstrcmp(argv[opt_ind], "--") == 0) { + } + else if (HDstrcmp(argv[opt_ind], "--") == 0) { opt_ind++; return EOF; } @@ -49,7 +47,7 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti if (sp == 1 && argv[opt_ind][0] == '-' && argv[opt_ind][1] == '-') { /* long command line option */ const char *arg = &argv[opt_ind][2]; - int i; + int i; for (i = 0; l_opts && l_opts[i].name; i++) { size_t len = HDstrlen(l_opts[i].name); @@ -61,22 +59,21 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti if (l_opts[i].has_arg != no_arg) { if (arg[len] == '=') { opt_arg = &arg[len + 1]; - } else if (opt_ind < (argc - 1) && argv[opt_ind + 1][0] != '-') { + } + else if (opt_ind < (argc - 1) && argv[opt_ind + 1][0] != '-') { opt_arg = argv[++opt_ind]; - } else if (l_opts[i].has_arg == require_arg) { + } + else if (l_opts[i].has_arg == require_arg) { if (opt_err) - HDfprintf(stderr, - "%s: option required for \"--%s\" flag\n", - argv[0], arg); + HDfprintf(stderr, "%s: option required for \"--%s\" flag\n", argv[0], arg); opt_opt = '?'; } - } else { + } + else { if (arg[len] == '=') { if (opt_err) - HDfprintf(stderr, - "%s: no option required for \"%s\" flag\n", - argv[0], arg); + HDfprintf(stderr, "%s: no option required for \"%s\" flag\n", argv[0], arg); opt_opt = '?'; } @@ -98,8 +95,9 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti opt_ind++; sp = 1; - } else { - register char *cp; /* pointer into current token */ + } + else { + register char *cp; /* pointer into current token */ /* short command line option */ opt_opt = argv[opt_ind][sp]; @@ -107,8 +105,7 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti if (opt_opt == ':' || (cp = strchr(opts, opt_opt)) == 0) { if (opt_err) - HDfprintf(stderr, "%s: unknown option \"%c\"\n", - argv[0], opt_opt); + HDfprintf(stderr, "%s: unknown option \"%c\"\n", argv[0], opt_opt); /* if no chars left in this token, move to next token */ if (argv[opt_ind][++sp] == '\0') { @@ -124,20 +121,21 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti if (argv[opt_ind][sp + 1] != '\0') { /* flag value is rest of current token */ opt_arg = &argv[opt_ind++][sp + 1]; - } else if (++opt_ind >= argc) { + } + else if (++opt_ind >= argc) { if (opt_err) - HDfprintf(stderr, - "%s: value expected for option \"%c\"\n", - argv[0], opt_opt); + HDfprintf(stderr, "%s: value expected for option \"%c\"\n", argv[0], opt_opt); opt_opt = '?'; - } else { + } + else { /* flag value is next token */ opt_arg = argv[opt_ind++]; } sp = 1; - } else { + } + else { /* set up to look at next char in token, next time */ if (argv[opt_ind][++sp] == '\0') { /* no more in current token, so setup next token */ @@ -153,12 +151,9 @@ get_option(int argc, const char **argv, const char *opts, const struct long_opti return opt_opt; } - void print_version(const char *progname) { - printf("%s: Version %u.%u.%u%s%s\n", - progname, H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, + printf("%s: Version %u.%u.%u%s%s\n", progname, H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, H5_VERS_SUBRELEASE[0] ? "-" : "", H5_VERS_SUBRELEASE); } - diff --git a/tools/test/perform/sio_standalone.h b/tools/test/perform/sio_standalone.h index 74a6245..4001257 100644 --- a/tools/test/perform/sio_standalone.h +++ b/tools/test/perform/sio_standalone.h @@ -19,465 +19,464 @@ /** From H5private.h **/ -#include "H5public.h" /* Include Public Definitions */ - +#include "H5public.h" /* Include Public Definitions */ /* * Include ANSI-C header files. */ #ifdef H5_STDC_HEADERS -# include <assert.h> -# include <ctype.h> -# include <errno.h> -# include <fcntl.h> -# include <float.h> -# include <limits.h> -# include <math.h> -# include <signal.h> -# include <stdarg.h> -# include <stdio.h> -# include <stdlib.h> -# include <string.h> +#include <assert.h> +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <float.h> +#include <limits.h> +#include <math.h> +#include <signal.h> +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> #endif /* maximum of two, three, or four values */ #undef MAX -#define MAX(a,b) (((a)>(b)) ? (a) : (b)) -#define MAX2(a,b) MAX(a,b) -#define MAX3(a,b,c) MAX(a,MAX(b,c)) -#define MAX4(a,b,c,d) MAX(MAX(a,b),MAX(c,d)) +#define MAX(a, b) (((a) > (b)) ? (a) : (b)) +#define MAX2(a, b) MAX(a, b) +#define MAX3(a, b, c) MAX(a, MAX(b, c)) +#define MAX4(a, b, c, d) MAX(MAX(a, b), MAX(c, d)) -#define H5_FLT_ABS_EQUAL(X,Y) (HDfabsf((X)-(Y)) < FLT_EPSILON) -#define H5_DBL_ABS_EQUAL(X,Y) (HDfabs ((X)-(Y)) < DBL_EPSILON) -#define H5_LDBL_ABS_EQUAL(X,Y) (HDfabsl((X)-(Y)) < LDBL_EPSILON) +#define H5_FLT_ABS_EQUAL(X, Y) (HDfabsf((X) - (Y)) < FLT_EPSILON) +#define H5_DBL_ABS_EQUAL(X, Y) (HDfabs((X) - (Y)) < DBL_EPSILON) +#define H5_LDBL_ABS_EQUAL(X, Y) (HDfabsl((X) - (Y)) < LDBL_EPSILON) -#define H5_FLT_REL_EQUAL(X,Y,M) (HDfabsf(((Y)-(X)) / (X)) < (M)) -#define H5_DBL_REL_EQUAL(X,Y,M) (HDfabs (((Y)-(X)) / (X)) < (M)) -#define H5_LDBL_REL_EQUAL(X,Y,M) (HDfabsl(((Y)-(X)) / (X)) < (M)) +#define H5_FLT_REL_EQUAL(X, Y, M) (HDfabsf(((Y) - (X)) / (X)) < (M)) +#define H5_DBL_REL_EQUAL(X, Y, M) (HDfabs(((Y) - (X)) / (X)) < (M)) +#define H5_LDBL_REL_EQUAL(X, Y, M) (HDfabsl(((Y) - (X)) / (X)) < (M)) /* * Redefine all the POSIX functions. We should never see a POSIX * function (or any other non-HDF5 function) in the source! */ -#define HDabort() abort() -#define HDabs(X) abs(X) +#define HDabort() abort() +#define HDabs(X) abs(X) #ifdef H5_HAVE_WIN32_API -#define HDaccess(F,M) _access(F, M) -#define R_OK 4 /* Test for read permission. */ -#define W_OK 2 /* Test for write permission. */ -#define X_OK 1 /* Test for execute permission. */ -#define F_OK 0 /* Test for existence. */ -#else /* H5_HAVE_WIN32_API */ -#define HDaccess(F,M) access(F, M) +#define HDaccess(F, M) _access(F, M) +#define R_OK 4 /* Test for read permission. */ +#define W_OK 2 /* Test for write permission. */ +#define X_OK 1 /* Test for execute permission. */ +#define F_OK 0 /* Test for existence. */ +#else /* H5_HAVE_WIN32_API */ +#define HDaccess(F, M) access(F, M) #ifndef F_OK -#define F_OK 00 +#define F_OK 00 #define W_OK 02 #define R_OK 04 #endif #endif /* H5_HAVE_WIN32_API */ -#define HDacos(X) acos(X) +#define HDacos(X) acos(X) #ifdef H5_HAVE_ALARM -#define HDalarm(N) alarm(N) +#define HDalarm(N) alarm(N) #else /* H5_HAVE_ALARM */ -#define HDalarm(N) (0) +#define HDalarm(N) (0) #endif /* H5_HAVE_ALARM */ -#define HDasctime(T) asctime(T) -#define HDasin(X) asin(X) -#define HDasprintf asprintf /*varargs*/ -#define HDassert(X) assert(X) -#define HDatan(X) atan(X) -#define HDatan2(X,Y) atan2(X,Y) -#define HDatexit(F) atexit(F) -#define HDatof(S) atof(S) -#define HDatoi(S) atoi(S) -#define HDatol(S) atol(S) -#define HDbsearch(K,B,N,Z,F) bsearch(K,B,N,Z,F) -#define HDcalloc(N,Z) calloc(N,Z) -#define HDceil(X) ceil(X) -#define HDcfgetispeed(T) cfgetispeed(T) -#define HDcfgetospeed(T) cfgetospeed(T) -#define HDcfsetispeed(T,S) cfsetispeed(T,S) -#define HDcfsetospeed(T,S) cfsetospeed(T,S) -#define HDchdir(S) chdir(S) -#define HDchmod(S,M) chmod(S,M) -#define HDchown(S,O,G) chown(S,O,G) -#define HDclearerr(F) clearerr(F) -#define HDclock() clock() -#define HDclose(F) close(F) -#define HDclosedir(D) closedir(D) -#define HDcos(X) cos(X) -#define HDcosh(X) cosh(X) -#define HDcreat(S,M) creat(S,M) -#define HDctermid(S) ctermid(S) -#define HDctime(T) ctime(T) -#define HDcuserid(S) cuserid(S) +#define HDasctime(T) asctime(T) +#define HDasin(X) asin(X) +#define HDasprintf asprintf /*varargs*/ +#define HDassert(X) assert(X) +#define HDatan(X) atan(X) +#define HDatan2(X, Y) atan2(X, Y) +#define HDatexit(F) atexit(F) +#define HDatof(S) atof(S) +#define HDatoi(S) atoi(S) +#define HDatol(S) atol(S) +#define HDbsearch(K, B, N, Z, F) bsearch(K, B, N, Z, F) +#define HDcalloc(N, Z) calloc(N, Z) +#define HDceil(X) ceil(X) +#define HDcfgetispeed(T) cfgetispeed(T) +#define HDcfgetospeed(T) cfgetospeed(T) +#define HDcfsetispeed(T, S) cfsetispeed(T, S) +#define HDcfsetospeed(T, S) cfsetospeed(T, S) +#define HDchdir(S) chdir(S) +#define HDchmod(S, M) chmod(S, M) +#define HDchown(S, O, G) chown(S, O, G) +#define HDclearerr(F) clearerr(F) +#define HDclock() clock() +#define HDclose(F) close(F) +#define HDclosedir(D) closedir(D) +#define HDcos(X) cos(X) +#define HDcosh(X) cosh(X) +#define HDcreat(S, M) creat(S, M) +#define HDctermid(S) ctermid(S) +#define HDctime(T) ctime(T) +#define HDcuserid(S) cuserid(S) #ifdef H5_HAVE_DIFFTIME -#define HDdifftime(X,Y) difftime(X,Y) +#define HDdifftime(X, Y) difftime(X, Y) #else -#define HDdifftime(X,Y) ((double)(X)-(double)(Y)) +#define HDdifftime(X, Y) ((double)(X) - (double)(Y)) #endif -#define HDdiv(X,Y) div(X,Y) -#define HDdup(F) dup(F) -#define HDdup2(F,I) dup2(F,I) +#define HDdiv(X, Y) div(X, Y) +#define HDdup(F) dup(F) +#define HDdup2(F, I) dup2(F, I) /* execl() variable arguments */ /* execle() variable arguments */ /* execlp() variable arguments */ -#define HDexecv(S,AV) execv(S,AV) -#define HDexecve(S,AV,E) execve(S,AV,E) -#define HDexecvp(S,AV) execvp(S,AV) -#define HDexit(N) exit(N) -#define HD_exit(N) _exit(N) -#define HDexp(X) exp(X) -#define HDfabs(X) fabs(X) +#define HDexecv(S, AV) execv(S, AV) +#define HDexecve(S, AV, E) execve(S, AV, E) +#define HDexecvp(S, AV) execvp(S, AV) +#define HDexit(N) exit(N) +#define HD_exit(N) _exit(N) +#define HDexp(X) exp(X) +#define HDfabs(X) fabs(X) /* use ABS() because fabsf() fabsl() are not common yet. */ -#define HDfabsf(X) ABS(X) -#define HDfabsl(X) ABS(X) -#define HDfclose(F) fclose(F) +#define HDfabsf(X) ABS(X) +#define HDfabsl(X) ABS(X) +#define HDfclose(F) fclose(F) /* fcntl() variable arguments */ -#define HDfdopen(N,S) fdopen(N,S) -#define HDfeof(F) feof(F) -#define HDferror(F) ferror(F) -#define HDfflush(F) fflush(F) -#define HDfgetc(F) fgetc(F) -#define HDfgetpos(F,P) fgetpos(F,P) -#define HDfgets(S,N,F) fgets(S,N,F) +#define HDfdopen(N, S) fdopen(N, S) +#define HDfeof(F) feof(F) +#define HDferror(F) ferror(F) +#define HDfflush(F) fflush(F) +#define HDfgetc(F) fgetc(F) +#define HDfgetpos(F, P) fgetpos(F, P) +#define HDfgets(S, N, F) fgets(S, N, F) #ifdef H5_HAVE_WIN32_API -#define HDfileno(F) _fileno(F) +#define HDfileno(F) _fileno(F) #else /* H5_HAVE_WIN32_API */ -#define HDfileno(F) fileno(F) +#define HDfileno(F) fileno(F) #endif /* H5_HAVE_WIN32_API */ -#define HDfloor(X) floor(X) -#define HDfmod(X,Y) fmod(X,Y) -#define HDfopen(S,M) fopen(S,M) -#define HDfork() fork() -#define HDfpathconf(F,N) fpathconf(F,N) -#define HDfprintf fprintf -#define HDfputc(C,F) fputc(C,F) -#define HDfputs(S,F) fputs(S,F) -#define HDfread(M,Z,N,F) fread(M,Z,N,F) -#define HDfree(M) free(M) -#define HDfreopen(S,M,F) freopen(S,M,F) -#define HDfrexp(X,N) frexp(X,N) +#define HDfloor(X) floor(X) +#define HDfmod(X, Y) fmod(X, Y) +#define HDfopen(S, M) fopen(S, M) +#define HDfork() fork() +#define HDfpathconf(F, N) fpathconf(F, N) +#define HDfprintf fprintf +#define HDfputc(C, F) fputc(C, F) +#define HDfputs(S, F) fputs(S, F) +#define HDfread(M, Z, N, F) fread(M, Z, N, F) +#define HDfree(M) free(M) +#define HDfreopen(S, M, F) freopen(S, M, F) +#define HDfrexp(X, N) frexp(X, N) /* Check for Cray-specific 'frexpf()' and 'frexpl()' routines */ #ifdef H5_HAVE_FREXPF -#define HDfrexpf(X,N) frexpf(X,N) +#define HDfrexpf(X, N) frexpf(X, N) #else /* H5_HAVE_FREXPF */ -#define HDfrexpf(X,N) frexp(X,N) +#define HDfrexpf(X, N) frexp(X, N) #endif /* H5_HAVE_FREXPF */ #ifdef H5_HAVE_FREXPL -#define HDfrexpl(X,N) frexpl(X,N) +#define HDfrexpl(X, N) frexpl(X, N) #else /* H5_HAVE_FREXPL */ -#define HDfrexpl(X,N) frexp(X,N) +#define HDfrexpl(X, N) frexp(X, N) #endif /* H5_HAVE_FREXPL */ /* fscanf() variable arguments */ #ifdef H5_HAVE_FSEEKO - #define HDfseek(F,O,W) fseeko(F,O,W) +#define HDfseek(F, O, W) fseeko(F, O, W) #else - #define HDfseek(F,O,W) fseek(F,O,W) +#define HDfseek(F, O, W) fseek(F, O, W) #endif -#define HDfsetpos(F,P) fsetpos(F,P) +#define HDfsetpos(F, P) fsetpos(F, P) /* definitions related to the file stat utilities. * Windows have its own function names. * For Unix, if off_t is not 64bit big, try use the pseudo-standard * xxx64 versions if available. */ #ifdef H5_HAVE_WIN32_API - #define HDfstat(F,B) _fstati64(F,B) - #define HDlstat(S,B) _lstati64(S,B) - #define HDstat(S,B) _stati64(S,B) - typedef struct _stati64 h5_stat_t; - typedef __int64 h5_stat_size_t; - #define HDoff_t __int64 -#elif H5_SIZEOF_OFF_T!=8 && H5_SIZEOF_OFF64_T==8 && defined(H5_HAVE_STAT64) - #define HDfstat(F,B) fstat64(F,B) - #define HDlstat(S,B) lstat64(S,B) - #define HDstat(S,B) stat64(S,B) - typedef struct stat64 h5_stat_t; - typedef off64_t h5_stat_size_t; - #define HDoff_t off64_t +#define HDfstat(F, B) _fstati64(F, B) +#define HDlstat(S, B) _lstati64(S, B) +#define HDstat(S, B) _stati64(S, B) +typedef struct _stati64 h5_stat_t; +typedef __int64 h5_stat_size_t; +#define HDoff_t __int64 +#elif H5_SIZEOF_OFF_T != 8 && H5_SIZEOF_OFF64_T == 8 && defined(H5_HAVE_STAT64) +#define HDfstat(F, B) fstat64(F, B) +#define HDlstat(S, B) lstat64(S, B) +#define HDstat(S, B) stat64(S, B) +typedef struct stat64 h5_stat_t; +typedef off64_t h5_stat_size_t; +#define HDoff_t off64_t #else - #define HDfstat(F,B) fstat(F,B) - #define HDlstat(S,B) lstat(S,B) - #define HDstat(S,B) stat(S,B) - typedef struct stat h5_stat_t; - typedef off_t h5_stat_size_t; - #define HDoff_t off_t +#define HDfstat(F, B) fstat(F, B) +#define HDlstat(S, B) lstat(S, B) +#define HDstat(S, B) stat(S, B) +typedef struct stat h5_stat_t; +typedef off_t h5_stat_size_t; +#define HDoff_t off_t #endif -#define HDftell(F) ftell(F) -#define HDftruncate(F,L) ftruncate(F,L) -#define HDfwrite(M,Z,N,F) fwrite(M,Z,N,F) -#define HDgetc(F) getc(F) -#define HDgetchar() getchar() -#define HDgetcwd(S,Z) getcwd(S,Z) -#define HDgetegid() getegid() -#define HDgetenv(S) getenv(S) -#define HDgeteuid() geteuid() -#define HDgetgid() getgid() -#define HDgetgrgid(G) getgrgid(G) -#define HDgetgrnam(S) getgrnam(S) -#define HDgetgroups(Z,G) getgroups(Z,G) +#define HDftell(F) ftell(F) +#define HDftruncate(F, L) ftruncate(F, L) +#define HDfwrite(M, Z, N, F) fwrite(M, Z, N, F) +#define HDgetc(F) getc(F) +#define HDgetchar() getchar() +#define HDgetcwd(S, Z) getcwd(S, Z) +#define HDgetegid() getegid() +#define HDgetenv(S) getenv(S) +#define HDgeteuid() geteuid() +#define HDgetgid() getgid() +#define HDgetgrgid(G) getgrgid(G) +#define HDgetgrnam(S) getgrnam(S) +#define HDgetgroups(Z, G) getgroups(Z, G) #ifdef H5_HAVE_WIN32_API -#define HDgetlogin() Wgetlogin() +#define HDgetlogin() Wgetlogin() #else /* H5_HAVE_WIN32_API */ -#define HDgetlogin() getlogin() +#define HDgetlogin() getlogin() #endif /* H5_HAVE_WIN32_API */ -#define HDgetpgrp() getpgrp() -#define HDgetpid() getpid() -#define HDgetppid() getppid() -#define HDgetpwnam(S) getpwnam(S) -#define HDgetpwuid(U) getpwuid(U) -#define HDgetrusage(X,S) getrusage(X,S) +#define HDgetpgrp() getpgrp() +#define HDgetpid() getpid() +#define HDgetppid() getppid() +#define HDgetpwnam(S) getpwnam(S) +#define HDgetpwuid(U) getpwuid(U) +#define HDgetrusage(X, S) getrusage(X, S) /* Don't define a macro for gets() - it was removed in C11 */ #ifdef H5_HAVE_WIN32_API - H5_DLL int Wgettimeofday(struct timeval *tv, struct timezone *tz); -#define HDgettimeofday(V,Z) Wgettimeofday(V,Z) +H5_DLL int Wgettimeofday(struct timeval *tv, struct timezone *tz); +#define HDgettimeofday(V, Z) Wgettimeofday(V, Z) #else /* H5_HAVE_WIN32_API */ -#define HDgettimeofday(S,P) gettimeofday(S,P) +#define HDgettimeofday(S, P) gettimeofday(S, P) #endif /* H5_HAVE_WIN32_API */ -#define HDgetuid() getuid() -#define HDgmtime(T) gmtime(T) -#define HDisalnum(C) isalnum((int)(C)) /*cast for solaris warning*/ -#define HDisalpha(C) isalpha((int)(C)) /*cast for solaris warning*/ -#define HDisatty(F) isatty(F) -#define HDiscntrl(C) iscntrl((int)(C)) /*cast for solaris warning*/ -#define HDisdigit(C) isdigit((int)(C)) /*cast for solaris warning*/ -#define HDisgraph(C) isgraph((int)(C)) /*cast for solaris warning*/ -#define HDislower(C) islower((int)(C)) /*cast for solaris warning*/ -#define HDisprint(C) isprint((int)(C)) /*cast for solaris warning*/ -#define HDispunct(C) ispunct((int)(C)) /*cast for solaris warning*/ -#define HDisspace(C) isspace((int)(C)) /*cast for solaris warning*/ -#define HDisupper(C) isupper((int)(C)) /*cast for solaris warning*/ -#define HDisxdigit(C) isxdigit((int)(C)) /*cast for solaris warning*/ -#define HDkill(P,S) kill(P,S) -#define HDlabs(X) labs(X) -#define HDldexp(X,N) ldexp(X,N) -#define HDldiv(X,Y) ldiv(X,Y) -#define HDlink(OLD,NEW) link(OLD,NEW) -#define HDlocaleconv() localeconv() -#define HDlocaltime(T) localtime(T) -#define HDlog(X) log(X) -#define HDlog10(X) log10(X) -#define HDlongjmp(J,N) longjmp(J,N) +#define HDgetuid() getuid() +#define HDgmtime(T) gmtime(T) +#define HDisalnum(C) isalnum((int)(C)) /*cast for solaris warning*/ +#define HDisalpha(C) isalpha((int)(C)) /*cast for solaris warning*/ +#define HDisatty(F) isatty(F) +#define HDiscntrl(C) iscntrl((int)(C)) /*cast for solaris warning*/ +#define HDisdigit(C) isdigit((int)(C)) /*cast for solaris warning*/ +#define HDisgraph(C) isgraph((int)(C)) /*cast for solaris warning*/ +#define HDislower(C) islower((int)(C)) /*cast for solaris warning*/ +#define HDisprint(C) isprint((int)(C)) /*cast for solaris warning*/ +#define HDispunct(C) ispunct((int)(C)) /*cast for solaris warning*/ +#define HDisspace(C) isspace((int)(C)) /*cast for solaris warning*/ +#define HDisupper(C) isupper((int)(C)) /*cast for solaris warning*/ +#define HDisxdigit(C) isxdigit((int)(C)) /*cast for solaris warning*/ +#define HDkill(P, S) kill(P, S) +#define HDlabs(X) labs(X) +#define HDldexp(X, N) ldexp(X, N) +#define HDldiv(X, Y) ldiv(X, Y) +#define HDlink(OLD, NEW) link(OLD, NEW) +#define HDlocaleconv() localeconv() +#define HDlocaltime(T) localtime(T) +#define HDlog(X) log(X) +#define HDlog10(X) log10(X) +#define HDlongjmp(J, N) longjmp(J, N) #ifdef H5_HAVE_WIN32_API - #define HDlseek(F,O,W) _lseeki64(F,O,W) +#define HDlseek(F, O, W) _lseeki64(F, O, W) #else - #ifdef H5_HAVE_LSEEK64 - #define HDlseek(F,O,W) lseek64(F,O,W) - #else - #define HDlseek(F,O,W) lseek(F,O,W) - #endif +#ifdef H5_HAVE_LSEEK64 +#define HDlseek(F, O, W) lseek64(F, O, W) +#else +#define HDlseek(F, O, W) lseek(F, O, W) +#endif #endif -#define HDmalloc(Z) malloc(Z) -#define HDposix_memalign(P,A,Z) posix_memalign(P,A,Z) -#define HDmblen(S,N) mblen(S,N) -#define HDmbstowcs(P,S,Z) mbstowcs(P,S,Z) -#define HDmbtowc(P,S,Z) mbtowc(P,S,Z) -#define HDmemchr(S,C,Z) memchr(S,C,Z) -#define HDmemcmp(X,Y,Z) memcmp(X,Y,Z) +#define HDmalloc(Z) malloc(Z) +#define HDposix_memalign(P, A, Z) posix_memalign(P, A, Z) +#define HDmblen(S, N) mblen(S, N) +#define HDmbstowcs(P, S, Z) mbstowcs(P, S, Z) +#define HDmbtowc(P, S, Z) mbtowc(P, S, Z) +#define HDmemchr(S, C, Z) memchr(S, C, Z) +#define HDmemcmp(X, Y, Z) memcmp(X, Y, Z) /* * The (char*) casts are required for the DEC when optimizations are turned * on and the source and/or destination are not aligned. */ -#define HDmemcpy(X,Y,Z) memcpy((char*)(X),(const char*)(Y),Z) -#define HDmemmove(X,Y,Z) memmove((char*)(X),(const char*)(Y),Z) +#define HDmemcpy(X, Y, Z) memcpy((char *)(X), (const char *)(Y), Z) +#define HDmemmove(X, Y, Z) memmove((char *)(X), (const char *)(Y), Z) /* * The (void*) cast just avoids a compiler warning in H5_HAVE_VISUAL_STUDIO */ #ifdef H5_HAVE_VISUAL_STUDIO -#define HDmemset(X,C,Z) memset((void*)(X),C,Z) +#define HDmemset(X, C, Z) memset((void *)(X), C, Z) #else /* H5_HAVE_VISUAL_STUDIO */ -#define HDmemset(X,C,Z) memset(X,C,Z) +#define HDmemset(X, C, Z) memset(X, C, Z) #endif /* H5_HAVE_VISUAL_STUDIO */ #ifdef H5_HAVE_WIN32_API -#define HDmkdir(S,M) _mkdir(S) +#define HDmkdir(S, M) _mkdir(S) #else /* H5_HAVE_WIN32_API */ -#define HDmkdir(S,M) mkdir(S,M) +#define HDmkdir(S, M) mkdir(S, M) #endif /* H5_HAVE_WIN32_API */ -#define HDmkfifo(S,M) mkfifo(S,M) -#define HDmktime(T) mktime(T) -#define HDmodf(X,Y) modf(X,Y) +#define HDmkfifo(S, M) mkfifo(S, M) +#define HDmktime(T) mktime(T) +#define HDmodf(X, Y) modf(X, Y) #ifdef _O_BINARY -#define HDopen(S,F,M) open(S,F|_O_BINARY,M) +#define HDopen(S, F, M) open(S, F | _O_BINARY, M) #else -#define HDopen(S,F,M) open(S,F,M) +#define HDopen(S, F, M) open(S, F, M) #endif -#define HDopendir(S) opendir(S) -#define HDpathconf(S,N) pathconf(S,N) -#define HDpause() pause() -#define HDperror(S) perror(S) -#define HDpipe(F) pipe(F) -#define HDpow(X,Y) pow(X,Y) +#define HDopendir(S) opendir(S) +#define HDpathconf(S, N) pathconf(S, N) +#define HDpause() pause() +#define HDperror(S) perror(S) +#define HDpipe(F) pipe(F) +#define HDpow(X, Y) pow(X, Y) /* printf() variable arguments */ -#define HDprintf(...) HDfprintf(stdout, __VA_ARGS__) -#define HDputc(C,F) putc(C,F) -#define HDputchar(C) putchar(C) -#define HDputs(S) puts(S) -#define HDqsort(M,N,Z,F) qsort(M,N,Z,F) -#define HDraise(N) raise(N) +#define HDprintf(...) HDfprintf(stdout, __VA_ARGS__) +#define HDputc(C, F) putc(C, F) +#define HDputchar(C) putchar(C) +#define HDputs(S) puts(S) +#define HDqsort(M, N, Z, F) qsort(M, N, Z, F) +#define HDraise(N) raise(N) #ifdef H5_HAVE_RAND_R -#define HDrandom() HDrand() +#define HDrandom() HDrand() H5_DLL int HDrand(void); #elif H5_HAVE_RANDOM -#define HDrand() random() -#define HDrandom() random() +#define HDrand() random() +#define HDrandom() random() #else -#define HDrand() rand() -#define HDrandom() rand() +#define HDrand() rand() +#define HDrandom() rand() #endif -#define HDread(F,M,Z) read(F,M,Z) -#define HDreaddir(D) readdir(D) -#define HDrealloc(M,Z) realloc(M,Z) -#define HDremove(S) remove(S) -#define HDrename(OLD,NEW) rename(OLD,NEW) -#define HDrewind(F) rewind(F) -#define HDrewinddir(D) rewinddir(D) -#define HDrmdir(S) rmdir(S) +#define HDread(F, M, Z) read(F, M, Z) +#define HDreaddir(D) readdir(D) +#define HDrealloc(M, Z) realloc(M, Z) +#define HDremove(S) remove(S) +#define HDrename(OLD, NEW) rename(OLD, NEW) +#define HDrewind(F) rewind(F) +#define HDrewinddir(D) rewinddir(D) +#define HDrmdir(S) rmdir(S) /* scanf() variable arguments */ -#define HDsetbuf(F,S) setbuf(F,S) -#define HDsetgid(G) setgid(G) -#define HDsetjmp(J) setjmp(J) -#define HDsetlocale(N,S) setlocale(N,S) -#define HDsetpgid(P,PG) setpgid(P,PG) -#define HDsetsid() setsid() -#define HDsetuid(U) setuid(U) +#define HDsetbuf(F, S) setbuf(F, S) +#define HDsetgid(G) setgid(G) +#define HDsetjmp(J) setjmp(J) +#define HDsetlocale(N, S) setlocale(N, S) +#define HDsetpgid(P, PG) setpgid(P, PG) +#define HDsetsid() setsid() +#define HDsetuid(U) setuid(U) /* Windows does not permit setting the buffer size to values less than 2. */ #ifndef H5_HAVE_WIN32_API -#define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,Z) +#define HDsetvbuf(F, S, M, Z) setvbuf(F, S, M, Z) #else -#define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,(Z>1?Z:2)) +#define HDsetvbuf(F, S, M, Z) setvbuf(F, S, M, (Z > 1 ? Z : 2)) #endif -#define HDsigaddset(S,N) sigaddset(S,N) -#define HDsigdelset(S,N) sigdelset(S,N) -#define HDsigemptyset(S) sigemptyset(S) -#define HDsigfillset(S) sigfillset(S) -#define HDsigismember(S,N) sigismember(S,N) -#define HDsiglongjmp(J,N) siglongjmp(J,N) -#define HDsignal(N,F) signal(N,F) -#define HDsigpending(S) sigpending(S) -#define HDsigprocmask(H,S,O) sigprocmask(H,S,O) -#define HDsigsetjmp(J,N) sigsetjmp(J,N) -#define HDsigsuspend(S) sigsuspend(S) -#define HDsin(X) sin(X) -#define HDsinh(X) sinh(X) -#define HDsleep(N) sleep(N) +#define HDsigaddset(S, N) sigaddset(S, N) +#define HDsigdelset(S, N) sigdelset(S, N) +#define HDsigemptyset(S) sigemptyset(S) +#define HDsigfillset(S) sigfillset(S) +#define HDsigismember(S, N) sigismember(S, N) +#define HDsiglongjmp(J, N) siglongjmp(J, N) +#define HDsignal(N, F) signal(N, F) +#define HDsigpending(S) sigpending(S) +#define HDsigprocmask(H, S, O) sigprocmask(H, S, O) +#define HDsigsetjmp(J, N) sigsetjmp(J, N) +#define HDsigsuspend(S) sigsuspend(S) +#define HDsin(X) sin(X) +#define HDsinh(X) sinh(X) +#define HDsleep(N) sleep(N) #ifdef H5_HAVE_WIN32_API -H5_DLL int c99_snprintf(char* str, size_t size, const char* format, ...); -#define HDsnprintf c99_snprintf /*varargs*/ +H5_DLL int c99_snprintf(char *str, size_t size, const char *format, ...); +#define HDsnprintf c99_snprintf /*varargs*/ #else -#define HDsnprintf snprintf /*varargs*/ +#define HDsnprintf snprintf /*varargs*/ #endif /* sprintf() variable arguments */ -#define HDsprintf sprintf /*varargs*/ -#define HDsqrt(X) sqrt(X) +#define HDsprintf sprintf /*varargs*/ +#define HDsqrt(X) sqrt(X) #ifdef H5_HAVE_RAND_R H5_DLL void HDsrand(unsigned int seed); -#define HDsrandom(S) HDsrand(S) +#define HDsrandom(S) HDsrand(S) #elif H5_HAVE_RANDOM -#define HDsrand(S) srandom(S) -#define HDsrandom(S) srandom(S) +#define HDsrand(S) srandom(S) +#define HDsrandom(S) srandom(S) #else -#define HDsrand(S) srand(S) -#define HDsrandom(S) srand(S) +#define HDsrand(S) srand(S) +#define HDsrandom(S) srand(S) #endif /* sscanf() variable arguments */ #ifdef H5_HAVE_WIN32_API -#define HDstrcasecmp(A,B) _stricmp(A,B) +#define HDstrcasecmp(A, B) _stricmp(A, B) #else -#define HDstrcasecmp(X,Y) strcasecmp(X,Y) +#define HDstrcasecmp(X, Y) strcasecmp(X, Y) #endif -#define HDstrcat(X,Y) strcat(X,Y) -#define HDstrchr(S,C) strchr(S,C) -#define HDstrcmp(X,Y) strcmp(X,Y) -#define HDstrcoll(X,Y) strcoll(X,Y) -#define HDstrcpy(X,Y) strcpy(X,Y) -#define HDstrcspn(X,Y) strcspn(X,Y) -#define HDstrerror(N) strerror(N) -#define HDstrftime(S,Z,F,T) strftime(S,Z,F,T) -#define HDstrlen(S) strlen(S) -#define HDstrncat(X,Y,Z) strncat(X,Y,Z) -#define HDstrncmp(X,Y,Z) strncmp(X,Y,Z) -#define HDstrncpy(X,Y,Z) strncpy(X,Y,Z) -#define HDstrpbrk(X,Y) strpbrk(X,Y) -#define HDstrrchr(S,C) strrchr(S,C) -#define HDstrspn(X,Y) strspn(X,Y) -#define HDstrstr(X,Y) strstr(X,Y) -#define HDstrtod(S,R) strtod(S,R) -#define HDstrtok(X,Y) strtok(X,Y) -#define HDstrtol(S,R,N) strtol(S,R,N) -H5_DLL int64_t HDstrtoll (const char *s, const char **rest, int base); -#define HDstrtoul(S,R,N) strtoul(S,R,N) +#define HDstrcat(X, Y) strcat(X, Y) +#define HDstrchr(S, C) strchr(S, C) +#define HDstrcmp(X, Y) strcmp(X, Y) +#define HDstrcoll(X, Y) strcoll(X, Y) +#define HDstrcpy(X, Y) strcpy(X, Y) +#define HDstrcspn(X, Y) strcspn(X, Y) +#define HDstrerror(N) strerror(N) +#define HDstrftime(S, Z, F, T) strftime(S, Z, F, T) +#define HDstrlen(S) strlen(S) +#define HDstrncat(X, Y, Z) strncat(X, Y, Z) +#define HDstrncmp(X, Y, Z) strncmp(X, Y, Z) +#define HDstrncpy(X, Y, Z) strncpy(X, Y, Z) +#define HDstrpbrk(X, Y) strpbrk(X, Y) +#define HDstrrchr(S, C) strrchr(S, C) +#define HDstrspn(X, Y) strspn(X, Y) +#define HDstrstr(X, Y) strstr(X, Y) +#define HDstrtod(S, R) strtod(S, R) +#define HDstrtok(X, Y) strtok(X, Y) +#define HDstrtol(S, R, N) strtol(S, R, N) +H5_DLL int64_t HDstrtoll(const char *s, const char **rest, int base); +#define HDstrtoul(S, R, N) strtoul(S, R, N) #ifdef H5_HAVE_WIN32_API -#define HDstrtoull(S,R,N) _strtoui64(S,R,N) +#define HDstrtoull(S, R, N) _strtoui64(S, R, N) #else -#define HDstrtoull(S,R,N) strtoull(S,R,N) +#define HDstrtoull(S, R, N) strtoull(S, R, N) #endif -#define HDstrxfrm(X,Y,Z) strxfrm(X,Y,Z) -#define HDsysconf(N) sysconf(N) -#define HDsystem(S) system(S) -#define HDtan(X) tan(X) -#define HDtanh(X) tanh(X) -#define HDtcdrain(F) tcdrain(F) -#define HDtcflow(F,A) tcflow(F,A) -#define HDtcflush(F,N) tcflush(F,N) -#define HDtcgetattr(F,T) tcgetattr(F,T) -#define HDtcgetpgrp(F) tcgetpgrp(F) -#define HDtcsendbreak(F,N) tcsendbreak(F,N) -#define HDtcsetattr(F,O,T) tcsetattr(F,O,T) -#define HDtcsetpgrp(F,N) tcsetpgrp(F,N) -#define HDtime(T) time(T) -#define HDtimes(T) times(T) -#define HDtmpfile() tmpfile() -#define HDtmpnam(S) tmpnam(S) -#define HDtolower(C) tolower(C) -#define HDtoupper(C) toupper(C) -#define HDttyname(F) ttyname(F) -#define HDtzset() tzset() -#define HDumask(N) umask(N) -#define HDuname(S) uname(S) -#define HDungetc(C,F) ungetc(C,F) +#define HDstrxfrm(X, Y, Z) strxfrm(X, Y, Z) +#define HDsysconf(N) sysconf(N) +#define HDsystem(S) system(S) +#define HDtan(X) tan(X) +#define HDtanh(X) tanh(X) +#define HDtcdrain(F) tcdrain(F) +#define HDtcflow(F, A) tcflow(F, A) +#define HDtcflush(F, N) tcflush(F, N) +#define HDtcgetattr(F, T) tcgetattr(F, T) +#define HDtcgetpgrp(F) tcgetpgrp(F) +#define HDtcsendbreak(F, N) tcsendbreak(F, N) +#define HDtcsetattr(F, O, T) tcsetattr(F, O, T) +#define HDtcsetpgrp(F, N) tcsetpgrp(F, N) +#define HDtime(T) time(T) +#define HDtimes(T) times(T) +#define HDtmpfile() tmpfile() +#define HDtmpnam(S) tmpnam(S) +#define HDtolower(C) tolower(C) +#define HDtoupper(C) toupper(C) +#define HDttyname(F) ttyname(F) +#define HDtzset() tzset() +#define HDumask(N) umask(N) +#define HDuname(S) uname(S) +#define HDungetc(C, F) ungetc(C, F) #ifdef H5_HAVE_WIN32_API -#define HDunlink(S) _unlink(S) +#define HDunlink(S) _unlink(S) #else -#define HDunlink(S) unlink(S) +#define HDunlink(S) unlink(S) #endif -#define HDutime(S,T) utime(S,T) -#define HDva_arg(A,T) va_arg(A,T) -#define HDva_end(A) va_end(A) -#define HDva_start(A,P) va_start(A,P) -#define HDvasprintf(RET,FMT,A) vasprintf(RET,FMT,A) -#define HDvfprintf(F,FMT,A) vfprintf(F,FMT,A) -#define HDvprintf(FMT,A) vprintf(FMT,A) -#define HDvsprintf(S,FMT,A) vsprintf(S,FMT,A) +#define HDutime(S, T) utime(S, T) +#define HDva_arg(A, T) va_arg(A, T) +#define HDva_end(A) va_end(A) +#define HDva_start(A, P) va_start(A, P) +#define HDvasprintf(RET, FMT, A) vasprintf(RET, FMT, A) +#define HDvfprintf(F, FMT, A) vfprintf(F, FMT, A) +#define HDvprintf(FMT, A) vprintf(FMT, A) +#define HDvsprintf(S, FMT, A) vsprintf(S, FMT, A) #ifdef H5_HAVE_WIN32_API -H5_DLL int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap); -#define HDvsnprintf c99_vsnprintf +H5_DLL int c99_vsnprintf(char *str, size_t size, const char *format, va_list ap); +#define HDvsnprintf c99_vsnprintf #else -# define HDvsnprintf(S,N,FMT,A) vsnprintf(S,N,FMT,A) +#define HDvsnprintf(S, N, FMT, A) vsnprintf(S, N, FMT, A) #endif -#define HDwait(W) wait(W) -#define HDwaitpid(P,W,O) waitpid(P,W,O) -#define HDwcstombs(S,P,Z) wcstombs(S,P,Z) -#define HDwctomb(S,C) wctomb(S,C) -#define HDwrite(F,M,Z) write(F,M,Z) +#define HDwait(W) wait(W) +#define HDwaitpid(P, W, O) waitpid(P, W, O) +#define HDwcstombs(S, P, Z) wcstombs(S, P, Z) +#define HDwctomb(S, C) wctomb(S, C) +#define HDwrite(F, M, Z) write(F, M, Z) /* * And now for a couple non-Posix functions... Watch out for systems that * define these in terms of macros. */ #ifdef H5_HAVE_WIN32_API -#define HDstrdup(S) _strdup(S) +#define HDstrdup(S) _strdup(S) #else /* H5_HAVE_WIN32_API */ #if !defined strdup && !defined H5_HAVE_STRDUP -extern char *strdup(const char *s); +extern char * strdup(const char *s); #endif -#define HDstrdup(S) strdup(S) +#define HDstrdup(S) strdup(S) #endif /* H5_HAVE_WIN32_API */ @@ -485,52 +484,47 @@ extern char *strdup(const char *s); * HDF Boolean type. */ #ifndef FALSE -# define FALSE false +#define FALSE false #endif #ifndef TRUE -# define TRUE true +#define TRUE true #endif /** From h5test.h **/ #ifdef H5_HAVE_PARALLEL -extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */ +extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */ #endif #ifdef H5_HAVE_PARALLEL -int h5_set_info_object(void); +int h5_set_info_object(void); void h5_dump_info_object(MPI_Info info); #endif - - /** From h5tools_utils.h **/ -extern int opt_err; /* getoption prints errors if this is on */ -extern int opt_ind; /* token pointer */ -extern const char *opt_arg; /* flag argument (or value) */ - +extern int opt_err; /* getoption prints errors if this is on */ +extern int opt_ind; /* token pointer */ +extern const char *opt_arg; /* flag argument (or value) */ enum { - no_arg = 0, /* doesn't take an argument */ - require_arg, /* requires an argument */ - optional_arg /* argument is optional */ + no_arg = 0, /* doesn't take an argument */ + require_arg, /* requires an argument */ + optional_arg /* argument is optional */ }; - typedef struct long_options { - const char *name; /* name of the long option */ - int has_arg; /* whether we should look for an arg */ - char shortval; /* the shortname equivalent of long arg - * this gets returned from get_option */ + const char *name; /* name of the long option */ + int has_arg; /* whether we should look for an arg */ + char shortval; /* the shortname equivalent of long arg + * this gets returned from get_option */ } long_options; -extern int get_option(int argc, const char **argv, const char *opt, - const struct long_options *l_opt); +extern int get_option(int argc, const char **argv, const char *opt, const struct long_options *l_opt); -extern int nCols; /*max number of columns for outputting */ +extern int nCols; /*max number of columns for outputting */ /* Definitions of useful routines */ -extern void print_version(const char *progname); +extern void print_version(const char *progname); #endif diff --git a/tools/test/perform/zip_perf.c b/tools/test/perform/zip_perf.c index 8f1f584..6bb0085 100644 --- a/tools/test/perform/zip_perf.c +++ b/tools/test/perform/zip_perf.c @@ -28,105 +28,103 @@ #include <zlib.h> -#define ONE_KB 1024 -#define ONE_MB (ONE_KB * ONE_KB) -#define ONE_GB (ONE_MB * ONE_KB) +#define ONE_KB 1024 +#define ONE_MB (ONE_KB * ONE_KB) +#define ONE_GB (ONE_MB * ONE_KB) -#define MICROSECOND 1000000.0F +#define MICROSECOND 1000000.0F /* report 0.0 in case t is zero too */ -#define MB_PER_SEC(bytes,t) ((fabs(t) < (double)0.0000000001F) ? (double)0.0F : ((((double)bytes) / (double)ONE_MB) / (t))) +#define MB_PER_SEC(bytes, t) \ + ((fabs(t) < (double)0.0000000001F) ? (double)0.0F : ((((double)bytes) / (double)ONE_MB) / (t))) #ifndef TRUE -#define TRUE 1 -#endif /* TRUE */ +#define TRUE 1 +#endif /* TRUE */ #ifndef FALSE -#define FALSE (!TRUE) -#endif /* FALSE */ +#define FALSE (!TRUE) +#endif /* FALSE */ #ifndef S_IRWXU -#define S_IRWXU (_S_IREAD|_S_IWRITE) +#define S_IRWXU (_S_IREAD | _S_IWRITE) #endif /* internal variables */ -static const char *prog=NULL; -static const char *option_prefix=NULL; -static char *filename=NULL; -static int compress_percent = 0; -static int compress_level = Z_DEFAULT_COMPRESSION; -static int output, random_test = FALSE; -static int report_once_flag; -static double compression_time; +static const char *prog = NULL; +static const char *option_prefix = NULL; +static char * filename = NULL; +static int compress_percent = 0; +static int compress_level = Z_DEFAULT_COMPRESSION; +static int output, random_test = FALSE; +static int report_once_flag; +static double compression_time; /* internal functions */ static void error(const char *fmt, ...); -static void compress_buffer(Bytef *dest, uLongf *destLen, const Bytef *source, - uLong sourceLen); +static void compress_buffer(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen); /* commandline options : long and short form */ -static const char *s_opts = "hB:b:c:p:rs:0123456789"; -static struct long_options l_opts[] = { - { "help", no_arg, 'h' }, - { "compressability", require_arg, 'c' }, - { "compressabilit", require_arg, 'c' }, - { "compressabili", require_arg, 'c' }, - { "compressabil", require_arg, 'c' }, - { "compressabi", require_arg, 'c' }, - { "compressab", require_arg, 'c' }, - { "compressa", require_arg, 'c' }, - { "compress", require_arg, 'c' }, - { "compres", require_arg, 'c' }, - { "compre", require_arg, 'c' }, - { "compr", require_arg, 'c' }, - { "comp", require_arg, 'c' }, - { "com", require_arg, 'c' }, - { "co", require_arg, 'c' }, - { "file-size", require_arg, 's' }, - { "file-siz", require_arg, 's' }, - { "file-si", require_arg, 's' }, - { "file-s", require_arg, 's' }, - { "file", require_arg, 's' }, - { "fil", require_arg, 's' }, - { "fi", require_arg, 's' }, - { "max-buffer-size", require_arg, 'B' }, - { "max-buffer-siz", require_arg, 'B' }, - { "max-buffer-si", require_arg, 'B' }, - { "max-buffer-s", require_arg, 'B' }, - { "max-buffer", require_arg, 'B' }, - { "max-buffe", require_arg, 'B' }, - { "max-buff", require_arg, 'B' }, - { "max-buf", require_arg, 'B' }, - { "max-bu", require_arg, 'B' }, - { "max-b", require_arg, 'B' }, - { "max", require_arg, 'B' }, - { "min-buffer-size", require_arg, 'b' }, - { "min-buffer-siz", require_arg, 'b' }, - { "min-buffer-si", require_arg, 'b' }, - { "min-buffer-s", require_arg, 'b' }, - { "min-buffer", require_arg, 'b' }, - { "min-buffe", require_arg, 'b' }, - { "min-buff", require_arg, 'b' }, - { "min-buf", require_arg, 'b' }, - { "min-bu", require_arg, 'b' }, - { "min-b", require_arg, 'b' }, - { "min", require_arg, 'b' }, - { "prefix", require_arg, 'p' }, - { "prefi", require_arg, 'p' }, - { "pref", require_arg, 'p' }, - { "pre", require_arg, 'p' }, - { "pr", require_arg, 'p' }, - { "random-test", no_arg, 'r' }, - { "random-tes", no_arg, 'r' }, - { "random-te", no_arg, 'r' }, - { "random-t", no_arg, 'r' }, - { "random", no_arg, 'r' }, - { "rando", no_arg, 'r' }, - { "rand", no_arg, 'r' }, - { "ran", no_arg, 'r' }, - { "ra", no_arg, 'r' }, - { NULL, 0, '\0' } -}; +static const char * s_opts = "hB:b:c:p:rs:0123456789"; +static struct long_options l_opts[] = {{"help", no_arg, 'h'}, + {"compressability", require_arg, 'c'}, + {"compressabilit", require_arg, 'c'}, + {"compressabili", require_arg, 'c'}, + {"compressabil", require_arg, 'c'}, + {"compressabi", require_arg, 'c'}, + {"compressab", require_arg, 'c'}, + {"compressa", require_arg, 'c'}, + {"compress", require_arg, 'c'}, + {"compres", require_arg, 'c'}, + {"compre", require_arg, 'c'}, + {"compr", require_arg, 'c'}, + {"comp", require_arg, 'c'}, + {"com", require_arg, 'c'}, + {"co", require_arg, 'c'}, + {"file-size", require_arg, 's'}, + {"file-siz", require_arg, 's'}, + {"file-si", require_arg, 's'}, + {"file-s", require_arg, 's'}, + {"file", require_arg, 's'}, + {"fil", require_arg, 's'}, + {"fi", require_arg, 's'}, + {"max-buffer-size", require_arg, 'B'}, + {"max-buffer-siz", require_arg, 'B'}, + {"max-buffer-si", require_arg, 'B'}, + {"max-buffer-s", require_arg, 'B'}, + {"max-buffer", require_arg, 'B'}, + {"max-buffe", require_arg, 'B'}, + {"max-buff", require_arg, 'B'}, + {"max-buf", require_arg, 'B'}, + {"max-bu", require_arg, 'B'}, + {"max-b", require_arg, 'B'}, + {"max", require_arg, 'B'}, + {"min-buffer-size", require_arg, 'b'}, + {"min-buffer-siz", require_arg, 'b'}, + {"min-buffer-si", require_arg, 'b'}, + {"min-buffer-s", require_arg, 'b'}, + {"min-buffer", require_arg, 'b'}, + {"min-buffe", require_arg, 'b'}, + {"min-buff", require_arg, 'b'}, + {"min-buf", require_arg, 'b'}, + {"min-bu", require_arg, 'b'}, + {"min-b", require_arg, 'b'}, + {"min", require_arg, 'b'}, + {"prefix", require_arg, 'p'}, + {"prefi", require_arg, 'p'}, + {"pref", require_arg, 'p'}, + {"pre", require_arg, 'p'}, + {"pr", require_arg, 'p'}, + {"random-test", no_arg, 'r'}, + {"random-tes", no_arg, 'r'}, + {"random-te", no_arg, 'r'}, + {"random-t", no_arg, 'r'}, + {"random", no_arg, 'r'}, + {"rando", no_arg, 'r'}, + {"rand", no_arg, 'r'}, + {"ran", no_arg, 'r'}, + {"ra", no_arg, 'r'}, + {NULL, 0, '\0'}}; /* * Function: error @@ -165,14 +163,14 @@ cleanup(void) static void write_file(Bytef *source, uLongf sourceLen) { - Bytef *d_ptr, *dest; - uLongf d_len, destLen; + Bytef * d_ptr, *dest; + uLongf d_len, destLen; struct timeval timer_start, timer_stop; /* destination buffer needs to be at least 0.1% larger than sourceLen * plus 12 bytes */ destLen = (uLongf)((double)sourceLen + ((double)sourceLen * (double)0.1F)) + 12; - dest = (Bytef *)HDmalloc(destLen); + dest = (Bytef *)HDmalloc(destLen); if (!dest) error("out of memory"); @@ -181,10 +179,8 @@ write_file(Bytef *source, uLongf sourceLen) compress_buffer(dest, &destLen, source, sourceLen); HDgettimeofday(&timer_stop, NULL); - compression_time += ((double)timer_stop.tv_sec + - ((double)timer_stop.tv_usec) / (double)MICROSECOND) - - ((double)timer_start.tv_sec + - ((double)timer_start.tv_usec) / (double)MICROSECOND); + compression_time += ((double)timer_stop.tv_sec + ((double)timer_stop.tv_usec) / (double)MICROSECOND) - + ((double)timer_start.tv_sec + ((double)timer_start.tv_usec) / (double)MICROSECOND); if (report_once_flag) { HDfprintf(stdout, "\tCompression Ratio: %g\n", ((double)destLen) / (double)sourceLen); @@ -222,8 +218,7 @@ write_file(Bytef *source, uLongf sourceLen) * Modifications: */ static void -compress_buffer(Bytef *dest, uLongf *destLen, const Bytef *source, - uLong sourceLen) +compress_buffer(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen) { int rc = compress2(dest, destLen, source, sourceLen, compress_level); @@ -232,18 +227,18 @@ compress_buffer(Bytef *dest, uLongf *destLen, const Bytef *source, cleanup(); switch (rc) { - case Z_MEM_ERROR: - error("not enough memory"); - break; - case Z_BUF_ERROR: - error("not enough room in the output buffer"); - break; - case Z_STREAM_ERROR: - error("level parameter (%d) is invalid", compress_level); - break; - default: - error("unknown compression error"); - break; + case Z_MEM_ERROR: + error("not enough memory"); + break; + case Z_BUF_ERROR: + error("not enough room in the output buffer"); + break; + case Z_STREAM_ERROR: + error("level parameter (%d) is invalid", compress_level); + break; + default: + error("unknown compression error"); + break; } } } @@ -260,8 +255,7 @@ compress_buffer(Bytef *dest, uLongf *destLen, const Bytef *source, * Modifications: */ static int -uncompress_buffer(Bytef *dest, uLongf *destLen, const Bytef *source, - uLong sourceLen) +uncompress_buffer(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen) { int rc = uncompress(dest, destLen, source, sourceLen); @@ -282,7 +276,7 @@ static void get_unique_name(void) { const char *prefix = NULL; - const char *env = HDgetenv("HDF5_PREFIX"); + const char *env = HDgetenv("HDF5_PREFIX"); if (env) prefix = env; @@ -292,15 +286,15 @@ get_unique_name(void) if (prefix) /* 2 = 1 for '/' + 1 for null terminator */ - filename = (char *) HDmalloc(HDstrlen(prefix) + HDstrlen(ZIP_PERF_FILE) + 2); + filename = (char *)HDmalloc(HDstrlen(prefix) + HDstrlen(ZIP_PERF_FILE) + 2); else - filename = (char *) HDmalloc(HDstrlen(ZIP_PERF_FILE) + 1); + filename = (char *)HDmalloc(HDstrlen(ZIP_PERF_FILE) + 1); if (!filename) error("out of memory"); filename[0] = 0; - if (prefix){ + if (prefix) { HDstrcpy(filename, prefix); HDstrcat(filename, "/"); } @@ -361,7 +355,7 @@ static unsigned long parse_size_directive(const char *size) { unsigned long s; - char *endptr; + char * endptr; s = HDstrtoul(size, &endptr, 10); @@ -395,12 +389,12 @@ static void fill_with_random_data(Bytef *src, uLongf src_len) { register unsigned u; - h5_stat_t stat_buf; + h5_stat_t stat_buf; if (HDstat("/dev/urandom", &stat_buf) == 0) { uLongf len = src_len; Bytef *buf = src; - int fd = HDopen("/dev/urandom", O_RDONLY, 0); + int fd = HDopen("/dev/urandom", O_RDONLY, 0); HDfprintf(stdout, "Using /dev/urandom for random data\n"); @@ -436,19 +430,18 @@ fill_with_random_data(Bytef *src, uLongf src_len) } static void -do_write_test(unsigned long file_size, unsigned long min_buf_size, - unsigned long max_buf_size) +do_write_test(unsigned long file_size, unsigned long min_buf_size, unsigned long max_buf_size) { - uLongf src_len, total_len; + uLongf src_len, total_len; struct timeval timer_start, timer_stop; - double total_time; - Bytef *src; + double total_time; + Bytef * src; for (src_len = min_buf_size; src_len <= max_buf_size; src_len <<= 1) { register unsigned long i, iters; iters = file_size / src_len; - src = (Bytef *)HDcalloc(1, sizeof(Bytef) * src_len); + src = (Bytef *)HDcalloc(1, sizeof(Bytef) * src_len); if (!src) { cleanup(); @@ -465,10 +458,12 @@ do_write_test(unsigned long file_size, unsigned long min_buf_size, if (src_len >= ONE_KB && (src_len % ONE_KB) == 0) { if (src_len >= ONE_MB && (src_len % ONE_MB) == 0) { HDfprintf(stdout, "%ldMB", src_len / ONE_MB); - } else { + } + else { HDfprintf(stdout, "%ldKB", src_len / ONE_KB); } - } else { + } + else { HDfprintf(stdout, "%ld", src_len); } @@ -483,7 +478,7 @@ do_write_test(unsigned long file_size, unsigned long min_buf_size, for (i = 0; i <= iters; ++i) { Bytef *s_ptr = src; - uLong s_len = src_len; + uLong s_len = src_len; /* loop to make sure we write everything out that we want to write */ for (;;) { @@ -503,14 +498,11 @@ do_write_test(unsigned long file_size, unsigned long min_buf_size, HDclose(output); HDgettimeofday(&timer_stop, NULL); - total_time = ((double)timer_stop.tv_sec + - ((double)timer_stop.tv_usec) / (double)MICROSECOND) - - ((double)timer_start.tv_sec + - ((double)timer_start.tv_usec) / (double)MICROSECOND); + total_time = ((double)timer_stop.tv_sec + ((double)timer_stop.tv_usec) / (double)MICROSECOND) - + ((double)timer_start.tv_sec + ((double)timer_start.tv_usec) / (double)MICROSECOND); HDfprintf(stdout, "\tUncompressed Write Time: %.2fs\n", total_time); - HDfprintf(stdout, "\tUncompressed Write Throughput: %.2fMB/s\n", - MB_PER_SEC(file_size, total_time)); + HDfprintf(stdout, "\tUncompressed Write Throughput: %.2fMB/s\n", MB_PER_SEC(file_size, total_time)); HDunlink(filename); @@ -529,14 +521,11 @@ do_write_test(unsigned long file_size, unsigned long min_buf_size, HDclose(output); HDgettimeofday(&timer_stop, NULL); - total_time = ((double)timer_stop.tv_sec + - ((double)timer_stop.tv_usec) / (double)MICROSECOND) - - ((double)timer_start.tv_sec + - ((double)timer_start.tv_usec) / (double)MICROSECOND); + total_time = ((double)timer_stop.tv_sec + ((double)timer_stop.tv_usec) / (double)MICROSECOND) - + ((double)timer_start.tv_sec + ((double)timer_start.tv_usec) / (double)MICROSECOND); HDfprintf(stdout, "\tCompressed Write Time: %.2fs\n", total_time); - HDfprintf(stdout, "\tCompressed Write Throughput: %.2fMB/s\n", - MB_PER_SEC(file_size, total_time)); + HDfprintf(stdout, "\tCompressed Write Throughput: %.2fMB/s\n", MB_PER_SEC(file_size, total_time)); HDfprintf(stdout, "\tCompression Time: %gs\n", compression_time); HDunlink(filename); @@ -556,7 +545,7 @@ main(int argc, const char *argv[]) { unsigned long min_buf_size = 128 * ONE_KB, max_buf_size = ONE_MB; unsigned long file_size = 64 * ONE_MB; - int opt; + int opt; prog = argv[0]; @@ -565,51 +554,56 @@ main(int argc, const char *argv[]) while ((opt = get_option(argc, argv, s_opts, l_opts)) > 0) { switch ((char)opt) { - case '0': case '1': case '2': - case '3': case '4': case '5': - case '6': case '7': case '8': - case '9': - compress_level = opt - '0'; - break; - case 'B': - max_buf_size = parse_size_directive(opt_arg); - break; - case 'b': - min_buf_size = parse_size_directive(opt_arg); - break; - case 'c': - compress_percent = (int)HDstrtol(opt_arg, NULL, 10); + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + compress_level = opt - '0'; + break; + case 'B': + max_buf_size = parse_size_directive(opt_arg); + break; + case 'b': + min_buf_size = parse_size_directive(opt_arg); + break; + case 'c': + compress_percent = (int)HDstrtol(opt_arg, NULL, 10); - if (compress_percent < 0) - compress_percent = 0; - else if (compress_percent > 100) - compress_percent = 100; + if (compress_percent < 0) + compress_percent = 0; + else if (compress_percent > 100) + compress_percent = 100; - break; - case 'p': - option_prefix = opt_arg; - break; - case 'r': - random_test = TRUE; - break; - case 's': - file_size = parse_size_directive(opt_arg); - break; - case '?': - usage(); - exit(EXIT_FAILURE); - break; - case 'h': - default: - usage(); - exit(EXIT_SUCCESS); - break; + break; + case 'p': + option_prefix = opt_arg; + break; + case 'r': + random_test = TRUE; + break; + case 's': + file_size = parse_size_directive(opt_arg); + break; + case '?': + usage(); + exit(EXIT_FAILURE); + break; + case 'h': + default: + usage(); + exit(EXIT_SUCCESS); + break; } } if (min_buf_size > max_buf_size) - error("minmum buffer size (%d) exceeds maximum buffer size (%d)", - min_buf_size, max_buf_size); + error("minmum buffer size (%d) exceeds maximum buffer size (%d)", min_buf_size, max_buf_size); HDfprintf(stdout, "Filesize: %ld\n", file_size); @@ -641,4 +635,4 @@ main(void) return EXIT_SUCCESS; } -#endif /* !H5_HAVE_FILTER_DEFLATE */ +#endif /* !H5_HAVE_FILTER_DEFLATE */ |