Laurent Rineau
0facc2fb8a
Merge pull request #1572 from luis4a0/Algebraic_kernel_d-add_assertions-Luis
...
Check for the MPFR version in RS-based AK
2016-10-24 13:57:25 +02:00
Luis Peñaranda
275581537b
CGAL_NO_ASSERTIONS -> CGAL_NO_PRECONDITIONS
2016-10-18 12:57:49 -03: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
Philipp Möller
0a04a3a48f
Use CGAL_DOC_VERSION
2016-02-11 15:37:54 +01:00
Sébastien Loriot
72863bfe44
fix doxygen warnings
2016-02-04 21:19:36 +01:00
Andreas Fabri
1b0f79c870
#ifdef cyclic.cpp
2016-01-29 14:21:28 +01:00
Andreas Fabri
87f67d99df
Add a reduced program that illustrates the cyclic leak
2016-01-27 17:25:36 +01:00
Philipp Möller
71b4e9c515
Use CGAL_FULL_VERSION in all Doxyfile.in
2015-12-17 16:33:28 +01:00
Philipp Möller
81a8f982dc
Handle the easy INPUT cases
...
If INPUT is just PKG/doc/PKG, handle it automatically.
2015-12-10 17:00:26 +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
Laurent Rineau
f9917c487e
CMake 2.8.11
2015-07-13 12:36:43 +02:00
Sébastien Loriot
d164633493
remove REQUIRED keyword
2015-07-07 11:23:46 +02:00
Philipp Möller
236ae3f9d3
Remove two unused includes of pool_allocator
2015-04-10 14:48:33 +02:00
Sébastien Loriot
b28b4607ae
use UTF8 for letters with accent
2015-01-31 13:58:08 +01: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
36d8b5bd18
Convert source files encoding to utf-8
...
All non-ASCII files should be encoded in UTF-8. So far, the ZSH script
`Scripts/developer_scripts/detect_wrong_encoding` detects wrong encoding
in source/header files of include/, src/, and doc/.
2014-08-01 11:20:13 +02:00
Laurent Rineau
a8ff620f3f
Fix the remaining warnings on my platform
...
That was mostly "unused locally defined typedefs".
2014-04-01 14:50:51 +02:00
Laurent Rineau
afc7b8f777
Fix warnings (unused local typedef)
2014-04-01 14:49:49 +02:00
Laurent Rineau
969b51a78c
Fix a compilation error with VC9
2014-04-01 14:49:49 +02: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
Laurent Rineau
6330632723
Fix various warnings about unused variables/types
2014-01-10 13:25:23 +01:00
Laurent Rineau
972befcc01
Merge branch 'CGAL-fix_io_bad-lrineau'
...
Fix the uses of std::basic_ios::bad() across the whole CGAL code, and
use fail() instead.
Tested in CGAL-4.4-Ic-84.
2014-01-09 17:52:46 +01:00
Laurent Rineau
9e0a6ccca5
Merge branch 'Algebraic_kernel_d-RS_address_leaks-penarand'
...
Fix memory leaks in RS number types.
Tested in CGAL-4.4-Ic-79.
(+ a trivial fix a warning commited afterward)
Approved by the Release Manager.
2014-01-06 16:00:10 +01:00
Laurent Rineau
19ecf8e545
Trivial fix of a warning
2014-01-06 15:59:30 +01:00
Luis Peñaranda
cad0a49f30
Revert "avoid more -Wall warnings in g++ 4.7"
...
This reverts commit ed04ff7c18 . Basically,
I changed in the reverted commit the assert() by CGAL_assertion(), and
added some CGAL_assertion_code().
2014-01-03 10:53:46 -03:00
Laurent Rineau
55f8095430
Fix a typo in a link of the doc
...
1/ Use explicit linking instead of implicit one.
2/ Fix the typo: AK_d_1::AlgebraicReal_1 -> AK_d_1::Algebraic_real_1
2014-01-03 11:49:30 +01:00
Luis Peñaranda
77da387fe5
Test correctly inexact coefficient types.
...
The algebraic structure tests are performed following the exactness of
the coefficient type (it was assumed before that the type was exact). If
it is inexact, the polynomial traits are not tested to avoid wrong
errors.
2014-01-01 11:40:24 -03:00
Luis Peñaranda
352b029aab
fixed years-old bug in tests
...
The bug came from assuming that the bound type was exact. Now, the
algebraic structure of the bound type can be correctly tested.
2013-12-30 23:53:16 -03: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
Laurent Rineau
269ae1ca61
Fix the uses of std::basic_ios::bad(), and use fail() instead.
...
bad() implies fail() but std::basic_ios::operator! is actually equivalent
to std::basic_ios::fail(), not bad().
For example,
std::ifstream is(argv[1]);
if (is.bad()) {
is probably wrong because, in case the file does not exist, only the failbit it set,
and not the badbit.
Other example:
double x;
is >> x;
If the stream 'is' does not contains a string that can represent a double,
then failbit is set (and maybe the eofbit if the stream is actually too
short), but not the badbit.
bad() can be used, in case fail() returned true, to discriminate between a
I/O error and a logical error.
See:
http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool
http://en.cppreference.com/w/cpp/io/ios_base/iostate
2013-12-12 16:13:40 +01:00