- removed "h5_file_t f" argument where we don't need need (but not in API)

- removed arguments from macros h5_error_internal() h5_error_not_implemented()
- some coding style issues fixed
This commit is contained in:
2011-02-24 08:18:45 +00:00
parent 7e93a7ab2f
commit d3c09a61b2
37 changed files with 374 additions and 390 deletions
+1 -1
View File
@@ -49,5 +49,5 @@ H5FedLinkMeshToStep (
) {
UNUSED_ARGUMENT (mesh_id);
H5_API_ENTER (h5_err_t);
H5_API_RETURN (h5_error_not_implemented (__FILE__, __func__, __LINE__));
H5_API_RETURN (h5_error_not_implemented ());
}
+5 -8
View File
@@ -16,7 +16,6 @@ get_hdf5_obj_id(
h5_err_t
h5priv_read_attrib (
h5_file_t* const f, /*!< handle to open file */
const hid_t id, /*!< HDF5 object ID */
const char* attrib_name, /*!< name of HDF5 attribute to read */
const hid_t attrib_type, /*!< HDF5 type of attribute */
@@ -30,7 +29,7 @@ h5priv_read_attrib (
TRY (type_id = hdf5_get_attribute_type (attrib_id));
hid_t h5type_id;
TRY (h5type_id = h5_normalize_h5_type (f, type_id));
TRY (h5type_id = h5_normalize_h5_type (type_id));
if (h5type_id != attrib_type)
H5_PRIV_API_LEAVE (
h5_error (
@@ -70,13 +69,12 @@ h5_read_attrib (
hid_t id;
TRY (get_hdf5_obj_id(f, mode, &id));
TRY (h5priv_read_attrib (f, id, attrib_name, attrib_type, attrib_value));
TRY (h5priv_read_attrib (id, attrib_name, attrib_type, attrib_value));
H5_CORE_API_RETURN (H5_SUCCESS);
}
h5_err_t
h5priv_write_attrib (
h5_file_t* const f, /*!< handle to open file */
const hid_t id, /*!< HDF5 object ID */
const char* attrib_name, /*!< name of HDF5 attribute to write */
const hid_t attrib_type, /*!< HDF5 type of attribute */
@@ -134,14 +132,13 @@ h5_write_attrib (
hid_t id;
TRY (get_hdf5_obj_id(f, mode, &id));
TRY (h5priv_write_attrib (f, id, attrib_name, attrib_type,
TRY (h5priv_write_attrib (id, attrib_name, attrib_type,
attrib_value, attrib_nelem));
H5_CORE_API_RETURN (H5_SUCCESS);
}
h5_err_t
h5priv_get_attrib_info (
h5_file_t* const f, /*!< handle to open file */
const hid_t id, /*!< HDF5 object ID */
const h5_size_t attrib_idx, /*!< index of attribute */
char* attrib_name, /*!< OUT: name of attribute */
@@ -170,7 +167,7 @@ h5priv_get_attrib_info (
}
if (attrib_type) {
TRY (mytype = hdf5_get_attribute_type (attrib_id));
TRY (*attrib_type = h5_normalize_h5_type (f, mytype));
TRY (*attrib_type = h5_normalize_h5_type (mytype));
TRY (hdf5_close_type (mytype));
}
TRY (hdf5_close_attribute (attrib_id));
@@ -199,7 +196,7 @@ h5_get_attrib_info (
hid_t id;
TRY (get_hdf5_obj_id(f, mode, &id));
TRY (h5priv_get_attrib_info (f, id, attrib_idx, attrib_name, len_attrib_name,
TRY (h5priv_get_attrib_info (id, attrib_idx, attrib_name, len_attrib_name,
attrib_type, attrib_nelem));
H5_CORE_API_RETURN (H5_SUCCESS);
}
-3
View File
@@ -3,7 +3,6 @@
h5_err_t
h5priv_read_attrib (
h5_file_t* const f,
const hid_t id,
const char* attrib_name,
const hid_t attrib_type,
@@ -12,7 +11,6 @@ h5priv_read_attrib (
h5_err_t
h5priv_write_attrib (
h5_file_t* const f,
const hid_t id,
const char* attrib_name,
const hid_t attrib_type,
@@ -22,7 +20,6 @@ h5priv_write_attrib (
h5_err_t
h5priv_get_attrib_info (
h5_file_t* const f,
const hid_t id,
const h5_size_t attrib_idx,
char* attrib_name,
+51 -57
View File
@@ -1188,9 +1188,9 @@ hdf5_get_attribute_name (
char *buf
) {
HDF5_WRAPPER_ENTER4 (h5_ssize_t,
"attr_id=%d (%s), buf_size=%zd, buf=0x%p",
"attr_id=%d (%s), buf_size=%llu, buf=0x%p",
attr_id, h5_get_objname (attr_id),
buf_size, buf);
(unsigned long long)buf_size, buf);
ssize_t size = H5Aget_name ( attr_id, buf_size, buf );
if (size < 0)
HDF5_WRAPPER_LEAVE (
@@ -1336,36 +1336,34 @@ iter_op_get_obj_type (
const char* name,
const H5L_info_t* info
) {
H5_PRIV_FUNC_ENTER3 (H5O_type_t,
"g_id=%d, name=\"%s\", info=0x%p",
g_id, name, info);
herr_t herr;
H5O_info_t objinfo;
if ( info->type == H5L_TYPE_EXTERNAL ) {
char *buf;
TRY (buf = h5_calloc (1, info->u.val_size));
if (info->type == H5L_TYPE_EXTERNAL) {
char* buf = h5_calloc (1, info->u.val_size);
if ((ptrdiff_t)buf == (ptrdiff_t)H5_ERR) {
return H5O_TYPE_UNKNOWN;
}
herr = H5Lget_val(g_id, name, buf,
info->u.val_size, H5P_DEFAULT);
if (herr < 0)
H5_PRIV_FUNC_LEAVE (
(H5O_type_t)h5_error (
H5_ERR_HDF5,
"Can't get external link for object '%s'!",
name));
if (herr < 0) {
h5_error (
H5_ERR_HDF5,
"Can't get external link for object '%s'!",
name);
return H5O_TYPE_UNKNOWN;
}
const char *filename;
const char *objname;
herr = H5Lunpack_elink_val(buf, info->u.val_size, 0,
&filename, &objname);
if (herr < 0)
H5_PRIV_FUNC_LEAVE (
(H5O_type_t)h5_error(
H5_ERR_HDF5,
"Can't unpack external link for object '%s'!",
name));
if (herr < 0) {
h5_error(
H5_ERR_HDF5,
"Can't unpack external link for object '%s'!",
name);
return H5O_TYPE_UNKNOWN;
}
h5_debug(
"Followed external link to file '%s' / object '%s'.",
filename, objname);
@@ -1373,25 +1371,26 @@ iter_op_get_obj_type (
h5_free (buf);
hid_t obj_id = H5Oopen(g_id, name, H5P_DEFAULT);
if (obj_id < 0)
H5_PRIV_FUNC_LEAVE (
(H5O_type_t)h5_error(
H5_ERR_HDF5,
"Can't open external link for object '%s'!",
name));
if (obj_id < 0) {
h5_error(
H5_ERR_HDF5,
"Can't open external link for object '%s'!",
name);
return H5O_TYPE_UNKNOWN;
}
herr = H5Oget_info(obj_id, &objinfo);
}
else { // H5L_TYPE_HARD
herr = H5Oget_info_by_name(g_id, name, &objinfo, H5P_DEFAULT);
}
if (herr < 0)
H5_PRIV_FUNC_LEAVE (
(H5O_type_t)h5_error(
H5_ERR_HDF5,
"Can't query object with name '%s'!", name));
H5_PRIV_FUNC_RETURN (objinfo.type);
if (herr < 0) {
h5_error(
H5_ERR_HDF5,
"Can't query object with name '%s'!", name);
return H5O_TYPE_UNKNOWN;
}
return objinfo.type;
}
static herr_t
@@ -1401,16 +1400,13 @@ iter_op_count (
const H5L_info_t* info,
void* _op_data
) {
H5_PRIV_FUNC_ENTER4 (herr_t,
"g_id=%d, name=\"%s\", info=0x%p, _op_data=0x%p",
g_id, name, info, _op_data);
op_data_t* op_data = (op_data_t*)_op_data;
H5O_type_t type;
TRY (type = iter_op_get_obj_type (g_id, name, info));
if (type != op_data->type )
H5_PRIV_FUNC_LEAVE (0);
op_data->cnt++;
H5_PRIV_FUNC_RETURN (0);
H5O_type_t type = iter_op_get_obj_type (g_id, name, info);
if (type == H5O_TYPE_UNKNOWN)
return -1;
if (type == op_data->type)
op_data->cnt++;
return 0;
}
static herr_t
@@ -1420,22 +1416,20 @@ iter_op_idx (
const H5L_info_t* info,
void* _op_data
) {
H5_PRIV_FUNC_ENTER4 (herr_t,
"g_id=%d, name=\"%s\", info=0x%p, _op_data=0x%p",
g_id, name, info, _op_data);
op_data_t* op_data = (op_data_t*)_op_data;
H5O_type_t type;
TRY (type = iter_op_get_obj_type (g_id, name, info));
H5O_type_t type = iter_op_get_obj_type (g_id, name, info);
if (type == H5O_TYPE_UNKNOWN)
return -1;
if (type != op_data->type)
H5_PRIV_FUNC_LEAVE (0);
return 0; // ignore on wrong type
op_data->cnt++;
/* stop iterating if index is equal cnt */
if (op_data->queried_idx == op_data->cnt) {
memset (op_data->name, 0, op_data->len);
strncpy (op_data->name, name, op_data->len-1);
H5_PRIV_FUNC_LEAVE (1);
return 1;
}
H5_PRIV_FUNC_RETURN (0);
return 0;
}
static herr_t
@@ -1518,9 +1512,9 @@ h5_get_hdf5_groupname_by_idx (
size_t len
) {
HDF5_WRAPPER_ENTER5 (h5_err_t,
"loc_id=%d (%s), idx=%llu, name=0x%p, len=%zd",
"loc_id=%d (%s), idx=%llu, name=0x%p, len=%llu",
loc_id, h5_get_objname (loc_id),
idx, name, len);
idx, name, (unsigned long long)len);
op_data_t op_data;
memset (&op_data, 0, sizeof (op_data));
op_data.type = H5O_TYPE_GROUP;
@@ -1578,9 +1572,9 @@ h5_get_hdf5_datasetname_by_idx (
size_t len
) {
HDF5_WRAPPER_ENTER5 (h5_err_t,
"loc_id=%d (%s), idx=%llu, name=0x%p, len=%zd",
"loc_id=%d (%s), idx=%llu, name=0x%p, len=%llu",
loc_id, h5_get_objname (loc_id),
idx, name, len);
idx, name, (unsigned long long)len);
op_data_t op_data;
memset (&op_data, 0, sizeof (op_data));
op_data.type = H5O_TYPE_DATASET;
+12 -20
View File
@@ -61,18 +61,17 @@ isprime (const unsigned int number) {
becomes zero. */
h5_err_t
h5priv_hcreate (
h5_file_t* const f,
size_t nel,
h5_hashtable_t* htab,
int (*compare)(const void*, const void*),
unsigned int (*compute_hash)(const void*),
h5_err_t (*free_entry)(h5_file_t* const f, const void*)
h5_err_t (*free_entry)(const void*)
) {
H5_PRIV_API_ENTER (h5_err_t);
/* Test for correct arguments. */
if (htab == NULL || htab->table != NULL) {
H5_PRIV_API_LEAVE (h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_API_LEAVE (h5_error_internal ());
}
/* Change nel to the first prime number not smaller as nel. */
nel |= 1; /* make odd */
@@ -98,20 +97,19 @@ h5priv_hcreate (
*/
h5_err_t
h5priv_hresize (
h5_file_t* const f,
size_t nel, // number of entries to grow
h5_hashtable_t* htab // hash table to resize
) {
H5_PRIV_API_ENTER (h5_err_t);
if (htab == NULL || htab->table == NULL) {
H5_PRIV_API_LEAVE (h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_API_LEAVE (h5_error_internal ());
}
// create new hash table
h5_hashtable_t __htab;
memset (&__htab, 0, sizeof (__htab));
nel += htab->size;
h5_debug ("Resize hash table from %u to %lu elements.", htab->size, nel);
TRY (h5priv_hcreate (f, nel, &__htab, htab->compare,
TRY (h5priv_hcreate (nel, &__htab, htab->compare,
htab->compute_hash, htab->free_entry));
// add all entries to new hash table
@@ -120,7 +118,6 @@ h5priv_hresize (
if (htab->table[idx].used) {
void* ventry;
TRY (h5priv_hsearch (
f,
htab->table[idx].entry,
H5_ENTER,
&ventry,
@@ -138,15 +135,14 @@ h5priv_hresize (
static inline h5_err_t
hwalk (
h5_file_t* const f,
struct hsearch_data* htab,
h5_err_t (*visit)(h5_file_t*const f, const void *item)
h5_err_t (*visit)(const void *item)
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
unsigned int idx = 1;
for (idx = 1; idx < htab->size; idx++) {
if (htab->table[idx].used) {
TRY ((*visit)(f, &htab->table[idx].entry));
TRY ((*visit)(&htab->table[idx].entry));
}
}
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
@@ -157,16 +153,15 @@ hwalk (
be freed and the local static variable can be marked as not used. */
h5_err_t
h5priv_hdestroy (
h5_file_t* const f,
struct hsearch_data* htab
) {
H5_PRIV_API_ENTER (h5_err_t);
/* Test for correct arguments. */
if (htab == NULL) {
H5_PRIV_API_LEAVE (h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_API_LEAVE (h5_error_internal ());
}
TRY (hwalk (f, htab, htab->free_entry));
TRY (hwalk (htab, htab->free_entry));
/* Free used memory. */
TRY (h5_free (htab->table));
@@ -193,7 +188,6 @@ h5priv_hdestroy (
unnecessary expensive calls of strcmp. */
h5_err_t
h5priv_hsearch (
h5_file_t* const f,
void* item,
const h5_action_t action,
void** retval,
@@ -257,7 +251,7 @@ h5priv_hsearch (
if (retval) {
*retval = NULL;
}
H5_PRIV_API_LEAVE (h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_API_LEAVE (h5_error_internal ());
}
htab->table[idx].used = hval;
@@ -310,7 +304,6 @@ compute_string_keyed (
static h5_err_t
free_string_keyed (
h5_file_t* const f,
const void* __entry
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
@@ -322,19 +315,18 @@ free_string_keyed (
h5_err_t
h5priv_hcreate_string_keyed (
h5_file_t* const f,
size_t nel,
h5_hashtable_t* htab,
h5_err_t (*free_entry)(h5_file_t* const f, const void*)
h5_err_t (*free_entry)(const void*)
) {
H5_PRIV_API_ENTER (h5_err_t);
if (free_entry == NULL) {
TRY (h5priv_hcreate (f, nel, htab,
TRY (h5priv_hcreate (nel, htab,
cmp_string_keyed,
compute_string_keyed,
free_string_keyed));
} else {
TRY (h5priv_hcreate (f, nel, htab,
TRY (h5priv_hcreate (nel, htab,
cmp_string_keyed,
compute_string_keyed,
free_entry));
+3 -8
View File
@@ -7,7 +7,7 @@ typedef struct hsearch_data {
unsigned int filled;
int (*compare)(const void*, const void*);
unsigned int (*compute_hash)(const void*);
h5_err_t (*free_entry)(h5_file_t* const f, const void*);
h5_err_t (*free_entry)(const void*);
} h5_hashtable_t;
/* Action which shall be performed in the call to hsearch. */
@@ -25,7 +25,6 @@ typedef struct h5_entry {
same time. */
extern h5_err_t
h5priv_hsearch (
h5_file_t* const f,
void* item,
const h5_action_t action,
void** retval,
@@ -34,33 +33,29 @@ h5priv_hsearch (
extern h5_err_t
h5priv_hcreate (
h5_file_t* const f,
size_t __nel,
h5_hashtable_t* __htab,
int (*compare)(const void*, const void*),
unsigned int (*compute_hash)(const void*),
h5_err_t (*free_entry)(h5_file_t* const f, const void*)
h5_err_t (*free_entry)(const void*)
);
extern h5_err_t
h5priv_hresize (
h5_file_t* const f,
size_t nel,
h5_hashtable_t* htab
);
extern h5_err_t
h5priv_hdestroy (
h5_file_t* f,
h5_hashtable_t* __htab
);
extern h5_err_t
h5priv_hcreate_string_keyed (
h5_file_t* const f,
size_t nel,
h5_hashtable_t* htab,
h5_err_t (*free_entry)(h5_file_t* const f, const void*)
h5_err_t (*free_entry)(const void*)
);
#endif
+4 -13
View File
@@ -15,7 +15,6 @@
*/
h5_err_t
h5priv_alloc_idlist (
h5_file_t* const f,
h5_loc_idlist_t** list,
const h5_size_t size
) {
@@ -28,7 +27,6 @@ h5priv_alloc_idlist (
h5_err_t
h5priv_free_idlist (
h5_file_t* const f,
h5_loc_idlist_t** list
) {
H5_PRIV_API_ENTER (h5_err_t);
@@ -40,7 +38,6 @@ h5priv_free_idlist (
static inline h5_err_t
grow_idlist (
h5_file_t* const f,
h5_loc_idlist_t** list,
size_t new_size
) {
@@ -56,14 +53,13 @@ grow_idlist (
*/
h5_loc_idx_t
h5priv_insert_idlist (
h5_file_t* const f,
h5_loc_idlist_t** list,
h5_loc_id_t id,
h5_loc_idx_t idx
) {
H5_PRIV_API_ENTER (h5_loc_idx_t);
if (*list == NULL) {
TRY (h5priv_alloc_idlist (f, list, 2));
TRY (h5priv_alloc_idlist (list, 2));
} else if ((*list)->num_items == (*list)->size) {
h5_size_t size = (*list)->size;
if (size == 0) {
@@ -71,7 +67,7 @@ h5priv_insert_idlist (
} else {
size *= 2;
}
TRY (grow_idlist (f, list, size));
TRY (grow_idlist (list, size));
}
h5_loc_idlist_t* l = *list;
if (idx == -1) {
@@ -92,12 +88,10 @@ h5priv_insert_idlist (
*/
h5_loc_id_t
h5priv_find_idlist (
h5_file_t* const f,
h5_loc_idlist_t* list,
const h5_loc_id_t item
) {
H5_PRIV_API_ENTER (h5_loc_id_t);
UNUSED_ARGUMENT (f);
if (!list) {
H5_PRIV_API_LEAVE (-1);
}
@@ -130,15 +124,14 @@ h5priv_find_idlist (
*/
h5_loc_idx_t
h5priv_search_idlist (
h5_file_t* const f,
h5_loc_idlist_t** list,
h5_loc_id_t item
) {
H5_PRIV_API_ENTER (h5_loc_idx_t);
h5_loc_idx_t idx = h5priv_find_idlist (f, *list, item);
h5_loc_idx_t idx = h5priv_find_idlist (*list, item);
if (idx < 0) {
idx = -(idx+1);
TRY (idx = h5priv_insert_idlist (f, list, item, idx));
TRY (idx = h5priv_insert_idlist (list, item, idx));
}
H5_PRIV_API_RETURN (idx);
}
@@ -146,7 +139,6 @@ h5priv_search_idlist (
h5_err_t
h5priv_alloc_idxmap (
h5_file_t* const f,
h5_idxmap_t* map,
const h5_size_t size
) {
@@ -161,7 +153,6 @@ h5priv_alloc_idxmap (
h5_err_t
h5priv_insert_idxmap (
h5_file_t* const f,
h5_idxmap_t* map,
h5_glb_idx_t glb_idx,
h5_loc_idx_t loc_idx
-9
View File
@@ -3,27 +3,23 @@
h5_err_t
h5priv_alloc_idlist (
h5_file_t * const f,
h5_loc_idlist_t **list,
const h5_size_t size
);
h5_err_t
h5priv_free_idlist (
h5_file_t * const f,
h5_loc_idlist_t **list
);
h5_loc_id_t
h5priv_find_idlist (
h5_file_t * const f,
h5_loc_idlist_t* list,
h5_loc_id_t item
);
h5_loc_idx_t
h5priv_insert_idlist (
h5_file_t * const f,
h5_loc_idlist_t** list,
h5_loc_id_t item,
h5_loc_idx_t idx
@@ -31,22 +27,17 @@ h5priv_insert_idlist (
h5_loc_idx_t
h5priv_search_idlist (
h5_file_t * const f,
h5_loc_idlist_t** list,
h5_loc_id_t item
);
h5_err_t
h5priv_alloc_idxmap (
h5_file_t * const f,
h5_idxmap_t *map,
const h5_size_t size
);
h5_err_t
h5priv_insert_idxmap (
h5_file_t * const f,
h5_idxmap_t *map,
h5_glb_idx_t glb_idx,
h5_loc_idx_t loc_idx
-12
View File
@@ -5,7 +5,6 @@
h5_err_t
h5priv_mpi_recv(
h5_file_t *const f,
void* buf,
const int count,
const MPI_Datatype type,
@@ -29,7 +28,6 @@ h5priv_mpi_recv(
h5_err_t
h5priv_mpi_send(
h5_file_t *f,
void* buf,
const int count,
const MPI_Datatype type,
@@ -52,7 +50,6 @@ h5priv_mpi_send(
h5_err_t
h5priv_mpi_bcast (
h5_file_t* const f,
void* buf,
const int count,
const MPI_Datatype type,
@@ -75,7 +72,6 @@ h5priv_mpi_bcast (
h5_err_t
h5priv_mpi_sum (
h5_file_t* const f,
void* sendbuf,
void* recvbuf,
const int count,
@@ -97,7 +93,6 @@ h5priv_mpi_sum (
h5_err_t
h5priv_mpi_prefix_sum (
h5_file_t* const f,
void* sendbuf,
void* recvbuf,
const int count,
@@ -119,7 +114,6 @@ h5priv_mpi_prefix_sum (
h5_err_t
h5priv_mpi_allgather (
h5_file_t* const f,
void* sendbuf,
const int sendcount,
const MPI_Datatype sendtype,
@@ -143,7 +137,6 @@ h5priv_mpi_allgather (
h5_err_t
h5priv_mpi_comm_size (
h5_file_t* const f,
MPI_Comm comm,
int* size
) {
@@ -156,7 +149,6 @@ h5priv_mpi_comm_size (
h5_err_t
h5priv_mpi_comm_rank (
h5_file_t* const f,
MPI_Comm comm,
int* rank
) {
@@ -168,7 +160,6 @@ h5priv_mpi_comm_rank (
h5_err_t
h5priv_mpi_type_contiguous (
h5_file_t* const f,
const size_t nelems,
const MPI_Datatype oldtype,
MPI_Datatype *const newtype
@@ -185,7 +176,6 @@ h5priv_mpi_type_contiguous (
h5_err_t
h5priv_mpi_type_free (
h5_file_t* const f,
MPI_Datatype *type
) {
int err = MPI_Type_free( type );
@@ -196,7 +186,6 @@ h5priv_mpi_type_free (
h5_err_t
h5priv_mpi_cart_create (
h5_file_t* const f,
MPI_Comm old_comm,
int ndims,
int *dims,
@@ -213,7 +202,6 @@ h5priv_mpi_cart_create (
h5_err_t
h5priv_mpi_cart_coords (
h5_file_t* const f,
MPI_Comm comm,
int rank,
int maxdim,
-12
View File
@@ -4,7 +4,6 @@
#ifdef PARALLEL_IO
h5_err_t
h5priv_mpi_recv(
h5_file_t *f,
void* buf,
const int count,
const MPI_Datatype type,
@@ -15,7 +14,6 @@ h5priv_mpi_recv(
h5_err_t
h5priv_mpi_send(
h5_file_t *f,
void* buf,
const int count,
const MPI_Datatype type,
@@ -26,7 +24,6 @@ h5priv_mpi_send(
h5_err_t
h5priv_mpi_bcast (
h5_file_t* const f,
void* buf,
const int count,
const MPI_Datatype type,
@@ -36,7 +33,6 @@ h5priv_mpi_bcast (
h5_err_t
h5priv_mpi_sum (
h5_file_t* const f,
void* sendbuf,
void* recvbuf,
const int count,
@@ -46,7 +42,6 @@ h5priv_mpi_sum (
h5_err_t
h5priv_mpi_prefix_sum (
h5_file_t* const f,
void* sendbuf,
void* recvbuf,
const int count,
@@ -56,7 +51,6 @@ h5priv_mpi_prefix_sum (
h5_err_t
h5priv_mpi_allgather (
h5_file_t* const f,
void* sendbuf,
const int sendcount,
const MPI_Datatype sendtype,
@@ -68,21 +62,18 @@ h5priv_mpi_allgather (
h5_err_t
h5priv_mpi_comm_size (
h5_file_t* const f,
MPI_Comm comm,
int* size
);
h5_err_t
h5priv_mpi_comm_rank (
h5_file_t* const f,
MPI_Comm comm,
int* rank
);
h5_err_t
h5priv_mpi_type_contiguous (
h5_file_t* const f,
const size_t nelems,
const MPI_Datatype oldtype,
MPI_Datatype *newtype
@@ -90,13 +81,11 @@ h5priv_mpi_type_contiguous (
h5_err_t
h5priv_mpi_type_free (
h5_file_t* const f,
MPI_Datatype *type
);
h5_err_t
h5priv_mpi_cart_create (
h5_file_t* const f,
MPI_Comm old_comm,
int ndims,
int *dims,
@@ -107,7 +96,6 @@ h5priv_mpi_cart_create (
h5_err_t
h5priv_mpi_cart_coords (
h5_file_t* const f,
MPI_Comm comm,
int rank,
int maxdim,
+11 -9
View File
@@ -110,8 +110,7 @@ h5bpriv_open_file (
#if defined(PARALLEL_IO)
size_t n = sizeof (struct h5b_partition) / sizeof (h5_int64_t);
TRY (h5priv_mpi_type_contiguous(f,
n, MPI_LONG_LONG, &b->partition_mpi_t));
TRY (h5priv_mpi_type_contiguous(n, MPI_LONG_LONG, &b->partition_mpi_t));
#endif
memset (b->user_layout, 0, sizeof(*b->user_layout));
memset (b->write_layout, 0, sizeof(*b->write_layout));
@@ -159,8 +158,8 @@ h5_open_file (
#ifdef PARALLEL_IO
f->comm = comm;
TRY2 (h5priv_mpi_comm_size (f, comm, &f->nprocs));
TRY2 (h5priv_mpi_comm_rank (f, comm, &f->myproc));
TRY2 (h5priv_mpi_comm_size (comm, &f->nprocs));
TRY2 (h5priv_mpi_comm_rank (comm, &f->myproc));
/* xfer_prop: also used for parallel I/O, during actual writes
rather than the access_prop which is for file creation. */
@@ -292,7 +291,7 @@ h5bpriv_close_file (
TRY (hdf5_close_dataspace (b->memshape));
TRY (hdf5_close_property (b->dcreate_prop));
#if defined(PARALLEL_IO)
TRY (h5priv_mpi_type_free (f, &b->partition_mpi_t));
TRY (h5priv_mpi_type_free (&b->partition_mpi_t));
#endif
TRY (h5_free (f->b));
f->b = NULL;
@@ -379,7 +378,7 @@ h5_get_stepname_fmt (
UNUSED_ARGUMENT (name);
UNUSED_ARGUMENT (l_name);
UNUSED_ARGUMENT (width);
return h5_error_not_implemented (__FILE__, __func__, __LINE__);
return h5_error_not_implemented ();
}
/*!
@@ -393,7 +392,8 @@ h5_id_t
h5_get_step (
h5_file_t* const f /*!< file handle */
) {
return h5_error_not_implemented (__FILE__, __func__, __LINE__);
UNUSED_ARGUMENT (f);
return h5_error_not_implemented ();
}
/*!
@@ -453,7 +453,8 @@ h5_err_t
h5_start_traverse_steps (
h5_file_t* const f /*!< file handle */
) {
return h5_error_not_implemented (__FILE__, __func__, __LINE__);
UNUSED_ARGUMENT (f);
return h5_error_not_implemented ();
}
/*!
@@ -467,7 +468,8 @@ h5_err_t
h5_traverse_steps (
h5_file_t* const f /*!< file handle */
) {
return h5_error_not_implemented (__FILE__, __func__, __LINE__);
UNUSED_ARGUMENT (f);
return h5_error_not_implemented ();
}
char *
+3 -5
View File
@@ -179,7 +179,6 @@ h5_set_step (
*/
h5_int64_t
h5_normalize_h5_type (
h5_file_t* const f,
hid_t type
) {
H5_CORE_API_ENTER (h5_int64_t);
@@ -219,13 +218,14 @@ h5_get_dataset_type(
hid_t group_id,
const char* dset_name
) {
UNUSED_ARGUMENT (f);
H5_CORE_API_ENTER (h5_int64_t);
hid_t dset_id;
hid_t hdf5_type;
h5_int64_t type;
TRY (dset_id = hdf5_open_dataset (group_id, dset_name));
TRY (hdf5_type = hdf5_get_dataset_type (dset_id));
TRY (type = h5_normalize_h5_type (f, hdf5_type));
TRY (type = h5_normalize_h5_type (hdf5_type));
TRY (hdf5_close_type (hdf5_type));
TRY (hdf5_close_dataset (dset_id));
@@ -247,7 +247,6 @@ h5_has_step (
h5_err_t
h5_normalize_dataset_name (
h5_file_t *const f,
const char *name,
char *name2
) {
@@ -301,7 +300,7 @@ h5_start_throttle (
h5_debug ("[%d] throttle: waiting on token from %d",
f->myproc, f->myproc - f->throttle);
// wait to receive token before continuing with read
TRY( h5priv_mpi_recv(f,
TRY( h5priv_mpi_recv(
&token, 1, MPI_INT,
f->myproc - f->throttle, // receive from previous proc
f->myproc, // use this proc id as message tag
@@ -325,7 +324,6 @@ h5_end_throttle (
h5_debug ("[%d] throttle: passing token to %d",
f->myproc, f->myproc + f->throttle);
TRY (h5priv_mpi_send(
f,
&token, 1, MPI_INT,
f->myproc + f->throttle, // send to next proc
f->myproc + f->throttle, // use the id of the target as tag
+9 -9
View File
@@ -239,7 +239,7 @@ _dissolve_ghostzone (
h5b_partition_t *const p, /*!< IN/OUT: ptr to first partition */
h5b_partition_t *const q /*!< IN/OUT: ptr to second partition */
) {
UNUSED_ARGUMENT (f);
h5b_partition_t p_;
h5b_partition_t q_;
h5b_partition_t p_best;
@@ -458,7 +458,7 @@ h5bpriv_have_field_group (
) {
H5_CORE_API_ENTER (h5_err_t);
char name2[H5_DATANAME_LEN];
h5_normalize_dataset_name(f, name, name2);
h5_normalize_dataset_name (name, name2);
TRY( h5bpriv_open_block_group(f) );
H5_CORE_API_RETURN (hdf5_link_exists(f->b->block_gid, name2));
@@ -471,7 +471,7 @@ h5bpriv_open_field_group (
) {
H5_CORE_API_ENTER (h5_err_t);
char name2[H5_DATANAME_LEN];
h5_normalize_dataset_name(f, name, name2);
h5_normalize_dataset_name (name, name2);
TRY (hdf5_close_group (f->b->field_gid));
TRY (h5bpriv_open_block_group (f));
@@ -495,7 +495,7 @@ h5bpriv_create_field_group (
TRY( _create_block_group(f) );
char name2[H5_DATANAME_LEN];
h5_normalize_dataset_name(f, name, name2);
h5_normalize_dataset_name (name, name2);
h5_err_t exists;
TRY (exists = hdf5_link_exists ( b->block_gid, name2));
@@ -546,7 +546,7 @@ h5b_3d_set_view (
TRY( user_layout = h5_alloc (NULL, size) );
TRY( write_layout = h5_alloc (NULL, size) );
TRY( h5priv_mpi_allgather(f,
TRY( h5priv_mpi_allgather(
p, 1, f->b->partition_mpi_t,
user_layout, 1, f->b->partition_mpi_t, f->comm) );
@@ -716,7 +716,7 @@ h5b_3d_set_grid (
int dims[3] = { k, j, i };
int period[3] = { 0, 0, 0 };
TRY( h5priv_mpi_cart_create(f,
TRY( h5priv_mpi_cart_create(
f->comm, 3, dims, period, 0, &f->b->cart_comm) );
f->b->have_grid = 1;
@@ -739,7 +739,7 @@ h5b_3d_get_grid_coords (
"Grid dimensions have not been set!"));
int coords[3];
TRY( h5priv_mpi_cart_coords(f, f->b->cart_comm, proc, 3, coords) );
TRY( h5priv_mpi_cart_coords(f->b->cart_comm, proc, 3, coords) );
*k = coords[0];
*j = coords[1];
*i = coords[2];
@@ -762,7 +762,7 @@ h5b_3d_set_dims (
h5_size_t dims[3] = { k, j, i };
h5_size_t check_dims[3] = { k, j, i };
TRY( h5priv_mpi_bcast(f,
TRY( h5priv_mpi_bcast(
check_dims, 3, MPI_LONG_LONG, 0, f->comm) );
if ( dims[0] != check_dims[0] ||
@@ -885,7 +885,7 @@ h5b_get_field_info_by_name (
TRY (h5type = hdf5_get_dataset_type (dataset_id));
if ( type )
TRY( *type = h5_normalize_h5_type(f, h5type) );
TRY( *type = h5_normalize_h5_type(h5type) );
TRY (hdf5_close_dataspace (dataspace_id));
TRY (hdf5_close_dataset (dataset_id));
+1 -1
View File
@@ -326,7 +326,7 @@ is_boundary_face (
UNUSED_ARGUMENT (elem_idx);
UNUSED_ARGUMENT (facet_idx);
return h5_error_internal (__FILE__, __func__, __LINE__);
return h5_error_internal ();
}
struct h5t_access_methods h5tpriv_access_tetm_methods = {
+1 -1
View File
@@ -322,7 +322,7 @@ is_boundary_face (
UNUSED_ARGUMENT (dim);
UNUSED_ARGUMENT (elem_idx);
UNUSED_ARGUMENT (facet_idx);
return h5_error_internal (__FILE__, __func__, __LINE__);
return h5_error_internal ();
}
struct h5t_access_methods h5tpriv_access_trim_methods = {
+3 -2
View File
@@ -32,8 +32,9 @@ h5t_release_list_of_adjacencies (
h5_file_t* const f,
h5_loc_idlist_t** list
) {
H5_CORE_API_ENTER (h5_err_t);;
H5_CORE_API_RETURN (h5priv_free_idlist (f, list));
UNUSED_ARGUMENT (f);
H5_CORE_API_ENTER (h5_err_t);
H5_CORE_API_RETURN (h5priv_free_idlist (list));
}
h5_err_t
+1 -2
View File
@@ -21,8 +21,7 @@ h5tpriv_get_adjacencies (
) {
H5_PRIV_API_ENTER (h5_err_t);
if (f->t->methods.adjacency == NULL) {
H5_PRIV_API_LEAVE (
h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_API_LEAVE (h5_error_internal ());
}
H5_PRIV_API_RETURN (f->t->methods.adjacency->get_adjacencies(
f, entity_id, dim, list));
+52 -55
View File
@@ -56,7 +56,7 @@ release_tv (
h5_loc_idx_t vertex_idx = 0;
h5_loc_idx_t last = t->num_vertices[t->num_leaf_levels-1];
for (; vertex_idx < last; vertex_idx++) {
TRY( h5priv_free_idlist (f, &adj->tv.v[vertex_idx]) );
TRY( h5priv_free_idlist (&adj->tv.v[vertex_idx]) );
}
TRY( h5_free (adj->tv.v) );
adj->tv.v = NULL;
@@ -154,7 +154,7 @@ compute_children_of_edge (
h5_loc_idx_t face_idx = h5tpriv_get_face_idx (*edge_idp);
h5_loc_tet_t* elem = &f->t->loc_elems.tets[elem_idx];
if (h5tpriv_is_leaf_elem (f, elem)) {
TRY( h5priv_insert_idlist (f, children, *edge_idp, -1) );
TRY( h5priv_insert_idlist (children, *edge_idp, -1) );
} else {
h5_loc_id_t edge_ids[2];
TRY( h5tpriv_get_direct_children_of_edge (
@@ -201,7 +201,7 @@ compute_sections_of_edge (
}
} while (++edge_idp < end);
if (!refined) {
TRY( h5priv_insert_idlist (f, children, te->items[0], -1) );
TRY( h5priv_insert_idlist (children, te->items[0], -1) );
}
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -253,8 +253,7 @@ compute_direct_children_of_triangle (
};
int num_faces = h5tpriv_ref_elem_get_num_facets (f->t);
if ((face_idx < 0) || (face_idx >= num_faces)) {
H5_PRIV_FUNC_LEAVE (
h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_LEAVE (h5_error_internal ());
}
children[0] = h5tpriv_build_triangle_id (
map[face_idx][0][0], elem_idx+map[face_idx][0][1]);
@@ -283,7 +282,7 @@ compute_children_of_triangle (
h5_loc_idx_t face_idx = h5tpriv_get_face_idx (*triangle_idp);
h5_loc_tet_t* elem = &f->t->loc_elems.tets[elem_idx];
if (h5tpriv_is_leaf_elem (f, elem)) {
TRY( h5priv_insert_idlist (f, children, *triangle_idp, -1) );
TRY( h5priv_insert_idlist (children, *triangle_idp, -1) );
} else {
h5_loc_id_t triangle_ids[4] = {-1,-1,-1,-1};
TRY( compute_direct_children_of_triangle (
@@ -331,7 +330,7 @@ compute_sections_of_triangle (
}
} while (++triangle_idp < end);
if (! refined) {
TRY( h5priv_insert_idlist (f, children, td->items[0], -1) );
TRY( h5priv_insert_idlist (children, td->items[0], -1) );
}
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -349,7 +348,7 @@ add_vertex2 (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* tv;
TRY( h5tpriv_find_tv2 (f, face_idx, elem_idx, &tv) );
TRY( h5priv_search_idlist (f, list, tv->items[0]) );
TRY( h5priv_search_idlist (list, tv->items[0]) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -365,7 +364,7 @@ add_edge (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* te;
TRY( h5tpriv_find_te (f, entity_id, &te) );
TRY( h5priv_search_idlist (f, list, te->items[0]) );
TRY( h5priv_search_idlist (list, te->items[0]) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -379,7 +378,7 @@ add_edge2 (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* te;
TRY( h5tpriv_find_te2 (f, face_idx, elem_idx, &te) );
TRY( h5priv_search_idlist (f, list, te->items[0]) );
TRY( h5priv_search_idlist (list, te->items[0]) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -395,7 +394,7 @@ add_triangle (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* td;
TRY( h5tpriv_find_td (f, entity_id, &td) );
TRY( h5priv_search_idlist (f, list, td->items[0]) );
TRY( h5priv_search_idlist (list, td->items[0]) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -410,20 +409,19 @@ add_triangle2 (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* td;
TRY( h5tpriv_find_td2 (f, face_idx, elem_idx, &td) );
TRY( h5priv_search_idlist (f, list, td->items[0]) );
TRY( h5priv_search_idlist (list, td->items[0]) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
static inline h5_err_t
add_elem2 (
h5_file_t* const f, // in
h5_loc_idlist_t** list, // out
h5_loc_idx_t elem_idx // in
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_id_t elem_id = h5tpriv_build_tet_id (0, elem_idx);
TRY( h5priv_search_idlist (f, list, elem_id) );
TRY( h5priv_search_idlist (list, elem_id) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -442,7 +440,7 @@ get_edges_uadj_to_vertex (
TRY( h5t_get_vertex_index_of_vertex (f, entity_id, &vertex_idx) );
h5_loc_idlist_t* tv = f->t->adjacencies.tv.v[vertex_idx];
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* vertex_idp = tv->items;
h5_loc_id_t* end = vertex_idp + tv->num_items;
do {
@@ -484,7 +482,7 @@ get_triangles_uadj_to_vertex (
h5_loc_idlist_t* tv = f->t->adjacencies.tv.v[vertex_idx];
// build list of upward adjacent triangles
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* vertex_idp = tv->items;
h5_loc_id_t* end = vertex_idp + tv->num_items;
do {
@@ -521,7 +519,7 @@ get_tets_uadj_to_vertex (
TRY( h5t_get_vertex_index_of_vertex (f, entity_id, &vertex_idx) );
h5_loc_idlist_t* tv = f->t->adjacencies.tv.v[vertex_idx];
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* vertex_idp = tv->items;
h5_loc_id_t* end = vertex_idp + tv->num_items;
do {
@@ -530,7 +528,7 @@ get_tets_uadj_to_vertex (
if (!h5tpriv_is_leaf_elem (f, elem)) {
continue;
}
TRY( add_elem2 (f, list, elem_idx) );
TRY( add_elem2 (list, elem_idx) );
} while (++vertex_idp < end);
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -543,9 +541,9 @@ get_triangles_uadj_to_edge (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
TRY( compute_children_of_edge (f, entity_id, &children) );
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = children->items+children->num_items;
do {
@@ -560,7 +558,7 @@ get_triangles_uadj_to_edge (
f->t, 1, face_idx, 1),
elem_idx) );
} while (++edge_idp < end);
TRY( h5priv_free_idlist ( f, &children) );
TRY (h5priv_free_idlist (&children));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -573,15 +571,15 @@ get_tets_uadj_to_edge (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
TRY( compute_children_of_edge (f, entity_id, &children) );
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = children->items+children->num_items;
do {
TRY( add_elem2 (f, list, h5tpriv_get_elem_idx (*edge_idp)) );
TRY( add_elem2 (list, h5tpriv_get_elem_idx (*edge_idp)) );
} while (++edge_idp < end);
TRY( h5priv_free_idlist (f, &children) );
TRY( h5priv_free_idlist (&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -593,15 +591,15 @@ get_tets_uadj_to_triangle (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
TRY( compute_children_of_triangle (f, entity_id, &children) );
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* triangle_idp = children->items;
h5_loc_id_t* end = triangle_idp + children->num_items;
do {
TRY( add_elem2 (f, list, h5tpriv_get_elem_idx (*triangle_idp)) );
TRY( add_elem2 (list, h5tpriv_get_elem_idx (*triangle_idp)) );
} while (++triangle_idp < end);
TRY( h5priv_free_idlist (f, &children) );
TRY( h5priv_free_idlist (&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -613,10 +611,10 @@ get_vertices_dadj_to_edge (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
TRY( compute_sections_of_edge (f, entity_id, &children) );
// build list of unique vertex IDs
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = edge_idp + children->num_items;
do {
@@ -632,7 +630,7 @@ get_vertices_dadj_to_edge (
f->t, 1, face_idx, 1),
elem_idx) );
} while (++edge_idp < end);
TRY( h5priv_free_idlist(f, &children) );
TRY( h5priv_free_idlist(&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -647,7 +645,7 @@ get_vertices_dadj_to_triangle (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (entity_id);
h5_loc_idx_t face_idx = h5tpriv_get_face_idx (entity_id);
h5_loc_idx_t edge_idx;
@@ -661,7 +659,7 @@ get_vertices_dadj_to_triangle (
&children) );
}
// build list of unique vertex IDs
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = edge_idp + children->num_items;
do {
@@ -677,7 +675,7 @@ get_vertices_dadj_to_triangle (
f->t, 1, edge_idx, 1),
elem_idx) );
} while (++edge_idp < end );
TRY( h5priv_free_idlist(f, &children) );
TRY( h5priv_free_idlist(&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -693,7 +691,7 @@ get_vertices_dadj_to_tet (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (entity_id);
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
// loop over all edges of tetrahedron
h5_loc_idx_t edge_idx = h5tpriv_ref_elem_get_num_edges(f->t);
while (--edge_idx >= 0) {
@@ -703,7 +701,7 @@ get_vertices_dadj_to_tet (
&children) );
}
// build list of unique vertex IDs
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = edge_idp + children->num_items;
do {
@@ -719,7 +717,7 @@ get_vertices_dadj_to_tet (
f->t, 1, edge_idx, 1),
elem_idx) );
} while (++edge_idp < end);
TRY( h5priv_free_idlist(f, &children) );
TRY( h5priv_free_idlist(&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -731,7 +729,7 @@ get_edges_dadj_to_triangle (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
h5_loc_idx_t face_idx = h5tpriv_get_face_idx (entity_id);
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (entity_id);
// loop over all three edges of triangle
@@ -746,13 +744,13 @@ get_edges_dadj_to_triangle (
&children) );
}
// build list of unique edge IDs
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = edge_idp + children->num_items;
do {
TRY( add_edge (f, list, *edge_idp) );
} while (++edge_idp < end);
TRY( h5priv_free_idlist (f, &children) );
TRY( h5priv_free_idlist (&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -764,7 +762,7 @@ get_edges_dadj_to_tet (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (elem_id);
// loop over all edges of tet
@@ -776,13 +774,13 @@ get_edges_dadj_to_tet (
&children) );
}
// build list of unique edge IDs
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = edge_idp + children->num_items;
do {
TRY( add_edge (f, list, *edge_idp) );
} while (++edge_idp < end);
TRY( h5priv_free_idlist (f, &children) );
TRY( h5priv_free_idlist (&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -794,7 +792,7 @@ get_triangles_dadj_to_tet (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (entity_id);
// loop over all triangle of element
h5_loc_idx_t triangle_idx = h5tpriv_ref_elem_get_num_facets(f->t);
@@ -804,19 +802,18 @@ get_triangles_dadj_to_tet (
h5tpriv_build_edge_id (triangle_idx, elem_idx),
&children) );
}
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* triangle_idp = children->items;
h5_loc_id_t* end = triangle_idp + children->num_items;
do {
TRY( add_triangle (f, list, *triangle_idp) );
} while (++triangle_idp < end);
TRY( h5priv_free_idlist (f, &children) );
TRY( h5priv_free_idlist (&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
static inline h5_err_t
dim_error(
h5_file_t* const f,
const h5_int32_t dim
) {
return h5_error (
@@ -839,7 +836,7 @@ get_adjacencies_to_vertex (
case 3:
return get_tets_uadj_to_vertex(f, entity_id, list);
default:
return dim_error (f, dim);
return dim_error (dim);
}
}
@@ -858,7 +855,7 @@ get_adjacencies_to_edge (
case 3:
return get_tets_uadj_to_edge(f, entity_id, list);
default:
return dim_error (f, dim);
return dim_error (dim);
}
}
@@ -877,7 +874,7 @@ get_adjacencies_to_triangle (
case 3:
return get_tets_uadj_to_triangle(f, entity_id, list);
default:
return dim_error (f, dim);
return dim_error (dim);
}
}
@@ -896,7 +893,7 @@ get_adjacencies_to_tet (
case 2:
return get_triangles_dadj_to_tet(f, entity_id, list);
default:
return dim_error (f, dim);
return dim_error (dim);
}
}
@@ -920,7 +917,7 @@ get_adjacencies (
default:
break;
}
return h5_error_internal (__FILE__, __func__, __LINE__);
return h5_error_internal ();
}
@@ -956,8 +953,8 @@ release_internal_structs (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5t_fdata_t* t = f->t;
TRY( release_tv (f) );
TRY( h5priv_hdestroy (f, &t->adjacencies.te_hash) );
TRY( h5priv_hdestroy (f, &t->adjacencies.td_hash) );
TRY( h5priv_hdestroy (&t->adjacencies.te_hash) );
TRY( h5priv_hdestroy (&t->adjacencies.td_hash) );
bzero (&t->adjacencies, sizeof (t->adjacencies));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
+34 -36
View File
@@ -49,7 +49,7 @@ release_tv (
h5_loc_idx_t vertex_idx = 0;
h5_loc_idx_t last = t->num_vertices[t->num_leaf_levels-1];
for (; vertex_idx < last; vertex_idx++) {
TRY( h5priv_free_idlist (f, &adj->tv.v[vertex_idx]) );
TRY( h5priv_free_idlist (&adj->tv.v[vertex_idx]) );
}
TRY( h5_free (adj->tv.v) );
adj->tv.v = NULL;
@@ -124,7 +124,7 @@ compute_children_of_edge (
h5_loc_idx_t face_idx = h5tpriv_get_face_idx (*edge_idp);
h5_loc_triangle_t *elem = &f->t->loc_elems.tris[elem_idx];
if (h5tpriv_is_leaf_elem (f, elem)) {
TRY( h5priv_insert_idlist (f, children, *edge_idp, -1) );
TRY( h5priv_insert_idlist (children, *edge_idp, -1) );
} else {
h5_loc_id_t edge_ids[2];
TRY( h5tpriv_get_direct_children_of_edge (
@@ -172,7 +172,7 @@ compute_sections_of_edge (
}
} while (++edge_idp < end);
if (!refined) {
TRY( h5priv_insert_idlist (f, children, te->items[0], -1) );
TRY( h5priv_insert_idlist (children, te->items[0], -1) );
}
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -190,7 +190,7 @@ add_vertex2 (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* tv;
TRY( h5tpriv_find_tv2 (f, face_idx, elem_idx, &tv) );
TRY( h5priv_search_idlist (f, list, tv->items[0]) );
TRY( h5priv_search_idlist (list, tv->items[0]) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -206,7 +206,7 @@ add_edge (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* te;
TRY( h5tpriv_find_te (f, entity_id, &te) );
TRY( h5priv_search_idlist (f, list, te->items[0]) );
TRY( h5priv_search_idlist (list, te->items[0]) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -220,19 +220,18 @@ add_edge2 (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t *te;
TRY( h5tpriv_find_te2 (f, face_idx, elem_idx, &te) );
TRY( h5priv_search_idlist (f, list, te->items[0]) );
TRY( h5priv_search_idlist (list, te->items[0]) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
static inline h5_err_t
add_elem2 (
h5_file_t* const f, // in
h5_loc_idlist_t** list, // out
h5_loc_idx_t elem_idx // in
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_id_t elem_id = h5tpriv_build_triangle_id (0, elem_idx);
TRY( h5priv_search_idlist (f, list, elem_id) );
TRY( h5priv_search_idlist (list, elem_id) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -251,7 +250,7 @@ get_edges_uadj_to_vertex (
TRY( h5t_get_vertex_index_of_vertex (f, entity_id, &vertex_idx) );
h5_loc_idlist_t* tv = f->t->adjacencies.tv.v[vertex_idx];
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* vertex_idp = tv->items;
h5_loc_id_t* end = vertex_idp + tv->num_items;
do {
@@ -285,7 +284,7 @@ get_triangles_uadj_to_vertex (
TRY( h5t_get_vertex_index_of_vertex (f, entity_id, &vertex_idx) );
h5_loc_idlist_t* tv = f->t->adjacencies.tv.v[vertex_idx];
TRY ( h5priv_alloc_idlist ( f, list, 8 ) );
TRY ( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t *vertex_idp = tv->items;
h5_loc_id_t* end = vertex_idp + tv->num_items;
do {
@@ -295,7 +294,7 @@ get_triangles_uadj_to_vertex (
if (!h5tpriv_is_leaf_elem (f, elem)) {
continue;
}
TRY( add_elem2 (f, list, elem_idx) );
TRY (add_elem2 (list, elem_idx));
} while (++vertex_idp < end);
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -308,16 +307,16 @@ get_triangles_uadj_to_edge (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
TRY( compute_children_of_edge (f, entity_id, &children) );
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t *edge_idp = children->items;
h5_loc_id_t *end = children->items+children->num_items;
do {
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (*edge_idp);
TRY( add_elem2 (f, list, elem_idx) );
TRY (add_elem2 (list, elem_idx));
} while (++edge_idp < end);
TRY( h5priv_free_idlist (f, &children) );
TRY( h5priv_free_idlist (&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -329,17 +328,17 @@ get_edges_adj_to_edge (
h5_loc_idlist_t** list
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
TRY( compute_sections_of_edge (f, entity_id, &children) );
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = children->items+children->num_items;
do {
TRY( add_edge (f, list, *edge_idp) );
} while (++edge_idp < end);
TRY( h5priv_free_idlist(f, &children) );
TRY( h5priv_free_idlist(&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -351,9 +350,9 @@ get_vertices_dadj_to_edge (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY( h5priv_alloc_idlist (f, &children, 8) );
TRY( h5priv_alloc_idlist (&children, 8) );
TRY( compute_sections_of_edge (f, entity_id, &children) );
TRY( h5priv_alloc_idlist (f, list, 8) );
TRY( h5priv_alloc_idlist (list, 8) );
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = edge_idp + children->num_items;
do {
@@ -369,7 +368,7 @@ get_vertices_dadj_to_edge (
f->t, 1, face_idx, 1),
elem_idx) );
} while (++edge_idp < end);
TRY( h5priv_free_idlist (f, &children) );
TRY( h5priv_free_idlist (&children) );
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -384,7 +383,7 @@ get_vertices_dadj_to_triangle (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY ( h5priv_alloc_idlist ( f, &children, 8 ) );
TRY (h5priv_alloc_idlist (&children, 8));
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx ( entity_id );
// loop over all edges of triangle
@@ -396,12 +395,12 @@ get_vertices_dadj_to_triangle (
h5tpriv_build_edge_id (face_idx, elem_idx),
&children) );
}
TRY ( h5priv_alloc_idlist (f, list, 8) );
TRY (h5priv_alloc_idlist (list, 8));
h5_loc_id_t *edge_idp = children->items;
h5_loc_id_t *end = edge_idp + children->num_items;
do {
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (*edge_idp);
h5_loc_idx_t face_idx = h5tpriv_get_face_idx (*edge_idp);
elem_idx = h5tpriv_get_elem_idx (*edge_idp);
face_idx = h5tpriv_get_face_idx (*edge_idp);
TRY( add_vertex2 (f, list,
h5tpriv_ref_elem_get_vertex_idx (
@@ -412,7 +411,7 @@ get_vertices_dadj_to_triangle (
f->t, 1, face_idx, 1),
elem_idx) );
} while (++edge_idp < end);
TRY ( h5priv_free_idlist(f, &children) );
TRY (h5priv_free_idlist(&children));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -424,7 +423,7 @@ get_edges_dadj_to_triangle (
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5_loc_idlist_t* children;
TRY ( h5priv_alloc_idlist (f, &children, 8) );
TRY (h5priv_alloc_idlist (&children, 8));
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (entity_id);
// loop over all edges of triangle
h5_loc_idx_t edge_idx = h5tpriv_ref_elem_get_num_edges (f->t);
@@ -434,19 +433,18 @@ get_edges_dadj_to_triangle (
h5tpriv_build_edge_id (edge_idx, elem_idx),
&children) );
}
TRY ( h5priv_alloc_idlist (f, list, 8) );
TRY (h5priv_alloc_idlist (list, 8));
h5_loc_id_t* edge_idp = children->items;
h5_loc_id_t* end = edge_idp + children->num_items;
do {
TRY( add_edge (f, list, *edge_idp) );
} while (++edge_idp < end);
TRY ( h5priv_free_idlist(f, &children) );
TRY (h5priv_free_idlist(&children));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
static inline h5_err_t
dim_error(
h5_file_t* const f,
const h5_int32_t dim
) {
return h5_error (
@@ -467,7 +465,7 @@ get_adjacencies_to_vertex (
case 2:
return get_triangles_uadj_to_vertex(f, entity_id, list);
default:
return dim_error (f, dim);
return dim_error (dim);
}
}
@@ -486,7 +484,7 @@ get_adjacencies_to_edge (
case 2:
return get_triangles_uadj_to_edge(f, entity_id, list);
default:
return dim_error (f, dim);
return dim_error (dim);
}
}
@@ -503,7 +501,7 @@ get_adjacencies_to_triangle (
case 1:
return get_edges_dadj_to_triangle(f, entity_id, list);
default:
return dim_error (f, dim);
return dim_error (dim);
}
}
@@ -525,7 +523,7 @@ get_adjacencies (
default:
break;
}
return h5_error_internal (__FILE__, __func__, __LINE__);
return h5_error_internal ();
}
static inline h5_err_t
@@ -556,7 +554,7 @@ release_internal_structs (
H5_PRIV_FUNC_ENTER (h5_err_t);
h5t_fdata_t *t = f->t;
TRY( release_tv (f) );
TRY( h5priv_hdestroy (f, &t->adjacencies.te_hash) );
TRY( h5priv_hdestroy (&t->adjacencies.te_hash) );
bzero (&t->adjacencies, sizeof (t->adjacencies));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
+1 -2
View File
@@ -21,7 +21,7 @@ h5tpriv_error_local_elem_nexist (
"%lld,", (long long)vertex_indices[i]);
if ((sizeof (s) - num_chars_printed) < 32) {
// buffer to small
return h5_error_internal (__FILE__, __func__, __LINE__);
return h5_error_internal ();
}
}
@@ -30,7 +30,6 @@ h5tpriv_error_local_elem_nexist (
static inline h5_err_t
h5tpriv_inval_codim (
h5_file_t * const f,
int codim,
int min_codim,
int max_codim
+13 -24
View File
@@ -7,9 +7,9 @@
h5_err_t
h5tpriv_search_tv2 (
h5_file_t* const f,
h5_loc_idx_t face_idx,
h5_loc_idx_t elem_idx,
h5_loc_idlist_t** idlist
h5_loc_idx_t face_idx, // in
h5_loc_idx_t elem_idx, // in
h5_loc_idlist_t** idlist // out
) {
H5_PRIV_API_ENTER (h5_err_t);
h5t_fdata_t* t = f->t;
@@ -21,9 +21,12 @@ h5tpriv_search_tv2 (
&vertex_idx));
TRY (h5priv_search_idlist (
f,
&t->adjacencies.tv.v[vertex_idx],
h5tpriv_build_vertex_id (face_idx, elem_idx)));
if (idlist) {
*idlist = t->adjacencies.tv.v[vertex_idx];
}
H5_PRIV_API_RETURN (H5_SUCCESS);
}
@@ -57,13 +60,12 @@ compute_te_hashval (
static h5_err_t
release_te_entry (
h5_file_t * const f,
const void* __entry
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
struct h5_te_entry* entry = *(struct h5_te_entry**)__entry;
h5_loc_idlist_t* list = entry->value;
TRY (h5priv_free_idlist (f, &list));
TRY (h5priv_free_idlist (&list));
TRY (h5_free (entry));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -77,14 +79,13 @@ h5tpriv_resize_te_htab (
h5t_adjacencies_t* a = &f->t->adjacencies;
if ( a->te_hash.size == 0 ) {
TRY (h5priv_hcreate (
f,
nel,
&a->te_hash,
cmp_te_entries,
compute_te_hashval,
release_te_entry));
} else if (a->te_hash.size < nel) {
TRY (h5priv_hresize (f, nel, &a->te_hash));
TRY (h5priv_hresize (nel, &a->te_hash));
}
H5_PRIV_API_RETURN (H5_SUCCESS);
}
@@ -121,19 +122,16 @@ h5tpriv_search_te2 (
*/
h5_loc_idx_t num_elems = t->num_elems[t->num_leaf_levels-1];
TRY (h5priv_hresize (
f,
3*(num_elems - elem_idx),
&a->te_hash));
}
TRY (h5priv_hsearch (
f,
entry,
H5_ENTER,
&__retval,
&a->te_hash));
h5t_te_entry_t* te_entry = (h5t_te_entry_t *)__retval;
TRY (h5priv_search_idlist (
f,
&te_entry->value,
h5tpriv_build_edge_id (face_idx, elem_idx)));
if (te_entry->value->num_items > 1) {
@@ -160,7 +158,6 @@ find_te (
H5_PRIV_FUNC_ENTER (h5_err_t);
void* __entry;
TRY (h5priv_hsearch (
f,
item,
H5_FIND,
&__entry,
@@ -244,13 +241,12 @@ compute_td_hashval (
static h5_err_t
release_td_entry (
h5_file_t * const f,
const void* __entry
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
struct h5_td_entry* entry = *(struct h5_td_entry**)__entry;
h5_loc_idlist_t* list = entry->value;
TRY (h5priv_free_idlist (f, &list));
TRY (h5priv_free_idlist (&list));
TRY (h5_free (entry));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -265,14 +261,13 @@ h5tpriv_resize_td_htab (
h5t_adjacencies_t* a = &f->t->adjacencies;
if (a->td_hash.size == 0) {
TRY (h5priv_hcreate (
f,
nel,
&a->td_hash,
cmp_td_entries,
compute_td_hashval,
release_td_entry));
} else if (a->td_hash.size < nel) {
TRY (h5priv_hresize (f, nel, &a->td_hash));
TRY (h5priv_hresize (nel, &a->td_hash));
}
H5_PRIV_API_RETURN (H5_SUCCESS);
}
@@ -299,14 +294,10 @@ h5tpriv_search_td2 (
*/
if ((a->td_hash.size*6) <= (a->td_hash.filled<<3)) {
h5_loc_idx_t num_elems = t->num_elems[t->num_leaf_levels-1];
TRY (h5priv_hresize (
f,
3*(num_elems-elem_idx),
&a->td_hash));
TRY (h5priv_hresize (3*(num_elems-elem_idx), &a->td_hash));
}
/* search in directory, add if entry doen't already exists */
/* search in directory, add if entry doesn't already exists */
TRY (h5priv_hsearch (
f,
entry,
H5_ENTER,
&__retval,
@@ -315,7 +306,6 @@ h5tpriv_search_td2 (
/* search ID in list of IDs for given triangle */
h5t_td_entry_t *td_entry = (h5t_td_entry_t *)__retval;
TRY (h5priv_search_idlist (
f,
&td_entry->value,
h5tpriv_build_triangle_id (face_idx, elem_idx)));
if (td_entry->value->num_items > 1) {
@@ -335,7 +325,6 @@ find_td (
) {
void* __entry;
h5priv_hsearch (
f,
item,
H5_FIND,
&__entry,
+1 -1
View File
@@ -200,7 +200,7 @@ h5t_get_vertex_indices_of_entity (
case H5T_TYPE_TRIANGLE: dim = 2; break;
case H5T_TYPE_TET: dim = 3; break;
default:
H5_CORE_API_LEAVE (h5_error_internal (__FILE__, __func__, __LINE__));
H5_CORE_API_LEAVE (h5_error_internal ());
}
H5_CORE_API_RETURN (h5t_get_vertex_indices_of_entity2 (f, dim, face_idx, elem_idx, vertex_indices));
}
+3 -3
View File
@@ -458,7 +458,7 @@ h5t_open_mesh (
break;
default:
H5_CORE_API_LEAVE (
h5_error_internal (__FILE__, __func__, __LINE__));
h5_error_internal ());
}
TRY (h5tpriv_open_mesh_group (f, type_id, id));
@@ -553,7 +553,7 @@ h5t_set_level (
t->leaf_level = level_id;
if (level_id >= t->num_loaded_levels) {
TRY (h5tpriv_update_adjacency_structs (f, prev_level+1));
TRY (h5tpriv_update_adjacency_structs (f, ++prev_level));
}
H5_CORE_API_RETURN (H5_SUCCESS);
}
@@ -570,7 +570,7 @@ h5tpriv_alloc_num_vertices (
h5t_fdata_t* t = f->t;
ssize_t size = num * sizeof (t->vertices[0]);
TRY (t->vertices = h5_alloc (t->vertices, size));
TRY (h5priv_alloc_idxmap (f, &t->map_vertex_g2l, num));
TRY (h5priv_alloc_idxmap (&t->map_vertex_g2l, num));
H5_CORE_API_RETURN (H5_SUCCESS);
}
+2 -2
View File
@@ -159,7 +159,7 @@ read_num_vertices (
if (t->mesh_gid < 0) {
H5_PRIV_FUNC_LEAVE (
h5_error_internal (__FILE__, __func__, __LINE__));
h5_error_internal ());
}
ssize_t num_bytes = t->num_leaf_levels*sizeof (t->num_vertices[0]);
TRY( t->num_vertices = h5_alloc (t->num_vertices, num_bytes) );
@@ -275,7 +275,7 @@ h5tpriv_read_mesh (
H5_PRIV_API_ENTER (h5_err_t);
h5t_fdata_t* t = f->t;
if (t->mesh_gid < 0) {
H5_PRIV_API_LEAVE (h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_API_LEAVE (h5_error_internal ());
}
TRY (read_num_leaf_levels (f));
TRY (read_num_vertices (f));
+5 -3
View File
@@ -167,7 +167,7 @@ iterate_boundary_faces (
f, dim, it->elem_idx, it->face_idx));
// Skip already visited faces
} while (0);
H5_PRIV_FUNC_RETURN (h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_RETURN (h5_error_internal ());
}
static h5_loc_id_t
@@ -177,6 +177,7 @@ iterate_tags (
) {
H5_PRIV_FUNC_ENTER (h5_loc_id_t);
UNUSED_ARGUMENT (f);
UNUSED_ARGUMENT (iter);
#if 0
h5t_tagsel_t* tags;
do {
@@ -189,7 +190,7 @@ iterate_tags (
tags = iter->tagset->elems[iter->elem_idx];
} while ((tags == NULL) || (tags->idx[iter->subentity_idx]));
#endif
H5_PRIV_FUNC_RETURN (h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_RETURN (h5_error_internal ());
}
h5_err_t
@@ -230,7 +231,7 @@ h5t_init_boundary_face_iterator (
it->ref_elem = f->t->ref_elem;
if (it->codim <= 0 || it->codim > it->ref_elem->dim) {
H5_CORE_API_LEAVE (h5tpriv_inval_codim (f, codim, 1, it->ref_elem->dim));
H5_CORE_API_LEAVE (h5tpriv_inval_codim (codim, 1, it->ref_elem->dim));
} else if (it->codim == 1) {
it->iter = iterate_boundary_facets;
}
@@ -261,6 +262,7 @@ h5t_release_entity_iterator (
h5_file_t* const f,
h5t_iterator_t* iter
) {
UNUSED_ARGUMENT (f);
H5_CORE_API_ENTER (h5_err_t);
H5_CORE_API_RETURN (h5_free (iter));
}
+2 -2
View File
@@ -5,7 +5,7 @@
struct h5t_retrieve_methods {
h5_err_t (*init_entity_iterator)(
h5_file_t* const, h5t_iterator_t*, const int);
h5t_iterator_t*, const int);
};
extern struct h5t_retrieve_methods h5tpriv_trim_retrieve_methods;
@@ -26,7 +26,7 @@ h5tpriv_init_entity_iterator (
h5t_iterator_t* const iter,
const int codim
) {
return (*f->t->methods.retrieve->init_entity_iterator) (f, iter, codim);
return (*f->t->methods.retrieve->init_entity_iterator) (iter, codim);
}
#endif
+1 -2
View File
@@ -5,7 +5,6 @@
static h5_err_t
begin_iterate_entities (
h5_file_t* f,
h5t_iterator_t* const iter,
const int codim
) {
@@ -24,7 +23,7 @@ begin_iterate_entities (
it->find = NULL;
break;
default:
return h5_error_internal (__FILE__, __func__, __LINE__);
return h5_error_internal ();
}
return H5_SUCCESS;
}
+1 -2
View File
@@ -5,7 +5,6 @@
static h5_err_t
begin_iterate_entities (
h5_file_t* f,
h5t_iterator_t* iter,
const int codim
) {
@@ -21,7 +20,7 @@ begin_iterate_entities (
it->find = NULL;
break;
default:
return h5_error_internal (__FILE__, __func__, __LINE__);
return h5_error_internal ();
}
return H5_SUCCESS;
}
+4 -4
View File
@@ -302,7 +302,7 @@ h5t_mark_entity (
) {
H5_CORE_API_ENTER (h5_err_t);
h5t_fdata_t* const t = f->t;
H5_CORE_API_RETURN (h5priv_insert_idlist (f, &t->marked_entities, entity_id, -1));
H5_CORE_API_RETURN (h5priv_insert_idlist (&t->marked_entities, entity_id, -1));
}
/*
@@ -346,7 +346,7 @@ h5t_pre_refine (
num_elems_to_add = num_elems_to_refine*4;
break;
default:
H5_CORE_API_LEAVE (h5_error_internal (__FILE__, __func__, __LINE__));
H5_CORE_API_LEAVE (h5_error_internal ());
}
TRY (h5t_begin_store_vertices (f, num_vertices_to_add));
TRY (h5t_begin_store_elems (f, num_elems_to_add));
@@ -378,7 +378,7 @@ h5t_post_refine (
h5t_fdata_t* const t = f->t;
TRY (h5t_end_store_vertices (f));
TRY (h5t_end_store_elems (f));
H5_CORE_API_RETURN (h5priv_free_idlist (f, &t->marked_entities));
H5_CORE_API_RETURN (h5priv_free_idlist (&t->marked_entities));
}
@@ -393,7 +393,7 @@ h5t_begin_refine_elems (
Pre-allocate space for items to avoid allocating small pieces of
memory.
*/
TRY (h5priv_alloc_idlist (f, &t->marked_entities, 2048));
TRY (h5priv_alloc_idlist (&t->marked_entities, 2048));
H5_CORE_API_RETURN (H5_SUCCESS);
}
+4 -9
View File
@@ -22,7 +22,7 @@ alloc_tets (
(new-cur) * sizeof (t->loc_elems.tets[0]) );
/* alloc mem for global to local ID mapping */
TRY ( h5priv_alloc_idxmap ( f, &t->map_elem_g2l, new ) );
TRY (h5priv_alloc_idxmap (&t->map_elem_g2l, new));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -54,8 +54,7 @@ get_direct_children_of_edge (
};
h5_loc_idx_t num_faces = h5tpriv_ref_elem_get_num_edges (f->t);
if ((face_idx < 0) || (face_idx >= num_faces)) {
H5_PRIV_FUNC_LEAVE (
h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_LEAVE (h5_error_internal ());
}
children[0] = h5tpriv_build_edge_id (face_idx, elem_idx+offs[face_idx][0]);
children[1] = h5tpriv_build_edge_id (face_idx, elem_idx+offs[face_idx][1]);
@@ -239,9 +238,7 @@ compute_neighbor_of_face (
elem_idx,
&td) );
if (td == NULL) {
H5_PRIV_FUNC_LEAVE (
h5_error_internal (
__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_LEAVE (h5_error_internal ());
}
if (td->num_items == 1) {
// neighbor is coarser or face is on the boundary
@@ -259,9 +256,7 @@ compute_neighbor_of_face (
}
} else {
H5_PRIV_FUNC_LEAVE (
h5_error_internal (
__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_LEAVE (h5_error_internal ());
}
} while (neighbor_idx < -1);
H5_PRIV_FUNC_RETURN (neighbor_idx);
+4 -7
View File
@@ -22,7 +22,7 @@ alloc_triangles (
(new-cur) * sizeof (t->loc_elems.tris[0]) );
/* alloc mem for global to local ID mapping */
TRY ( h5priv_alloc_idxmap ( f, &t->map_elem_g2l, new ) );
TRY (h5priv_alloc_idxmap (&t->map_elem_g2l, new));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -52,8 +52,7 @@ get_direct_children_of_edge (
};
h5_loc_idx_t num_faces = h5tpriv_ref_elem_get_num_edges (f->t);
if ((face_idx < 0) || (face_idx >= num_faces)) {
H5_PRIV_FUNC_LEAVE (
h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_LEAVE (h5_error_internal ());
}
children[0] = h5tpriv_build_edge_id (face_idx, elem_idx+off[face_idx][0]);
children[1] = h5tpriv_build_edge_id (face_idx, elem_idx+off[face_idx][1]);
@@ -198,8 +197,7 @@ compute_neighbor_of_face (
elem_idx,
&te) );
if (te == NULL) {
H5_PRIV_FUNC_LEAVE (
h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_LEAVE (h5_error_internal ());
}
if (te->num_items == 1) {
// neighbor is coarser or face is on the boundary
@@ -217,8 +215,7 @@ compute_neighbor_of_face (
}
} else {
H5_PRIV_FUNC_LEAVE (
h5_error_internal (__FILE__, __func__, __LINE__));
H5_PRIV_FUNC_LEAVE (h5_error_internal ());
}
} while (neighbor_idx < -1);
H5_PRIV_FUNC_RETURN (neighbor_idx);
+127 -56
View File
@@ -14,7 +14,6 @@
*/
static inline h5_err_t
release_tagset (
h5_file_t* const f,
h5t_tagset_t* tagset
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
@@ -37,12 +36,11 @@ release_tagset (
*/
static h5_err_t
release_tagset2 (
h5_file_t* const f,
const void* __tagset
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5t_tagset_t* tagset = *(h5t_tagset_t**)__tagset;
H5_PRIV_FUNC_RETURN (release_tagset (f, tagset));
H5_PRIV_FUNC_RETURN (release_tagset (tagset));
}
@@ -51,13 +49,12 @@ release_tagset2 (
*/
static inline h5_err_t
init_container (
h5_file_t* const f,
const size_t ntags,
h5t_tagcontainer_t* ctn
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
TRY (ctn->names = h5_calloc (ntags, sizeof(char*)));
TRY (h5priv_hcreate_string_keyed (f, ntags, &ctn->sets,
TRY (h5priv_hcreate_string_keyed (ntags, &ctn->sets,
release_tagset2));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
@@ -67,13 +64,12 @@ init_container (
*/
static inline h5_err_t
release_container (
h5_file_t* const f,
h5t_tagcontainer_t* ctn
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
if (ctn->num_sets == 0)
H5_PRIV_FUNC_LEAVE (H5_SUCCESS);
TRY (h5priv_hdestroy (f, &ctn->sets));
TRY (h5priv_hdestroy (&ctn->sets));
TRY (h5_free (ctn->names));
memset (ctn, 0, sizeof (*ctn));
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
@@ -88,21 +84,19 @@ h5tpriv_release_tags (
) {
H5_PRIV_API_ENTER (h5_err_t);
h5t_fdata_t* t = f->t;
TRY (release_container (f, &t->mtags));
TRY (release_container (&t->mtags));
H5_PRIV_API_RETURN (H5_SUCCESS);
}
static inline h5_err_t
tagset_exists (
h5_file_t* const f,
h5t_tagcontainer_t* ctn,
char* name
) {
H5_PRIV_FUNC_ENTER (h5_err_t);
h5t_tagset_t tagset;
tagset.name = name;
H5_PRIV_FUNC_RETURN (
h5priv_hsearch (f, &tagset, H5_FIND, NULL, &ctn->sets));
H5_PRIV_FUNC_RETURN (h5priv_hsearch (&tagset,H5_FIND,NULL,&ctn->sets));
}
h5_err_t
@@ -112,7 +106,7 @@ h5t_mtagset_exists (
char* name
) {
H5_CORE_API_ENTER (h5_err_t);
H5_CORE_API_RETURN (tagset_exists (f, &f->t->mtags, name));
H5_CORE_API_RETURN (tagset_exists (&f->t->mtags, name));
}
/*!
@@ -138,7 +132,7 @@ add_tagset (
// Initialize data structure for m-tagsets, if not already done.
if (ctn->names == NULL) {
TRY (init_container (f, 521, ctn));
TRY (init_container (521, ctn));
}
// TODO: Resize if we have more then 80% of 521 filled!
@@ -156,7 +150,7 @@ add_tagset (
// check if a tagset with given name already exists
h5_err_t h5err;
TRY (h5err = tagset_exists (f, ctn, name) );
TRY (h5err = tagset_exists (ctn, name) );
if (h5err == H5_SUCCESS) {
H5_PRIV_FUNC_LEAVE (
h5_error (H5_ERR_INVAL,
@@ -177,7 +171,7 @@ add_tagset (
tagset->scope.max_level = -1;
// add tagset to hash of tagsets
TRY (h5priv_hsearch (f, tagset, H5_ENTER, NULL, &ctn->sets));
TRY (h5priv_hsearch (tagset, H5_ENTER, NULL, &ctn->sets));
t->mtags.changed = 1;
t->mtags.names[t->mtags.num_sets] = tagset->name;
@@ -216,12 +210,12 @@ remove_tagset (
H5_PRIV_FUNC_ENTER (h5_err_t);
// remove tagset with NAME from m-tagsets dictionary
void* __retval = NULL;
TRY (h5priv_hsearch (f, &name, H5_REMOVE, &__retval, &ctn->sets));
TRY (h5priv_hsearch (&name, H5_REMOVE, &__retval, &ctn->sets));
h5t_tagset_t* tagset = (h5t_tagset_t*)__retval;
if (tagset == NULL) {
H5_PRIV_FUNC_LEAVE (H5_SUCCESS);
}
TRY (release_tagset (f, tagset));
TRY (release_tagset (tagset));
// remove HDF5 datasets and group for this tagset
hid_t loc_id;
@@ -293,7 +287,7 @@ h5t_open_mtagset (
H5_CORE_API_ENTER (h5_err_t);
h5t_fdata_t* t = f->t;
void* __retval = NULL;
TRY (h5priv_hsearch (f, &name, H5_FIND, &__retval, &t->mtags.sets));
TRY (h5priv_hsearch (&name, H5_FIND, &__retval, &t->mtags.sets));
*retval = (h5t_tagset_t*)__retval;
H5_CORE_API_RETURN (H5_SUCCESS);
}
@@ -336,7 +330,7 @@ h5t_get_mtagset_info (
h5t_fdata_t* t = f->t;
*name = t->mtags.names[idx];
void* __retval = NULL;
TRY (h5priv_hsearch (f, t->mtags.names[idx], H5_FIND, &__retval,
TRY (h5priv_hsearch (t->mtags.names[idx], H5_FIND, &__retval,
&t->mtags.sets));
h5t_tagset_t* retval = (h5t_tagset_t*)__retval;
*type = retval->type;
@@ -367,7 +361,6 @@ find_face_id (
static inline h5_err_t
tag_nexists_warn (
h5_file_t* const f,
const char* name,
const h5_loc_idx_t face_id,
const h5_loc_idx_t elem_idx
@@ -381,7 +374,6 @@ tag_nexists_warn (
static h5_err_t
remove_tag (
h5_file_t* const f,
h5t_tagset_t* tagset,
const h5_loc_idx_t face_id,
const h5_loc_idx_t elem_idx
@@ -389,7 +381,7 @@ remove_tag (
H5_PRIV_FUNC_ENTER (h5_err_t);
if (tagset->elems[elem_idx] == NULL) {
H5_PRIV_FUNC_LEAVE (
tag_nexists_warn (f, tagset->name, face_id, elem_idx));
tag_nexists_warn (tagset->name, face_id, elem_idx));
}
h5t_tageleminfo_t* eleminfo = tagset->elems[elem_idx];
@@ -397,7 +389,7 @@ remove_tag (
int idx = find_face_id (eleminfo, face_id);
if (idx < 0) {
H5_PRIV_FUNC_LEAVE (
tag_nexists_warn (f, tagset->name, face_id, elem_idx));
tag_nexists_warn (tagset->name, face_id, elem_idx));
}
h5t_taginfo_t* ti = &eleminfo->ti[idx];
@@ -417,7 +409,6 @@ remove_tag (
static h5_err_t
add_tag (
h5_file_t* const f,
h5t_tagset_t *tagset,
const int idx,
const h5_loc_idx_t face_id,
@@ -437,7 +428,7 @@ add_tag (
ti,
(eleminfo->num_tags - idx) * sizeof(*ti));
eleminfo->num_tags++;
ti->face_id = face_id;
ti->face_id = (short)face_id;
ti->val_dim = dim;
// append values
@@ -495,12 +486,12 @@ set_tag (
This is a very unusual case! So the processing can be
a bit more expensive ...
*/
TRY (remove_tag (f, tagset, face_id, elem_idx));
TRY (add_tag (f, tagset, i, face_id, elem_idx, dim, val));
TRY (remove_tag (tagset, face_id, elem_idx));
TRY (add_tag (tagset, i, face_id, elem_idx, dim, val));
} else if (i >= 0 && dim == ti->val_dim) {
TRY (overwrite_tag (f, tagset, i, elem_idx, val));
} else { // i < 0
TRY (add_tag (f, tagset, -i-1, face_id, elem_idx, dim, val));
TRY (add_tag (tagset, -i-1, face_id, elem_idx, dim, val));
tagset->num_entities++;
}
if (f->t->leaf_level < tagset->scope.min_level) {
@@ -513,6 +504,88 @@ set_tag (
H5_PRIV_FUNC_RETURN (H5_SUCCESS);
}
/*
Inheritance:
- to coarser level only
- if entity has tagged parrent, tag of parent
- else: not tagged
Parent of entity in tetrahedral grid:
- tetrahedron: parent ID
- triangles:
face child parent face
0 0 0
1 0 1
2 0 2
3 0 -1
0 1 0
1 1 1
2 1 -1
3 1 3
0 2 0
1 2 -1
2 2 2
3 2 3
0 3 -1
1 3 1
2 3 2
3 3 3
0 4 -1
1 4 1
2 4 -1
3 4 -1
0 5 0
1 5 -1
2 5 -1
3 5 -1
0 6 -1
1 6 -1
2 6 -1
3 6 3
0 7 -1
1 7 -1
2 7 2
3 7 -1
*/
int map_tri_to_parent_face[8][4] = {
{0,1,2,-1},
{0,1,-1,3},
{0,-1,2,3},
{-1,1,2,3},
{-1,1,-1,-1},
{0,-1,-1,-1},
{-1,-1,-1,3},
{-1,-1,2,-1}};
/*
- edges:
0 0-3 0
1 0-3 1
2 0-3 2
3 0-3 3
4 0-3 4
5 0-3 5
0-5 4-7 -1
*/
int map_edge_to_parent_face[8][6] = {
};
/*
- vertex:
0 0 0
1-3 0 -1
0 1 -1
1 1 1
2,3 1 -1
0,1 2 -1
2 2 2
3 2 -1
0-2 3 -1
3 3 3
0-3 4 -1
0-3 5 -1
0-3 6 -1
*/
static inline h5_err_t
get_idx_of_tagval (
const h5t_tagset_t* tagset,
@@ -522,6 +595,9 @@ get_idx_of_tagval (
h5_loc_idx_t* val_idx
) {
h5t_tageleminfo_t* eleminfo = tagset->elems[elem_idx];
if (eleminfo == NULL) {
return H5_NOK;
}
*taginfo_idx = find_face_id (eleminfo, face_id);
if (*taginfo_idx < 0) {
return H5_NOK; // not tagged
@@ -539,13 +615,8 @@ get_tag (
size_t* const dim,
void* const values
) {
if (f->t->leaf_level < tagset->scope.min_level ||
f->t->leaf_level > tagset->scope.max_level) {
return H5_NOK;
}
if (tagset->elems[elem_idx] == NULL) {
tag_nexists_warn (f, tagset->name, face_id, elem_idx);
return H5_NOK;
if (f->t->leaf_level < tagset->scope.min_level) {
return H5_NOK; // entity not tagged
}
h5_loc_idx_t val_idx = 0;
int ti_idx = 0;
@@ -656,10 +727,11 @@ h5t_remove_mtag (
h5t_tagset_t* tagset,
const h5_loc_id_t entity_id
) {
UNUSED_ARGUMENT (f);
H5_CORE_API_ENTER (h5_err_t);
h5_loc_idx_t face_id = h5tpriv_get_face_id (entity_id);
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (entity_id);
H5_CORE_API_RETURN (remove_tag (f, tagset, face_id, elem_idx));
H5_CORE_API_RETURN (remove_tag (tagset, face_id, elem_idx));
}
/*!
@@ -680,7 +752,7 @@ h5t_remove_mtag_by_name (
TRY (h5t_open_mtagset (f, name, &tagset));
h5_loc_idx_t face_id = h5tpriv_get_face_id (entity_id);
h5_loc_idx_t elem_idx = h5tpriv_get_elem_idx (entity_id);
H5_CORE_API_RETURN (remove_tag (f, tagset, face_id, elem_idx));
H5_CORE_API_RETURN (remove_tag (tagset, face_id, elem_idx));
}
static hid_t
@@ -811,9 +883,9 @@ write_tagset (
open_space_all, open_space_all,
values));
h5_int64_t scope = tagset->scope.min_level;
TRY (h5priv_write_attrib (f, group_id, "__scope_min__", H5_INT64_T, &scope, 1));
TRY (h5priv_write_attrib (group_id, "__scope_min__", H5_INT64_T, &scope, 1));
scope = tagset->scope.max_level;
TRY (h5priv_write_attrib (f, group_id, "__scope_max__", H5_INT64_T, &scope, 1));
TRY (h5priv_write_attrib (group_id, "__scope_max__", H5_INT64_T, &scope, 1));
TRY (hdf5_close_group (group_id));
TRY (h5_free (elems));
@@ -834,11 +906,11 @@ write_container (
size_t idx;
for (idx = 0; idx < ctn->num_sets; idx++) {
void *__retval;
TRY (h5priv_hsearch ( f,
&ctn->names[idx],
H5_FIND,
&__retval,
&ctn->sets));
TRY (h5priv_hsearch (
&ctn->names[idx],
H5_FIND,
&__retval,
&ctn->sets));
h5t_tagset_t *tagset = (h5t_tagset_t*)__retval;
if (tagset->changed) {
TRY(write_tagset (
@@ -932,7 +1004,7 @@ read_tagset (
open_space_all, open_space_all,
vals));
TRY (hdf5_close_dataset (dset_id ));
type = h5_normalize_h5_type (f, dsinfo.type_id);
type = h5_normalize_h5_type (dsinfo.type_id);
/*
add tagset and set values
*/
@@ -940,9 +1012,9 @@ read_tagset (
TRY (add_tagset (f, ctn, name, type, &tagset) );
h5_int64_t scope;
TRY (h5priv_read_attrib (f, group_id, "__scope_min__", H5_INT64_T, &scope));
TRY (h5priv_read_attrib (group_id, "__scope_min__", H5_INT64_T, &scope));
tagset->scope.min_level = scope;
TRY (h5priv_read_attrib (f, group_id, "__scope_max__", H5_INT64_T, &scope));
TRY (h5priv_read_attrib (group_id, "__scope_max__", H5_INT64_T, &scope));
tagset->scope.max_level = scope;
for (ent_idx = 0; ent_idx < num_entities; ent_idx++) {
@@ -1002,7 +1074,6 @@ h5tpriv_read_tag_container (
*/
static h5_ssize_t
get_tagset_names_of_entity (
h5_file_t* const f,
h5t_tagcontainer_t* ctn,
h5_loc_id_t entity_id,
char* names[],
@@ -1016,20 +1087,20 @@ get_tagset_names_of_entity (
for (idx = 0; idx < ctn->num_sets; idx++) {
void* __retval;
TRY (h5priv_hsearch (f,
&ctn->names[idx],
H5_FIND,
&__retval,
&ctn->sets));
TRY (h5priv_hsearch (
&ctn->names[idx],
H5_FIND,
&__retval,
&ctn->sets));
h5t_tagset_t* tagset = (h5t_tagset_t*)__retval;
int tagset_idx = 0;
h5_loc_idx_t val_idx;
if (0 > get_idx_of_tagval (tagset,
if (0 < get_idx_of_tagval (tagset,
face_id, elem_idx,
&tagset_idx, &val_idx) ) {
continue; // not tagged
}
if (names != NULL && dim <= dim) {
if (names != NULL && _dim <= dim) {
names[_dim] = ctn->names[idx];
}
_dim++;
@@ -1049,5 +1120,5 @@ h5t_get_mtagset_names_of_entity (
) {
H5_CORE_API_ENTER (h5_ssize_t);
H5_CORE_API_RETURN (
get_tagset_names_of_entity (f, &f->t->mtags, entity_id, names, dim));
get_tagset_names_of_entity (&f->t->mtags, entity_id, names, dim));
}
+2 -2
View File
@@ -137,9 +137,9 @@ h5u_set_num_particles (
acquire the number of particles to be written from each MPI process
*/
TRY( h5priv_mpi_sum(f,
TRY( h5priv_mpi_sum(
&(u->nparticles), &total, 1, MPI_LONG_LONG, f->comm ) );
TRY( h5priv_mpi_prefix_sum(f,
TRY( h5priv_mpi_prefix_sum(
&(u->nparticles), &start, 1, MPI_LONG_LONG, f->comm ) );
start -= u->nparticles;
+2 -2
View File
@@ -22,7 +22,7 @@ h5u_read_data (
}
char name2[H5_DATANAME_LEN];
TRY (h5_normalize_dataset_name (f, name, name2));
TRY (h5_normalize_dataset_name (name, name2));
TRY (dataset_id = hdf5_open_dataset (f->step_gid, name2));
@@ -114,7 +114,7 @@ h5u_write_data (
hid_t dset_id;
char name2[H5_DATANAME_LEN];
TRY (h5_normalize_dataset_name (f, name, name2));
TRY (h5_normalize_dataset_name (name, name2));
if ( u->shape == H5S_ALL )
h5_warn("The view is unset or invalid.");
+7
View File
@@ -125,6 +125,13 @@ done: \
goto done; \
}
#define TRY3( expr, ret_val ) \
if ((int64_t)(ptrdiff_t)(expr) <= (int64_t)H5_ERR) { \
ret_value = ret_val; \
goto done; \
}
#define ON_ERROR
#include "h5_types.h"
#include "h5_errno.h"
+4 -4
View File
@@ -64,17 +64,17 @@ h5_initialize (
H5_ERR_INVAL, \
"Time step is invalid! Have you set the time step?");
#define h5_error_not_implemented( file, func, lino ) \
#define h5_error_not_implemented() \
h5_error( \
H5_ERR_NOT_IMPLEMENTED, \
"%s: Function \"%s\", line %d not yet implemented!", \
file, func, lino );
__FILE__, __func__, __LINE__);
#define h5_error_internal( file, func, lino ) \
#define h5_error_internal() \
h5_error( \
H5_ERR_INTERNAL, \
"%s: Internal error: %s line %d!", \
file, func, lino )
__FILE__, __func__, __LINE__)
h5_err_t
-2
View File
@@ -9,7 +9,6 @@ h5_set_step (
h5_int64_t
h5_normalize_h5_type (
h5_file_t * const f,
hid_t type
);
@@ -28,7 +27,6 @@ h5_has_index (
h5_err_t
h5_normalize_dataset_name (
h5_file_t *const f,
const char *name,
char *name2
);