summaryrefslogtreecommitdiff
path: root/src/Bottleneck_distance/include/gudhi/Persistence_graph.h
diff options
context:
space:
mode:
authorfgodi <fgodi@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-11-29 09:00:07 +0000
committerfgodi <fgodi@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-11-29 09:00:07 +0000
commit759b53891e1572df0ea0562828fcd88d8f8f3031 (patch)
tree5d408c097c79cd82e9942e0f24c33e81cf0f3109 /src/Bottleneck_distance/include/gudhi/Persistence_graph.h
parent0cf9b8901ed858cba7ac16fcd5a65e631dc22782 (diff)
basic example, infinity
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/bottleneck_integration@1797 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 23432677e7f1628dda596e9ba31138fc5063a608
Diffstat (limited to 'src/Bottleneck_distance/include/gudhi/Persistence_graph.h')
-rw-r--r--src/Bottleneck_distance/include/gudhi/Persistence_graph.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Bottleneck_distance/include/gudhi/Persistence_graph.h b/src/Bottleneck_distance/include/gudhi/Persistence_graph.h
index a4ea6968..506dba52 100644
--- a/src/Bottleneck_distance/include/gudhi/Persistence_graph.h
+++ b/src/Bottleneck_distance/include/gudhi/Persistence_graph.h
@@ -74,10 +74,10 @@ Persistence_graph::Persistence_graph(const Persistence_diagram1 &diag1,
: u(), v()
{
for (auto it = diag1.cbegin(); it != diag1.cend(); ++it)
- if (it->second - it->first > e)
+ if (it->second != std::numeric_limits<double>::infinity() && it->second - it->first > e)
u.push_back(Internal_point(std::get<0>(*it), std::get<1>(*it), u.size()));
for (auto it = diag2.cbegin(); it != diag2.cend(); ++it)
- if (it->second - it->first > e)
+ if (it->second != std::numeric_limits<double>::infinity() && it->second - it->first > e)
v.push_back(Internal_point(std::get<0>(*it), std::get<1>(*it), v.size()));
if (u.size() < v.size())
swap(u, v);
@@ -120,6 +120,7 @@ inline std::vector<double> Persistence_graph::sorted_distances() const {
for (int u_point_index = 0; u_point_index < size(); ++u_point_index)
for (int v_point_index = 0; v_point_index < size(); ++v_point_index)
sorted_distances.emplace(distance(u_point_index, v_point_index));
+ sorted_distances.emplace(std::numeric_limits<double>::infinity());
return std::vector<double>(sorted_distances.begin(),sorted_distances.end());
}