From 2fdf2b9fec8122118933f5819facc44a6b489da2 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 26 Sep 2016 23:57:41 -0500 Subject: [PATCH] Merge two loops in a number of related places. --- source/grid/tria.cc | 132 +++++++++++++++----------------------------- 1 file changed, 45 insertions(+), 87 deletions(-) diff --git a/source/grid/tria.cc b/source/grid/tria.cc index 5a56430486..1705441542 100644 --- a/source/grid/tria.cc +++ b/source/grid/tria.cc @@ -1342,50 +1342,36 @@ namespace internal for (unsigned int level=0; levellevel() == static_cast(level)); ++line) - ++number_cache.n_active_lines_level[level]; + { + ++number_cache.n_lines_level[level]; + if (line->has_children() == false) + ++number_cache.n_active_lines_level[level]; + } // update total number of lines + number_cache.n_lines += number_cache.n_lines_level[level]; number_cache.n_active_lines += number_cache.n_active_lines_level[level]; } } else { // for dim>1, there are no levels for lines - { - line_iterator line = triangulation.begin_line (), - endc = triangulation.end_line(); - for (; line!=endc; ++line) + line_iterator line = triangulation.begin_line (), + endc = triangulation.end_line(); + for (; line!=endc; ++line) + { ++number_cache.n_lines; - } - - { - active_line_iterator line = triangulation.begin_active_line (), - endc = triangulation.end_line(); - for (; line!=endc; ++line) - ++number_cache.n_active_lines; - } + if (line->has_children() == false) + ++number_cache.n_active_lines; + } } } @@ -1456,50 +1442,36 @@ namespace internal for (unsigned int level=0; levellevel() == static_cast(level)); ++quad) - ++number_cache.n_active_quads_level[level]; + { + ++number_cache.n_quads_level[level]; + if (quad->has_children() == false) + ++number_cache.n_active_quads_level[level]; + } // update total number of quads + number_cache.n_quads += number_cache.n_quads_level[level]; number_cache.n_active_quads += number_cache.n_active_quads_level[level]; } } else { // for dim>2, there are no levels for quads - { - quad_iterator quad = triangulation.begin_quad (), - endc = triangulation.end_quad(); - for (; quad!=endc; ++quad) + quad_iterator quad = triangulation.begin_quad (), + endc = triangulation.end_quad(); + for (; quad!=endc; ++quad) + { ++number_cache.n_quads; - } - - { - active_quad_iterator quad = triangulation.begin_active_quad (), - endc = triangulation.end_quad(); - for (; quad!=endc; ++quad) - ++number_cache.n_active_quads; - } + if (quad->has_children() == false) + ++number_cache.n_active_quads; + } } // wait for the background computation for lines @@ -1574,50 +1546,36 @@ namespace internal for (unsigned int level=0; levellevel() == static_cast(level)); ++hex) - ++number_cache.n_active_hexes_level[level]; + { + ++number_cache.n_hexes_level[level]; + if (hex->has_children() == false) + ++number_cache.n_active_hexes_level[level]; + } // update total number of hexes + number_cache.n_hexes += number_cache.n_hexes_level[level]; number_cache.n_active_hexes += number_cache.n_active_hexes_level[level]; } } else { // for dim>3, there are no levels for hexs - { - hex_iterator hex = triangulation.begin_hex (), - endc = triangulation.end_hex(); - for (; hex!=endc; ++hex) + hex_iterator hex = triangulation.begin_hex (), + endc = triangulation.end_hex(); + for (; hex!=endc; ++hex) + { ++number_cache.n_hexes; - } - - { - active_hex_iterator hex = triangulation.begin_active_hex (), - endc = triangulation.end_hex(); - for (; hex!=endc; ++hex) - ++number_cache.n_active_hexes; - } + if (hex->has_children() == false) + ++number_cache.n_active_hexes; + } } // wait for the background computation for quads -- 2.39.5