45 std::string
const& filename,
47 double what_to_substitute_for_infinite_bar = -1)
49 using Bar = std::pair<double, double>;
50 using Barcode = std::vector<Bar>;
58 Barcode final_barcode;
59 final_barcode.reserve(barcode_initial.size());
62 std::clog <<
"Here are the intervals that we read from the file : \n";
63 for (std::size_t i = 0; i != barcode_initial.size(); ++i) {
64 std::clog << barcode_initial[i].first <<
" " << barcode_initial[i].second << std::endl;
68 for (std::size_t i = 0; i != barcode_initial.size(); ++i) {
70 std::clog <<
"Considering interval : " << barcode_initial[i].first <<
" " << barcode_initial[i].second << std::endl;
73 if (barcode_initial[i].first > barcode_initial[i].second) {
76 std::clog <<
"Swap and enter \n";
79 final_barcode.push_back(Bar(barcode_initial[i].second, barcode_initial[i].first));
81 if (barcode_initial[i].second != std::numeric_limits<double>::infinity()) {
83 std::clog <<
"Simply enters\n";
87 final_barcode.push_back(Bar(barcode_initial[i].first, barcode_initial[i].second));
88 }
else if (what_to_substitute_for_infinite_bar != -1){
89 if (barcode_initial[i].first < what_to_substitute_for_infinite_bar) {
91 final_barcode.push_back(Bar(barcode_initial[i].first, what_to_substitute_for_infinite_bar));
99 std::clog <<
"Here are the final bars that we are sending further : \n";
100 for (std::size_t i = 0; i != final_barcode.size(); ++i) {
101 std::clog << final_barcode[i].first <<
" " << final_barcode[i].second << std::endl;
103 std::clog <<
"final_barcode.size() : " << final_barcode.size() << std::endl;
106 return final_barcode;
std::vector< std::pair< double, double > > read_persistence_intervals_in_one_dimension_from_file(std::string const &filename, int dimension=-1, double what_to_substitute_for_infinite_bar=-1)
Definition read_persistence_from_file.h:44