support for 3d+1#110
Conversation
While debugging bistellar_flip, make sure do_44_move returns the manifold. Fix input parameter on do_44_move to be a const reference to the manifold. Update to Boost 1.79 and qt6.3 via vcpkgGitCommitId: ecd55433fd37129109f663548f3b11204e35e630 Also proposed a pull request harupy/find-trailing-whitespace#18 to only check whitespace on changed files.
Also update README.md.
Working through the minimal example in bistellar.cpp revealed that any edge was selected due to infinite incident cells being counted. So, add a check to not count infinite cells.
The source file bistellar.cpp now contains a working minimal example of a bistellar flip. Also added a CTest to check for a successful run.
Fix documentation links and update the bistellar flip example.
Add find_vertex and find_cell helper functions to FoliatedTriangulation. These are wrappers for CGAL::Triangulation_3::is_vertex and ::is_cell, which are boolean functions with out parameters. The plan is to recast these as free functions taking an Delaunay triangulation parameter, so that they can be used in the bistellar.cpp example. That way, if they are accepted into Triangulation_3 then bistellar_flip_really becomes easy to write in terms of internal Triangulation_3 functions. Also update GitHub Actions to vcpkgGitCommitId: a106de33bbee694e3be6243718aa2a549a692832. Change README to reflect that vcpkg manifest mode is now the default, so vcpkg install --feature-flags=manifests is no longer necessary.
Yes, unified call syntax here would be nice. All tests pass. Note that hilarity (i.e. bugs) ensues if foliated_triangulations::collect_edges takes a Delaunay triangulation by value instead of constant reference. Update to vcpkgGitCommitId: 47cbed88514c0e48fdb72ddc29545f35136f5461
Catch2 has a number of issues with ASAN, compile times, etc. doctest is much faster and simpler. There are a couple of tests that need to be rewritten, and have been commented out.
Update vcpkgGitCommitId: 2e781b513f486618909d9f78185c0c7ebb54624c
Mostly to try to see if we can get less output from ASAN.
Update vcpkgGitCommitId: 840f701d83d5019aa5033c9d9d08a4cc0d0ebdce which should fix spdlog.
Also take advantage of std::numbers in C++20.
Should rename functions to be consistent.
Geometry3 -> Geometry_3 FoliatedTriangulation3 -> Foliated_Triangulation_3 etc. New function incident_cells_from_edge to encapsulate all the logic behind finding locations for bistellar flips based on the number of incident cells (ie. == 4). Updated to vcpkgGitCommitId: c379c64ff9ec1b8c6100ebff8e81ecdcb49b330c
Only need a reference to the triangulation, the edge to be flipped, and the top and bottom vertices. Update vcpkgGitCommitId: 1323f4b83d6a91e415e9ce06a45c9d0a6473aaf2 The function still needs to be debugged, of course.
Turn on doctest fast assertions. Fix references to Catch in documentation and CI. Use doctest test suites. Update CI to use vcpkgGitCommitId: 9e8da9bd8aa16fb268ac68f731c44fdef5fec1ab
PVS Studio identified possible use of an uninitialized value obtained by a function returning a std::optional<T>.
# ---------------------------------------------------------- # Header - (type): Brief description # ---------------------------------------------------------- # * feature A new feature # * fix A bug fix # * docs Changes to documentation only # * style Style/format changes (whitespace, etc.) # * refactor Changes not related to a bug or feature # * performance Changes that affects performance # * test Changes that add/modify/correct tests # * build Changes to build system (configs, etc.) # * ci Changes to CI pipeline/workflow # ---------------------------------------------------------- # ---------------------------------------------------------- # Body - More detailed description, if necessary # ---------------------------------------------------------- # * Motivation behind changes, more detail into how # functionality might be affected, etc. # ---------------------------------------------------------- # ---------------------------------------------------------- # Footer - Associated issues, PRs, etc. # ---------------------------------------------------------- # * Ex: Resolves Issue #207, see PR acgetchell#15, etc. # ----------------------------------------------------------
fmt::print doesn't like CGAL point << output anymore, so wrap it with a point_to_str that converts it. Fix Metropolis to use SystemError.what() which is a const string for reporting via spdlog::trace which uses fmt which requires const string arguments. Similar conversions using Gmpzf.to_double to make spdlg::debug happy. Update vcpkgGitCommitId: 23cc58477e200bb54c293ad76f3ce438dbabc86c
Nice catch via sonarcloud. Also remove unused includes.
Found a few more places to fix fmt. Simplified try_32_move. Removed diagnostic code that was throwing exceptions. That info gets printed out before the runs already. Updated vcpkgGitCommitId: 5fb8f6c24ec13a36db460a555b24b20be03bd73c
Except the usual transparent functors 'less<>' issue which is unfixable given docopt.cpp's current implementation.
Consistent formatting
Via vcpkgGitCommitId: 316323019266ff54be39e0cb2c2de9caaa94cf75
vcpkgGitCommitId: 01b29f6d8212bc845da64773b18665d682f5ab66
Also update packages to vcpkgGitCommitId: 929fc61671bb5e5e7322981dce1153abf24f54cf And re-enable Windows builds on GHA.
Update GitHub Actions with vcpkgGitCommitId: 57ae838ee87313a3f0c5e14b008767d97d94debe Start slow with iwyu to ensure it's correct on all platforms.
Update Travis-CI build environment to Jammy with gcc-11 and clang-14.
Sets up Dependabot to automatically update GitHub Actions dependencies on a weekly basis. This ensures that the project stays up-to-date with the latest security patches and feature improvements for GitHub Actions workflows.
Bumps [jidicula/clang-format-action](https://github.com/jidicula/clang-format-action) from 4.13.0 to 4.15.0. - [Release notes](https://github.com/jidicula/clang-format-action/releases) - [Commits](jidicula/clang-format-action@v4.13.0...v4.15.0) --- updated-dependencies: - dependency-name: jidicula/clang-format-action dependency-version: 4.15.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pkgxdev/setup](https://github.com/pkgxdev/setup) from 2 to 4. - [Release notes](https://github.com/pkgxdev/setup/releases) - [Commits](pkgxdev/setup@v2...v4) --- updated-dependencies: - dependency-name: pkgxdev/setup dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](codecov/codecov-action@v4...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Boost Multiprecision has a packaging bug. And we rely on MPFR/GMP for intensive calculations anyways, so configure CGAL to use them instead of Boost Multiprecision.
|
Important Review skippedToo many files! This PR contains 127 files, which is 27 over the limit of 100. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (127)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
# Conflicts: # .appveyor.yml # .clang-format # .clang-tidy # .cmake-format.yaml # .codecov.yml # .coderabbit.yaml # .github/CONTRIBUTING.md # .github/ISSUE_TEMPLATE/bug_report.md # .github/ISSUE_TEMPLATE/feature_request.md # .github/dependabot.yml # .github/workflows/asan.yml # .github/workflows/codecov-upload.yml # .github/workflows/codeql.yml # .github/workflows/doxygen.yml # .github/workflows/lsan.yml # .github/workflows/msan.yml # .github/workflows/tsan.yml # .gitignore # .travis.yml # CMakeLists.txt # CMakePresets.json # LICENSE.md # README.md # cmake/Cache.cmake # cmake/Sanitizers.cmake # cmake/StandardProjectSettings.cmake # cmake/StaticAnalyzers.cmake # include/Apply_move.hpp # include/Ergodic_moves_3.hpp # include/Foliated_triangulation.hpp # include/Formatters.hpp # include/Geometry.hpp # include/Manifold.hpp # include/Metropolis.hpp # include/Move_always.hpp # include/Move_command.hpp # include/Move_strategy.hpp # include/Move_tracker.hpp # include/Periodic_3_triangulations.hpp # include/Settings.hpp # include/Torus_d.hpp # include/Triangulation_traits.hpp # include/Utilities.hpp # scripts/build.bat # scripts/build.sh # scripts/clang-tidy.sh # scripts/codecov.sh # scripts/debug.sh # scripts/fast-build.bat # scripts/fast-build.sh # scripts/gcov.sh # scripts/iwyu.sh # scripts/slurm.sh # sonar-project.properties # src/CMakeLists.txt # src/cdt-opt.cpp # src/cdt.cpp # src/initialize.cpp # src/optimize-initialize.py # src/test.py # tests/Apply_move_test.cpp # tests/Bistellar_flip_test.cpp # tests/CMakeLists.txt # tests/Ergodic_moves_3_test.cpp # tests/Foliated_triangulation_test.cpp # tests/Function_ref_test.cpp # tests/Geometry_test.cpp # tests/Manifold_test.cpp # tests/Metropolis_test.cpp # tests/Move_always_test.cpp # tests/Move_command_test.cpp # tests/Move_tracker_test.cpp # tests/Settings_test.cpp # tests/Tetrahedron_test.cpp # tests/Torus_test.cpp # tests/Utilities_test.cpp # tests/Vertex_test.cpp # vcpkg.json
support for 3d+1