From 251d5726f17275b0af8333440b21476751925e1b Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Thu, 15 Dec 2016 22:53:16 +0000 Subject: Fix after code review git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/trunk@1889 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 9ec3dcd290042159c313a83be3a3e8fb7bafa6e8 --- .../include/gudhi/Persistent_cohomology.h | 10 +- .../test/betti_numbers_unit_test.cpp | 102 ++++++++++----------- 2 files changed, 56 insertions(+), 56 deletions(-) (limited to 'src/Persistent_cohomology') diff --git a/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h b/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h index d3a8acc0..c3a1535a 100644 --- a/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h +++ b/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h @@ -690,17 +690,17 @@ class Persistent_cohomology { return persistent_pairs_; } - /** @brief Returns persistence pairs for a given dimension. + /** @brief Returns persistence intervals for a given dimension. * @param[in] dimension Dimension to get the birth and death pairs from. * @return A vector of persistence intervals (birth and death) on a fixed dimension. */ std::vector< std::pair< Filtration_value , Filtration_value > > - pairs_in_dimension( unsigned dimension ) { + intervals_in_dimension(int dimension) { std::vector< std::pair< Filtration_value , Filtration_value > > result; - for (auto pair : persistent_pairs_) { + // auto && pair, to avoid unnecessary copying + for (auto && pair : persistent_pairs_) { if (cpx_->dimension( get<0>(pair)) == dimension ) { - result.push_back(std::pair(cpx_->filtration(get<0>(pair)), - cpx_->filtration(get<1>(pair)))); + result.emplace_back(cpx_->filtration(get<0>(pair)), cpx_->filtration(get<1>(pair))); } } return result; diff --git a/src/Persistent_cohomology/test/betti_numbers_unit_test.cpp b/src/Persistent_cohomology/test/betti_numbers_unit_test.cpp index 67dfcce4..b98a3765 100644 --- a/src/Persistent_cohomology/test/betti_numbers_unit_test.cpp +++ b/src/Persistent_cohomology/test/betti_numbers_unit_test.cpp @@ -120,32 +120,32 @@ BOOST_AUTO_TEST_CASE( plain_homology_betti_numbers ) BOOST_CHECK(st.filtration(get<0>(persistent_pairs[2])) == 0); BOOST_CHECK(get<1>(persistent_pairs[2]) == st.null_simplex()); - std::cout << "PAIRS IN DIMENSION" << std::endl; - - auto pairs_in_dimension_0 = pcoh.pairs_in_dimension(0); - std::cout << "pairs_in_dimension_0.size() = " << pairs_in_dimension_0.size() << std::endl; - for (int i = 0; i < pairs_in_dimension_0.size(); i++) - std::cout << "pairs_in_dimension_0[" << i << "] = [" << pairs_in_dimension_0[i].first << "," << - pairs_in_dimension_0[i].second << "]" << std::endl; - BOOST_CHECK(pairs_in_dimension_0.size() == 2); - BOOST_CHECK(pairs_in_dimension_0[0].first == 0); - BOOST_CHECK(pairs_in_dimension_0[0].second == std::numeric_limits::infinity()); - BOOST_CHECK(pairs_in_dimension_0[1].first == 0); - BOOST_CHECK(pairs_in_dimension_0[1].second == std::numeric_limits::infinity()); - - - auto pairs_in_dimension_1 = pcoh.pairs_in_dimension(1); - std::cout << "pairs_in_dimension_1.size() = " << pairs_in_dimension_1.size() << std::endl; - for (int i = 0; i < pairs_in_dimension_1.size(); i++) - std::cout << "pairs_in_dimension_1[" << i << "] = [" << pairs_in_dimension_1[i].first << "," << - pairs_in_dimension_1[i].second << "]" << std::endl; - BOOST_CHECK(pairs_in_dimension_1.size() == 1); - BOOST_CHECK(pairs_in_dimension_1[0].first == 0); - BOOST_CHECK(pairs_in_dimension_1[0].second == std::numeric_limits::infinity()); - - auto pairs_in_dimension_2 = pcoh.pairs_in_dimension(2); - std::cout << "pairs_in_dimension_2.size() = " << pairs_in_dimension_2.size() << std::endl; - BOOST_CHECK(pairs_in_dimension_2.size() == 0); + std::cout << "INTERVALS IN DIMENSION" << std::endl; + + auto intervals_in_dimension_0 = pcoh.intervals_in_dimension(0); + std::cout << "intervals_in_dimension_0.size() = " << intervals_in_dimension_0.size() << std::endl; + for (int i = 0; i < intervals_in_dimension_0.size(); i++) + std::cout << "intervals_in_dimension_0[" << i << "] = [" << intervals_in_dimension_0[i].first << "," << + intervals_in_dimension_0[i].second << "]" << std::endl; + BOOST_CHECK(intervals_in_dimension_0.size() == 2); + BOOST_CHECK(intervals_in_dimension_0[0].first == 0); + BOOST_CHECK(intervals_in_dimension_0[0].second == std::numeric_limits::infinity()); + BOOST_CHECK(intervals_in_dimension_0[1].first == 0); + BOOST_CHECK(intervals_in_dimension_0[1].second == std::numeric_limits::infinity()); + + + auto intervals_in_dimension_1 = pcoh.intervals_in_dimension(1); + std::cout << "intervals_in_dimension_1.size() = " << intervals_in_dimension_1.size() << std::endl; + for (int i = 0; i < intervals_in_dimension_1.size(); i++) + std::cout << "intervals_in_dimension_1[" << i << "] = [" << intervals_in_dimension_1[i].first << "," << + intervals_in_dimension_1[i].second << "]" << std::endl; + BOOST_CHECK(intervals_in_dimension_1.size() == 1); + BOOST_CHECK(intervals_in_dimension_1[0].first == 0); + BOOST_CHECK(intervals_in_dimension_1[0].second == std::numeric_limits::infinity()); + + auto intervals_in_dimension_2 = pcoh.intervals_in_dimension(2); + std::cout << "intervals_in_dimension_2.size() = " << intervals_in_dimension_2.size() << std::endl; + BOOST_CHECK(intervals_in_dimension_2.size() == 0); } using Simplex_tree = Gudhi::Simplex_tree<>; @@ -263,29 +263,29 @@ BOOST_AUTO_TEST_CASE( betti_numbers ) BOOST_CHECK(st.filtration(get<0>(persistent_pairs[2])) == 1); BOOST_CHECK(get<1>(persistent_pairs[2]) == st.null_simplex()); - std::cout << "PAIRS IN DIMENSION" << std::endl; - - auto pairs_in_dimension_0 = pcoh.pairs_in_dimension(0); - std::cout << "pairs_in_dimension_0.size() = " << pairs_in_dimension_0.size() << std::endl; - for (int i = 0; i < pairs_in_dimension_0.size(); i++) - std::cout << "pairs_in_dimension_0[" << i << "] = [" << pairs_in_dimension_0[i].first << "," << - pairs_in_dimension_0[i].second << "]" << std::endl; - BOOST_CHECK(pairs_in_dimension_0.size() == 2); - BOOST_CHECK(pairs_in_dimension_0[0].first == 2); - BOOST_CHECK(pairs_in_dimension_0[0].second == std::numeric_limits::infinity()); - BOOST_CHECK(pairs_in_dimension_0[1].first == 1); - BOOST_CHECK(pairs_in_dimension_0[1].second == std::numeric_limits::infinity()); - - auto pairs_in_dimension_1 = pcoh.pairs_in_dimension(1); - std::cout << "pairs_in_dimension_1.size() = " << pairs_in_dimension_1.size() << std::endl; - for (int i = 0; i < pairs_in_dimension_1.size(); i++) - std::cout << "pairs_in_dimension_1[" << i << "] = [" << pairs_in_dimension_1[i].first << "," << - pairs_in_dimension_1[i].second << "]" << std::endl; - BOOST_CHECK(pairs_in_dimension_1.size() == 1); - BOOST_CHECK(pairs_in_dimension_1[0].first == 4); - BOOST_CHECK(pairs_in_dimension_1[0].second == std::numeric_limits::infinity()); - - auto pairs_in_dimension_2 = pcoh.pairs_in_dimension(2); - std::cout << "pairs_in_dimension_2.size() = " << pairs_in_dimension_2.size() << std::endl; - BOOST_CHECK(pairs_in_dimension_2.size() == 0); + std::cout << "INTERVALS IN DIMENSION" << std::endl; + + auto intervals_in_dimension_0 = pcoh.intervals_in_dimension(0); + std::cout << "intervals_in_dimension_0.size() = " << intervals_in_dimension_0.size() << std::endl; + for (int i = 0; i < intervals_in_dimension_0.size(); i++) + std::cout << "intervals_in_dimension_0[" << i << "] = [" << intervals_in_dimension_0[i].first << "," << + intervals_in_dimension_0[i].second << "]" << std::endl; + BOOST_CHECK(intervals_in_dimension_0.size() == 2); + BOOST_CHECK(intervals_in_dimension_0[0].first == 2); + BOOST_CHECK(intervals_in_dimension_0[0].second == std::numeric_limits::infinity()); + BOOST_CHECK(intervals_in_dimension_0[1].first == 1); + BOOST_CHECK(intervals_in_dimension_0[1].second == std::numeric_limits::infinity()); + + auto intervals_in_dimension_1 = pcoh.intervals_in_dimension(1); + std::cout << "intervals_in_dimension_1.size() = " << intervals_in_dimension_1.size() << std::endl; + for (int i = 0; i < intervals_in_dimension_1.size(); i++) + std::cout << "intervals_in_dimension_1[" << i << "] = [" << intervals_in_dimension_1[i].first << "," << + intervals_in_dimension_1[i].second << "]" << std::endl; + BOOST_CHECK(intervals_in_dimension_1.size() == 1); + BOOST_CHECK(intervals_in_dimension_1[0].first == 4); + BOOST_CHECK(intervals_in_dimension_1[0].second == std::numeric_limits::infinity()); + + auto intervals_in_dimension_2 = pcoh.intervals_in_dimension(2); + std::cout << "intervals_in_dimension_2.size() = " << intervals_in_dimension_2.size() << std::endl; + BOOST_CHECK(intervals_in_dimension_2.size() == 0); } -- cgit v1.2.3