From 66873d7ee6dd369dd3d8c1909d6376ed2bce4cc7 Mon Sep 17 00:00:00 2001 From: cjamin Date: Wed, 31 May 2017 11:54:55 +0000 Subject: Check if birth <= death git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/read_persistence_from_file@2488 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: fc7aeca7ca7cd1ec2e9a9263849ec34d4dfa8414 --- src/common/include/gudhi/reader_utils.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/common/include/gudhi') diff --git a/src/common/include/gudhi/reader_utils.h b/src/common/include/gudhi/reader_utils.h index bb744b1c..6a89ce90 100644 --- a/src/common/include/gudhi/reader_utils.h +++ b/src/common/include/gudhi/reader_utils.h @@ -24,6 +24,7 @@ #define READER_UTILS_H_ #include +#include #include @@ -321,6 +322,7 @@ void read_persistence_diagram_from_file(std::string const& filename, OutputItera if (n >= 2) { //int field = (n == 4 ? static_cast(numbers[0]) : -1); int dim = (n >= 3 ? static_cast(numbers[n - 3]) : -1); + GUDHI_CHECK(numbers[n - 2] <= numbers[n - 1], "Error: birth > death."); *out++ = std::make_tuple(dim, numbers[n - 2], numbers[n - 1]); } } @@ -353,6 +355,7 @@ std::map>> read_persistence_diagram_f int n = sscanf(line.c_str(), "%lf %lf %lf %lf", &numbers[0], &numbers[1], &numbers[2], &numbers[3]); if (n >= 2) { int dim = (n >= 3 ? static_cast(numbers[n - 3]) : -1); + GUDHI_CHECK(numbers[n - 2] <= numbers[n - 1], "Error: birth > death."); ret[dim].push_back(std::make_pair(numbers[n - 2], numbers[n - 1])); } } @@ -391,7 +394,10 @@ std::vector> read_persistence_diagram_from_file(std::s int n = sscanf(line.c_str(), "%lf %lf %lf %lf", &numbers[0], &numbers[1], &numbers[2], &numbers[3]); int dim = (n >= 3 ? static_cast(numbers[n - 3]) : -1); if (n >= 2 && (only_this_dim == -1 || dim == only_this_dim)) + { + GUDHI_CHECK(numbers[n - 2] <= numbers[n - 1], "Error: birth > death."); ret.push_back(std::make_pair(numbers[n - 2], numbers[n - 1])); + } } } -- cgit v1.2.3