diff options
author | Gard Spreemann <gspreemann@gmail.com> | 2017-10-09 10:47:31 +0200 |
---|---|---|
committer | Gard Spreemann <gspreemann@gmail.com> | 2017-10-09 10:47:31 +0200 |
commit | 673b6bb63befd7e591e52c13f43e5db53e5b29bd (patch) | |
tree | 3f15d96ef39bf0c6cf656d176ff1c437cacf5988 /include/gudhi/Persistent_cohomology.h | |
parent | 9466ce44e348487fc04a1fda493ed659ae92b775 (diff) | |
parent | 866f6ce614e9c09c97fed12c8c0c2c9fb84fad3f (diff) |
Merge tag 'upstream/2.0.1' into dfsg/latest
Upstream's 2.0.1 release.
Diffstat (limited to 'include/gudhi/Persistent_cohomology.h')
-rw-r--r-- | include/gudhi/Persistent_cohomology.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/gudhi/Persistent_cohomology.h b/include/gudhi/Persistent_cohomology.h index 672fda48..e0a147b3 100644 --- a/include/gudhi/Persistent_cohomology.h +++ b/include/gudhi/Persistent_cohomology.h @@ -591,10 +591,17 @@ class Persistent_cohomology { std::ofstream diagram_out(diagram_name.c_str()); cmp_intervals_by_length cmp(cpx_); std::sort(std::begin(persistent_pairs_), std::end(persistent_pairs_), cmp); + bool has_infinity = std::numeric_limits<Filtration_value>::has_infinity; for (auto pair : persistent_pairs_) { - diagram_out << cpx_->dimension(get<0>(pair)) << " " - << cpx_->filtration(get<0>(pair)) << " " - << cpx_->filtration(get<1>(pair)) << std::endl; + // Special case on windows, inf is "1.#INF" + if (has_infinity && cpx_->filtration(get<1>(pair)) == std::numeric_limits<Filtration_value>::infinity()) { + diagram_out << cpx_->dimension(get<0>(pair)) << " " + << cpx_->filtration(get<0>(pair)) << " inf" << std::endl; + } else { + diagram_out << cpx_->dimension(get<0>(pair)) << " " + << cpx_->filtration(get<0>(pair)) << " " + << cpx_->filtration(get<1>(pair)) << std::endl; + } } } |