Commit Graph

373 Commits

Author SHA1 Message Date
Laurent Rineau d2bc415a15 Merge pull request #6950 from lrineau/CGAL-allow_Epick_with_float-GF
Simple_precision_epick: an Epick-like kernel with float as FT
2023-05-04 16:37:17 +02:00
Sébastien Loriot c1ceeaed55 try be less aggressive 2023-05-03 18:21:29 +02:00
Sébastien Loriot f530f69752 try to suppress warnings 2023-05-02 15:23:17 +02:00
Laurent Rineau 42297b06a4 fix runtime error with single precision (float), cont. 2023-04-24 14:49:42 +02:00
Laurent Rineau af5468c3a8 fix runtime error with single precision (float) 2023-04-20 21:15:19 +02:00
Sébastien Loriot fbe559adc9 Merge 'cgal/master' into PMP-decimation 2023-02-14 08:33:24 +01:00
Sébastien Loriot 9e137bca24 Merge 'cgal/master' 2023-01-31 12:26:55 +01:00
Laurent Rineau 8a6b583780 Merge pull request #6880 from soesau/PMP-tests_only_for_epeck-soesau
Pmp tests only for epeck
2023-01-27 21:02:26 +01:00
Mael 0ff7882997
Merge branch 'master' into feature/bug_documentation_spell_20221113 2022-12-06 22:21:06 +01:00
albert-github 45478184de spelling corrections
Some spelling corrections (Directories starting with `E`-` L`),
some backward work
some forward work
2022-11-15 13:39:40 +01:00
Laurent Rineau fa83872f81 Remove the trailing white space I added by error 2022-11-08 16:02:17 +01:00
Laurent Rineau 7d250c5a2c Fix the testsuite for Homogenous 2022-11-08 15:18:31 +01:00
Laurent Rineau 51a5ce0c44 Test Simple_precision_epick
... and adapt the code of the testsuite. In particular, there are lots
of cases of inexact constructions that are compared to exact results.
2022-11-08 12:08:58 +01:00
Laurent Rineau 21f60772a1 Do not enable CGAL_KERNEL_23_TEST_RT_FT_PREDICATE_FLAGS by default 2022-11-07 15:46:13 +01:00
Laurent Rineau 2b41ebaaaa Remove last remnant of C++17 if constexpr 2022-11-07 15:45:58 +01:00
Sébastien Loriot 0cac6a9da8 Merge remote-tracking branch 'sloriot/PMP-decimation' into PMP-decimation 2022-10-25 14:55:57 +02:00
Laurent Rineau a46a6db2bb Allow to use test_RT_or_FT_predicates with ninja, and ctest 2022-10-14 12:15:48 +02:00
Mael Rouxel-Labbé f83b970461 Add a comment explaining the purpose of atomic_compilation_test.cpp 2022-10-13 21:24:05 +02:00
Mael Rouxel-Labbé 296d9e5cc0 Update RTFT test 2022-10-12 21:28:40 +02:00
Mael Rouxel-Labbé 2c23a6d5c5 Revert back to wrapping result_type to distinguish FT-necessary operator()s 2022-10-12 21:24:59 +02:00
Laurent Rineau 0e823324c9 Allow to use an Epick-like kernel with float as FT 2022-10-10 15:49:17 +02:00
Sven Oesau 2c9b5ed528 more tests only for exact kernels in Kernel_23 2022-10-01 16:07:03 +02:00
Laurent Rineau 9d40a225ff
Update Kernel_23/test/Kernel_23/Filtered_cartesian.cpp 2022-09-23 15:32:52 +02:00
Mael Rouxel-Labbé f417495a0e Handle deleted functions in RT/FT test 2022-09-23 11:35:29 +02:00
Mael Rouxel-Labbé ae30bcf819 Remove obsolete RT/FT tests 2022-09-22 12:25:25 +02:00
Mael Rouxel-Labbé c93e33c731 Misc minor cleaning/improvements to RT|FT kernel test 2022-09-22 12:06:09 +02:00
Mael Rouxel-Labbé 873cc884b5 Get rid of _RT / _RT_FT kernel interface macros 2022-09-22 12:03:25 +02:00
Mael Rouxel-Labbé 214e072959 Switch from RT_sufficient to FT_necessary 2022-09-22 12:02:53 +02:00
Mael Rouxel-Labbé 01af5bce52 Add an automatic test to detect correct presence/absence of RT_sufficient 2022-09-21 15:03:09 +02:00
Laurent Rineau 04a7b31a07 WIP: test one predicate with a set of arguments with RT 2022-09-15 16:06:28 +02:00
Laurent Rineau 36c0a779d7 WIP: how to detect the arity of a predicate 2022-09-14 15:10:49 +02:00
Laurent Rineau f52298a8c5 WIP: try to always use Filtered_predicate_RT_FT 2022-09-08 17:30:14 +02:00
Laurent Rineau 4b660d9ec9 Another proposal for Filtered_predicate_RT_FT
Instead of having the return type wrapped in a `Needs_FT` tag,
not the call operator overloads that can be called with `RT` are
"tagged" by adding a last argument of type `RT_sufficient` with a
default value.
2022-09-07 11:10:13 +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 5872413f37 remove boost is_same headers 2022-06-10 08:48:53 +02:00
Sébastien Loriot 3fa436459d BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Sebastien Loriot 978d83a349
Merge pull request #6573 from sloriot/CGAL-pedantic_warnings
Fix pedantic warnings
2022-05-13 15:55:26 +02:00
Sébastien Loriot 6486844750 fix pedantic warnings 2022-05-10 11:30:39 +02:00
Laurent Rineau 2288225448 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Andreas Fabri 4b63716376 Add test file 2022-04-20 15:09:06 +01:00
Andreas Fabri 7dc7443e45 Add test of depth() 2022-04-20 12:48:28 +01:00
Andreas Fabri 6251262a0a Merge branch 'Kernel_23-overload_for_origin-GF' into Nef_3-performance_sphere_circle-GilesBathgate 2022-03-18 12:46:20 +01:00
Andreas Fabri 6c66626cba int -> std::size_t 2022-03-16 08:01:56 +01:00
Giles Bathgate 8445780e09 Merge remote-tracking branch 'afabri/Kernel_23-overload_for_origin-GF' into Nef_3-performance_sphere_circle-GilesBathgate 2022-03-14 21:44:36 +00:00
Andreas Fabri c3ba0ab4a2 Fix the test code 2022-03-14 10:27:33 +01:00
Andreas Fabri 6e4483a7d0 The same for Construct_orthogonal_vector_3 2022-03-10 14:18:48 +00:00
Andreas Fabri f01e24c75b Add Orientation_3::operator()(Origin,Point_3,Point_3,Point_3) 2022-03-10 10:55:44 +00:00
Laurent Rineau f9c05a0ba1 Merge pull request #6253 from afabri/P2T2-assert-GF
CGAL:   In testcode do not use CGAL_assertion  but assert
2022-02-02 16:38:22 +01:00
Sébastien Loriot cd7b4ad610 WS 2022-01-28 16:56:21 +01:00
Sébastien Loriot 0da6999ee9 add missing test header 2022-01-28 16:44:04 +01:00