From 47a7bab09f8fcdd9f7fa1431052a5d4b58d3bbad Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 28 May 2010 09:39:31 +0000 Subject: [PATCH] adapted to coding style --- src/h5core/h5t_tetm_adjacencies.c | 617 +++++++++++++++--------------- 1 file changed, 299 insertions(+), 318 deletions(-) diff --git a/src/h5core/h5t_tetm_adjacencies.c b/src/h5core/h5t_tetm_adjacencies.c index 174dde8..5780bde 100644 --- a/src/h5core/h5t_tetm_adjacencies.c +++ b/src/h5core/h5t_tetm_adjacencies.c @@ -21,20 +21,20 @@ */ static h5_err_t compute_tets_of_vertices ( - h5_file_t * const f + h5_file_t* const f ) { - h5t_fdata_t *t = f->t; - h5_id_t eid = (t->cur_level <= 0 ) ? 0 : t->num_elems[t->cur_level-1]; - h5_elem_ldta_t *tet = tet = &t->elems_ldta[eid]; + h5t_fdata_t* t = f->t; + h5_id_t eid = (t->cur_level <= 0) ? 0 : t->num_elems[t->cur_level-1]; + h5_elem_ldta_t* tet = tet = &t->elems_ldta[eid]; h5_id_t num_elems = t->num_elems[t->num_levels-1]; - for ( ;eid < num_elems; eid++, tet++ ) { + for (;eid < num_elems; eid++, tet++) { int i; - for ( i = 0; i < 4; i++ ) { + for (i = 0; i < 4; i++) { h5_id_t vid = tet->local_vids[i]; TRY ( h5priv_append_to_idlist ( f, &t->vertices_data[vid].tv, - h5tpriv_build_vertex_id( i, eid ) ) ); + h5tpriv_build_vertex_id( i, eid)) ); } } return H5_SUCCESS; @@ -45,18 +45,18 @@ compute_tets_of_vertices ( */ static h5_err_t compute_tets_of_edges ( - h5_file_t * const f + h5_file_t* const f ) { - h5t_fdata_t *t = f->t; - h5_id_t eid = (t->cur_level <= 0 ) ? 0 : t->num_elems[t->cur_level-1]; - h5_elem_ldta_t *tet = tet = &t->elems_ldta[eid]; + h5t_fdata_t* t = f->t; + h5_id_t eid = (t->cur_level <= 0) ? 0 : t->num_elems[t->cur_level-1]; + h5_elem_ldta_t* tet = tet = &t->elems_ldta[eid]; h5_id_t num_elems = t->num_elems[t->num_levels-1]; h5_idlist_t *retval = NULL; - TRY ( h5tpriv_resize_te_htab ( f, 4*(num_elems-eid) ) ); - for ( ; eid < num_elems; eid++, tet++ ) { + TRY( h5tpriv_resize_te_htab (f, 4*(num_elems-eid)) ); + for (; eid < num_elems; eid++, tet++) { h5_id_t face; - for ( face = 0; face < 6; face++ ) { - TRY ( h5tpriv_search_te2 ( f, face, eid, &retval ) ); + for (face = 0; face < 6; face++) { + TRY( h5tpriv_search_te2 (f, face, eid, &retval) ); } } return H5_SUCCESS; @@ -64,82 +64,55 @@ compute_tets_of_edges ( static h5_err_t compute_tets_of_triangles ( - h5_file_t * const f + h5_file_t* const f ) { - h5t_fdata_t *t = f->t; - h5_id_t eid = (t->cur_level <= 0 ) ? 0 : t->num_elems[t->cur_level-1]; - h5_elem_ldta_t *tet = tet = &t->elems_ldta[eid]; + h5t_fdata_t* t = f->t; + h5_id_t eid = (t->cur_level <= 0) ? 0 : t->num_elems[t->cur_level-1]; + h5_elem_ldta_t* tet = tet = &t->elems_ldta[eid]; h5_id_t num_elems = t->num_elems[t->num_levels-1]; - h5_idlist_t *retval = NULL; - TRY ( h5tpriv_resize_td_htab ( f, 4*(num_elems-eid) ) ); - for ( ; eid < num_elems; eid++, tet++ ) { + h5_idlist_t* retval = NULL; + TRY( h5tpriv_resize_td_htab (f, 4*(num_elems-eid)) ); + for (; eid < num_elems; eid++, tet++) { h5_id_t face; - for ( face = 0; face < 4; face++ ) { - TRY ( h5tpriv_search_td2 ( f, face, eid, &retval ) ); + for (face = 0; face < 4; face++) { + TRY( h5tpriv_search_td2 (f, face, eid, &retval) ); } } return H5_SUCCESS; } -static h5_err_t -update_internal_structs ( - h5_file_t * const f - ) { - clock_t t1 = clock(); - TRY ( compute_tets_of_vertices ( f ) ); - clock_t t2 = clock(); - fprintf ( stderr, "compute_tets_of_vertices(): %f\n", - (float)(t2-t1)/CLOCKS_PER_SEC ); - t1 = clock(); - TRY ( compute_tets_of_edges ( f ) ); - t2 = clock(); - fprintf ( stderr, "compute_tets_of_edge(): %f\n", - (float)(t2-t1)/CLOCKS_PER_SEC ); - t1 = clock(); - TRY ( compute_tets_of_triangles ( f ) ); - t2 = clock(); - fprintf ( stderr, "compute_tets_of_triangle(): %f\n", - (float)(t2-t1)/CLOCKS_PER_SEC ); - - return H5_SUCCESS; -} - static h5_err_t compute_children_of_edge ( - h5_file_t * const f, + h5_file_t* const f, h5_id_t kid, - h5_idlist_t *children + h5_idlist_t* children ) { - h5t_fdata_t *t = f->t; - h5_idlist_t *te; + h5t_fdata_t* t = f->t; + h5_idlist_t* te; - TRY ( h5tpriv_find_te2 ( - f, - h5tpriv_get_face_idx ( kid ), - h5tpriv_get_elem_idx ( kid ), - &te ) + TRY( h5tpriv_find_te2 ( + f, + h5tpriv_get_face_idx (kid), + h5tpriv_get_elem_idx (kid), + &te ) ); - h5_id_t *edge = te->items; - h5_id_t *end = te->items+te->num_items; - for ( ; edge < end; edge++ ) { - h5_id_t elem_idx = h5tpriv_get_elem_idx ( *edge ); - h5_id_t face_idx = h5tpriv_get_face_idx ( *edge ); - h5_elem_ldta_t *tet = &t->elems_ldta[elem_idx]; - if ( h5tpriv_elem_is_on_cur_level ( f, tet ) == H5_OK ) { - TRY ( h5priv_append_to_idlist ( - f, children, *edge ) - ); + h5_id_t* edge = te->items; + h5_id_t* end = te->items+te->num_items; + for (; edge < end; edge++) { + h5_id_t elem_idx = h5tpriv_get_elem_idx (*edge); + h5_id_t face_idx = h5tpriv_get_face_idx (*edge); + h5_elem_ldta_t* tet = &t->elems_ldta[elem_idx]; + if (h5tpriv_elem_is_on_cur_level (f, tet) == H5_OK ) { + TRY( h5priv_append_to_idlist (f, children, *edge) ); } else { h5_id_t kids[2]; - TRY ( t->methods.store->get_direct_children_of_edge ( + TRY( t->methods.store->get_direct_children_of_edge ( f, face_idx, tet->local_child_eid, - kids ) ); - TRY ( compute_children_of_edge ( - f, kids[0], children ) ); - TRY ( compute_children_of_edge ( - f, kids[1], children ) ); + kids) ); + TRY( compute_children_of_edge (f, kids[0], children) ); + TRY( compute_children_of_edge (f, kids[1], children) ); } } return H5_SUCCESS; @@ -150,42 +123,39 @@ compute_children_of_edge ( */ static h5_err_t compute_sections_of_edge ( - h5_file_t * const f, + h5_file_t* const f, h5_id_t kid, - h5_idlist_t *children + h5_idlist_t* children ) { - h5t_fdata_t *t = f->t; - h5_idlist_t *te; + h5t_fdata_t* t = f->t; + h5_idlist_t* te; - TRY ( h5tpriv_find_te2 ( - f, - h5tpriv_get_face_idx ( kid ), - h5tpriv_get_elem_idx ( kid ), - &te ) - ); - h5_id_t *edge = te->items; - h5_id_t *end = te->items+te->num_items; + TRY( h5tpriv_find_te2 ( + f, + h5tpriv_get_face_idx (kid), + h5tpriv_get_elem_idx (kid), + &te ) ); + h5_id_t* edge = te->items; + h5_id_t* end = te->items+te->num_items; int refined = 0; - for ( ; edge < end; edge++ ) { - h5_id_t eid = h5tpriv_get_elem_idx ( *edge ); - h5_id_t face_id = h5tpriv_get_face_idx ( *edge ); - h5_elem_ldta_t *tet = &t->elems_ldta[eid]; - if ( ! h5tpriv_elem_is_on_cur_level ( f, tet ) == H5_OK ) { + for (; edge < end; edge++) { + h5_id_t eid = h5tpriv_get_elem_idx (*edge); + h5_id_t face_id = h5tpriv_get_face_idx (*edge); + h5_elem_ldta_t* tet = &t->elems_ldta[eid]; + if (! h5tpriv_elem_is_on_cur_level (f, tet) == H5_OK) { refined = 1; h5_id_t kids[2]; - TRY ( t->methods.store->get_direct_children_of_edge ( - f, - face_id, - tet->local_child_eid, - kids ) ); - TRY ( compute_sections_of_edge ( - f, kids[0], children ) ); - TRY ( compute_sections_of_edge ( - f, kids[1], children ) ); + TRY( t->methods.store->get_direct_children_of_edge ( + f, + face_id, + tet->local_child_eid, + kids) ); + TRY( compute_sections_of_edge (f, kids[0], children) ); + TRY( compute_sections_of_edge (f, kids[1], children) ); } } - if ( ! refined ) { - TRY ( h5priv_append_to_idlist ( f, children, te->items[0] ) ); + if (! refined) { + TRY( h5priv_append_to_idlist (f, children, te->items[0]) ); } return H5_SUCCESS; } @@ -223,7 +193,7 @@ compute_sections_of_edge ( */ static h5_err_t compute_direct_children_of_triangle ( - h5_file_t * const f, + h5_file_t* const f, h5_id_t face_idx, h5_id_t elem_idx, h5_id_t children[4] @@ -235,8 +205,8 @@ compute_direct_children_of_triangle ( {{3,1},{3,2},{3,3},{3,6}} }; int num_faces = f->t->ref_element->num_faces[2]; - if ( (face_idx < 0) || (face_idx >= num_faces) ) { - return h5_error_internal ( f, __FILE__, __func__, __LINE__ ); + if ((face_idx < 0) || (face_idx >= num_faces)) { + return h5_error_internal (f, __FILE__, __func__, __LINE__); } children[0] = h5tpriv_build_edge_id ( map[face_idx][0][0], elem_idx+map[face_idx][0][1]); @@ -251,45 +221,38 @@ compute_direct_children_of_triangle ( static h5_err_t compute_children_of_triangle ( - h5_file_t * const f, + h5_file_t* const f, h5_id_t did, - h5_idlist_t *children + h5_idlist_t* children ) { - h5t_fdata_t *t = f->t; - h5_idlist_t *td; + h5t_fdata_t* t = f->t; + h5_idlist_t* td; - TRY ( h5tpriv_find_td2 ( - f, - h5tpriv_get_face_idx ( did ), - h5tpriv_get_elem_idx ( did ), - &td - ) ); - h5_id_t *tri = td->items; - h5_id_t *end = td->items+td->num_items; - for ( ; tri < end; tri++ ) { - h5_id_t eid = h5tpriv_get_elem_idx ( *tri ); - h5_id_t face_idx = h5tpriv_get_face_idx ( *tri ); + TRY( h5tpriv_find_td2 ( + f, + h5tpriv_get_face_idx (did), + h5tpriv_get_elem_idx (did), + &td) ); + h5_id_t* tri = td->items; + h5_id_t* end = td->items+td->num_items; + for (; tri < end; tri++) { + h5_id_t eid = h5tpriv_get_elem_idx (*tri); + h5_id_t face_idx = h5tpriv_get_face_idx (*tri); h5_elem_ldta_t *tet = &t->elems_ldta[eid]; - if ( h5tpriv_elem_is_on_cur_level ( f, tet ) == H5_OK ) { - TRY ( h5priv_append_to_idlist ( - f, children, *tri ) - ); + if (h5tpriv_elem_is_on_cur_level (f, tet) == H5_OK) { + TRY( h5priv_append_to_idlist (f, children, *tri) ); } else { h5_id_t dids[4]; - TRY ( compute_direct_children_of_triangle ( + TRY( compute_direct_children_of_triangle ( f, face_idx, tet->local_child_eid, - dids ) ); - TRY ( compute_children_of_triangle ( - f, dids[0], children ) ); - TRY ( compute_children_of_triangle ( - f, dids[1], children ) ); - TRY ( compute_children_of_triangle ( - f, dids[2], children ) ); - TRY ( compute_children_of_triangle ( - f, dids[3], children ) ); + dids) ); + TRY( compute_children_of_triangle (f, dids[0], children) ); + TRY( compute_children_of_triangle (f, dids[1], children) ); + TRY( compute_children_of_triangle (f, dids[2], children) ); + TRY( compute_children_of_triangle (f, dids[3], children) ); } } return H5_SUCCESS; @@ -297,45 +260,40 @@ compute_children_of_triangle ( static h5_err_t compute_sections_of_triangle ( - h5_file_t * const f, + h5_file_t* const f, h5_id_t did, - h5_idlist_t *children + h5_idlist_t* children ) { - h5t_fdata_t *t = f->t; - h5_idlist_t *td; + h5t_fdata_t* t = f->t; + h5_idlist_t* td; - TRY ( h5tpriv_find_td2 ( - f, - h5tpriv_get_face_idx ( did ), - h5tpriv_get_elem_idx ( did ), &td ) ); - h5_id_t *tri = td->items; - h5_id_t *end = td->items+td->num_items; + TRY( h5tpriv_find_td2 ( + f, + h5tpriv_get_face_idx (did), + h5tpriv_get_elem_idx (did), &td) ); + h5_id_t* tri = td->items; + h5_id_t* end = td->items+td->num_items; int refined = 0; - for ( ; tri < end; tri++ ) { - h5_id_t eid = h5tpriv_get_elem_idx ( *tri ); - h5_id_t face_idx = h5tpriv_get_face_idx ( *tri ); + for (; tri < end; tri++ { + h5_id_t eid = h5tpriv_get_elem_idx (*tri); + h5_id_t face_idx = h5tpriv_get_face_idx (*tri); h5_elem_ldta_t *tet = &t->elems_ldta[eid]; - if ( ! h5tpriv_elem_is_on_cur_level ( f, tet ) == H5_OK ) { + if (! h5tpriv_elem_is_on_cur_level (f, tet) == H5_OK) { refined = 1; h5_id_t dids[4]; - TRY ( compute_direct_children_of_triangle ( - f, - face_idx, - tet->local_child_eid, - dids ) ); - TRY ( compute_sections_of_triangle ( - f, dids[0], children ) ); - TRY ( compute_sections_of_triangle ( - f, dids[1], children ) ); - TRY ( compute_sections_of_triangle ( - f, dids[2], children ) ); - TRY ( compute_sections_of_triangle ( - f, dids[3], children ) ); - + TRY( compute_direct_children_of_triangle ( + f, + face_idx, + tet->local_child_eid, + dids) ); + TRY( compute_sections_of_triangle (f, dids[0], children) ); + TRY( compute_sections_of_triangle (f, dids[1], children) ); + TRY( compute_sections_of_triangle (f, dids[2], children) ); + TRY( compute_sections_of_triangle (f, dids[3], children) ); } } - if ( ! refined ) { - TRY ( h5priv_append_to_idlist ( f, children, td->items[0] ) ); + if (! refined) { + TRY( h5priv_append_to_idlist (f, children, td->items[0]) ); } return H5_SUCCESS; } @@ -345,57 +303,57 @@ compute_sections_of_triangle ( */ static h5_err_t _add_edge ( - h5_file_t * const f, - h5_idlist_t *list, + h5_file_t* const f, + h5_idlist_t* list, h5_id_t face_idx, h5_id_t eid ) { - h5_idlist_t *te; - TRY ( h5tpriv_find_te2 ( f, face_idx, eid, &te ) ); - TRY ( h5priv_search_idlist ( f, list, te->items[0] ) ); + h5_idlist_t* te; + TRY( h5tpriv_find_te2 (f, face_idx, eid, &te) ); + TRY( h5priv_search_idlist (f, list, te->items[0]) ); return H5_SUCCESS; } static h5_err_t get_edges_upadjacent_to_vertex ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t vid, - h5_idlist_t **list + h5_idlist_t** list ) { - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); - h5t_fdata_t *t = f->t; - h5_idlist_t *tv = &t->vertices_data[vid].tv; + h5t_fdata_t* t = f->t; + h5_idlist_t* tv = &t->vertices_data[vid].tv; h5_size_t i; - h5_id_t *vidp = tv->items; - for ( i = 0; i < tv->num_items; i++, vidp++ ) { - h5_id_t eid = h5tpriv_get_elem_idx ( *vidp ); - h5_id_t face = h5tpriv_get_face_idx ( *vidp ); - h5_elem_ldta_t *tet = &t->elems_ldta[eid]; + h5_id_t* vidp = tv->items; + for (i = 0; i < tv->num_items; i++, vidp++) { + h5_id_t eid = h5tpriv_get_elem_idx (*vidp); + h5_id_t face = h5tpriv_get_face_idx (*vidp); + h5_elem_ldta_t* tet = &t->elems_ldta[eid]; - if ( h5tpriv_elem_is_on_cur_level ( f, tet ) == H5_NOK ) { + if (h5tpriv_elem_is_on_cur_level (f, tet) == H5_NOK ) { continue; } int map[4][3] = { {0,2,3}, {0,1,4}, {2,1,5}, {3,4,5} }; - TRY ( _add_edge ( f, *list, map[face][0], eid ) ); - TRY ( _add_edge ( f, *list, map[face][1], eid ) ); - TRY ( _add_edge ( f, *list, map[face][2], eid ) ); + TRY( _add_edge (f, *list, map[face][0], eid) ); + TRY( _add_edge (f, *list, map[face][1], eid) ); + TRY( _add_edge (f, *list, map[face][2], eid) ); } return H5_SUCCESS; } static h5_err_t _add_triangle ( - h5_file_t * const f, - h5_idlist_t *list, + h5_file_t* const f, + h5_idlist_t* list, h5_id_t face, h5_id_t eid ) { - h5_idlist_t *td; - TRY ( h5tpriv_find_td2 ( f, face, eid, &td ) ); - TRY ( h5priv_search_idlist ( f, list, td->items[0] ) ); + h5_idlist_t* td; + TRY( h5tpriv_find_td2 (f, face, eid, &td) ); + TRY( h5priv_search_idlist (f, list, td->items[0]) ); return H5_SUCCESS; } @@ -408,134 +366,133 @@ get_triangles_upadjacent_to_vertex ( ) { TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); - h5t_fdata_t *t = f->t; - h5_idlist_t *tv = &t->vertices_data[vid].tv; + h5t_fdata_t* t = f->t; + h5_idlist_t* tv = &t->vertices_data[vid].tv; h5_size_t i; - h5_id_t *vidp = tv->items; - for ( i = 0; i < tv->num_items; i++, vidp++ ) { - h5_id_t eid = h5tpriv_get_elem_idx ( *vidp ); - h5_id_t face = h5tpriv_get_face_idx ( *vidp ); - h5_elem_ldta_t *tet = &t->elems_ldta[eid]; + h5_id_t* vidp = tv->items; + for (i = 0; i < tv->num_items; i++, vidp++) { + h5_id_t eid = h5tpriv_get_elem_idx (*vidp); + h5_id_t face = h5tpriv_get_face_idx (*vidp); + h5_elem_ldta_t* tet = &t->elems_ldta[eid]; - if ( h5tpriv_elem_is_on_cur_level ( f, tet ) == H5_NOK ) { + if (h5tpriv_elem_is_on_cur_level (f, tet) == H5_NOK) { continue; } int map[4][3] = { {1,2,3}, {0,2,3}, {0,1,3}, {0,1,2} }; - TRY ( _add_triangle ( f, *list, map[face][0], eid ) ); - TRY ( _add_triangle ( f, *list, map[face][1], eid ) ); - TRY ( _add_triangle ( f, *list, map[face][2], eid ) ); + TRY( _add_triangle (f, *list, map[face][0], eid) ); + TRY( _add_triangle (f, *list, map[face][1], eid) ); + TRY( _add_triangle (f, *list, map[face][2], eid) ); } return H5_SUCCESS; } static h5_err_t get_tets_upadjacent_to_vertex ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t vid, - h5_idlist_t **list + h5_idlist_t** list ) { - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); - h5t_fdata_t *t = f->t; - h5_idlist_t *tv = &t->vertices_data[vid].tv; + h5t_fdata_t* t = f->t; + h5_idlist_t* tv = &t->vertices_data[vid].tv; h5_size_t i; - h5_id_t *vidp = tv->items; - for ( i = 0; i < tv->num_items; i++, vidp++ ) { - h5_id_t eid = h5tpriv_get_elem_idx ( *vidp ); - h5_elem_ldta_t *tet = &t->elems_ldta[eid]; + h5_id_t* vidp = tv->items; + for (i = 0; i < tv->num_items; i++, vidp++) { + h5_id_t eid = h5tpriv_get_elem_idx (*vidp); + h5_elem_ldta_t* tet = &t->elems_ldta[eid]; - if ( h5tpriv_elem_is_on_cur_level ( f, tet ) == H5_NOK ) { + if (h5tpriv_elem_is_on_cur_level (f, tet) == H5_NOK) { continue; } - TRY ( h5priv_search_idlist ( f, *list, eid ) ); + TRY( h5priv_search_idlist (f, *list, eid) ); } return H5_SUCCESS; } static h5_err_t get_triangles_upadjacent_to_edge ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t kid, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); - TRY ( compute_children_of_edge ( f, kid, children ) ); - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); - h5_id_t *edge = children->items; - h5_id_t *end = children->items+children->num_items; + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); + TRY( compute_children_of_edge (f, kid, children) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); + h5_id_t* edge = children->items; + h5_id_t* end = children->items+children->num_items; int map[6][2] = { {2,3}, {0,3}, {1,3}, {1,2}, {0,2}, {0,1} }; - for ( ; edge < end; edge++ ) { - h5_id_t eid = h5tpriv_get_elem_idx ( *edge ); - h5_id_t face_idx = h5tpriv_get_face_idx ( *edge ); - TRY ( _add_triangle ( f, *list, map[face_idx][0], eid ) ); - TRY ( _add_triangle ( f, *list, map[face_idx][1], eid ) ); + for (; edge < end; edge++) { + h5_id_t eid = h5tpriv_get_elem_idx (*edge); + h5_id_t face_idx = h5tpriv_get_face_idx (*edge); + TRY( _add_triangle (f, *list, map[face_idx][0], eid) ); + TRY( _add_triangle (f, *list, map[face_idx][1], eid) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist ( f, &children) ); return H5_SUCCESS; } static h5_err_t get_tets_upadjacent_to_edge ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t kid, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); - TRY( compute_children_of_edge ( f, kid, children ) ); - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); + TRY( compute_children_of_edge (f, kid, children) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); int i; - h5_id_t *kidp = children->items; - for ( i = 0; i < children->num_items; i++, kidp++ ) { - h5_id_t eid = h5tpriv_get_elem_idx ( *kidp ); - TRY ( h5priv_search_idlist ( f, *list, eid ) ); + h5_id_t* kidp = children->items; + for (i = 0; i < children->num_items; i++, kidp++) { + h5_id_t eid = h5tpriv_get_elem_idx (*kidp); + TRY( h5priv_search_idlist (f, *list, eid) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist (f, &children) ); return H5_SUCCESS; } static h5_err_t get_tets_upadjacent_to_triangle ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t did, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); - TRY( compute_children_of_triangle ( f, did, children ) ); - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); + TRY( compute_children_of_triangle (f, did, children) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); int i; h5_id_t *didp = children->items; - for ( i = 0; i < children->num_items; i++ , didp++) { - h5_id_t eid = h5tpriv_get_elem_idx ( *didp ); - TRY ( h5priv_search_idlist ( f, *list, eid ) ); + for (i = 0; i < children->num_items; i++ , didp++) { + h5_id_t eid = h5tpriv_get_elem_idx (*didp); + TRY( h5priv_search_idlist (f, *list, eid) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist (f, &children) ); return H5_SUCCESS; } - static h5_err_t get_vertices_downadjacent_to_edge ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t kid, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); - TRY( compute_sections_of_edge ( f, kid, children ) ); - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); + TRY( compute_sections_of_edge (f, kid, children) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); int i; - h5_id_t *kidp = children->items; - for ( i = 0; i < children->num_items; i++, kidp++ ) { + h5_id_t* kidp = children->items; + for (i = 0; i < children->num_items; i++, kidp++) { h5_id_t vids[2]; - TRY ( h5t_get_vertex_indices_of_edge ( f, *kidp, vids ) ); - TRY ( h5priv_search_idlist ( f, *list, vids[0] ) ); - TRY ( h5priv_search_idlist ( f, *list, vids[1] ) ); + TRY( h5t_get_vertex_indices_of_edge (f, *kidp, vids) ); + TRY( h5priv_search_idlist (f, *list, vids[0]) ); + TRY( h5priv_search_idlist (f, *list, vids[1]) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist(f, &children) ); return H5_SUCCESS; } @@ -544,33 +501,33 @@ get_vertices_downadjacent_to_edge ( */ static h5_err_t get_vertices_downadjacent_to_triangle ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t did, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); int map[4][3] = { {1,4,5}, {2,3,5}, {0,3,4}, {0,1,2} }; - h5_id_t face = h5tpriv_get_face_idx ( did ); - h5_id_t eid = h5tpriv_get_elem_idx ( did ); + h5_id_t face = h5tpriv_get_face_idx (did); + h5_id_t eid = h5tpriv_get_elem_idx (did); h5_id_t i; - for ( i = 0; i < 3; i++ ) { + for (i = 0; i < 3; i++) { TRY( compute_sections_of_edge ( f, - h5tpriv_build_edge_id ( map[face][i], eid ), - children ) ); + h5tpriv_build_edge_id (map[face][i], eid), + children) ); } - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); - h5_id_t *kid = children->items; - for ( i = 0; i < children->num_items; i++, kid++ ) { + TRY( h5priv_alloc_idlist (f, list, 8) ); + h5_id_t* kid = children->items; + for (i = 0; i < children->num_items; i++, kid++) { h5_id_t vids[2]; - TRY ( h5t_get_vertex_indices_of_edge ( f, *kid, vids ) ); - TRY ( h5priv_search_idlist ( f, *list, vids[0] ) ); - TRY ( h5priv_search_idlist ( f, *list, vids[1] ) ); + TRY( h5t_get_vertex_indices_of_edge (f, *kid, vids) ); + TRY( h5priv_search_idlist (f, *list, vids[0]) ); + TRY( h5priv_search_idlist (f, *list, vids[1]) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist(f, &children) ); return H5_SUCCESS; } @@ -579,111 +536,135 @@ get_vertices_downadjacent_to_triangle ( */ static h5_err_t get_vertices_downadjacent_to_tet ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t eid, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); h5_id_t i; - for ( i = 0; i < 6; i++ ) { + for (i = 0; i < 6; i++) { TRY( compute_sections_of_edge ( f, h5tpriv_build_edge_id ( i, eid ), - children ) ); + children) ); } - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); h5_id_t *kid = children->items; - for ( i = 0; i < children->num_items; i++, kid++ ) { + for (i = 0; i < children->num_items; i++, kid++) { h5_id_t vids[2]; - TRY ( h5t_get_vertex_indices_of_edge ( f, *kid, vids ) ); - TRY ( h5priv_search_idlist ( f, *list, vids[0] ) ); - TRY ( h5priv_search_idlist ( f, *list, vids[1] ) ); + TRY( h5t_get_vertex_indices_of_edge (f, *kid, vids) ); + TRY( h5priv_search_idlist (f, *list, vids[0]) ); + TRY( h5priv_search_idlist (f, *list, vids[1]) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist(f, &children) ); return H5_SUCCESS; } static h5_err_t get_edges_downadjacent_to_triangle ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t did, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); int map[4][3] = { {1,4,5}, {2,3,5}, {0,3,4}, {0,1,2} }; - h5_id_t face_idx = h5tpriv_get_face_idx ( did ); - h5_id_t eid = h5tpriv_get_elem_idx ( did ); + h5_id_t face_idx = h5tpriv_get_face_idx (did); + h5_id_t eid = h5tpriv_get_elem_idx (did); h5_id_t i; - for ( i = 0; i < 3; i++ ) { + for (i = 0; i < 3; i++) { TRY( compute_sections_of_edge ( f, h5tpriv_build_edge_id ( map[face_idx][i], eid ), - children ) ); + children) ); } - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); h5_id_t *kid = children->items; - for ( i = 0; i < children->num_items; i++, kid++ ) { - TRY ( h5priv_search_idlist ( f, *list, *kid ) ); + for (i = 0; i < children->num_items; i++, kid++) { + TRY( h5priv_search_idlist (f, *list, *kid) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist (f, &children) ); return H5_SUCCESS; } static h5_err_t get_edges_downadjacent_to_tet ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t eid, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); h5_id_t i; - for ( i = 0; i < 6; i++ ) { + for (i = 0; i < 6; i++) { TRY( compute_sections_of_edge ( f, h5tpriv_build_edge_id ( i, eid ), - children ) ); + children) ); } - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); - h5_id_t *kid = children->items; - for ( i = 0; i < children->num_items; i++, kid++ ) { - TRY ( h5priv_search_idlist ( f, *list, *kid ) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); + h5_id_t* kid = children->items; + for (i = 0; i < children->num_items; i++, kid++) { + TRY( h5priv_search_idlist (f, *list, *kid) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist (f, &children) ); return H5_SUCCESS; } static h5_err_t get_triangles_downadjacent_to_tet ( - h5_file_t * const f, + h5_file_t* const f, const h5_id_t eid, - h5_idlist_t **list + h5_idlist_t** list ) { - h5_idlist_t *children; - TRY ( h5priv_alloc_idlist ( f, &children, 8 ) ); + h5_idlist_t* children; + TRY( h5priv_alloc_idlist (f, &children, 8) ); h5_id_t i; - for ( i = 0; i < 4; i++ ) { + for (i = 0; i < 4; i++) { TRY( compute_sections_of_triangle ( f, h5tpriv_build_edge_id ( i, eid ), - children ) ); + children) ); } - TRY ( h5priv_alloc_idlist ( f, list, 8 ) ); - h5_id_t *did = children->items; - for ( i = 0; i < children->num_items; i++, did++ ) { - TRY ( h5priv_search_idlist ( f, *list, *did ) ); + TRY( h5priv_alloc_idlist (f, list, 8) ); + h5_id_t* did = children->items; + for (i = 0; i < children->num_items; i++, did++) { + TRY( h5priv_search_idlist (f, *list, *did) ); } - TRY ( h5priv_free_idlist( f, &children ) ); + TRY( h5priv_free_idlist (f, &children) ); return H5_SUCCESS; } +static h5_err_t +update_internal_structs ( + h5_file_t* const f + ) { + clock_t t1 = clock(); + TRY( compute_tets_of_vertices (f) ); + clock_t t2 = clock(); + fprintf (stderr, "compute_tets_of_vertices(): %f\n", + (float)(t2-t1)/CLOCKS_PER_SEC); + t1 = clock(); + TRY( compute_tets_of_edges (f) ); + t2 = clock(); + fprintf (stderr, "compute_tets_of_edge(): %f\n", + (float)(t2-t1)/CLOCKS_PER_SEC); + t1 = clock(); + TRY( compute_tets_of_triangles (f) ); + t2 = clock(); + fprintf (stderr, "compute_tets_of_triangle(): %f\n", + (float)(t2-t1)/CLOCKS_PER_SEC); + + return H5_SUCCESS; +} + + static h5_err_t release_internal_structs ( h5_file_t * const f