summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorROUVREAU Vincent <vincent.rouvreau@inria.fr>2019-12-10 11:44:21 +0100
committerROUVREAU Vincent <vincent.rouvreau@inria.fr>2019-12-10 11:44:21 +0100
commitad0131187e70657b699eb205de901e50ab36a5d9 (patch)
treebb8e721258a8ce034e0f7d0de87cf041a5e0d8f1
parent10e7b9ff243260887c54c5ca49d92a27c281c68f (diff)
Fix #118 for persistence_intervals
-rw-r--r--src/Persistence_representations/include/gudhi/Persistence_intervals.h5
-rw-r--r--src/Persistence_representations/test/persistence_intervals_test.cpp4
2 files changed, 6 insertions, 3 deletions
diff --git a/src/Persistence_representations/include/gudhi/Persistence_intervals.h b/src/Persistence_representations/include/gudhi/Persistence_intervals.h
index e2db4572..ea4220ea 100644
--- a/src/Persistence_representations/include/gudhi/Persistence_intervals.h
+++ b/src/Persistence_representations/include/gudhi/Persistence_intervals.h
@@ -6,6 +6,8 @@
*
* Modification(s):
* - YYYY/MM Author: Description of the modification
+ * - 2019/12 Vincent Rouvreau: Fix #118 - Make histogram_of_lengths and cumulative_histogram_of_lengths
+ * return the exact number_of_bins (was failing on x86)
*/
#ifndef PERSISTENCE_INTERVALS_H_
@@ -335,6 +337,9 @@ std::vector<size_t> Persistence_intervals::histogram_of_lengths(size_t number_of
getchar();
}
}
+ // we want number of bins equals to number_of_bins (some unexpected results on x86)
+ result[number_of_bins-1]+=result[number_of_bins];
+ result.resize(number_of_bins);
if (dbg) {
for (size_t i = 0; i != result.size(); ++i) std::cerr << result[i] << std::endl;
diff --git a/src/Persistence_representations/test/persistence_intervals_test.cpp b/src/Persistence_representations/test/persistence_intervals_test.cpp
index 3b7a2049..a29dcbee 100644
--- a/src/Persistence_representations/test/persistence_intervals_test.cpp
+++ b/src/Persistence_representations/test/persistence_intervals_test.cpp
@@ -85,8 +85,7 @@ BOOST_AUTO_TEST_CASE(check_histogram_of_lengths) {
template_histogram.push_back(6);
template_histogram.push_back(1);
template_histogram.push_back(7);
- template_histogram.push_back(1);
- template_histogram.push_back(1);
+ template_histogram.push_back(2);
for (size_t i = 0; i != histogram.size(); ++i) {
BOOST_CHECK(histogram[i] == template_histogram[i]);
}
@@ -105,7 +104,6 @@ BOOST_AUTO_TEST_CASE(check_cumulative_histograms_of_lengths) {
template_cumulative_histogram.push_back(35);
template_cumulative_histogram.push_back(36);
template_cumulative_histogram.push_back(43);
- template_cumulative_histogram.push_back(44);
template_cumulative_histogram.push_back(45);
for (size_t i = 0; i != cumulative_histogram.size(); ++i) {