Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/GUDHI/gudhi-devel into Ex…
Browse files Browse the repository at this point in the history
…act_SW
  • Loading branch information
MathieuCarriere committed Jul 11, 2024
2 parents 025e258 + c0b5ebb commit f94e7b3
Show file tree
Hide file tree
Showing 52 changed files with 103 additions and 81 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ endif()

# For "make user_version" - Requires GUDHI_modules to be performed
include(GUDHI_user_version_target)
set(GUDHI_BIBLIO_DIR ${CMAKE_CURRENT_BINARY_DIR})
# For "make doxygen" - Requires GUDHI_USER_VERSION_DIR to be set - Done in GUDHI_user_version_target for dev version
include(GUDHI_doxygen_target)

Expand Down
1 change: 1 addition & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ add_gudhi_module(Witness_complex)
add_gudhi_module(Nerve_GIC)
add_gudhi_module(Persistence_matrix)

set(GUDHI_BIBLIO_DIR ${CMAKE_SOURCE_DIR})
# For "make doxygen" - Requires GUDHI_USER_VERSION_DIR to be set
set(GUDHI_USER_VERSION_DIR ${CMAKE_SOURCE_DIR})
include(GUDHI_doxygen_target)
Expand Down
6 changes: 3 additions & 3 deletions src/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ AUTOLINK_SUPPORT = YES
# diagrams that involve STL classes more complete and accurate.
# The default value is: NO.

BUILTIN_STL_SUPPORT = NO
BUILTIN_STL_SUPPORT = YES

# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
Expand Down Expand Up @@ -699,8 +699,8 @@ LAYOUT_FILE =
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. See also \cite for info how to create references.

CITE_BIB_FILES = @CMAKE_SOURCE_DIR@/biblio/bibliography.bib \
@CMAKE_SOURCE_DIR@/biblio/how_to_cite_gudhi.bib
CITE_BIB_FILES = @GUDHI_BIBLIO_DIR@/biblio/bibliography.bib \
@GUDHI_BIBLIO_DIR@/biblio/how_to_cite_gudhi.bib

