- adapted to new iterate/traverse functions

This commit is contained in:
2010-05-03 13:19:37 +00:00
parent 8a5afeae31
commit bde5ef3624
4 changed files with 64 additions and 69 deletions
+15 -16
View File
@@ -275,17 +275,16 @@ traverse_vertices (
) {
h5_id_t local_id;
h5_id_t num = 0;
h5_float64_t P[3];
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
clock_t t = 0;
printf ( "\nAdjacencies to vertices\n" );
H5FedBeginTraverseVertices ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
fprintf (
stderr,
"Computing all adjacencies of all vertices ... ");
while ( (local_id = H5FedTraverseVertices ( f, P )) >= 0 ) {
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
print_adjacencies_of_vertex ( f, local_id, &t );
num++;
t_total += t;
@@ -300,25 +299,25 @@ traverse_vertices (
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
(double)t_max / (double)CLOCKS_PER_SEC );
return H5FedEndTraverseVertices ( f );
return H5FedEndTraverseEntities (f, iter);
}
static h5_err_t
traverse_edges (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
h5_id_t num = 0;
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
clock_t t = 0;
printf ( "\nAdjacencies to edges\n" );
H5FedBeginTraverseEdges ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
fprintf (
stderr,
"Computing all adjacencies of all edges ... ");
while ( (local_id = H5FedTraverseEdges ( f, vids )) >= 0 ) {
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
print_adjacencies_of_edge ( f, local_id, &t );
num++;
t_total += t;
@@ -333,25 +332,25 @@ traverse_edges (
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
(double)t_max / (double)CLOCKS_PER_SEC );
return H5FedEndTraverseEdges ( f );
return H5FedEndTraverseEntities (f, iter);
}
static h5_err_t
traverse_triangles (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
h5_id_t num = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
clock_t t_total = 0;
clock_t t = 0;
printf ( "\nAdjacencies to triangle\n" );
H5FedBeginTraverseTriangles ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
fprintf (
stderr,
"Computing all adjacencies of all triangles ... ");
while ( (local_id = H5FedTraverseTriangles ( f, vids )) >= 0 ) {
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
print_adjacencies_of_triangle ( f, local_id, &t );
num++;
t_total += t;
@@ -366,25 +365,25 @@ traverse_triangles (
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
(double)t_max / (double)CLOCKS_PER_SEC );
return H5FedEndTraverseTriangles ( f );
return H5FedEndTraverseEntities (f, iter);
}
static h5_err_t
traverse_tets (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
h5_id_t num = 0;
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
clock_t t = 0;
printf ( "\nAdjacencies to tetrahedra\n" );
H5FedBeginTraverseElements ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
fprintf (
stderr,
"Computing all adjacencies of all tetrahedra ... ");
while ( (local_id = H5FedTraverseElements (f, vids )) >= 0 ) {
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
print_adjacencies_of_tet ( f, local_id, &t );
num++;
t_total += t;
@@ -399,7 +398,7 @@ traverse_tets (
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
(double)t_max / (double)CLOCKS_PER_SEC );
return H5FedEndTraverseElements ( f );
return H5FedEndTraverseEntities (f, iter);
}
static h5_err_t
+19 -20
View File
@@ -28,23 +28,25 @@ static h5_err_t
traverse_vertices (
h5_file_t * f
) {
h5_id_t local_id;
h5_id_t vertex_id;
h5_float64_t P[3];
h5_size_t real_num = 0;
h5t_entity_iterator_t* iter;
h5_size_t num = H5FedGetNumVerticesTotal ( f );
printf ( " Number of vertices on level: %lld\n", num );
H5FedBeginTraverseVertices ( f );
iter = H5FedBeginTraverseEntities ( f, 3 );
while ( (real_num < num) &&
((local_id = H5FedTraverseVertices ( f, P )) >= 0) ) {
((vertex_id = H5FedTraverseEntities ( f, iter )) >= 0) ) {
H5FedGetVertexCoordByID (f, vertex_id, P);
char v[256];
snprintf ( v, sizeof(v), "=%llx=", local_id );
snprintf ( v, sizeof(v), "=%llx=", vertex_id );
printf ( "| %-18s | (%f, %f, %f) |\n",
v, P[0], P[1], P[2] );
real_num++;
}
H5FedEndTraverseVertices ( f );
H5FedEndTraverseEntities ( f, iter );
if ( real_num != num ) {
fprintf ( stderr, "!!! Got %lld vertices, but expected %lld.\n",
@@ -58,11 +60,10 @@ static h5_err_t
traverse_edges (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
H5FedBeginTraverseEdges ( f );
h5_id_t local_id;
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities ( f, 2 );
printf ( "Edges on level %lld:\n", H5FedGetLevel(f) );
while ( (local_id = H5FedTraverseEdges ( f, vids )) >= 0 ) {
while ( (local_id = H5FedTraverseEntities ( f, iter )) >= 0 ) {
char v[256];
char k[256];
h5_id_t local_vids[4];
@@ -72,7 +73,7 @@ traverse_edges (
local_vids[0], local_vids[1] );
printf ( "| %-18s | %-18s |\n", k, v );
}
H5FedEndTraverseEdges ( f );
H5FedEndTraverseEntities ( f, iter );
return H5_SUCCESS;
}
@@ -80,11 +81,10 @@ static h5_err_t
traverse_triangles (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
H5FedBeginTraverseTriangles ( f );
h5_id_t local_id;
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities ( f, 1 );
printf ( "Triangles on level %lld:\n", H5FedGetLevel(f) );
while ( (local_id = H5FedTraverseTriangles ( f, vids )) >= 0 ) {
while ( (local_id = H5FedTraverseEntities ( f, iter )) >= 0 ) {
char v[256];
char d[256];
h5_id_t local_vids[4];
@@ -94,7 +94,7 @@ traverse_triangles (
local_vids[0], local_vids[1], local_vids[2] );
printf ( "| %-18s | %-18s |\n", d, v );
}
H5FedEndTraverseTriangles ( f );
H5FedEndTraverseEntities ( f, iter );
return H5_SUCCESS;
}
@@ -102,15 +102,14 @@ static h5_err_t
traverse_tets (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
h5_size_t real_num = 0;
h5_size_t num = H5FedGetNumElementsTotal ( f );
printf ( " Number of tetrahedra on level: %lld\n", num );
H5FedBeginTraverseElements ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
while ( (real_num < num) &&
((local_id = H5FedTraverseElements ( f, vids )) >= 0) ) {
((local_id = H5FedTraverseEntities ( f, iter )) >= 0) ) {
char v[256];
char t[256];
h5_id_t local_vids[4];
@@ -121,7 +120,7 @@ traverse_tets (
printf ( "| %-18s | %-18s |\n", t, v );
real_num++;
}
H5FedEndTraverseElements ( f );
H5FedEndTraverseEntities (f, iter);
if ( real_num != num ) {
fprintf ( stderr, "!!! Got %lld tets, but expected %lld.\n",
real_num, num );
+15 -17
View File
@@ -29,14 +29,12 @@ traverse_vertices (
h5_file_t * f
) {
h5_id_t local_id;
h5_float64_t P[3];
h5_size_t real_num = 0;
h5_size_t num = H5FedGetNumVerticesTotal ( f );
H5FedBeginTraverseVertices ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 3 );
while ( (real_num < num) &&
((local_id = H5FedTraverseVertices ( f, P )) >= 0) ) {
((local_id = H5FedTraverseEntities (f, iter)) >= 0) ) {
size_t size;
h5_int64_t retval[3];
H5FedGetMTag ( f, "testtag", local_id, &size, retval );
@@ -49,7 +47,7 @@ traverse_vertices (
}
real_num++;
}
H5FedEndTraverseVertices ( f );
H5FedEndTraverseEntities (f, iter);
if ( real_num != num ) {
fprintf ( stderr, "!!! Got %lld vertices, but expected %lld.\n",
@@ -63,10 +61,10 @@ static h5_err_t
traverse_edges (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
H5FedBeginTraverseEdges ( f );
while ( (local_id = H5FedTraverseEdges ( f, vids )) >= 0 ) {
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
h5_id_t local_vids[4];
H5FedLMapEdgeID2VertexIDs ( f, local_id, local_vids );
size_t size;
@@ -80,7 +78,7 @@ traverse_edges (
exit ( 1 );
}
}
H5FedEndTraverseEdges ( f );
H5FedEndTraverseEntities (f, iter);
return H5_SUCCESS;
}
@@ -88,10 +86,10 @@ static h5_err_t
traverse_triangles (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
H5FedBeginTraverseTriangles ( f );
while ( (local_id = H5FedTraverseTriangles ( f, vids )) >= 0 ) {
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
size_t size;
h5_int64_t retval[3];
H5FedGetMTag ( f, "testtag", local_id, &size, retval );
@@ -103,7 +101,7 @@ traverse_triangles (
exit ( 1 );
}
}
H5FedEndTraverseTriangles ( f );
H5FedEndTraverseEntities (f, iter);
return H5_SUCCESS;
}
@@ -111,14 +109,14 @@ static h5_err_t
traverse_tets (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
h5_size_t real_num = 0;
h5_size_t num = H5FedGetNumElementsTotal ( f );
H5FedBeginTraverseElements ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
while ( (real_num < num) &&
((local_id = H5FedTraverseElements ( f, vids )) >= 0) ) {
((local_id = H5FedTraverseEntities (f, iter)) >= 0) ) {
size_t size;
h5_int64_t retval[3];
H5FedGetMTag ( f, "testtag", local_id, &size, retval );
@@ -131,7 +129,7 @@ traverse_tets (
}
real_num++;
}
H5FedEndTraverseElements ( f );
H5FedEndTraverseEntities (f, iter);
if ( real_num != num ) {
fprintf ( stderr, "!!! Got %lld tets, but expected %lld.\n",
real_num, num );
+15 -16
View File
@@ -31,11 +31,10 @@ set_vertex_tags (
) {
h5_id_t local_id;
h5_int64_t val[3];
h5_float64_t P[3];
printf ( "\nSet tags to vertices\n" );
H5FedBeginTraverseVertices ( f );
while ( (local_id = H5FedTraverseVertices ( f, P )) >= 0 ) {
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
val[0] = local_id;
val[1] = local_id+1;
val[2] = local_id+2;
@@ -58,18 +57,18 @@ set_vertex_tags (
fprintf ( stderr, "Oops!\n" );
}
}
return H5FedEndTraverseVertices ( f );
return H5FedEndTraverseEntities (f, iter);
}
static h5_err_t
set_edge_tags (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
h5_int64_t val[3];
printf ( "\nSet tags to edges\n" );
H5FedBeginTraverseEdges ( f );
while ( (local_id = H5FedTraverseEdges ( f, vids )) >= 0 ) {
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
val[0] = local_id;
val[1] = local_id+1;
val[2] = local_id+2;
@@ -92,18 +91,18 @@ set_edge_tags (
fprintf ( stderr, "Oops!\n" );
}
}
return H5FedEndTraverseEdges ( f );
return H5FedEndTraverseEntities (f, iter);
}
static h5_err_t
set_tri_tags (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
h5_int64_t val[3];
printf ( "\nSet tags to triangle\n" );
H5FedBeginTraverseTriangles ( f );
while ( (local_id = H5FedTraverseTriangles ( f, vids )) >= 0 ) {
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
val[0] = local_id;
val[1] = local_id+1;
val[2] = local_id+2;
@@ -126,18 +125,18 @@ set_tri_tags (
fprintf ( stderr, "Oops!\n" );
}
}
return H5FedEndTraverseTriangles ( f );
return H5FedEndTraverseEntities (f, iter);
}
static h5_err_t
set_tet_tags (
h5_file_t * f
) {
h5_id_t local_id, vids[4];
h5_id_t local_id;
h5_int64_t val[3];
printf ( "\nSet tags to tetrahedra\n" );
H5FedBeginTraverseElements ( f );
while ( (local_id = H5FedTraverseElements (f, vids )) >= 0 ) {
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
val[0] = local_id;
val[1] = local_id+1;
val[2] = local_id+2;
@@ -160,7 +159,7 @@ set_tet_tags (
fprintf ( stderr, "Oops!\n" );
}
}
return H5FedEndTraverseElements ( f );
return H5FedEndTraverseEntities (f, iter);
}
int