diff options
author | pdlotko <pdlotko@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2018-02-08 10:37:21 +0000 |
---|---|---|
committer | pdlotko <pdlotko@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2018-02-08 10:37:21 +0000 |
commit | 82c0652b06949b0b002781688565d7ecf30f04fe (patch) | |
tree | 393bb80b81d6d812f37be5169b3bb24a5734a754 /src/common/include | |
parent | b5667b282e8cee9e1d2bfcf90bdfbbf2bc0030b2 (diff) |
Fixed comments from Marc and Vincent.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/rips_complex_from_correlation_matrix@3234 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Former-commit-id: 8b5e08c38cd05512ba8b2824f13a62d35f39bac3
Diffstat (limited to 'src/common/include')
-rw-r--r-- | src/common/include/gudhi/writing_persistence_to_file.h | 102 |
1 files changed, 61 insertions, 41 deletions
diff --git a/src/common/include/gudhi/writing_persistence_to_file.h b/src/common/include/gudhi/writing_persistence_to_file.h index 5767c06e..5457cf48 100644 --- a/src/common/include/gudhi/writing_persistence_to_file.h +++ b/src/common/include/gudhi/writing_persistence_to_file.h @@ -39,21 +39,35 @@ template <typename Filtration_type , typename Coefficient_field> class Persistence_interval_common { public: + /** + * Constructor taking as an input birth and death of the pair. + **/ Persistence_interval_common( Filtration_type birth , Filtration_type death ): birth_(birth),death_(death),dimension_(std::numeric_limits<unsigned>::max), arith_element_(std::numeric_limits<Coefficient_field>::max() ){} + /** + * Constructor taking as an input birth, death and dimension of the pair. + **/ Persistence_interval_common( Filtration_type birth , Filtration_type death, unsigned dim ): birth_(birth),death_(death),dimension_(dim), arith_element_(std::numeric_limits<Coefficient_field>::max()){} + /** + * Constructor taking as an input birth, death, dimension of the pair as well + * as the number p such that this interval is present over Z_p field. + **/ Persistence_interval_common( Filtration_type birth , Filtration_type death, unsigned dim , Coefficient_field field ): birth_(birth),death_(death),dimension_(dim), arith_element_(field){} - + /** + * Operator to compare two persistence pairs. During the comparision all the + * fields: birth, death, dimensiona and arith_element_ are taken into account + * and they all have to be equal for two pairs to be equal. + **/ inline bool operator == ( const Persistence_interval_common &i2) { return ( @@ -62,6 +76,9 @@ public: ); } + /** + * Check if two persistence paris are not equal. + **/ inline bool operator != ( const Persistence_interval_common &i2) { return (!((*this)==i2)); @@ -69,49 +86,52 @@ public: /** + * Operator to compare objects of a type Persistence_interval_common. + * One intervals is smaller than the other if it has lower persistence. * Note that this operator do not take Arith_element into account when doing comparisions. **/ inline bool operator < ( const Persistence_interval_common &i2) - { - if ( this->birth_ < i2.birth_ ) - { - return true; - } - else - { - if ( this->birth_ > i2.birth_ ) - { - return false; - } - else - { - //in this case this->birth_ == i2.birth_ - if ( this->death_ > i2.death_ ) - { - return true; - } - else - { - if ( this->death_ < i2.death_ ) - { - return false; - } - else - { - //in this case this->death_ == i2.death_ - if ( this->dimension_ < i2.dimension_ ) - { - return true; - } - else - { - //in this case this->dimension >= i2.dimension - return false; - } - } - } - } - } + { + return fabs( this->death_-this->birth_ ) < fabs( i2.death_-i2.birth_ ); + //if ( this->birth_ < i2.birth_ ) + //{ + // return true; + //} + //else + //{ + // if ( this->birth_ > i2.birth_ ) + // { + // return false; + // } + // else + // { + // //in this case this->birth_ == i2.birth_ + // if ( this->death_ > i2.death_ ) + // { + // return true; + // } + // else + // { + // if ( this->death_ < i2.death_ ) + // { + // return false; + // } + // else + // { + // //in this case this->death_ == i2.death_ + // if ( this->dimension_ < i2.dimension_ ) + // { + // return true; + // } + // else + // { + // //in this case this->dimension >= i2.dimension + // return false; + // } + // } + // } + // } + //} } friend std::ostream& operator<<(std::ostream& out, const Persistence_interval_common& it) |