From 407928642d8ba6537714caa3d8921a968537d836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Fri, 7 Jul 2023 13:14:29 +0200 Subject: [PATCH 01/15] add missing partial specialization --- .../internal/Exact_type_selector.h | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h index f69df29f2bf..3c6b39a9cd6 100644 --- a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h +++ b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h @@ -278,6 +278,26 @@ struct Exact_field_selector::Rational> template <> struct Exact_ring_selector::Rational> { typedef Exact_NT_backend::Rational Type; }; + + +#ifdef CGAL_USE_GMP +template <> +struct Exact_field_selector::Integer> +{ typedef Exact_NT_backend::Rational Type; }; + +template <> +struct Exact_ring_selector::Integer> +{ typedef Exact_NT_backend::Integer Type; }; + +template <> +struct Exact_field_selector::Rational> +{ typedef Exact_NT_backend::Rational Type; }; + +template <> +struct Exact_ring_selector::Rational> +{ typedef Exact_NT_backend::Rational Type; }; +#endif + #endif template < typename ET > From 915df4c5b6603fbbad0f642b3bce12526b416cce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Fri, 7 Jul 2023 13:29:56 +0200 Subject: [PATCH 02/15] add another missing spe --- .../include/CGAL/Number_types/internal/Exact_type_selector.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h index 3c6b39a9cd6..8ce9dccc317 100644 --- a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h +++ b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h @@ -187,6 +187,10 @@ struct Exact_ring_selector template <> struct Exact_field_selector > +{ typedef Quotient Type; } + +template <> +struct Exact_ring_selector > { typedef Quotient Type; }; // And we specialize for the following types : From 02fbbba7d6fb92a153e700f45f775546f77a1a65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Fri, 7 Jul 2023 13:34:37 +0200 Subject: [PATCH 03/15] get rid of default to avoid silent errors --- .../CGAL/Number_types/internal/Exact_type_selector.h | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h index 8ce9dccc317..d8b2f7ba9a8 100644 --- a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h +++ b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h @@ -157,16 +157,10 @@ constexpr ENT_backend_choice Default_exact_nt_backend = static_cast -struct Exact_field_selector -{ - using Type = typename Exact_NT_backend::Rational; -}; +struct Exact_field_selector; template < typename > -struct Exact_ring_selector -{ - using Type = typename Exact_NT_backend::Integer; -}; +struct Exact_ring_selector; template <> struct Exact_ring_selector From a49a4f3ae0c9cc1c857c06a24af9f4df4479c798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Fri, 7 Jul 2023 13:47:12 +0200 Subject: [PATCH 04/15] missing ; --- .../include/CGAL/Number_types/internal/Exact_type_selector.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h index d8b2f7ba9a8..7ee81bb591d 100644 --- a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h +++ b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h @@ -181,7 +181,7 @@ struct Exact_ring_selector template <> struct Exact_field_selector > -{ typedef Quotient Type; } +{ typedef Quotient Type; }; template <> struct Exact_ring_selector > From 1e7bc0534538bfa909317a6194b9c0ac3575f019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Fri, 7 Jul 2023 13:59:27 +0200 Subject: [PATCH 05/15] add missing spe --- .../CGAL/Number_types/internal/Exact_type_selector.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h index 7ee81bb591d..b84faead6d8 100644 --- a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h +++ b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h @@ -168,9 +168,18 @@ struct Exact_ring_selector using Type = typename Exact_NT_backend::Ring_for_float; }; +template <> +struct Exact_field_selector +{ + using Type = typename Exact_NT_backend::Rational; +}; + template <> struct Exact_ring_selector : Exact_ring_selector { }; +template <> +struct Exact_field_selector : Exact_field_selector { }; + template <> struct Exact_field_selector { typedef Quotient Type; }; From 2741267bbc66c4831bae4fb60b99c8b26ef0d897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Mon, 10 Jul 2023 14:11:44 +0200 Subject: [PATCH 06/15] fix invalid usage --- .../dual/halfspace_intersection_interior_point_3.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Convex_hull_3/include/CGAL/Convex_hull_3/dual/halfspace_intersection_interior_point_3.h b/Convex_hull_3/include/CGAL/Convex_hull_3/dual/halfspace_intersection_interior_point_3.h index afdab1fdee0..ba396c0e2e0 100644 --- a/Convex_hull_3/include/CGAL/Convex_hull_3/dual/halfspace_intersection_interior_point_3.h +++ b/Convex_hull_3/include/CGAL/Convex_hull_3/dual/halfspace_intersection_interior_point_3.h @@ -180,7 +180,7 @@ halfspace_intersection_interior_point_3(PlaneIterator begin, PlaneIterator end) typedef typename Kernel_traits::value_type>::Kernel K; // choose exact integral type - typedef typename internal::Exact_field_selector::Type ET; + typedef typename internal::Exact_field_selector::Type ET; // find a point inside the intersection internal::Interior_polyhedron_3 interior; From 52caa412362b59923b2ab359011be377d81ed232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Wed, 12 Jul 2023 11:10:08 +0200 Subject: [PATCH 07/15] directly use Exact_NT_backend --- Number_types/include/CGAL/Exact_integer.h | 2 +- Number_types/include/CGAL/Exact_rational.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Number_types/include/CGAL/Exact_integer.h b/Number_types/include/CGAL/Exact_integer.h index 3ba3fb9816a..efa7d21c267 100644 --- a/Number_types/include/CGAL/Exact_integer.h +++ b/Number_types/include/CGAL/Exact_integer.h @@ -40,7 +40,7 @@ typedef unspecified_type Exact_integer; #else // not DOXYGEN_RUNNING -typedef internal::Exact_ring_selector::Type Exact_integer; +using Exact_integer = Exact_NT_backend::Integer; #endif // not DOXYGEN_RUNNING diff --git a/Number_types/include/CGAL/Exact_rational.h b/Number_types/include/CGAL/Exact_rational.h index f07c61d42a9..06e9a3b59fa 100644 --- a/Number_types/include/CGAL/Exact_rational.h +++ b/Number_types/include/CGAL/Exact_rational.h @@ -42,7 +42,7 @@ typedef unspecified_type Exact_rational; #else // not DOXYGEN_RUNNING -typedef internal::Exact_field_selector::Type Exact_rational; +using Exact_rational = Exact_NT_backend::Rational; #endif From 7d86fa964867ef2f813abec0d6583bceb7e9380c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Wed, 12 Jul 2023 13:29:14 +0200 Subject: [PATCH 08/15] add missing internal namespace --- Number_types/include/CGAL/Exact_integer.h | 2 +- Number_types/include/CGAL/Exact_rational.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Number_types/include/CGAL/Exact_integer.h b/Number_types/include/CGAL/Exact_integer.h index efa7d21c267..0d4ec46a3cf 100644 --- a/Number_types/include/CGAL/Exact_integer.h +++ b/Number_types/include/CGAL/Exact_integer.h @@ -40,7 +40,7 @@ typedef unspecified_type Exact_integer; #else // not DOXYGEN_RUNNING -using Exact_integer = Exact_NT_backend::Integer; +using Exact_integer = internal::Exact_NT_backend::Integer; #endif // not DOXYGEN_RUNNING diff --git a/Number_types/include/CGAL/Exact_rational.h b/Number_types/include/CGAL/Exact_rational.h index 06e9a3b59fa..ebc65e21811 100644 --- a/Number_types/include/CGAL/Exact_rational.h +++ b/Number_types/include/CGAL/Exact_rational.h @@ -42,7 +42,7 @@ typedef unspecified_type Exact_rational; #else // not DOXYGEN_RUNNING -using Exact_rational = Exact_NT_backend::Rational; +using Exact_rational = internal::Exact_NT_backend::Rational; #endif From e46196d362c179da00613a33e7bd727a7dc5226f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Wed, 12 Jul 2023 13:40:24 +0200 Subject: [PATCH 09/15] one more internal missing --- Number_types/include/CGAL/Exact_integer.h | 2 +- Number_types/include/CGAL/Exact_rational.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Number_types/include/CGAL/Exact_integer.h b/Number_types/include/CGAL/Exact_integer.h index 0d4ec46a3cf..86b13dd3dc6 100644 --- a/Number_types/include/CGAL/Exact_integer.h +++ b/Number_types/include/CGAL/Exact_integer.h @@ -40,7 +40,7 @@ typedef unspecified_type Exact_integer; #else // not DOXYGEN_RUNNING -using Exact_integer = internal::Exact_NT_backend::Integer; +using Exact_integer = internal::Exact_NT_backend::Integer; #endif // not DOXYGEN_RUNNING diff --git a/Number_types/include/CGAL/Exact_rational.h b/Number_types/include/CGAL/Exact_rational.h index ebc65e21811..7b53700b5b4 100644 --- a/Number_types/include/CGAL/Exact_rational.h +++ b/Number_types/include/CGAL/Exact_rational.h @@ -42,7 +42,7 @@ typedef unspecified_type Exact_rational; #else // not DOXYGEN_RUNNING -using Exact_rational = internal::Exact_NT_backend::Rational; +using Exact_rational = internal::Exact_NT_backend::Rational; #endif From ceded5c3efba1f00eb94aa855eaf9fb524548f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Mon, 17 Jul 2023 10:13:00 +0200 Subject: [PATCH 10/15] one more specialization + fix invalid usage --- .../Intersections_2/test_intersections_2.cpp | 4 +-- .../internal/Exact_type_selector.h | 31 ++++++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Intersections_2/test/Intersections_2/test_intersections_2.cpp b/Intersections_2/test/Intersections_2/test_intersections_2.cpp index 5c15555404a..dad2d129c15 100644 --- a/Intersections_2/test/Intersections_2/test_intersections_2.cpp +++ b/Intersections_2/test/Intersections_2/test_intersections_2.cpp @@ -924,9 +924,9 @@ int main() { CGAL::Set_ieee_double_precision pfr; - Test< CGAL::Simple_cartesian::Type > >().run(); + Test< CGAL::Simple_cartesian::Type > >().run(); Test< CGAL::Cartesian >().run(); - Test< CGAL::Homogeneous::Type > >().run(); + Test< CGAL::Homogeneous::Type > >().run(); Test< CGAL::Exact_predicates_inexact_constructions_kernel >().run(); Test< CGAL::Exact_predicates_exact_constructions_kernel >().run(); } diff --git a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h index b84faead6d8..4ba51139e9d 100644 --- a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h +++ b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h @@ -162,23 +162,22 @@ struct Exact_field_selector; template < typename > struct Exact_ring_selector; -template <> -struct Exact_ring_selector -{ - using Type = typename Exact_NT_backend::Ring_for_float; +#define CGAL_EXACT_SELECTORS_SPECS(X) \ +template <> \ +struct Exact_ring_selector \ +{ \ + using Type = typename Exact_NT_backend::Ring_for_float; \ +}; \ +\ +template <> \ +struct Exact_field_selector \ +{ \ + using Type = typename Exact_NT_backend::Rational; \ }; -template <> -struct Exact_field_selector -{ - using Type = typename Exact_NT_backend::Rational; -}; - -template <> -struct Exact_ring_selector : Exact_ring_selector { }; - -template <> -struct Exact_field_selector : Exact_field_selector { }; +CGAL_EXACT_SELECTORS_SPECS(double) +CGAL_EXACT_SELECTORS_SPECS(float) +CGAL_EXACT_SELECTORS_SPECS(int) template <> struct Exact_field_selector @@ -330,4 +329,6 @@ struct Exact_type_selector : Exact_field_selector< ET > {}; } } // namespace CGAL::internal +#undef CGAL_EXACT_SELECTORS_SPECS + #endif // CGAL_INTERNAL_EXACT_TYPE_SELECTOR_H From 36146122022f8de5eaac64a1fe73a493c23dfc66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Mon, 17 Jul 2023 15:28:31 +0200 Subject: [PATCH 11/15] add missing spe --- .../include/CGAL/Number_types/internal/Exact_type_selector.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h index 4ba51139e9d..3ead313e032 100644 --- a/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h +++ b/Number_types/include/CGAL/Number_types/internal/Exact_type_selector.h @@ -256,6 +256,10 @@ struct Exact_ring_selector template <> struct Exact_field_selector { typedef leda_real Type; }; + +template <> +struct Exact_ring_selector +{ typedef leda_real Type; }; #endif #ifdef CGAL_USE_CORE From a10d75d2dacae4ff0d5f5dbf6e3c0780486aaecd Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 17 Jul 2023 15:46:03 +0200 Subject: [PATCH 12/15] remove compilation error --- .../internal/Triangulation_segment_traverser_3_impl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Triangulation_3/include/CGAL/Triangulation_3/internal/Triangulation_segment_traverser_3_impl.h b/Triangulation_3/include/CGAL/Triangulation_3/internal/Triangulation_segment_traverser_3_impl.h index ca9a4f73f8b..913e3985613 100644 --- a/Triangulation_3/include/CGAL/Triangulation_3/internal/Triangulation_segment_traverser_3_impl.h +++ b/Triangulation_3/include/CGAL/Triangulation_3/internal/Triangulation_segment_traverser_3_impl.h @@ -558,8 +558,8 @@ Triangulation_segment_cell_iterator_3::walk_to_next_3(const Simplex& pre switch(Or) { case 3: { if(regular_case) { - CGAL_triangulation_assertion(li == outside); CGAL_USE(outside); - CGAL_triangulation_assertion(!inside); CGAL_USE(inside); + CGAL_triangulation_assertion(li == outside); + CGAL_triangulation_assertion(!inside); } return {{cur_cell, Tr::FACET, li}, {next, Tr::FACET, next->index(cur_cell)}}; } From 8136ff287936263c45ca47e57e49437b97b360a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Wed, 19 Jul 2023 23:13:56 +0200 Subject: [PATCH 13/15] Add missing breaking change in 5.6 Tetrahedral_remeshing --- Installation/CHANGES.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Installation/CHANGES.md b/Installation/CHANGES.md index 7ad317b6709..95ca40959f2 100644 --- a/Installation/CHANGES.md +++ b/Installation/CHANGES.md @@ -175,6 +175,13 @@ Release date: June 2023 to describe 3D simplicial meshes, and makes the data structure independent from the [tetrahedral mesh generation](https://doc.cgal.org/5.6/Manual/packages.html#PkgMesh3) package. +### [Tetrahedral Remeshing](https://doc.cgal.org/5.6/Manual/packages.html#PkgTetrahedralRemeshing) +- **Breaking change**: The template parameters of + [`CGAL::Tetrahedral_remeshing::Remeshing_vertex_base_3`](https://doc.cgal.org/5.6/Tetrahedral_remeshing/group__PkgTetrahedralRemeshingClasses.html#ga7ef4f8c0c1ed715c34389ea4ee851a92) + and + [`CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3`](https://doc.cgal.org/5.6/Tetrahedral_remeshing/classCGAL_1_1Tetrahedral__remeshing_1_1Remeshing__cell__base__3.html) + have been modified. + ### [3D Mesh Generation](https://doc.cgal.org/5.6/Manual/packages.html#PkgMesh3) - Added two new named parameters to the named constructor From 225428690f3e6a79f7af747902f27716ce9388a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Wed, 19 Jul 2023 23:14:14 +0200 Subject: [PATCH 14/15] Update the date --- Installation/CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installation/CHANGES.md b/Installation/CHANGES.md index 95ca40959f2..5c8a0d85ee1 100644 --- a/Installation/CHANGES.md +++ b/Installation/CHANGES.md @@ -4,7 +4,7 @@ Release History [Release 5.6](https://github.com/CGAL/cgal/releases/tag/v5.6) ----------- -Release date: June 2023 +Release date: July 2023 ### General Changes From a89b115b31d9ddb66d14df8e9bdde03d5854188a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jul 2023 05:57:03 +0000 Subject: [PATCH 15/15] Bump fsfe/reuse-action from 1 to 2 Bumps [fsfe/reuse-action](https://github.com/fsfe/reuse-action) from 1 to 2. - [Release notes](https://github.com/fsfe/reuse-action/releases) - [Commits](https://github.com/fsfe/reuse-action/compare/v1...v2) --- updated-dependencies: - dependency-name: fsfe/reuse-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/reuse.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml index 2113372a877..8b0bba4260e 100644 --- a/.github/workflows/reuse.yml +++ b/.github/workflows/reuse.yml @@ -12,15 +12,15 @@ jobs: steps: - uses: actions/checkout@v3 - name: REUSE version - uses: fsfe/reuse-action@v1 + uses: fsfe/reuse-action@v2 with: args: --version - name: REUSE lint - uses: fsfe/reuse-action@v1 + uses: fsfe/reuse-action@v2 with: args: --include-submodules lint - name: REUSE SPDX SBOM - uses: fsfe/reuse-action@v1 + uses: fsfe/reuse-action@v2 with: args: spdx - name: install dependencies @@ -30,6 +30,6 @@ jobs: mkdir -p ./release cmake -DDESTINATION=./release -DCGAL_VERSION=9.9 -P ./Scripts/developer_scripts/cgal_create_release_with_cmake.cmake - name: REUSE lint release tarball - uses: fsfe/reuse-action@v1 + uses: fsfe/reuse-action@v2 with: args: --root ./release/CGAL-9.9 --include-submodules lint