Commit Graph

406 Commits

Author SHA1 Message Date
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
Sébastien Loriot d16dfc381e add Compare_angle_3 functor in the Kernel 2022-01-27 19:43:21 +01:00
Laurent Rineau a5a5a43205
Merge pull request #6120 from MaelRL/Kernel_23-Converter_fundamental_types-GF 2022-01-24 11:07:34 +01:00
Andreas Fabri e388c898cd Deal with Kernel_23 2022-01-18 16:39:43 +00:00
Sébastien Loriot ad686a61f7 fix conversion warning and remove useless test (producing a warning) 2022-01-18 09:30:41 +01:00
Mael Rouxel-Labbé 08f9cfb192 Update tests 2021-12-17 12:23:54 +01:00
Mael Rouxel-Labbé ea42eaea5d More tests 2021-12-03 16:49:50 +01:00
Laurent Rineau df777080ff Merge pull request #6102 from afabri/Kernel_23-Non_zero_dimension_3-GF
Kernel_23: Add NonZeroDimension_3
2021-11-18 14:02:07 +01:00
Mael Rouxel-Labbé 1774ad885f More converter tests 2021-11-16 16:39:20 +01:00
Mael Rouxel-Labbé a294ac30ed Tiny addition to converter tests 2021-11-12 10:51:40 +01:00
Mael Rouxel-Labbé 9f1fef3408 Add a test 2021-11-10 16:24:22 +01:00
Sébastien Loriot ab48f63e30 update latest cmake version tested 2021-11-09 10:58:47 +01:00
Sébastien Loriot 58181afcdb remove useless include directives 2021-11-09 10:16:12 +01:00
Andreas Fabri 7cb53ab8ef Change to NonZeroCoordinateIndex 2021-11-03 17:30:26 +01:00
Mael Rouxel-Labbé e424356ffa Add Construct_projected_point_3(P3, P3) + correct parameter order
Not a kernel requirement
2021-09-28 15:34:51 +02:00
Sébastien Loriot 98e471849b moving files from internal to PKG/internal 2021-08-26 11:33:39 +02:00
Sebastien Loriot 92d90a4a11
Merge pull request #5667 from afabri/Kernel-compare_slopes-GF
Kernel: Add compare_slope with 4 points
2021-08-12 10:12:26 +02:00
Laurent Rineau 04b690b099 Merge pull request #5736 from danston/Kernel_23-add_centroid_2_and_determinant_2-danston
Projection Traits With Centroid 2 and Determinant 2
2021-07-27 16:25:09 +02:00
Laurent Rineau 529add28d3 Merge pull request #5538 from Dig-Doug/bbox-size
Bbox size helpers
2021-07-07 14:37:41 +02:00
Laurent Rineau 0f906ae606 Merge pull request #5545 from Dig-Doug/segment-midpoint
Segment_2/Segment_3 midpoint()
2021-07-07 14:37:38 +02:00
Dmitry Anisimov e6d3534d67 Merge remote-tracking branch 'origin/master' into Kernel_23-add_centroid_2_and_determinant_2-danston 2021-05-28 14:45:31 +02:00
Andreas Fabri 3ded9e10d0 Add unit test 2021-05-24 10:08:17 +02:00
Dmitry Anisimov 8d6c8bda6e fixed typos and tested 2021-05-20 18:01:31 +02:00
Dmitry Anisimov cf7cba9f08 added embed for centroid object + tests 2021-05-20 17:44:53 +02:00
Laurent Rineau 4a2f016f6a Merge pull request #5617 from afabri/Nef_3-translation-GF
Nef_3: Add Aff_transformation_3::is_translation()
2021-05-18 18:14:17 +02:00
Andreas Fabri 20d1629e1b Add compare_slope with 4 points 2021-04-30 17:39:57 +02:00
Laurent Rineau c091c7f86e Merge pull request #5532 from lrineau/Kernel_23-Do_interesect__without_division-GF
Remove operator/ from CGAL::Mpzf and implement Do_intersect_3 with RT only (without division)
2021-04-28 15:24:15 +02:00
Andreas Fabri c238e9dab5 Merge remote-tracking branch 'cgal/master' into Nef_3-translation-GF 2021-04-27 15:23:56 +01:00
Andreas Fabri e73b8de89f Add the 2D stuff. In homogeneous add Scaling_repH3 2021-04-22 21:17:24 +01:00
Andreas Fabri 35fc3c7d2d Add missing implementations for Homogeneous. Fix the test for Filtered_cartesian as it has become more exact now 2021-04-20 09:04:23 +01:00
Sebastien Loriot b7323389c7
Merge pull request #5622 from maxGimeno/CMake-Update_versions_in_scripts-maxGimeno
Update maximum cmake versions
2021-04-17 10:58:14 +02:00
Maxime Gimeno c49152359c update max version of cmake and announce the new minimal in CHANGE.md 2021-04-15 15:08:54 +02:00
Maxime Gimeno 17602e589e Merge remote-tracking branch 'cgal/master' into CGAL-clang_tidy__nullptr_on_Mesh_2-GF 2021-04-07 09:17:51 +02:00
Laurent Rineau 1b54449dc5 Merge pull request #4878 from danston/Kernels-decltypes-danston
Improve decltype/result_of/invoke_result
2021-04-06 15:13:21 +02:00
Andreas Fabri 6c7f05e0be rank written by Sebastien 2021-03-29 16:03:06 +01:00
Sébastien Loriot c70c0a511f use initialized vector 2021-03-29 09:14:23 +02:00
Doug Roeper 6e4be92b5e
Adds a CGAL::midpoint() implementation for Segments. 2021-03-22 09:11:23 -04:00
Doug Roeper 69779ebf80
Adds some helpers to calculate the span of a Bbox in each dimension. 2021-03-22 06:37:29 -04:00
Dmitry Anisimov 00c185b028
Merge branch 'master' into Kernels-decltypes-danston 2021-03-12 12:06:20 +01:00
Laurent Rineau f1e550fdd2 Merge pull request #5363 from sloriot/Kernel-Oriented_side_extra_operator
Add an extra operator to have an exact plane
2021-03-03 17:33:20 +01:00
Laurent Rineau 216560554e Merge pull request #5112 from sloriot/Kernel_23-bisector_sqrt
Allow an inexact version of bisector when no sqrt is available.
2021-02-18 15:26:51 +01:00
Maxime Gimeno d5811d0a41 clang-tidy on tests 2021-02-18 15:15:12 +01:00
Andreas Fabri 18f7f91c3c Add test; remove the word 'constant' in the documenation 2021-02-17 14:41:41 +00:00
Dmitry Anisimov 81d9556707 Merge remote-tracking branch 'upstream/master' into Kernels-decltypes-danston 2021-02-10 10:06:45 +01:00
Sébastien Loriot d4b6a55a68 remove unused typedefs 2021-02-01 09:36:47 +01:00
Sébastien Loriot a4b0f88d41 test all now 2020-10-29 16:08:47 +01:00
Maxime Gimeno 2ad4c16b6e Merge remote-tracking branch 'cgal/master' into Cmake_improvements-maxGimeno 2020-10-26 15:00:53 +01:00
Sébastien Loriot 335ac3d5dd Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-10-20 13:32:03 +02:00
Sébastien Loriot e5019d04e6 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-10-20 13:27:26 +02:00
Maxime Gimeno bebd60c12b Merge remote-tracking branch 'cgal/master' into Cmake_improvements-maxGimeno 2020-10-20 09:53:54 +02:00
Mael Rouxel-Labbé 5a27f1b8de Test affine transformation of weighted points 2020-10-16 16:23:55 +02:00
Maxime Gimeno 9c15f2c9dc Use FeatureSummary in the demo, and remove CGAL_FOUND 2020-08-04 12:46:17 +02:00
Laurent Rineau 09b52ce69f Add test/Kernel_23/test_approximate_dihedral_angle_3.cpp 2020-08-03 16:55:25 +02:00
Dmitry Anisimov da0635e4b1 result_of changed to decltype 2020-07-20 17:03:28 +02:00
Laurent Rineau 7173530dad Merge pull request #4557 from lrineau/NewKernel_d-det-GF-CGAL-5.0
NewKernel_d: Accelerate by using Mpzf instead of Gmpq (CGAL-5.0 and later)
2020-05-27 18:27:56 +02:00
Mael Rouxel-Labbé cb08f676d1 Move check code from determinant.h to Kernel_23/test + more tests 2020-05-12 11:56:18 +02:00
Mael Rouxel-Labbé 8a52dd3393 Remove trailing whitespace / tabs 2020-05-12 11:21:06 +02:00
Andreas Fabri 0040436ae3 Add non-recursive determinant for 7x7 matrix 2020-03-27 10:57:48 +01:00
Sébastien Loriot 8bb22d5b2c extra run of the script to remove tabs and trailing whitespaces
right after the merge of the 5.0 release branch

