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