summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-12-15 23:40:29 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-12-15 23:40:29 +0000
commit1f8111355a9bd88d3778ee84c653479c82da15c4 (patch)
tree51ec8c9461ea6cb556de72dd1677c1a78b89bf4d /src
parent75585b58076af057d1e458ea5668a97455d93688 (diff)
parent251d5726f17275b0af8333440b21476751925e1b (diff)
Merge last trunk modifications
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/bottleneck_integration@1890 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: b60efeffe40fd32ba7814aefd5e9cbb3c7b454ae
Diffstat (limited to 'src')
-rw-r--r--src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h10
-rw-r--r--src/Persistent_cohomology/test/betti_numbers_unit_test.cpp102
2 files changed, 56 insertions, 56 deletions
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<Filtration_value, Filtration_value>(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<Mini_simplex_tree::Filtration_value>::infinity());
- BOOST_CHECK(pairs_in_dimension_0[1].first == 0);
- BOOST_CHECK(pairs_in_dimension_0[1].second == std::numeric_limits<Mini_simplex_tree::Filtration_value>::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<Mini_simplex_tree::Filtration_value>::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<Mini_simplex_tree::Filtration_value>::infinity());
+ BOOST_CHECK(intervals_in_dimension_0[1].first == 0);
+ BOOST_CHECK(intervals_in_dimension_0[1].second == std::numeric_limits<Mini_simplex_tree::Filtration_value>::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<Mini_simplex_tree::Filtration_value>::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<Mini_simplex_tree::Filtration_value>::infinity());
- BOOST_CHECK(pairs_in_dimension_0[1].first == 1);
- BOOST_CHECK(pairs_in_dimension_0[1].second == std::numeric_limits<Mini_simplex_tree::Filtration_value>::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<Mini_simplex_tree::Filtration_value>::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<Mini_simplex_tree::Filtration_value>::infinity());
+ BOOST_CHECK(intervals_in_dimension_0[1].first == 1);
+ BOOST_CHECK(intervals_in_dimension_0[1].second == std::numeric_limits<Mini_simplex_tree::Filtration_value>::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<Mini_simplex_tree::Filtration_value>::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);
}