Skip to content

Commit

Permalink
merge upstream
Browse files Browse the repository at this point in the history
  • Loading branch information
hschreiber committed Feb 5, 2025
2 parents 5ee81bc + 9b26cab commit 5b4b9e2
Show file tree
Hide file tree
Showing 47 changed files with 1,174 additions and 621 deletions.
80 changes: 54 additions & 26 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ jobs:
examples:
docker:
# cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_circleci_image
- image: gudhi/ci_for_gudhi:2024.10.01
- image: gudhi/ci_for_gudhi:2024.12.01
steps:
- checkout
- run:
Expand All @@ -24,7 +24,7 @@ jobs:
tests:
docker:
- image: gudhi/ci_for_gudhi:2024.10.01
- image: gudhi/ci_for_gudhi:2024.12.01
steps:
- checkout
- run:
Expand All @@ -43,7 +43,7 @@ jobs:
debug_tests:
docker:
- image: gudhi/ci_for_gudhi:2024.10.01
- image: gudhi/ci_for_gudhi:2024.12.01
steps:
- checkout
- run:
Expand All @@ -62,7 +62,7 @@ jobs:
utils:
docker:
- image: gudhi/ci_for_gudhi:2024.10.01
- image: gudhi/ci_for_gudhi:2024.12.01
steps:
- checkout
- run:
Expand All @@ -81,7 +81,7 @@ jobs:
python:
docker:
- image: gudhi/ci_for_gudhi:2024.10.01
- image: gudhi/ci_for_gudhi:2024.12.01
resource_class: large # Delaunay complex requires about 5 Gb of RAM to compile
steps:
- checkout
Expand All @@ -100,13 +100,13 @@ jobs:
cd version
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DWITH_GUDHI_REMOTE_TEST=ON .
cd python
python3 setup.py build_ext --inplace
python setup.py build_ext --inplace
ctest --output-on-failure
make sphinx
cp -R sphinx /tmp/sphinx
python3 setup.py install
python3 setup.py clean --all
python3 -B -m pytest test/*.py --cov-report html --cov=gudhi
python setup.py install
python setup.py clean --all
python -B -m pytest test/*.py --cov-report html --cov=gudhi
cp -R htmlcov /tmp/htmlcov
- store_artifacts:
path: /tmp/sphinx
Expand All @@ -117,7 +117,7 @@ jobs:

doxygen:
docker:
- image: gudhi/doxygen_for_gudhi:2024.10.01
- image: gudhi/doxygen_for_gudhi:2024.12.01
steps:
- checkout
- run:
Expand All @@ -137,7 +137,7 @@ jobs:
cd build
cmake -DWITH_GUDHI_THIRD_PARTY=OFF ..
make doxygen
grep warning doxygen.log
grep warning doxygen.log || true # No need to test the result of this command
cp doxygen.log html/
cp -R html /tmp/doxygen
Expand All @@ -147,7 +147,7 @@ jobs:

bibliography:
docker:
- image: gudhi/doxygen_for_gudhi:2024.10.01
- image: gudhi/doxygen_for_gudhi:2024.12.01
steps:
- checkout
- run:
Expand All @@ -170,7 +170,7 @@ jobs:
examples_without_cgal_eigen:
docker:
# cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_circleci_image_without_cgal
- image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01
- image: gudhi/ci_for_gudhi_wo_cgal:2024.12.01
steps:
- checkout
- run:
Expand All @@ -189,7 +189,7 @@ jobs:
tests_without_cgal_eigen:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01
- image: gudhi/ci_for_gudhi_wo_cgal:2024.12.01
steps:
- checkout
- run:
Expand All @@ -208,7 +208,7 @@ jobs:
utils_without_cgal_eigen:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01
- image: gudhi/ci_for_gudhi_wo_cgal:2024.12.01
steps:
- checkout
- run:
Expand All @@ -227,7 +227,7 @@ jobs:
python_without_cgal_eigen:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01
- image: gudhi/ci_for_gudhi_wo_cgal:2024.12.01
steps:
- checkout
- run:
Expand All @@ -242,14 +242,14 @@ jobs:
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON ..
cd src/python
python3 setup.py build_ext --inplace
python setup.py build_ext --inplace
ctest --output-on-failure
### With all third parties, except CGAL

examples_without_cgal:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01
- image: gudhi/ci_for_gudhi_wo_cgal:2024.12.01
steps:
- checkout
- run:
Expand All @@ -260,15 +260,22 @@ jobs:
- run:
name: Build and test examples without cgal
command: |
cur_dir=`pwd`
cd /eigen-3.4.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
cmake ..
make install
cd $cur_dir
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
make all
ctest --output-on-failure
tests_without_cgal:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01
- image: gudhi/ci_for_gudhi_wo_cgal:2024.12.01
steps:
- checkout
- run:
Expand All @@ -279,15 +286,22 @@ jobs:
- run:
name: Build and test unitary tests without cgal
command: |
cur_dir=`pwd`
cd /eigen-3.4.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
cmake ..
make install
cd $cur_dir
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
make all
ctest --output-on-failure
utils_without_cgal:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01
- image: gudhi/ci_for_gudhi_wo_cgal:2024.12.01
steps:
- checkout
- run:
Expand All @@ -298,15 +312,22 @@ jobs:
- run:
name: Build and test utilities without cgal
command: |
cur_dir=`pwd`
cd /eigen-3.4.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF ..
cmake ..
make install
cd $cur_dir
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF ..
make all
ctest --output-on-failure
python_without_cgal:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:2024.10.01
- image: gudhi/ci_for_gudhi_wo_cgal:2024.12.01
steps:
- checkout
- run:
Expand All @@ -317,11 +338,18 @@ jobs:
- run:
name: Build and test python module without cgal
command: |
cur_dir=`pwd`
cd /eigen-3.4.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON ..
cmake ..
make install
cd $cur_dir
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON ..
cd src/python
python3 setup.py build_ext --inplace
python setup.py build_ext --inplace
ctest --output-on-failure
workflows:
Expand Down
1 change: 1 addition & 0 deletions .github/code_conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* The classes and functions of a package should be in a sub-namespace of the `Gudhi` namespace. The sub-namespace names are in lowercase and use underscore separators. E.g. `Gudhi::package_name::`
* Concepts are named with camel case starting with uppercase. E.g. `PersistentHomology` for the concept of Persitence homology.
* Classes start with an uppercase letter and use underscore separators. E.g. `Skeleton_blocker_contractor`.
* Constant iterators are preferably named as `*_const_iterator`. E.g. `Vertex_const_iterator`.
* Member functions and free functions are in lowercase and use underscore separators. E.g. `int num_vertices()`.
* Constants and macros are in uppercase.
* Macros should begin with the prefix `GUDHI_`.
Expand Down
3 changes: 3 additions & 0 deletions .github/next_release.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ Below is a list of changes:
* Delaunay Čech complex (using minimal enclosing ball)
* Alpha complex (moved in this new section)

- [Persistence graphical tools](https://gudhi.inria.fr/python/latest/persistence_graphical_tools_user.html)
- Can now handle scikit-learn like interfaces outputs as inputs

- [Module](link)
- **...**

Expand Down
12 changes: 3 additions & 9 deletions .github/workflows/pip-build-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,14 @@ name: pip build linux

on: [push, pull_request]

# Temporary workaround to allow node16
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:
build:
name: build pip wheel
runs-on: ubuntu-latest
# cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip
container: gudhi/pip_for_gudhi:2024.10.02
container: gudhi/pip_for_gudhi:2024.12.02
steps:
# Should use actions/checkout@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Build wheel for Python 3.9
Expand All @@ -37,8 +32,7 @@ jobs:
$PYTHON39/bin/python -m pytest -v src/python/test/test_cubical_complex.py
$PYTHON39/bin/python -m pytest -v src/python/test/test_rips_complex.py
- name: Upload linux python wheel
# Should use actions/upload-artifact@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: linux python wheel
path: build_39/src/python/wheelhouse/*.whl
5 changes: 2 additions & 3 deletions .github/workflows/pip-packaging-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ jobs:
name: build pip wheel
runs-on: ubuntu-latest
# cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip
container: gudhi/pip_for_gudhi:2024.10.02
container: gudhi/pip_for_gudhi:2024.12.02
steps:
# Should use actions/checkout@v4, but requires node20, not available for quay.io/pypa/manylinux2014_x86_64
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
# Python 3.8 specific case where NumPy 2.x will not be supported
Expand Down
16 changes: 9 additions & 7 deletions src/Persistence_matrix/concept/PersistenceMatrixColumn.h
Original file line number Diff line number Diff line change
Expand Up @@ -242,18 +242,19 @@ class PersistenceMatrixColumn :

/**
* @brief Reorders the column with the given map of row indices. Also changes the column index stored in the
* entries if row access is enabled and @p columnIndex is not -1.
* entries if row access is enabled and @p columnIndex is not the @ref Matrix::get_null_value "null index".
*
* Only useful for @ref basematrix "base" and @ref boundarymatrix "boundary matrices" using lazy swaps.
*
* @tparam Row_index_map Map with an %at() method.
* @param valueMap Map such that `valueMap.at(i)` indicates the new row index of the entry
* at current row index `i`.
* @param columnIndex New @ref MatIdx column index of the column. If -1, the index does not change. Ignored if
* the row access is not enabled. Default value: -1.
* @param columnIndex New @ref MatIdx column index of the column. If @ref Matrix::get_null_value "null index",
* the index does not change. Ignored if the row access is not enabled.
* Default value: @ref Matrix::get_null_value "null index".
*/
template <class Row_index_map>
void reorder(const Row_index_map& valueMap, [[maybe_unused]] Index columnIndex = -1);
void reorder(const Row_index_map& valueMap, [[maybe_unused]] Index columnIndex = Matrix::get_null_value<Index>());
/**
* @brief Zeros/empties the column.
*
Expand All @@ -275,11 +276,12 @@ class PersistenceMatrixColumn :
void clear(ID_index rowIndex);

/**
* @brief Returns the row index of the pivot. If the column does not have a pivot, returns -1.
* @brief Returns the row index of the pivot. If the column does not have a pivot,
* returns @ref Matrix::get_null_value "null index".
*
* Only useful for @ref boundarymatrix "boundary" and @ref chainmatrix "chain matrices".
*
* @return Row index of the pivot or -1.
* @return Row index of the pivot or @ref Matrix::get_null_value "null index".
*/
ID_index get_pivot();
/**
Expand Down Expand Up @@ -429,7 +431,7 @@ class PersistenceMatrixColumn :
/**
* @brief Adds a copy of the given entry at the end of the column. It is therefore assumed that the row index
* of the entry is higher than the current pivot of the column. Not available for @ref chainmatrix "chain matrices"
* and is only needed for @ref rumatrix "RU matrices".
* and is only needed for @ref boundarymatrix "RU matrices".
*
* @param entry Entry to push back.
*/
Expand Down
Loading

0 comments on commit 5b4b9e2

Please sign in to comment.