Commit Graph

489 Commits

Author SHA1 Message Date
Andreas Fabri 2ff17176fc make static variables thread local 2016-12-02 13:21:53 +01:00
Laurent Rineau 3686301c57 Merge pull request #1596 from afabri/Algebraic_kernel_d-fix_warning-GF
Use CGAL_assertion_code
2016-10-24 11:47:08 +02:00
Laurent Rineau b4cf181609 Merge pull request #1572 from luis4a0/Algebraic_kernel_d-add_assertions-Luis
Check for the MPFR version in RS-based AK
2016-10-24 11:47:02 +02:00
Laurent Rineau 3e0ab881c1 Merge pull request #1584 from afabri/Installation-compute_dependencies-GF
Make Algebraic_kernel_d independent from CGAL/Arr_enum.h
2016-10-20 09:47:42 +02:00
Andreas Fabri 165fd63364 Use CGAL_assertion_code 2016-10-19 14:38:49 +02:00
Luis Peñaranda 275581537b CGAL_NO_ASSERTIONS -> CGAL_NO_PRECONDITIONS 2016-10-18 12:57:49 -03:00
Andreas Fabri 76d751be01 Use CGAL_FALLTHROUGH 2016-10-17 13:45:42 +02:00
Andreas Fabri 554bd0fd26 Make Algebraic_kernel_d independent from CGAL/Arr_enum.h
Introduce Box_parameterization_2 in CGAL/enum.h
Add a typedef and constants in the Arrangement package to stay bw compatible
2016-10-17 11:56:43 +02:00
Luis Peñaranda bceff2255f Avoid also MPFR 3.1.3. Improve error message. 2016-10-13 10:17:59 -03:00
Luis Peñaranda 07fb6dd2a4 Abort compilation if MPFR is 3.1.4 or 3.1.5.
Those two versions have a bug in memory allocation. The bug appears when
changing the allocation functions back and forth. In the beginning, MPFR
3.1.4 and 3.1.5 gather the GMP allocation functions and always use them. If
they are changed, MPFR does never notice that. This behavior was removed in
a patch to 3.1.5, what means that everything should be OK with MPFR 3.2.0.
2016-10-12 18:36:01 -03:00
Luis Peñaranda 5989d7d8af Enforced const-correctness in algebraic numbers.
Since the endpoints are mutable, functions that refine algebraic numbers
must be const.
2016-08-17 15:00:51 -03:00
Luis Peñaranda ab322e764c Add assertion to the K-isolator.
After RS isolates the roots and before RS3 refines them, it is asserted
that they are well formed (left<=right).
2016-08-12 17:03:26 -03:00
Luis Peñaranda c21a198a93 Added assertion in RS2 calls.
When the isolator calls the function to add roots to the output, it is
checked that the roots are well formed (left<=right).
2016-08-12 17:01:01 -03:00
Luis Peñaranda c2fc680dbd Forgot an include.
It's to convert a polynomial to an integer polynomial with the same roots.
2016-08-12 17:00:04 -03:00
Luis Peñaranda 5089db3e37 Add assertions in refiners.
The assertions check that the endpoints of the interval to refine have
different evaluation signs, or they are the same point and its evaluation
is zero.
2016-08-12 15:44:37 -03:00
Guillaume Damiand 10469f9c4e Update with master 2016-05-25 10:58:55 +02:00
Clement Jamin 9a61b23b55 Use get_default_random() instead of default_random 2016-03-09 10:35:21 +01:00
Andreas Fabri beb1417477 remove unused header files; remove commented includes; changed include paths 2016-02-15 14:20:12 +01:00
Monique Teillaud e252190efe typo
typo in a comment (mentioned by Paul Zimmermann)
2015-09-30 11:51:57 +02:00
Andreas Fabri 1e2ff1131e assert -> CGAL_assertion 2015-08-27 16:51:55 +02:00
Philipp Möller 236ae3f9d3 Remove two unused includes of pool_allocator 2015-04-10 14:48:33 +02:00
Laurent Rineau ff62595012 Merge branch 'CGAL-fix_compilation_boost_1_56-lrineau'
Fix compilation issues with Boost-1.56 and later.

