Commit Graph
597 Commits
Author SHA1 Message Date
Laurent Rineau 1e485113e8 Add an important comment 2022-09-07 10:30:01 +02:00
Laurent Rineau 81410701f7 Factorize the test "needs_ft" into a meta-function 2022-09-06 17:25:39 +02:00
Laurent Rineau b114789abf Fix spelling 2022-09-06 13:56:31 +02:00
Laurent Rineau 7c92341be7 Introduce CGAL_Kernel_pred_RT_or_FT
This commit introduces a new kind of predicate in
`<CGAL/Kernel/interface_macros.h>`. In addition to
  - `CGAL_kernel_pred` for predicates,
  - `CGAL_Kernel_pred_RT` for predicates that can be implemented using a
    ring-type,

now there is also:
  - `CGAL_Kernel_pred_RT_or_FT` for predicates with multiple overloads of
    `operator()`, some needing a field type and other needing a ring type
    (without the division operator).

The C++ code can discriminate between the two cases with a special wrapper
for the return type: `CGAL::Needs_FT<result_type` instead of `result_type`
(defined in `<CGAL/tags.h>`.

In `<CGAL/Filtered_predicate.h>`, in addition to the usual class template
 `Filtered_predicate`, there is now also `Filtered_predicate_RT_FT` that
 takes three predicates as template parameters instead of two:
  - the exact predicate with an ring-type,
  - the exact predicate with a field-type,
  - the approximate predicate (with `Interval_nt` as number-type).

For the moment, only `Compare_distance_3` in
`<CGAL/Cartesian/function_objects.h>` is using the new
`Filtered_predicate_RT_FT`.

Before this commit, the file
`Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h` was testing
`Compare_distance_3` only with three points or for points. This commit adds:
  - a test with `Point_3, Point_3, Segment_3`, and
  - a test with `Line_3, Point_3, Point_3`, that actually needs a field type
    with its current implementation.

In the test `Kernel_23/test/Kernel_23/Filtered_cartesian.cpp`, the macro
`CGAL_NO_MPZF_DIVISION_OPERATOR` is defined, to remove the division operator
from `CGAL::Mpzf`. `CGAL::Mpzf` is a ring-type, even with its `operator/`
(because that `operator/` can only compute exact divisions), but with
`CGAL_NO_MPZF_DIVISION_OPERATOR` defined, that is now checked by the compiler.
2022-09-02 11:31:47 +02:00
Sébastien Loriot 9dd8235dc5 more workarounds for MSVC 2015
[skip ci]
2022-08-10 23:50:39 +02:00
Sébastien Loriot 861588abe1 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Sébastien Loriot b96f6d5ce9 move is_iterator to type_traits 2022-06-10 09:43:59 +02:00
Sébastien Loriot 44250cb019 is_iterator_XXX<>::value --> is_iterator_XXX_v<> 2022-06-10 09:40:29 +02:00
Sébastien Loriot ac8b6d4731 boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Laurent Rineau 575f7a42fe Move exact_intersection_point back to CT_2 2022-06-01 20:31:22 +02:00
Laurent Rineau feaf6a4ca2 Add Kernel::Construct_exact_intersection_point_2 2022-05-31 16:40:34 +02:00
Laurent Rineau 2288225448 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Laurent Rineau 97e99cbc22 Merge pull request #6487 from afabri/Filtered_kernel-fix_depth_bug-GF
Kernel_23: Fix depth() in Epeck
2022-04-27 16:32:08 +02:00
Marc Glisse 8644c82103 Don't check interval validity in Lazy_rep 2022-04-16 13:53:58 +02:00
Andreas Fabri 33a80835ae Kernel_23: Fix depth() in Epeck 2022-04-11 15:32:57 +01:00
Andreas Fabri c4b8c370cb Deal with Null_vector similar to Origin 2022-03-11 10:26:00 +00:00
Andreas Fabri 53a6308edb No longer a need for a partial specaialization for Bbox (thank you Mael) 2022-03-11 09:17:45 +00:00
Andreas Fabri 04fa75eb84 Use auto 2022-03-11 09:12:17 +00:00
Andreas Fabri f01e24c75b Add Orientation_3::operator()(Origin,Point_3,Point_3,Point_3) 2022-03-10 10:55:44 +00:00
Sébastien Loriot ab48f63e30 update latest cmake version tested 2021-11-09 10:58:47 +01:00
Mael Rouxel-Labbé 381ff61796 More profiler macros 2021-10-08 21:52:32 +02:00
Mael Rouxel-Labbé 7f55e63559 Merge remote-tracking branch 'cgal/master' into Filtered_kernel-Do_intersect_3-GF 2021-10-08 20:09:11 +02:00
Mael Rouxel-Labbé 180f9c8e8d Remove obsolete todo 2021-10-08 20:08:01 +02:00
Mael Rouxel-Labbé 37f2541942 Add profiler macros 2021-10-08 20:07:50 +02:00
Andreas Fabri c8d2761f45 partial work after Mael's review 2021-09-29 15:14:54 +01:00
Sébastien Loriot 7de9564e1c remove archive directories that are of not use (available in git history) 2021-09-23 18:55:54 +02:00
Laurent Rineau c7437c6fb4 Merge pull request #5996 from sloriot/CGAL-internal_dir_fixes
Restore sub-directories accidently removed in 4009
2021-09-23 16:14:00 +02:00
Laurent Rineau 72c0a0deba Merge pull request #5973 from sloriot/CGAL-restore_rounding_mode-master
master version of #5971 (Make sure the rounding mode is restored when doing exact computations)
2021-09-20 17:07:07 +02:00
Laurent Rineau ac7a72eff8 Merge pull request #5986 from MaelRL/FK-Complete_static_filter_profiler_-GF-5.3
Add missing profiler macros in the static filter of Collinear_3 (5.3)
2021-09-20 17:07:00 +02:00
Sébastien Loriot 5945e48a3e restore sub-directories accidently removed in 98e471849b 2021-09-17 08:14:06 +02:00
Mael Rouxel-Labbé 88e14adf89 Add missing profiler macros in Collinear_3's static filter 2021-09-14 09:20:28 +02:00
Mael Rouxel-Labbé 93c7b6de1f Remove STL header include from CGAL-specific namespace 2021-09-14 09:19:50 +02:00
Mael Rouxel-Labbé e829dc73d3 Merge branch 'Filtered_kernel-Do_intersect_3-GF-old' into Filtered_kernel-Do_intersect_3-GF 2021-09-10 17:46:08 +02:00
Sébastien Loriot 74c029cc68 Merge remote-tracking branch 'sloriot/CGAL-restore_rounding_mode-5.3' 2021-09-09 11:44:36 +02:00
Sébastien Loriot 2ba64da4e5 change protector scope + FPU assertion for operator not in 5.2 2021-09-09 11:34:08 +02:00
Sébastien Loriot 6bae0e3939 Merge remote-tracking branch 'sloriot/CGAL-restore_rounding_mode' 2021-09-09 11:09:16 +02:00
Sébastien Loriot c8624ee0b3 check that the rounding mode when doing exact computation is to-nearest 2021-09-09 11:01:03 +02:00
Sébastien Loriot 106645ec2e make sure the rounding mode is to nearest when doing exact computations
Thoses changes should have been done when the code was modified for
CGAL_CFG_FPU_ROUNDING_MODE_UNWINDING_VC_BUG
2021-09-09 09:55:16 +02:00
Sebastien Loriot 20ea9e775f Merge pull request #4009 from afabri/CGAL-internal-GF
CGAL: Move from CGAL/internal  to CGAL/Pkg/internal
2021-08-30 11:55:36 +02:00
Sébastien Loriot b811f9e140 Merge remote-tracking branch 'cgal/5.3.x-branch' 2021-08-30 11:22:14 +02:00
Sébastien Loriot 6672844765 Merge remote-tracking branch 'cgal/5.2.x-branch' into HEAD 2021-08-30 11:21:46 +02:00
Sébastien Loriot 98e471849b moving files from internal to PKG/internal 2021-08-26 11:33:39 +02:00
Andreas Fabri 10a74957ef Remove the test against the bbox of the triangle/tetrahedron. This should be done before, for example in the AABB tree 2021-08-25 16:15:55 +01:00
Dmitry Anisimov 66c20ba18c avoid decltype and put back correct types, also test for complience with std algorithms 2021-08-03 16:30:18 +02:00
Dmitry Anisimov ead69a5435 removed ptr and ref types 2021-08-03 15:39:05 +02:00
Dmitry Anisimov 7147db2a8a cleanup + added more decltype 2021-07-30 13:04:10 +02:00
Dmitry Anisimov be9779f9cc fix for #5878, change ref to decltype(auto) 2021-07-30 12:07:15 +02:00
Laurent Rineau 5759a800e3 Merge pull request #5705 from maxGimeno/CGAL-Clean_up_boost_versions-maxGimeno 2021-07-28 10:14:38 +02:00
Marc Glisse 4296d0c37f Change "ignore" to a function
We don't care about the order, and this is less likely to warn.
2021-07-20 00:03:17 +02:00
Marc Glisse e7357ac003 Merge remote-tracking branch 'cgal/master' into mt-glisse
several PRs in Filtered_kernel conflicted with this :-(
2021-07-19 14:53:27 +02:00