From 70196802c49104e27617e5bff1e3c6afd09271ea Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Fri, 31 Jul 2020 17:09:36 +0200 Subject: code review: using a vector is overkill. emplace_back is more efficient --- src/python/include/Simplex_tree_interface.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/python/include/Simplex_tree_interface.h b/src/python/include/Simplex_tree_interface.h index 7500098d..45b178a2 100644 --- a/src/python/include/Simplex_tree_interface.h +++ b/src/python/include/Simplex_tree_interface.h @@ -21,6 +21,7 @@ #include #include // std::pair #include +#include // for std::distance namespace Gudhi { @@ -163,10 +164,11 @@ class Simplex_tree_interface : public Simplex_tree { using Filtered_edge = std::tuple; std::vector edges; for (Simplex_handle sh : Base::skeleton_simplex_range(1)) { - if (Base::dimension(sh) == 1) { - typename Base::Simplex_vertex_range rg = Base::simplex_vertex_range(sh); - std::vector rips_edge(rg.begin(), rg.end()); - edges.push_back(std::make_tuple(rips_edge[0], rips_edge[1], Base::filtration(sh))); + typename Base::Simplex_vertex_range rg = Base::simplex_vertex_range(sh); + auto rg_begin = rg.begin(); + // We take only edges into account + if (std::distance(rg_begin, rg.end()) == 2) { + edges.emplace_back(*rg_begin, *std::next(rg_begin), Base::filtration(sh)); } } -- cgit v1.2.3