summaryrefslogtreecommitdiff
path: root/src/Collapse/example
diff options
context:
space:
mode:
authorROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-06-18 22:56:43 +0200
committerROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-06-18 22:56:43 +0200
commit7e92bb3aeddd0cdd32a867ca7a827ed3ed93dbb4 (patch)
tree2d220e1b45a54676ec4b960c9d08a3c013cf874b /src/Collapse/example
parentfc14ad2db5304508285804dc6165f044546b590e (diff)
Code review: Use a flat (u, v, filt) instead of (pair(u, v), filt)
Diffstat (limited to 'src/Collapse/example')
-rw-r--r--src/Collapse/example/edge_collapse_basic_example.cpp22
-rw-r--r--src/Collapse/example/edge_collapse_conserve_persistence.cpp4
2 files changed, 12 insertions, 14 deletions
diff --git a/src/Collapse/example/edge_collapse_basic_example.cpp b/src/Collapse/example/edge_collapse_basic_example.cpp
index ac21e96f..d374fef2 100644
--- a/src/Collapse/example/edge_collapse_basic_example.cpp
+++ b/src/Collapse/example/edge_collapse_basic_example.cpp
@@ -10,7 +10,6 @@ int main() {
using Flag_complex_edge_collapser = Gudhi::collapse::Flag_complex_edge_collapser<Vertex_handle, Filtration_value>;
using Filtered_edge = Flag_complex_edge_collapser::Filtered_edge;
using Filtered_edge_list = std::vector<Filtered_edge>;
- using Edge = Flag_complex_edge_collapser::Edge;
// 1 2
// o---o
@@ -19,26 +18,25 @@ int main() {
// |/ \|
// o---o
// 0 3
- Filtered_edge_list graph = {{{0, 1}, 1.},
- {{1, 2}, 1.},
- {{2, 3}, 1.},
- {{3, 0}, 1.},
- {{0, 2}, 2.},
- {{1, 3}, 2.}};
+ Filtered_edge_list graph = {{0, 1, 1.},
+ {1, 2, 1.},
+ {2, 3, 1.},
+ {3, 0, 1.},
+ {0, 2, 2.},
+ {1, 3, 2.}};
Flag_complex_edge_collapser edge_collapser(graph.begin(), graph.end());
Filtered_edge_list remaining_edges;
// Retrieve collapse edges from the output iterator
edge_collapser.process_edges(
- [&remaining_edges](std::pair<Vertex_handle, Vertex_handle> edge, Filtration_value filtration) {
- remaining_edges.emplace_back(Filtered_edge(edge, filtration));
+ [&remaining_edges](Vertex_handle u, Vertex_handle v, Filtration_value filtration) {
+ remaining_edges.emplace_back(Filtered_edge(u, v, filtration));
});
for (Filtered_edge filtered_edge_from_collapse : remaining_edges) {
- Edge edge_from_collapse = std::get<0>(filtered_edge_from_collapse);
- std::cout << "fn[" << std::get<0>(edge_from_collapse) << ", " << std::get<1>(edge_from_collapse) << "] = "
- << std::get<1>(filtered_edge_from_collapse) << std::endl;
+ std::cout << "fn[" << std::get<0>(filtered_edge_from_collapse) << ", " << std::get<1>(filtered_edge_from_collapse)
+ << "] = " << std::get<2>(filtered_edge_from_collapse) << std::endl;
}
return 0;
diff --git a/src/Collapse/example/edge_collapse_conserve_persistence.cpp b/src/Collapse/example/edge_collapse_conserve_persistence.cpp
index 0a5d9241..69755fc9 100644
--- a/src/Collapse/example/edge_collapse_conserve_persistence.cpp
+++ b/src/Collapse/example/edge_collapse_conserve_persistence.cpp
@@ -117,9 +117,9 @@ int main(int argc, char* argv[]) {
stree_from_collapse.insert_simplex({vertex}, 0.);
}
edge_collapser.process_edges(
- [&stree_from_collapse](const std::vector<Vertex_handle>& edge, Filtration_value filtration) {
+ [&stree_from_collapse](Vertex_handle u, Vertex_handle v, Filtration_value filtration) {
// insert the edge
- stree_from_collapse.insert_simplex(edge, filtration);
+ stree_from_collapse.insert_simplex({u, v}, filtration);
});
std::vector<Persistence_interval> persistence_intervals_from_collapse = get_persistence_intervals(stree_from_collapse, ambient_dim);