Approved by the Release Manager.
2015-01-26 11:42:29 +01:00
Andreas Fabri c8beb40409 remove unused typedef 2015-01-15 12:51:28 +01:00
Laurent Rineau e965b6293e Fix compilation errors with C++11 and Boost-1.56
Use *explicit* conversions to `bool`, for boost::shared_ptr and
boost::optional.
2015-01-14 14:47:29 +01:00
Andreas Fabri e5fca48f26 removed unused type 2015-01-14 11:43:15 +01:00
Laurent Rineau be079cb5a3 Fix compilation with Boost-1.56 and later
In Boost-1.56 and later, with C++11, boost::optional::operator bool() is
explicit.
2015-01-13 16:21:04 +01:00
Andreas Fabri 30faf6241b Add wrappers around 2 boost headers to push/pop pragma 2014-12-19 16:10:02 +01:00
Laurent Rineau ff8a7bbe3c Fix a compilation error with VC9 2014-03-26 16:04:57 +01:00
Andreas Fabri a707607f66 Turn copy constructor into a real default constructor 2014-03-19 11:59:04 +01:00
Andreas Fabri 2097f37ab7 Split constructor in default and copy constructor 2014-03-18 16:27:54 +01:00
Laurent Rineau 13c69d52c1 Fix license of AK_d headers for RS support
AK_d is under LGPLv3+, and not v2.1 only. Luis copied-pasted from files
with that license by error.
2014-02-10 10:41:10 +01:00
Luis Peñaranda 13f73f44d3 use the z-kernel as the default for Gmpq 2013-12-15 11:26:40 -03:00
Luis Peñaranda d33d8bf2cc added the z-kernel, for types different than Gmpz 2013-12-13 15:32:02 -03:00
Luis Peñaranda 89c5170ee0 move #include to the correct file 2013-12-13 15:31:19 -03:00
Luis Peñaranda b5a1cc9883 fix bug in i686 tests
Use Gmpfr arithmetic for exact sign computation only in 64-bit systems.
2013-12-12 15:42:11 -03:00
Luis Peñaranda 3aa833c0fc add rational k-refinement with -DCGAL_RS_USE_K 2013-12-06 08:49:58 -03:00
Luis Peñaranda f8c35e179b use RS3 refiner in rational kernel 2013-12-06 08:29:26 -03:00
Luis Peñaranda eb0479fe76 use the converter to convert int to rat poly 2013-12-05 01:08:41 -03:00
Luis Peñaranda ea670a3a63 use mpfr for exact sign computation instead of mpq
This change applies only when the coefficient type is Gmpz and the bound
type is Gmpfr.
2013-11-26 20:21:45 -02:00
Luis Peñaranda 68f368020d use exact division when possible 2013-11-26 17:13:26 -02:00
Luis Peñaranda 112385eef0 added rational kernel
Given that the integer kernel works like a charm, I put the rational
one.
2013-11-23 02:44:59 -02:00
Luis Peñaranda 7f47236d30 avoided some warnings with -Wunused-local-typedefs 2013-11-22 01:44:43 -02:00
Luis Peñaranda bf9a0db244 avoid some g++ -Wall warnings 2013-11-20 23:55:17 -02:00
Luis Peñaranda fb9bccbc71 removed a failing 'typename' keyword 2013-11-20 12:06:29 -02:00
Luis Peñaranda dfa7218c85 added missing file 2013-11-19 16:15:32 -02:00
Luis Peñaranda 8a58557f40 removed old files 2013-11-19 16:08:29 -02:00
Luis Peñaranda cbdca2c35d Code refactoring.
The obsolete and unused code was removed. The interface was cleaned. The
memory leaks dissapeared (according to valgrind), because the pointers
to RS memory were removed.

For test purposes, the rational interface is not tested.
2013-11-19 16:07:24 -02:00
Laurent Rineau 21abdd09ed Merge remote-tracking branch 'origin/Algebraic_kernel_d-RS_remove_release_warnings'
- Remove warnings in include/CGAL/RS

Tested in CGAL-4.3-Ic-194
2013-10-09 14:49:45 +02:00
Luis Peñaranda 34485ce89d removed unused variables in release from rs calls 2013-10-04 15:32:04 -03:00
Luis Peñaranda d53c137525 removed unused variables in release from dyadic.h 2013-10-04 15:31:27 -03:00