summaryrefslogtreecommitdiff
path: root/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h
diff options
context:
space:
mode:
authorGard Spreemann <gspr@nonempty.org>2020-01-20 09:33:33 +0100
committerGard Spreemann <gspr@nonempty.org>2020-01-20 09:33:33 +0100
commit8c751c3929b1727c1e2e2781259ddaa39cfd8df3 (patch)
tree0e680ea9182032cc82a732230217980ada093ee9 /src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h
parenta11db9cb0c8b35fa393c95d698754bb0c652b1d6 (diff)
parent9acc59fcc1d5001a212e7b9cd6f00a569a625882 (diff)
Merge branch 'dfsg/latest' into debian/sid
Diffstat (limited to 'src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h')
-rw-r--r--src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h b/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h
index 944b6d35..0f1876d0 100644
--- a/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h
+++ b/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h
@@ -600,8 +600,10 @@ class Persistent_cohomology {
* @return A vector of Betti numbers.
*/
std::vector<int> betti_numbers() const {
+ // Don't allocate a vector of negative size for an empty complex
+ int siz = std::max(dim_max_, 0);
// Init Betti numbers vector with zeros until Simplicial complex dimension
- std::vector<int> betti_numbers(dim_max_, 0);
+ std::vector<int> betti_numbers(siz);
for (auto pair : persistent_pairs_) {
// Count never ended persistence intervals
@@ -639,8 +641,10 @@ class Persistent_cohomology {
* @return A vector of persistent Betti numbers.
*/
std::vector<int> persistent_betti_numbers(Filtration_value from, Filtration_value to) const {
+ // Don't allocate a vector of negative size for an empty complex
+ int siz = std::max(dim_max_, 0);
// Init Betti numbers vector with zeros until Simplicial complex dimension
- std::vector<int> betti_numbers(dim_max_, 0);
+ std::vector<int> betti_numbers(siz);
for (auto pair : persistent_pairs_) {
// Count persistence intervals that covers the given interval
// null_simplex test : if the function is called with to=+infinity, we still get something useful. And it will