summaryrefslogtreecommitdiff
path: root/src/cython/include/Persistent_cohomology_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cython/include/Persistent_cohomology_interface.h')
-rw-r--r--src/cython/include/Persistent_cohomology_interface.h32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/cython/include/Persistent_cohomology_interface.h b/src/cython/include/Persistent_cohomology_interface.h
index 1ff0e09b..25c458d2 100644
--- a/src/cython/include/Persistent_cohomology_interface.h
+++ b/src/cython/include/Persistent_cohomology_interface.h
@@ -20,13 +20,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef PERSISTENT_COHOMOLOGY_INTERFACE_H
-#define PERSISTENT_COHOMOLOGY_INTERFACE_H
+#ifndef INCLUDE_PERSISTENT_COHOMOLOGY_INTERFACE_H_
+#define INCLUDE_PERSISTENT_COHOMOLOGY_INTERFACE_H_
#include <gudhi/Persistent_cohomology.h>
#include <vector>
#include <utility> // for std::pair
+#include <algorithm> // for sort
namespace Gudhi {
@@ -34,12 +35,10 @@ template<class FilteredComplex>
class Persistent_cohomology_interface : public
persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomology::Field_Zp> {
private:
-
/*
* Compare two intervals by dimension, then by length.
*/
struct cmp_intervals_by_dim_then_length {
-
explicit cmp_intervals_by_dim_then_length(FilteredComplex * sc)
: sc_(sc) { }
@@ -55,23 +54,26 @@ persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomol
};
public:
-
Persistent_cohomology_interface(FilteredComplex* stptr)
: persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomology::Field_Zp>(*stptr),
stptr_(stptr) { }
Persistent_cohomology_interface(FilteredComplex* stptr, bool persistence_dim_max)
- : persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomology::Field_Zp>(*stptr,
- persistence_dim_max),
- stptr_(stptr) { }
+ : persistent_cohomology::Persistent_cohomology<FilteredComplex,
+ persistent_cohomology::Field_Zp>(*stptr, persistence_dim_max),
+ stptr_(stptr) { }
- std::vector<std::pair<int, std::pair<double, double>>> get_persistence(int homology_coeff_field, double min_persistence) {
- persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomology::Field_Zp>::init_coefficients(homology_coeff_field);
- persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomology::Field_Zp>::compute_persistent_cohomology(min_persistence);
+ std::vector<std::pair<int, std::pair<double, double>>> get_persistence(int homology_coeff_field,
+ double min_persistence) {
+ persistent_cohomology::Persistent_cohomology<FilteredComplex,
+ persistent_cohomology::Field_Zp>::init_coefficients(homology_coeff_field);
+ persistent_cohomology::Persistent_cohomology<FilteredComplex,
+ persistent_cohomology::Field_Zp>::compute_persistent_cohomology(min_persistence);
// Custom sort and output persistence
cmp_intervals_by_dim_then_length cmp(stptr_);
- auto persistent_pairs = persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomology::Field_Zp>::get_persistent_pairs();
+ auto persistent_pairs = persistent_cohomology::Persistent_cohomology<FilteredComplex,
+ persistent_cohomology::Field_Zp>::get_persistent_pairs();
std::sort(std::begin(persistent_pairs), std::end(persistent_pairs), cmp);
std::vector<std::pair<int, std::pair<double, double>>> persistence;
@@ -81,7 +83,6 @@ persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomol
stptr_->filtration(get<1>(pair)))));
}
return persistence;
-
}
private:
@@ -90,7 +91,6 @@ persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomol
};
-} // namespace Gudhi
-
-#endif // PERSISTENT_COHOMOLOGY_INTERFACE_H
+} // namespace Gudhi
+#endif // INCLUDE_PERSISTENT_COHOMOLOGY_INTERFACE_H_