+ manual fix of the files (indentation was changed in the meantime):
   * Spatial_sorting/include/CGAL/Multiscale_sort.h
   * Spatial_sorting/test/Spatial_sorting/test_multiscale.cpp
2020-03-26 14:26:59 +01:00
Sébastien Loriot 8b153fb495 Merge branch 'cgal/releases/CGAL-5.0-branch'
whitespace+tab removal, merged with option -Xignore-space-change
2020-03-26 14:22:32 +01:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Sébastien Loriot 0a46621dc6 Merge branch 'cgal/releases/CGAL-4.14-branch'
whitespace+tab removal, merged with option -Xignore-all-space
2020-03-26 13:28:46 +01:00
Sébastien Loriot 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Mael Rouxel-Labbé 65d2221449 Fix used but uninitialized warnings (+ add some more tests) 2019-12-18 09:48:56 +01:00
Sébastien Loriot 43166732b6 remove license notice from kernel tests 2019-10-19 16:39:32 +02:00
Sébastien Loriot 52164b1fba First pass on removing license notice in header for LGPL files 2019-10-19 15:40:30 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Sébastien Loriot d0f23b56f6 update deprecated SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0$" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0$/SPDX-License-Identifier: GPL-3.0-only/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0$" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0$/SPDX-License-Identifier: LGPL-3.0-only/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0$" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0$/SPDX-License-Identifier: LGPL-2.0-only/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.1$" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.1$/SPDX-License-Identifier: LGPL-2.1-only/"
2019-10-18 22:08:05 +02:00