diff options
author | Ulrich Bauer <mail@ulrich-bauer.org> | 2020-07-08 12:00:00 +0200 |
---|---|---|
committer | Ulrich Bauer <mail@ulrich-bauer.org> | 2020-07-08 12:00:00 +0200 |
commit | 86ed81bc2eaecfba434986cd36936a5c67ea8a2c (patch) | |
tree | 65cd8cd10ae82a6fbb8ca338caa03942f1c68d7f | |
parent | 48c0e693979684d44ca6143497f3ff88a5987422 (diff) |
fix boundary enumerator corner case issue
-rw-r--r-- | ripser.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -468,11 +468,12 @@ public: } bool has_next() { - v = parent.get_max_vertex(idx_below, k, v); - return (v != -1) && (binomial_coeff(v, k) <= idx_below); + return (k > 0); } diameter_entry_t next() { + v = parent.get_max_vertex(idx_below, k, v); + index_t face_index = idx_above - binomial_coeff(v, k) + idx_below; value_t face_diameter = parent.compute_diameter(face_index, dim - 1); @@ -483,11 +484,9 @@ public: idx_below -= binomial_coeff(v, k); idx_above += binomial_coeff(v, k - 1); - --v; --k; - + return diameter_entry_t(face_diameter, face_index, face_coefficient); - ; } }; |