#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
Expand Down
4 changes: 2 additions & 2 deletions src/Persistence_matrix/concept/PersistenceMatrixColumn.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace persistence_matrix {
* @brief If PersistenceMatrixOptions::has_row_access is true, then @ref Row_access. Otherwise @ref Dummy_row_access.
* Can eventually be removed if the structure of the column does not allow row access (as for @ref Heap_column), but
* then it needs to be notified in the documentation of @ref Column_types and as static_assert in
* @ref Matrix::_assert_options.
* Matrix::_assert_options.
*/
using Row_access_option = Row_access;
/**
Expand Down Expand Up @@ -143,7 +143,7 @@ class PersistenceMatrixColumn :
* @tparam Row_container_type Either std::map if @ref PersistenceMatrixOptions::has_removable_rows is true or
* std::vector<Row_type>.
* @param columnIndex @ref MatIdx column index that should be specified to the cells.
* @param nonZeroRowIndices Range of @ref Matrix::cell_rep_type representing all rows with non zero values.
* @param nonZeroChainRowIndices Range of @ref Matrix::cell_rep_type representing all rows with non zero values.
* @param dimension Dimension of the column. Is ignored if the dimension is not stored.
* @param rowContainer Pointer to the row container that will be forwarded to @ref Row_access at construction.
* @param colSettings Pointer to an existing setting structure. The structure should contain all the necessary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ namespace persistence_fields {
* @{
* \author Hannah Schreiber, Clément Maria
*
* \section fieldintro Persistence Fields
*
* Set of classes allowing addition and multiplication, as well as inverse computation, in \f$ \mathbb{F}_p \f$ fields,
* with \f$ p \f$ some prime number, or in multi-fields as defined in \cite boissonnat:hal-00922572.
*
Expand Down
2 changes: 2 additions & 0 deletions src/Persistence_matrix/doc/Intro_persistence_matrix.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ namespace persistence_matrix {
* @{
* \author Hannah Schreiber
*
* \section matrixintro Persistence Matrix
*
* The module provides a data structure for matrices, in particular thought for matrices representing filtered complexes
* and used as backend for persistence algorithms, such at persistent homology, @ref persistent_cohomology,
* or zigzag @cite zigzag.
Expand Down
2 changes: 1 addition & 1 deletion src/Persistence_matrix/include/gudhi/Fields/Multi_field.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Multi_field.h
* @author Hannah Schreiber, Clément Maria
* @brief Contains the @ref Multi_field_element class.
* @brief Contains the @ref Gudhi::persistence_fields::Multi_field_element class.
*/

#ifndef MATRIX_FIELD_MULTI_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Multi_field_operators.h
* @author Hannah Schreiber, Clément Maria
* @brief Contains the @ref Multi_field_operators class.
* @brief Contains the @ref Gudhi::persistence_fields::Multi_field_operators class.
*/

#ifndef MATRIX_FIELD_MULTI_OPERATORS_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Multi_field_shared.h
* @author Hannah Schreiber, Clément Maria
* @brief Contains the @ref Shared_multi_field_element class.
* @brief Contains the @ref Gudhi::persistence_fields::Shared_multi_field_element class.
*/

#ifndef MATRIX_FIELD_MULTI_SHARED_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Multi_field_small.h
* @author Hannah Schreiber, Clément Maria
* @brief Contains the @ref Multi_field_element_with_small_characteristics class.
* @brief Contains the @ref Gudhi::persistence_fields::Multi_field_element_with_small_characteristics class.
*/

#ifndef MATRIX_FIELD_MULTI_SMALL_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Multi_field_small_operators.h
* @author Hannah Schreiber, Clément Maria
* @brief Contains the @ref Multi_field_operators_with_small_characteristics class.
* @brief Contains the @ref Gudhi::persistence_fields::Multi_field_operators_with_small_characteristics class.
*/

#ifndef MATRIX_FIELD_MULTI_SMALL_OPERATORS_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Multi_field_small_shared.h
* @author Hannah Schreiber, Clément Maria
* @brief Contains the @ref Shared_multi_field_element_with_small_characteristics class.
* @brief Contains the @ref Gudhi::persistence_fields::Shared_multi_field_element_with_small_characteristics class.
*/

#ifndef MATRIX_FIELD_MULTI_SMALL_SHARED_H_
Expand Down
2 changes: 1 addition & 1 deletion src/Persistence_matrix/include/gudhi/Fields/Z2_field.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Z2_field.h
* @author Hannah Schreiber
* @brief Contains the @ref Z2_field_element class.
* @brief Contains the @ref Gudhi::persistence_fields::Z2_field_element class.
*/

#ifndef MATRIX_FIELD_Z2_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Z2_field_operators.h
* @author Hannah Schreiber
* @brief Contains the @ref Z2_field_operators class.
* @brief Contains the @ref Gudhi::persistence_fields::Z2_field_operators class.
*/

#ifndef MATRIX_FIELD_Z2_OPERATORS_H_
Expand Down
2 changes: 1 addition & 1 deletion src/Persistence_matrix/include/gudhi/Fields/Zp_field.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Zp_field.h
* @author Hannah Schreiber
* @brief Contains the @ref Zp_field_element class.
* @brief Contains the @ref Gudhi::persistence_fields::Zp_field_element class.
*/

#ifndef MATRIX_FIELD_ZP_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Zp_field_operators.h
* @author Hannah Schreiber
* @brief Contains the @ref Zp_field_operators class.
* @brief Contains the @ref Gudhi::persistence_fields::Zp_field_operators class.
*/

#ifndef MATRIX_FIELD_ZP_OPERATOR_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file Zp_field_shared.h
* @author Hannah Schreiber
* @brief Contains the @ref Shared_Zp_field_element class.
* @brief Contains the @ref Gudhi::persistence_fields::Shared_Zp_field_element class.
*/

#ifndef MATRIX_FIELD_ZP_VAR_H_
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file cell_constructors.h
* @author Hannah Schreiber
* @brief Contains the @ref New_cell_constructor and @ref Pool_cell_constructor structures.
* @brief Contains different versions of @ref Gudhi::persistence_matrix::Cell factories.
*/

#ifndef PM_COLUMN_CELL_CONSTRUCTORS_H
Expand All @@ -25,6 +25,7 @@ namespace Gudhi {
namespace persistence_matrix {

/**
* @private
* @ingroup persistence_matrix
*
* @brief @ref Cell factory. Constructs and destroyes cell pointers with new and delete.
Expand Down Expand Up @@ -64,6 +65,7 @@ struct New_cell_constructor
};

/**
* @private
* @ingroup persistence_matrix
*
* @brief @ref Cell factory. Uses @ref Gudhi::Simple_object_pool, which is based on boost::object_pool,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file base_matrix.h
* @author Hannah Schreiber
* @brief Contains the @ref Base_matrix class.
* @brief Contains the @ref Gudhi::persistence_matrix::Base_matrix class.
*/

#ifndef PM_BASE_MATRIX_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file base_matrix_with_column_compression.h
* @author Hannah Schreiber
* @brief Contains the @ref Base_matrix_with_column_compression class.
* @brief Contains the @ref Gudhi::persistence_matrix::Base_matrix_with_column_compression class.
*/

#ifndef PM_BASE_MATRIX_COMPRESSION_H
Expand Down Expand Up @@ -292,8 +292,7 @@ class Base_matrix_with_column_compression : protected Master_matrix::Matrix_row_
/**
* @brief Resets the matrix to an empty matrix.
*
* @param operators Pointer to the field operators.
* @param cellConstructor Pointer to the cell factory.
* @param colSettings Pointer to the cell factory.
*/
void reset(Column_settings* colSettings) {
columnToRep_.clear_and_dispose(delete_disposer(this));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
/**
* @file base_pairing.h
* @author Hannah Schreiber
* @brief Contains the @ref Base_pairing class and @ref Dummy_base_pairing structure.
* @brief Contains the @ref Gudhi::persistence_matrix::Base_pairing class and
* @ref Gudhi::persistence_matrix::Dummy_base_pairing structure.
*/

#ifndef PM_BASE_PAIRING_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
/**
* @file base_swap.h
* @author Hannah Schreiber
* @brief Contains the @ref Base_swap class and @ref Dummy_base_swap structure.
* @brief Contains the @ref Gudhi::persistence_matrix::Base_swap class and
* @ref Gudhi::persistence_matrix::Dummy_base_swap structure.
*/

#ifndef PM_BASE_SWAP_H
Expand Down Expand Up @@ -66,7 +67,7 @@ class Base_swap {
*
* @param matrixToCopy Matrix to copy.
*/
Base_swap(const Base_swap& matrixToCopy);
Base_swap(const Base_swap& matrixToCopy) = default;
/**
* @brief Move constructor.
*
Expand Down Expand Up @@ -132,13 +133,7 @@ inline Base_swap<Master_matrix, Base_matrix>::Base_swap(unsigned int numberOfCol
}

template <class Master_matrix, class Base_matrix>
inline Base_swap<Master_matrix, Base_matrix>::Base_swap(const Base_swap<Master_matrix, Base_matrix>& matrixToCopy)
: indexToRow_(matrixToCopy.indexToRow_),
rowToIndex_(matrixToCopy.rowToIndex_),
rowSwapped_(matrixToCopy.rowSwapped_) {}

template <class Master_matrix, class Base_matrix>
inline Base_swap<Master_matrix, Base_matrix>::Base_swap(Base_swap<Master_matrix, Base_matrix>&& other) noexcept
inline Base_swap<Master_matrix, Base_matrix>::Base_swap(Base_swap&& other) noexcept
: indexToRow_(std::move(other.indexToRow_)),
rowToIndex_(std::move(other.rowToIndex_)),
rowSwapped_(std::exchange(other.rowSwapped_, 0)) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file boundary_matrix.h
* @author Hannah Schreiber
* @brief Contains the @ref Boundary_matrix class.
* @brief Contains the @ref Gudhi::persistence_matrix::Boundary_matrix class.
*/

#ifndef PM_BOUNDARY_MATRIX_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @file chain_matrix.h
* @author Hannah Schreiber
* @brief Contains the @ref Chain_matrix class.
* @brief Contains the @ref Gudhi::persistence_matrix::Chain_matrix class.
*/

#ifndef PM_CHAIN_MATRIX_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
/**
* @file chain_pairing.h
* @author Hannah Schreiber
* @brief Contains the @ref Chain_pairing class and @ref Dummy_chain_pairing structure.
* @brief Contains the @ref Gudhi::persistence_matrix::Chain_pairing class and
* @ref Gudhi::persistence_matrix::Dummy_chain_pairing structure.
*/

#ifndef PM_CHAIN_PAIRING_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
/**
* @file chain_rep_cycles.h
* @author Hannah Schreiber
* @brief Contains the @ref Chain_representative_cycles class and @ref Dummy_chain_representative_cycles structure.
* @brief Contains the @ref Gudhi::persistence_matrix::Chain_representative_cycles class and
* @ref Gudhi::persistence_matrix::Dummy_chain_representative_cycles structure.
*/

#ifndef PM_CHAIN_REP_CYCLES_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@
/**
* @file chain_vine_swap.h
* @author Hannah Schreiber
* @brief Contains the @ref Chain_barcode_swap and @ref Chain_vine_swap classes, as well as the
* @ref Dummy_chain_vine_swap and @ref Dummy_chain_vine_pairing structures.
* @brief Contains the @ref Gudhi::persistence_matrix::Chain_barcode_swap and
* @ref Gudhi::persistence_matrix::Chain_vine_swap classes, as well as the
* @ref Gudhi::persistence_matrix::Dummy_chain_vine_swap and
* @ref Gudhi::persistence_matrix::Dummy_chain_vine_pairing structures.
*/

#ifndef PM_CHAIN_VINE_SWAP_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@
/**
* @file cell_types.h
* @author Hannah Schreiber
* @brief Contains the @ref Cell, @ref Cell_column_index and @ref Cell_field_element classes, as well as the
* @ref Dummy_cell_column_index_mixin and @ref Dummy_cell_field_element_mixin structures. Also defines the
* std::hash method for @ref Cell.
* @brief Contains the @ref Gudhi::persistence_matrix::Cell, @ref Gudhi::persistence_matrix::Cell_column_index and
* @ref Gudhi::persistence_matrix::Cell_field_element classes, as well as the
* @ref Gudhi::persistence_matrix::Dummy_cell_column_index_mixin and
* @ref Gudhi::persistence_matrix::Dummy_cell_field_element_mixin structures.
* Also defines the std::hash method for @ref Gudhi::persistence_matrix::Cell.
*/

#ifndef PM_MATRIX_CELL_H
Expand Down Expand Up @@ -128,7 +130,7 @@ class Cell_field_element
/**
* @brief Stores the given element.
*
* @param columnIndex Value to store.
* @param element Value to store.
*/
Cell_field_element(Field_element_type element) : element_(element){};
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
/**
* @file chain_column_extra_properties.h
* @author Hannah Schreiber
* @brief Contains the @ref Chain_column_extra_properties class and @ref Dummy_chain_properties structure.
* @brief Contains the @ref Gudhi::persistence_matrix::Chain_column_extra_properties class and
* @ref Gudhi::persistence_matrix::Dummy_chain_properties structure.
*/

#ifndef PM_CHAIN_COLUMN_PROP_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
/**
* @file column_dimension_holder.h
* @author Hannah Schreiber
* @brief Contains the @ref Column_dimension_holder class and @ref Dummy_dimension_holder structure.
* @brief Contains the @ref Gudhi::persistence_matrix::Column_dimension_holder class and
* @ref Gudhi::persistence_matrix::Dummy_dimension_holder structure.
*/

#ifndef PM_COLUMN_DIM_HOLDER_H
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
/**
* @file heap_column.h
* @author Hannah Schreiber
* @brief Contains the @ref Heap_column class. Also defines the std::hash method for @ref Heap_column.
* @brief Contains the @ref Gudhi::persistence_matrix::Heap_column class. Also defines the std::hash method
* for @ref Gudhi::persistence_matrix::Heap_column.
*/

#ifndef PM_HEAP_COLUMN_H
Expand Down Expand Up @@ -232,7 +233,7 @@ class Heap_column : public Master_matrix::Column_dimension_option, public Master
using dim_opt = typename Master_matrix::Column_dimension_option;
using chain_opt = typename Master_matrix::Chain_column_option;

struct {
struct CellPointerComp {
bool operator()(const Cell* c1, const Cell* c2) const { return *c1 < *c2; }
} cellPointerComp_;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
/**
* @file intrusive_list_column.h
* @author Hannah Schreiber
* @brief Contains the @ref Intrusive_list_column class.
* Also defines the std::hash method for @ref Intrusive_list_column.
* @brief Contains the @ref Gudhi::persistence_matrix::Intrusive_list_column class.
* Also defines the std::hash method for @ref Gudhi::persistence_matrix::Intrusive_list_column.
*/

#ifndef PM_INTRUSIVE_LIST_COLUMN_H
Expand Down
Loading

0 comments on commit f94e7b3

Please sign in to comment.