From 26997dfccab9e8340417aaa33cf517af1ec32562 Mon Sep 17 00:00:00 2001 From: albert-github Date: Thu, 25 Aug 2022 14:01:50 +0200 Subject: Spelling corrections Correction of some obvious spelling errors --- src/Contraction/example/Rips_contraction.cpp | 2 +- src/Contraction/include/gudhi/Edge_contraction.h | 2 +- src/GudhUI/view/Viewer_instructor.h | 2 +- src/Persistence_representations/test/persistence_lanscapes_test.cpp | 2 +- src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h | 2 +- src/Skeleton_blocker/include/gudhi/Skeleton_blocker_complex.h | 2 +- src/Skeleton_blocker/include/gudhi/Skeleton_blocker_link_complex.h | 2 +- src/cmake/modules/GUDHI_options.cmake | 4 ++-- src/python/gudhi/tensorflow/cubical_layer.py | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Contraction/example/Rips_contraction.cpp b/src/Contraction/example/Rips_contraction.cpp index 42dd0910..547c290e 100644 --- a/src/Contraction/example/Rips_contraction.cpp +++ b/src/Contraction/example/Rips_contraction.cpp @@ -39,7 +39,7 @@ void build_rips(ComplexType& complex, double offset) { int main(int argc, char *argv[]) { if (argc != 3) { std::cerr << "Usage " << argv[0] << " ../../../data/meshes/SO3_10000.off 0.3 to load the file " << - "../../data/SO3_10000.off and contract the Rips complex built with paremeter 0.3.\n"; + "../../data/SO3_10000.off and contract the Rips complex built with parameter 0.3.\n"; return -1; } diff --git a/src/Contraction/include/gudhi/Edge_contraction.h b/src/Contraction/include/gudhi/Edge_contraction.h index 0b43c3b3..dff6dc14 100644 --- a/src/Contraction/include/gudhi/Edge_contraction.h +++ b/src/Contraction/include/gudhi/Edge_contraction.h @@ -48,7 +48,7 @@ Therefore, the simplification can be done without enumerating the set of simplic A typical application of this package is homology group computation. It is illustrated in the next figure where a Rips complex is built upon a set of high-dimensional points and simplified with edge contractions. -It has initially a big number of simplices (around 20 millions) but simplifying it to a much reduced form with only 15 vertices (and 714 simplices) takes only few seconds on a desktop machine (see the example bellow). +It has initially a big number of simplices (around 20 millions) but simplifying it to a much reduced form with only 15 vertices (and 714 simplices) takes only few seconds on a desktop machine (see the example below). One can then compute homology group with a simplicial complex having very few simplices instead of running the homology algorithm on the much bigger initial set of simplices which would take much more time and memory. diff --git a/src/GudhUI/view/Viewer_instructor.h b/src/GudhUI/view/Viewer_instructor.h index 58cbcd31..09ed102f 100644 --- a/src/GudhUI/view/Viewer_instructor.h +++ b/src/GudhUI/view/Viewer_instructor.h @@ -11,7 +11,7 @@ #ifndef VIEW_VIEWER_INSTRUCTOR_H_ #define VIEW_VIEWER_INSTRUCTOR_H_ -// todo do a viewer instructor that have directely a pointer to a QGLviewer and buffer ot not triangles +// todo do a viewer instructor that has directly a pointer to a QGLviewer and buffer ot not triangles #include #include diff --git a/src/Persistence_representations/test/persistence_lanscapes_test.cpp b/src/Persistence_representations/test/persistence_lanscapes_test.cpp index 21ef18a0..59924f16 100644 --- a/src/Persistence_representations/test/persistence_lanscapes_test.cpp +++ b/src/Persistence_representations/test/persistence_lanscapes_test.cpp @@ -238,7 +238,7 @@ if ( argc != 2 ) double integral = p.compute_integral_of_landscape(); cout << "integral : " << integral < dsets_; /* The compressed annotation matrix fields.*/ Cam cam_; - /* Dictionary establishing the correspondance between the Simplex_key of + /* Dictionary establishing the correspondence between the Simplex_key of * the root vertex in the union-find ds and the Simplex_key of the vertex which * created the connected component as a 0-dimension homology feature.*/ std::map zero_cocycles_; diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_complex.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_complex.h index 8ceaa480..b4ffc756 100644 --- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_complex.h +++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_complex.h @@ -1291,7 +1291,7 @@ class Skeleton_blocker_complex { typedef boost::iterator_range Complex_neighbors_vertices_range; /** - * @brief Returns a Complex_edge_range over all edges of the simplicial complex that passes trough v + * @brief Returns a Complex_edge_range over all edges of the simplicial complex that passes through v */ Complex_neighbors_vertices_range vertex_range(Vertex_handle v) const { auto begin = Complex_neighbors_vertices_iterator(this, v); diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_link_complex.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_link_complex.h index a2637da3..b3bf0382 100644 --- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_link_complex.h +++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_link_complex.h @@ -164,7 +164,7 @@ ComplexType> { Vertex_handle y_parent = *parent_complex.get_address( this->get_id(*y_link)); if (parent_complex.contains_edge(x_parent, y_parent)) { - // we check that there is no blocker subset of alpha passing trough x and y + // we check that there is no blocker subset of alpha passing through x and y bool new_edge = true; for (auto blocker_parent : parent_complex.const_blocker_range( x_parent)) { diff --git a/src/cmake/modules/GUDHI_options.cmake b/src/cmake/modules/GUDHI_options.cmake index 5e28c87d..8379e3c6 100644 --- a/src/cmake/modules/GUDHI_options.cmake +++ b/src/cmake/modules/GUDHI_options.cmake @@ -4,7 +4,7 @@ option(WITH_GUDHI_REMOTE_TEST "Activate/deactivate datasets fetching test which option(WITH_GUDHI_PYTHON "Activate/deactivate python module compilation and installation" ON) option(WITH_GUDHI_TEST "Activate/deactivate examples compilation and installation" ON) option(WITH_GUDHI_UTILITIES "Activate/deactivate utilities compilation and installation" ON) -option(WITH_GUDHI_THIRD_PARTY "Activate/deactivate third party libraries cmake detection. When set to OFF, it is usefull for doxygen or user_version i.e." ON) +option(WITH_GUDHI_THIRD_PARTY "Activate/deactivate third party libraries cmake detection. When set to OFF, it is useful for doxygen or user_version i.e." ON) if (NOT WITH_GUDHI_THIRD_PARTY) set (WITH_GUDHI_BENCHMARK OFF) @@ -12,4 +12,4 @@ if (NOT WITH_GUDHI_THIRD_PARTY) set (WITH_GUDHI_PYTHON OFF) set (WITH_GUDHI_TEST OFF) set (WITH_GUDHI_UTILITIES OFF) -endif() \ No newline at end of file +endif() diff --git a/src/python/gudhi/tensorflow/cubical_layer.py b/src/python/gudhi/tensorflow/cubical_layer.py index 3304e719..5df2c370 100644 --- a/src/python/gudhi/tensorflow/cubical_layer.py +++ b/src/python/gudhi/tensorflow/cubical_layer.py @@ -18,7 +18,7 @@ def _Cubical(Xflat, Xdim, dimensions, homology_coeff_field): cc = CubicalComplex(dimensions=Xdim[::-1], top_dimensional_cells=Xflat) cc.compute_persistence(homology_coeff_field=homology_coeff_field) - # Retrieve and ouput image indices/pixels corresponding to positive and negative simplices + # Retrieve and output image indices/pixels corresponding to positive and negative simplices cof_pp = cc.cofaces_of_persistence_pairs() L_cofs = [] -- cgit v1.2.3 From 359d73955c329b62510b785934f88c38b0525003 Mon Sep 17 00:00:00 2001 From: hschreiber Date: Thu, 8 Sep 2022 16:00:06 +0200 Subject: removal of unused private members --- .../gudhi/Functions/Function_affine_plane_in_Rd.h | 101 +++++++------ .../gudhi/Functions/Function_moment_curve_in_Rd.h | 96 +++++++------ .../Integer_combination_iterator.h | 159 ++++++++++----------- 3 files changed, 180 insertions(+), 176 deletions(-) diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h index dc6f5f90..58a9fc41 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h @@ -25,63 +25,62 @@ namespace coxeter_triangulation { * embedded in d-dimensional Euclidean space. */ struct Function_affine_plane_in_Rd { - /** - * \brief Value of the function at a specified point. - * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. - */ - Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { - Eigen::VectorXd result = normal_matrix_.transpose() * (p - off_); - return result; - } + /** + * \brief Value of the function at a specified point. + * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. + */ + Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { + Eigen::VectorXd result = normal_matrix_.transpose() * (p - off_); + return result; + } - /** \brief Returns the domain dimension. Same as the ambient dimension of the sphere. */ - std::size_t amb_d() const { return d_; }; + /** \brief Returns the domain dimension. Same as the ambient dimension of the sphere. */ + std::size_t amb_d() const { return d_; }; - /** \brief Returns the codomain dimension. Same as the codimension of the sphere. */ - std::size_t cod_d() const { return k_; }; + /** \brief Returns the codomain dimension. Same as the codimension of the sphere. */ + std::size_t cod_d() const { return k_; }; - /** \brief Returns a point on the affine plane. */ - Eigen::VectorXd seed() const { - Eigen::VectorXd result = off_; - return result; - } + /** \brief Returns a point on the affine plane. */ + Eigen::VectorXd seed() const { + Eigen::VectorXd result = off_; + return result; + } - /** - * \brief Constructor of the function that defines an m-dimensional implicit affine - * plane in the d-dimensional Euclidean space. - * - * @param[in] normal_matrix A normal matrix of the affine plane. The number of rows should - * correspond to the ambient dimension, the number of columns should correspond to - * the size of the normal basis (codimension). - * @param[in] offset The offset vector of the affine plane. - * The dimension of the vector should be the ambient dimension of the manifold. - */ - Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix, const Eigen::VectorXd& offset) - : normal_matrix_(normal_matrix), d_(normal_matrix.rows()), k_(normal_matrix.cols()), m_(d_ - k_), off_(offset) { - normal_matrix_.colwise().normalize(); - } + /** + * \brief Constructor of the function that defines an m-dimensional implicit affine + * plane in the d-dimensional Euclidean space. + * + * @param[in] normal_matrix A normal matrix of the affine plane. The number of rows should + * correspond to the ambient dimension, the number of columns should correspond to + * the size of the normal basis (codimension). + * @param[in] offset The offset vector of the affine plane. + * The dimension of the vector should be the ambient dimension of the manifold. + */ + Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix, const Eigen::VectorXd& offset) + : normal_matrix_(normal_matrix), d_(normal_matrix.rows()), k_(normal_matrix.cols()), off_(offset) { + normal_matrix_.colwise().normalize(); + } - /** - * \brief Constructor of the function that defines an m-dimensional implicit affine - * plane in the d-dimensional Euclidean space that passes through origin. - * - * @param[in] normal_matrix A normal matrix of the affine plane. The number of rows should - * correspond to the ambient dimension, the number of columns should correspond to - * the size of the normal basis (codimension). - */ - Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix) - : normal_matrix_(normal_matrix), - d_(normal_matrix.rows()), - k_(normal_matrix.cols()), - m_(d_ - k_), - off_(Eigen::VectorXd::Zero(d_)) { - normal_matrix_.colwise().normalize(); - } + /** + * \brief Constructor of the function that defines an m-dimensional implicit affine + * plane in the d-dimensional Euclidean space that passes through origin. + * + * @param[in] normal_matrix A normal matrix of the affine plane. The number of rows should + * correspond to the ambient dimension, the number of columns should correspond to + * the size of the normal basis (codimension). + */ + Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix) + : normal_matrix_(normal_matrix), + d_(normal_matrix.rows()), + k_(normal_matrix.cols()), + off_(Eigen::VectorXd::Zero(d_)) { + normal_matrix_.colwise().normalize(); + } - private: - Eigen::MatrixXd normal_matrix_; - std::size_t d_, k_, m_; - Eigen::VectorXd off_; +private: + Eigen::MatrixXd normal_matrix_; + std::size_t d_, k_; + Eigen::VectorXd off_; }; } // namespace coxeter_triangulation diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h index 11b379f3..d44cdf70 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h @@ -25,51 +25,57 @@ namespace coxeter_triangulation { * in the d-dimensional Euclidean space. */ struct Function_moment_curve_in_Rd { - /** \brief Value of the function at a specified point. - * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. - */ - Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { - Eigen::VectorXd result(k_); - for (std::size_t i = 1; i < d_; ++i) result(i - 1) = p(i) - p(0) * p(i - 1); - return result; - } - - /** \brief Returns the domain (ambient) dimension.. */ - std::size_t amb_d() const { return d_; }; - - /** \brief Returns the codomain dimension. */ - std::size_t cod_d() const { return k_; }; - - /** \brief Returns a point on the moment curve. */ - Eigen::VectorXd seed() const { - Eigen::VectorXd result = Eigen::VectorXd::Zero(d_); - return result; - } - - /** - * \brief Constructor of the function that defines an implicit moment curve - * in the d-dimensional Euclidean space. - * - * @param[in] r Numerical parameter. - * @param[in] d The ambient dimension. - */ - Function_moment_curve_in_Rd(double r, std::size_t d) : m_(1), k_(d - 1), d_(d), r_(r) {} - - /** - * \brief Constructor of the function that defines an implicit moment curve - * in the d-dimensional Euclidean space. - * - * @param[in] r Numerical parameter. - * @param[in] d The ambient dimension. - * @param[in] offset The offset of the moment curve. - */ - Function_moment_curve_in_Rd(double r, std::size_t d, Eigen::VectorXd& offset) - : m_(1), k_(d - 1), d_(d), r_(r), off_(offset) {} - - private: - std::size_t m_, k_, d_; - double r_; - Eigen::VectorXd off_; +public: + /** \brief Value of the function at a specified point. + * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. + */ + Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { + Eigen::VectorXd result(k_); + for (std::size_t i = 1; i < d_; ++i) result(i - 1) = p(i) - p(0) * p(i - 1); + return result; + } + + /** \brief Returns the domain (ambient) dimension.. */ + std::size_t amb_d() const { return d_; }; + + /** \brief Returns the codomain dimension. */ + std::size_t cod_d() const { return k_; }; + + /** \brief Returns a point on the moment curve. */ + Eigen::VectorXd seed() const { + Eigen::VectorXd result = Eigen::VectorXd::Zero(d_); + return result; + } + + /** @brief Returns the radius of the moment curve. */ + double get_radius() const{ + return r_; + } + + /** + * \brief Constructor of the function that defines an implicit moment curve + * in the d-dimensional Euclidean space. + * + * @param[in] r Numerical parameter. + * @param[in] d The ambient dimension. + */ + Function_moment_curve_in_Rd(double r, std::size_t d) : k_(d - 1), d_(d), r_(r) {} + + /** + * \brief Constructor of the function that defines an implicit moment curve + * in the d-dimensional Euclidean space. + * + * @param[in] r Numerical parameter. + * @param[in] d The ambient dimension. + * @param[in] offset The offset of the moment curve. + */ + Function_moment_curve_in_Rd(double r, std::size_t d, Eigen::VectorXd& offset) + : k_(d - 1), d_(d), r_(r), off_(offset) {} + +private: + std::size_t k_, d_; + double r_; + Eigen::VectorXd off_; }; } // namespace coxeter_triangulation diff --git a/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h b/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h index 3ee73754..155995f5 100644 --- a/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h +++ b/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h @@ -25,86 +25,85 @@ typedef unsigned uint; * Based on the algorithm by Mifsud. */ class Integer_combination_iterator - : public boost::iterator_facade const, - boost::forward_traversal_tag> { - using value_t = std::vector; - - private: - friend class boost::iterator_core_access; - - bool equal(Integer_combination_iterator const& other) const { return (is_end_ && other.is_end_); } - - value_t const& dereference() const { return value_; } - - void increment() { - uint j1 = 0; - uint s = 0; - while (value_[j1] == 0 && j1 < k_) j1++; - uint j2 = j1 + 1; - while (value_[j2] == bounds_[j2]) { - if (bounds_[j2] != 0) { - s += value_[j1]; - value_[j1] = 0; - j1 = j2; - } - j2++; - } - if (j2 >= k_) { - is_end_ = true; - return; - } - s += value_[j1] - 1; - value_[j1] = 0; - value_[j2]++; - uint i = 0; - while (s >= bounds_[i]) { - value_[i] = bounds_[i]; - s -= bounds_[i]; - i++; - } - value_[i++] = s; - } - - public: - template - Integer_combination_iterator(const uint& n, const uint& k, const Bound_range& bounds) - : value_(k + 2), is_end_(n == 0 || k == 0), n_(n), k_(k) { - bounds_.reserve(k + 2); - uint sum_radices = 0; - for (auto b : bounds) { - bounds_.push_back(b); - sum_radices += b; - } - bounds_.push_back(2); - bounds_.push_back(1); - if (n > sum_radices) { - is_end_ = true; - return; - } - uint i = 0; - uint s = n; - while (s >= bounds_[i]) { - value_[i] = bounds_[i]; - s -= bounds_[i]; - i++; - } - value_[i++] = s; - - while (i < k_) value_[i++] = 0; - value_[k] = 1; - value_[k + 1] = 0; - } - - // Used for the creating an end iterator - Integer_combination_iterator() : is_end_(true), n_(0), k_(0) {} - - private: - value_t value_; // the dereference value - bool is_end_; // is true when the current integer combination is the final one - - uint n_; - uint k_; - std::vector bounds_; + : public boost::iterator_facade const, + boost::forward_traversal_tag> { + using value_t = std::vector; + +private: + friend class boost::iterator_core_access; + + bool equal(Integer_combination_iterator const& other) const { return (is_end_ && other.is_end_); } + + value_t const& dereference() const { return value_; } + + void increment() { + uint j1 = 0; + uint s = 0; + while (value_[j1] == 0 && j1 < k_) j1++; + uint j2 = j1 + 1; + while (value_[j2] == bounds_[j2]) { + if (bounds_[j2] != 0) { + s += value_[j1]; + value_[j1] = 0; + j1 = j2; + } + j2++; + } + if (j2 >= k_) { + is_end_ = true; + return; + } + s += value_[j1] - 1; + value_[j1] = 0; + value_[j2]++; + uint i = 0; + while (s >= bounds_[i]) { + value_[i] = bounds_[i]; + s -= bounds_[i]; + i++; + } + value_[i++] = s; + } + +public: + template + Integer_combination_iterator(const uint& n, const uint& k, const Bound_range& bounds) + : value_(k + 2), is_end_(n == 0 || k == 0), k_(k) { + bounds_.reserve(k + 2); + uint sum_radices = 0; + for (auto b : bounds) { + bounds_.push_back(b); + sum_radices += b; + } + bounds_.push_back(2); + bounds_.push_back(1); + if (n > sum_radices) { + is_end_ = true; + return; + } + uint i = 0; + uint s = n; + while (s >= bounds_[i]) { + value_[i] = bounds_[i]; + s -= bounds_[i]; + i++; + } + value_[i++] = s; + + while (i < k_) value_[i++] = 0; + value_[k] = 1; + value_[k + 1] = 0; + } + + // Used for the creating an end iterator + Integer_combination_iterator() : is_end_(true), k_(0) {} + +private: + value_t value_; // the dereference value + bool is_end_; // is true when the current integer combination is the final one + + uint k_; + std::vector bounds_; }; } // namespace coxeter_triangulation -- cgit v1.2.3 From d05b5ae07cca5f83cd9a94bd2a5aaf588d2eb18f Mon Sep 17 00:00:00 2001 From: hschreiber Date: Thu, 8 Sep 2022 17:13:42 +0200 Subject: test typo (?) fix --- src/Persistence_representations/test/persistence_heat_maps_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Persistence_representations/test/persistence_heat_maps_test.cpp b/src/Persistence_representations/test/persistence_heat_maps_test.cpp index b3240758..bf531773 100644 --- a/src/Persistence_representations/test/persistence_heat_maps_test.cpp +++ b/src/Persistence_representations/test/persistence_heat_maps_test.cpp @@ -78,7 +78,7 @@ BOOST_AUTO_TEST_CASE(check_compute_percentage_of_active_of_heat_maps) { to_compute_percentage_of_active.push_back(&q); to_compute_percentage_of_active.push_back(&r); Persistence_heat_maps percentage_of_active; - percentage_of_active.compute_percentage_of_active(to_compute_percentage_of_active, 0.1); + percentage_of_active.compute_percentage_of_active(to_compute_percentage_of_active, 0); Persistence_heat_maps template_percentage_of_active; template_percentage_of_active.load_from_file("data/template_percentage_of_active_of_heat_maps"); -- cgit v1.2.3 From 82d7f179d7db317cfe8714bf679f50739bab1173 Mon Sep 17 00:00:00 2001 From: hschreiber Date: Thu, 8 Sep 2022 17:14:58 +0200 Subject: fixed two -Wrange-loop-analysis warnings --- src/Skeleton_blocker/include/gudhi/Skeleton_blocker/internal/Trie.h | 2 +- .../include/gudhi/Skeleton_blocker_simplifiable_complex.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/internal/Trie.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/internal/Trie.h index 18ae6a92..116bc779 100644 --- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/internal/Trie.h +++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/internal/Trie.h @@ -150,7 +150,7 @@ struct Trie { ++s_pos; while (s_pos != s.end() && current != 0) { bool found = false; - for (const auto child : current->childs) { + for (const auto& child : current->childs) { if (child->v == *s_pos) { ++s_pos; current = child.get(); diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h index 5db9c2fd..e686aaec 100755 --- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h +++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h @@ -267,7 +267,7 @@ void Skeleton_blocker_complex::remove_blocker_include_in_simp template void Skeleton_blocker_complex::tip_blockers(Vertex_handle a, Vertex_handle b, std::vector & buffer) const { - for (auto const & blocker : this->const_blocker_range(a)) { + for (auto const blocker : this->const_blocker_range(a)) { Simplex beta = (*blocker); beta.remove_vertex(a); buffer.push_back(beta); -- cgit v1.2.3 From 122a9db751c392910fd09097ad50226c2a557a38 Mon Sep 17 00:00:00 2001 From: hschreiber Date: Fri, 9 Sep 2022 11:22:06 +0200 Subject: restore indentation --- .../gudhi/Functions/Function_affine_plane_in_Rd.h | 101 ++++++------- .../gudhi/Functions/Function_moment_curve_in_Rd.h | 96 ++++++------- .../Integer_combination_iterator.h | 159 +++++++++++---------- 3 files changed, 176 insertions(+), 180 deletions(-) diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h index 58a9fc41..dc6f5f90 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h @@ -25,62 +25,63 @@ namespace coxeter_triangulation { * embedded in d-dimensional Euclidean space. */ struct Function_affine_plane_in_Rd { - /** - * \brief Value of the function at a specified point. - * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. - */ - Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { - Eigen::VectorXd result = normal_matrix_.transpose() * (p - off_); - return result; - } + /** + * \brief Value of the function at a specified point. + * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. + */ + Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { + Eigen::VectorXd result = normal_matrix_.transpose() * (p - off_); + return result; + } - /** \brief Returns the domain dimension. Same as the ambient dimension of the sphere. */ - std::size_t amb_d() const { return d_; }; + /** \brief Returns the domain dimension. Same as the ambient dimension of the sphere. */ + std::size_t amb_d() const { return d_; }; - /** \brief Returns the codomain dimension. Same as the codimension of the sphere. */ - std::size_t cod_d() const { return k_; }; + /** \brief Returns the codomain dimension. Same as the codimension of the sphere. */ + std::size_t cod_d() const { return k_; }; - /** \brief Returns a point on the affine plane. */ - Eigen::VectorXd seed() const { - Eigen::VectorXd result = off_; - return result; - } + /** \brief Returns a point on the affine plane. */ + Eigen::VectorXd seed() const { + Eigen::VectorXd result = off_; + return result; + } - /** - * \brief Constructor of the function that defines an m-dimensional implicit affine - * plane in the d-dimensional Euclidean space. - * - * @param[in] normal_matrix A normal matrix of the affine plane. The number of rows should - * correspond to the ambient dimension, the number of columns should correspond to - * the size of the normal basis (codimension). - * @param[in] offset The offset vector of the affine plane. - * The dimension of the vector should be the ambient dimension of the manifold. - */ - Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix, const Eigen::VectorXd& offset) - : normal_matrix_(normal_matrix), d_(normal_matrix.rows()), k_(normal_matrix.cols()), off_(offset) { - normal_matrix_.colwise().normalize(); - } + /** + * \brief Constructor of the function that defines an m-dimensional implicit affine + * plane in the d-dimensional Euclidean space. + * + * @param[in] normal_matrix A normal matrix of the affine plane. The number of rows should + * correspond to the ambient dimension, the number of columns should correspond to + * the size of the normal basis (codimension). + * @param[in] offset The offset vector of the affine plane. + * The dimension of the vector should be the ambient dimension of the manifold. + */ + Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix, const Eigen::VectorXd& offset) + : normal_matrix_(normal_matrix), d_(normal_matrix.rows()), k_(normal_matrix.cols()), m_(d_ - k_), off_(offset) { + normal_matrix_.colwise().normalize(); + } - /** - * \brief Constructor of the function that defines an m-dimensional implicit affine - * plane in the d-dimensional Euclidean space that passes through origin. - * - * @param[in] normal_matrix A normal matrix of the affine plane. The number of rows should - * correspond to the ambient dimension, the number of columns should correspond to - * the size of the normal basis (codimension). - */ - Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix) - : normal_matrix_(normal_matrix), - d_(normal_matrix.rows()), - k_(normal_matrix.cols()), - off_(Eigen::VectorXd::Zero(d_)) { - normal_matrix_.colwise().normalize(); - } + /** + * \brief Constructor of the function that defines an m-dimensional implicit affine + * plane in the d-dimensional Euclidean space that passes through origin. + * + * @param[in] normal_matrix A normal matrix of the affine plane. The number of rows should + * correspond to the ambient dimension, the number of columns should correspond to + * the size of the normal basis (codimension). + */ + Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix) + : normal_matrix_(normal_matrix), + d_(normal_matrix.rows()), + k_(normal_matrix.cols()), + m_(d_ - k_), + off_(Eigen::VectorXd::Zero(d_)) { + normal_matrix_.colwise().normalize(); + } -private: - Eigen::MatrixXd normal_matrix_; - std::size_t d_, k_; - Eigen::VectorXd off_; + private: + Eigen::MatrixXd normal_matrix_; + std::size_t d_, k_, m_; + Eigen::VectorXd off_; }; } // namespace coxeter_triangulation diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h index d44cdf70..11b379f3 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h @@ -25,57 +25,51 @@ namespace coxeter_triangulation { * in the d-dimensional Euclidean space. */ struct Function_moment_curve_in_Rd { -public: - /** \brief Value of the function at a specified point. - * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. - */ - Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { - Eigen::VectorXd result(k_); - for (std::size_t i = 1; i < d_; ++i) result(i - 1) = p(i) - p(0) * p(i - 1); - return result; - } - - /** \brief Returns the domain (ambient) dimension.. */ - std::size_t amb_d() const { return d_; }; - - /** \brief Returns the codomain dimension. */ - std::size_t cod_d() const { return k_; }; - - /** \brief Returns a point on the moment curve. */ - Eigen::VectorXd seed() const { - Eigen::VectorXd result = Eigen::VectorXd::Zero(d_); - return result; - } - - /** @brief Returns the radius of the moment curve. */ - double get_radius() const{ - return r_; - } - - /** - * \brief Constructor of the function that defines an implicit moment curve - * in the d-dimensional Euclidean space. - * - * @param[in] r Numerical parameter. - * @param[in] d The ambient dimension. - */ - Function_moment_curve_in_Rd(double r, std::size_t d) : k_(d - 1), d_(d), r_(r) {} - - /** - * \brief Constructor of the function that defines an implicit moment curve - * in the d-dimensional Euclidean space. - * - * @param[in] r Numerical parameter. - * @param[in] d The ambient dimension. - * @param[in] offset The offset of the moment curve. - */ - Function_moment_curve_in_Rd(double r, std::size_t d, Eigen::VectorXd& offset) - : k_(d - 1), d_(d), r_(r), off_(offset) {} - -private: - std::size_t k_, d_; - double r_; - Eigen::VectorXd off_; + /** \brief Value of the function at a specified point. + * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. + */ + Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { + Eigen::VectorXd result(k_); + for (std::size_t i = 1; i < d_; ++i) result(i - 1) = p(i) - p(0) * p(i - 1); + return result; + } + + /** \brief Returns the domain (ambient) dimension.. */ + std::size_t amb_d() const { return d_; }; + + /** \brief Returns the codomain dimension. */ + std::size_t cod_d() const { return k_; }; + + /** \brief Returns a point on the moment curve. */ + Eigen::VectorXd seed() const { + Eigen::VectorXd result = Eigen::VectorXd::Zero(d_); + return result; + } + + /** + * \brief Constructor of the function that defines an implicit moment curve + * in the d-dimensional Euclidean space. + * + * @param[in] r Numerical parameter. + * @param[in] d The ambient dimension. + */ + Function_moment_curve_in_Rd(double r, std::size_t d) : m_(1), k_(d - 1), d_(d), r_(r) {} + + /** + * \brief Constructor of the function that defines an implicit moment curve + * in the d-dimensional Euclidean space. + * + * @param[in] r Numerical parameter. + * @param[in] d The ambient dimension. + * @param[in] offset The offset of the moment curve. + */ + Function_moment_curve_in_Rd(double r, std::size_t d, Eigen::VectorXd& offset) + : m_(1), k_(d - 1), d_(d), r_(r), off_(offset) {} + + private: + std::size_t m_, k_, d_; + double r_; + Eigen::VectorXd off_; }; } // namespace coxeter_triangulation diff --git a/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h b/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h index 155995f5..3ee73754 100644 --- a/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h +++ b/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h @@ -25,85 +25,86 @@ typedef unsigned uint; * Based on the algorithm by Mifsud. */ class Integer_combination_iterator - : public boost::iterator_facade const, - boost::forward_traversal_tag> { - using value_t = std::vector; - -private: - friend class boost::iterator_core_access; - - bool equal(Integer_combination_iterator const& other) const { return (is_end_ && other.is_end_); } - - value_t const& dereference() const { return value_; } - - void increment() { - uint j1 = 0; - uint s = 0; - while (value_[j1] == 0 && j1 < k_) j1++; - uint j2 = j1 + 1; - while (value_[j2] == bounds_[j2]) { - if (bounds_[j2] != 0) { - s += value_[j1]; - value_[j1] = 0; - j1 = j2; - } - j2++; - } - if (j2 >= k_) { - is_end_ = true; - return; - } - s += value_[j1] - 1; - value_[j1] = 0; - value_[j2]++; - uint i = 0; - while (s >= bounds_[i]) { - value_[i] = bounds_[i]; - s -= bounds_[i]; - i++; - } - value_[i++] = s; - } - -public: - template - Integer_combination_iterator(const uint& n, const uint& k, const Bound_range& bounds) - : value_(k + 2), is_end_(n == 0 || k == 0), k_(k) { - bounds_.reserve(k + 2); - uint sum_radices = 0; - for (auto b : bounds) { - bounds_.push_back(b); - sum_radices += b; - } - bounds_.push_back(2); - bounds_.push_back(1); - if (n > sum_radices) { - is_end_ = true; - return; - } - uint i = 0; - uint s = n; - while (s >= bounds_[i]) { - value_[i] = bounds_[i]; - s -= bounds_[i]; - i++; - } - value_[i++] = s; - - while (i < k_) value_[i++] = 0; - value_[k] = 1; - value_[k + 1] = 0; - } - - // Used for the creating an end iterator - Integer_combination_iterator() : is_end_(true), k_(0) {} - -private: - value_t value_; // the dereference value - bool is_end_; // is true when the current integer combination is the final one - - uint k_; - std::vector bounds_; + : public boost::iterator_facade const, + boost::forward_traversal_tag> { + using value_t = std::vector; + + private: + friend class boost::iterator_core_access; + + bool equal(Integer_combination_iterator const& other) const { return (is_end_ && other.is_end_); } + + value_t const& dereference() const { return value_; } + + void increment() { + uint j1 = 0; + uint s = 0; + while (value_[j1] == 0 && j1 < k_) j1++; + uint j2 = j1 + 1; + while (value_[j2] == bounds_[j2]) { + if (bounds_[j2] != 0) { + s += value_[j1]; + value_[j1] = 0; + j1 = j2; + } + j2++; + } + if (j2 >= k_) { + is_end_ = true; + return; + } + s += value_[j1] - 1; + value_[j1] = 0; + value_[j2]++; + uint i = 0; + while (s >= bounds_[i]) { + value_[i] = bounds_[i]; + s -= bounds_[i]; + i++; + } + value_[i++] = s; + } + + public: + template + Integer_combination_iterator(const uint& n, const uint& k, const Bound_range& bounds) + : value_(k + 2), is_end_(n == 0 || k == 0), n_(n), k_(k) { + bounds_.reserve(k + 2); + uint sum_radices = 0; + for (auto b : bounds) { + bounds_.push_back(b); + sum_radices += b; + } + bounds_.push_back(2); + bounds_.push_back(1); + if (n > sum_radices) { + is_end_ = true; + return; + } + uint i = 0; + uint s = n; + while (s >= bounds_[i]) { + value_[i] = bounds_[i]; + s -= bounds_[i]; + i++; + } + value_[i++] = s; + + while (i < k_) value_[i++] = 0; + value_[k] = 1; + value_[k + 1] = 0; + } + + // Used for the creating an end iterator + Integer_combination_iterator() : is_end_(true), n_(0), k_(0) {} + + private: + value_t value_; // the dereference value + bool is_end_; // is true when the current integer combination is the final one + + uint n_; + uint k_; + std::vector bounds_; }; } // namespace coxeter_triangulation -- cgit v1.2.3 From 7b10950f7875793b3b2cbab15bacdeefed06d278 Mon Sep 17 00:00:00 2001 From: hschreiber Date: Fri, 9 Sep 2022 11:23:03 +0200 Subject: restore indentation part 2 --- .../include/gudhi/Functions/Function_affine_plane_in_Rd.h | 5 ++--- .../include/gudhi/Functions/Function_moment_curve_in_Rd.h | 11 ++++++++--- .../Integer_combination_iterator.h | 5 ++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h index dc6f5f90..a9e2d507 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h @@ -57,7 +57,7 @@ struct Function_affine_plane_in_Rd { * The dimension of the vector should be the ambient dimension of the manifold. */ Function_affine_plane_in_Rd(const Eigen::MatrixXd& normal_matrix, const Eigen::VectorXd& offset) - : normal_matrix_(normal_matrix), d_(normal_matrix.rows()), k_(normal_matrix.cols()), m_(d_ - k_), off_(offset) { + : normal_matrix_(normal_matrix), d_(normal_matrix.rows()), k_(normal_matrix.cols()), off_(offset) { normal_matrix_.colwise().normalize(); } @@ -73,14 +73,13 @@ struct Function_affine_plane_in_Rd { : normal_matrix_(normal_matrix), d_(normal_matrix.rows()), k_(normal_matrix.cols()), - m_(d_ - k_), off_(Eigen::VectorXd::Zero(d_)) { normal_matrix_.colwise().normalize(); } private: Eigen::MatrixXd normal_matrix_; - std::size_t d_, k_, m_; + std::size_t d_, k_; Eigen::VectorXd off_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h index 11b379f3..f315d794 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h @@ -46,6 +46,11 @@ struct Function_moment_curve_in_Rd { return result; } + /** @brief Returns the radius of the moment curve. */ + double get_radius() const{ + return r_; + } + /** * \brief Constructor of the function that defines an implicit moment curve * in the d-dimensional Euclidean space. @@ -53,7 +58,7 @@ struct Function_moment_curve_in_Rd { * @param[in] r Numerical parameter. * @param[in] d The ambient dimension. */ - Function_moment_curve_in_Rd(double r, std::size_t d) : m_(1), k_(d - 1), d_(d), r_(r) {} + Function_moment_curve_in_Rd(double r, std::size_t d) : k_(d - 1), d_(d), r_(r) {} /** * \brief Constructor of the function that defines an implicit moment curve @@ -64,10 +69,10 @@ struct Function_moment_curve_in_Rd { * @param[in] offset The offset of the moment curve. */ Function_moment_curve_in_Rd(double r, std::size_t d, Eigen::VectorXd& offset) - : m_(1), k_(d - 1), d_(d), r_(r), off_(offset) {} + : k_(d - 1), d_(d), r_(r), off_(offset) {} private: - std::size_t m_, k_, d_; + std::size_t k_, d_; double r_; Eigen::VectorXd off_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h b/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h index 3ee73754..594b6fbf 100644 --- a/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h +++ b/src/Coxeter_triangulation/include/gudhi/Permutahedral_representation/Integer_combination_iterator.h @@ -68,7 +68,7 @@ class Integer_combination_iterator public: template Integer_combination_iterator(const uint& n, const uint& k, const Bound_range& bounds) - : value_(k + 2), is_end_(n == 0 || k == 0), n_(n), k_(k) { + : value_(k + 2), is_end_(n == 0 || k == 0), k_(k) { bounds_.reserve(k + 2); uint sum_radices = 0; for (auto b : bounds) { @@ -96,13 +96,12 @@ class Integer_combination_iterator } // Used for the creating an end iterator - Integer_combination_iterator() : is_end_(true), n_(0), k_(0) {} + Integer_combination_iterator() : is_end_(true), k_(0) {} private: value_t value_; // the dereference value bool is_end_; // is true when the current integer combination is the final one - uint n_; uint k_; std::vector bounds_; }; -- cgit v1.2.3 From 5f728ab258e00b6413a603e1f1082349e946a1dd Mon Sep 17 00:00:00 2001 From: hschreiber Date: Mon, 12 Sep 2022 15:07:59 +0200 Subject: self-assignment warning suppressed --- src/Simplex_tree/test/simplex_tree_ctor_and_move_unit_test.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Simplex_tree/test/simplex_tree_ctor_and_move_unit_test.cpp b/src/Simplex_tree/test/simplex_tree_ctor_and_move_unit_test.cpp index 229ae46f..f6118fe0 100644 --- a/src/Simplex_tree/test/simplex_tree_ctor_and_move_unit_test.cpp +++ b/src/Simplex_tree/test/simplex_tree_ctor_and_move_unit_test.cpp @@ -98,8 +98,16 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(simplex_copy_constructor, Simplex_tree, list_of_te BOOST_CHECK(st == st4); BOOST_CHECK(st3 == st); +#ifdef __clang__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wself-assign-overloaded" +#endif st = st; - print_simplex_filtration(st4, "Third self copy assignment from the default Simplex_tree"); +#ifdef __clang__ +#pragma GCC diagnostic pop +#endif + + print_simplex_filtration(st, "Third self copy assignment from the default Simplex_tree"); BOOST_CHECK(st3 == st); -- cgit v1.2.3 From d16f5256646f1ef5e9277973a9a608ada5ac7115 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Fri, 16 Sep 2022 09:35:43 +0200 Subject: Translate french comment --- .../include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h index 5abd64d7..e166c3ee 100644 --- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h +++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h @@ -196,10 +196,8 @@ class Skeleton_blocker_sub_complex : public ComplexType { }; /** - * @remark remarque perte de temps a creer un nouveau simplexe a chaque fois - * alors qu'on pourrait utiliser a la place de 'addresses_sigma_in_link' - * un simplex avec des valeurs sp�ciales ComplexDS::null_vertex par exemple - * pour indiquer qu'un vertex n'appartient pas au complex + * @remark waste of time to create a new simplex each time when we could use instead of addresses_sigma_in_link a + * simplex with special values (ComplexDS::null_vertex i.e.) to indicate that a vertex does not belong to the complex. */ template bool proper_face_in_union( -- cgit v1.2.3 From fdfed55bd323b378c48100f651db8447f4285ea7 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Fri, 16 Sep 2022 09:57:07 +0200 Subject: Force light mode --- src/Doxyfile.in | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Doxyfile.in b/src/Doxyfile.in index 0b1a8081..1ec190d9 100644 --- a/src/Doxyfile.in +++ b/src/Doxyfile.in @@ -1143,6 +1143,11 @@ HTML_EXTRA_STYLESHEET = @GUDHI_DOXYGEN_COMMON_DOC_PATH@/stylesheet.css HTML_EXTRA_FILES = +# Default here is AUTO_LIGHT which means "Automatically set the mode according +# to the user preference, use light mode if no preference is set". +# Force it to LIGHT (white), as the rest of the documentation is white. +HTML_COLORSTYLE = LIGHT + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to # this color. Hue is specified as an angle on a colorwheel, see -- cgit v1.2.3 From 337866bea1538ac2b7725265856f53a63fabec48 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Fri, 16 Sep 2022 09:57:39 +0200 Subject: Advise doxygen 1.9.5 as it is now available on conda --- src/common/doc/installation.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/doc/installation.h b/src/common/doc/installation.h index 28526498..63a37a25 100644 --- a/src/common/doc/installation.h +++ b/src/common/doc/installation.h @@ -45,7 +45,7 @@ make \endverbatim * * \subsection documentationgeneration C++ documentation * To generate the C++ documentation, the doxygen program - * is required (version ≥ 1.9.3 is advised). Run the following command in a terminal: + * is required (version ≥ 1.9.5 is advised). Run the following command in a terminal: * \verbatim make doxygen \endverbatim * Documentation will be generated in a folder named html. * -- cgit v1.2.3 From e4073eb21d4edf3cc23e59af9bc45c70d77c23ed Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Wed, 5 Oct 2022 08:45:36 +0200 Subject: doc review: confusion between i.e. and e.g. --- .../include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h index e166c3ee..4c0c7dad 100644 --- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h +++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_sub_complex.h @@ -197,7 +197,7 @@ class Skeleton_blocker_sub_complex : public ComplexType { /** * @remark waste of time to create a new simplex each time when we could use instead of addresses_sigma_in_link a - * simplex with special values (ComplexDS::null_vertex i.e.) to indicate that a vertex does not belong to the complex. + * simplex with special values (ComplexDS::null_vertex e.g.) to indicate that a vertex does not belong to the complex. */ template bool proper_face_in_union( -- cgit v1.2.3