Commit Graph

1472 Commits

Author SHA1 Message Date
Marc Glisse a676b75ca0 Misc fixes for expression templates 2019-05-17 19:48:41 +02:00
Laurent Rineau c998ab1cd6 Merge pull request #3579 from mglisse/Number_types-intervals3-glisse
SSE version of Interval_nt
2019-05-06 15:46:12 +02:00
Laurent Rineau ee4a6c5de2 Merge pull request #3686 from lrineau/Number_types-headers_dependency_hell-GF
Reduce inclusions of <CGAL/basic.h> and <CGAL/number_type_basic.h>
2019-05-06 15:46:02 +02:00
Sebastien Loriot 698b4be2b0
Merge pull request #3644 from mglisse/Number_types-eigen_score_intervals-glisse
Give Eigen a scoring strategy for pivot selection with intervals
2019-04-23 09:46:49 +02:00
Marc Glisse 71caec2782 Tweak the __m128d protection for Visual Studio 2019. 2019-04-18 15:27:34 +02:00
Laurent Rineau 04bef2b071 Merge pull request #3781 from sloriot/CGAL-update_for_cpp14
Update for cpp14
2019-04-08 15:59:28 +02:00
Sébastien Loriot ffce89c0c0 replace cpp11::is_enum by std::is_enum 2019-03-29 13:28:33 +01:00
Sébastien Loriot f95533f2d2 remove conditional code with cpp11 in Number types 2019-03-29 10:41:49 +01:00
Laurent Rineau 42cbce9fbf Be aware of __SOFTFP__ 2019-03-28 08:55:49 +01:00
Laurent Rineau 1aee92af75 Fix the name of the macro
Thanks Marc!
2019-03-27 18:46:20 +01:00
Maxime Gimeno 0ed39cabca Add support for arm archs in FPU.h 2019-03-27 15:34:55 +01:00
Maxime Gimeno 4353c99900 WIP 2019-03-27 10:32:48 +01:00
Laurent Rineau 8693f95dac Merge pull request #3619 from albert-github/feature/bug_headers
Update of headers
2019-02-22 16:39:09 +01:00
Laurent Rineau 2559b79405 Reduce inclusions of <CGAL/basic.h> and <CGAL/number_type_basic.h> 2019-02-14 17:40:09 +01:00
Sébastien Loriot 59bc453b42 first batch of replacement for level 1 in classified ref man
command used:
grep -l  "##" */doc/*/PackageDescription.txt | xargs  sed -i  -E 's/\#\#\s*([[:print:]]+[[:alnum:]])\s*\#\#\s*$/\\cgalCRPSection{\1}/'
2019-02-14 10:32:39 +01:00
Sébastien Loriot 90ad079eb4 use macro for subsections
command used:
grep -l  "###" */doc/*/PackageDescription.txt |  xargs sed -i  -E 's/\#\#\#\s*([[:print:]]+[[:alnum:]])\s*\#\#\#\s*$/\\cgalCRPSubsection{\1}/
2019-02-14 10:32:00 +01:00
Andreas Fabri a483f3442b CGAL: clean up CMakeLists.txt files in examples and tests 2019-02-13 17:29:29 +01:00
Laurent Rineau fdd8357915
Merge pull request #3580 from afabri/Stream_support-Color-GF
Fix warnings (Add/remove copy constructors, and other warnings)

Co-authored-by: Laurent Rineau <laurent.rineau@cgal.org>
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
Co-authored-by: Maxime GIMENO <maxime.gimeno@gmail.com>
2019-02-13 15:25:07 +00:00
Laurent Rineau 2f903894e5
Merge pull request #3614 from mglisse/Number_types-boost_to_interval-glisse
Rewrite to_interval for boost.multiprecision types
2019-02-07 12:48:46 +00:00
Marc Glisse 9a0497b47b specialize functor_traits for scalar_score_coeff_op
I have no idea what that's for, but I had it in my old code, so I assume
I had a reason...
2019-01-30 14:32:26 +01:00
Marc Glisse 5406925af7 Give Eigen a scoring strategy for pivot selection with intervals. 2019-01-30 14:15:56 +01:00
Marc Glisse 851458caab Prefer Quotient<MP_Float> to cpp_rational for now.
Keeping cpp_int for Exact_integer, since MP_Float was never an
alternative there.
2019-01-24 16:58:25 +01:00
Laurent Rineau afc3de2894
Merge branch 'master' into Stream_support-Color-GF 2019-01-23 09:37:08 +01:00
Marc Glisse 811ab8ac43 Add checks in the conversion to interval.
I am more or less asserting that x belongs to to_interval(x).
2019-01-22 18:27:36 +01:00
Marc Glisse 9f42c9380d Tighter conversion of boost multiprecision types to intervals. 2019-01-22 18:19:12 +01:00
Marc Glisse 34fdb82980 add boost types to tests 2019-01-22 15:34:36 +01:00
Marc Glisse 201b96db55 Coercion traits between builtins and expressions 2019-01-22 15:34:14 +01:00
Marc Glisse 92f55fb8ca Specialize conversion of mpz_int to interval
copy-paste of the code for Gmpz/mpz_class
2019-01-22 14:32:08 +01:00
Marc Glisse a5d89b1f33 Specialize conversion of mpq_rational to interval
copy-paste of the code for Gmpq/mpq_class
2019-01-22 14:20:43 +01:00
Laurent Rineau 80717c6f41 Merge pull request #3406 from mglisse/cgal-public-dev/Number_types-boost_mp-glisse-2
Support Boost.Multiprecision
2019-01-18 16:37:49 +01:00
Marc Glisse 30ae5f69b5 Different (safer?) workaround for volatile __m128d with visual studio. 2019-01-15 09:37:53 +01:00
Marc Glisse a920225c72 Handle volatile __m128d with visual studio 2019-01-12 00:15:36 +01:00
Marc Glisse 76abbe694e __builtin_shuffle appeared in gcc-4.7
__builtin_shufflevector was already in clang-3.1, and CGAL only supports
6+, so at least that is safe.
2019-01-11 23:11:33 +01:00
Marc Glisse 5f3912d2db Negate the lower bound before taking its square root. 2019-01-11 16:37:55 +01:00
Laurent Rineau 672f456b64 Do not include <immintrin.h> unconditionally
Instead, the specific headers are included:
- `<emmintrin.h>` for SSE2,
- `<pmmintrin.h>` for SSE3,
- `<smmintrin.h>` for SSE4.1, and
- `<immintrin.h>` for AVX and later.
2019-01-11 16:19:45 +01:00
Andreas Fabri 1ec37a7478 Simplify Sqrt_extension 2019-01-10 13:54:38 +01:00
Andreas Fabri 685a546c8c Fix Sqrt_extension 2019-01-09 17:33:18 +01:00
Marc Glisse 2bcfc8bca6 Make operators friends and remove some. 2019-01-08 17:57:31 +01:00
Marc Glisse 79271f5169 Protect SSE2 code in mixed operator/. 2019-01-08 17:21:10 +01:00
Marc Glisse 004b3e162e Protect CGAL_IA_MUL and DIV more.
The risk of a compiler like clang turning (-a)*b into -(a*b) is too high.
2019-01-06 12:45:33 +01:00
Marc Glisse 718d688baa Tweak square(interval)
Still needs an SSE version
2019-01-06 12:37:09 +01:00
Marc Glisse d4a5003a2c Reimplement comparison
we had a cycle of > calling < calling > etc
2019-01-06 09:55:20 +01:00
Marc Glisse fb8887ee1d Disable __builtin_constant_p in some places. 2019-01-06 08:29:57 +01:00
Marc Glisse b0727a12a2 Optimize some operations when the compiler can see that the interval is a point. 2018-12-27 20:01:02 +01:00
Marc Glisse 659755560b SSE for Interval / double 2018-12-27 19:29:23 +01:00
Marc Glisse 6933a37c35 Remove specialization of inverse, 1/x generates the same code. 2018-12-27 18:39:42 +01:00
Marc Glisse 730e146353 SSE for double / Interval 2018-12-27 18:38:49 +01:00
Marc Glisse 36b47688fd Simplify is_one, singleton and hull. 2018-12-27 17:58:47 +01:00
Marc Glisse 03d0f5d1e0 SSE for division 2018-12-27 14:46:49 +01:00
Marc Glisse b43b866c1e AVX512F for sqrt 2018-12-27 11:05:08 +01:00