Remove explicit interoperability between Interval_nt and int, so
Interval_nt becomes interoperable with every builtin type (in particular
long) via double.
Approved by the release manager
It shouldn't change the performance significantly (the time is spent in
malloc/free and the mpq_* calls), but at least I can follow the
(smaller) generated code.
Conflicts:
Kernel_d/doc_tex/Kernel_d/kernel_representation_d.tex
Kernel_d/doc_tex/Kernel_d_ref/Homogeneous_d.tex
Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
Kernel_d/doc_tex/Kernel_d_ref/main.tex
Resolved by dropping those files.
The code was incorrect, we should have used _FPU_GETCW(CW)&3 to keep
only the rounding mode bits. However, glibc comes with an optimized
inline version of fegetround and fesetround so there is no point using
anything else.
Introduces a faster alternative to MP_Float and Gmpzf
(see the documentation to see on which platforms it is available).
When activated, it is used as default exact ring number type for exact
evaluation of predicates (that only require ring operations).
It is possible to switch back to the previous behavior by defining
CGAL_DO_NOT_USE_MPZF
Successfully tested in CGAL-4.4-Ic-29
Approved by the Release Manager
Gmpfi:
- it was added to the implementation section of the reference manual
that the precision is decoupled from the mpfr precision.
Gmpfr:
- it said that mpfr handles four rounding modes; this is wrong, since
mpfr 3 handles five. Now, it reads that Gmpfr supports these four
rounding modes.
- a spurious star was removed from the reference manual.
NT user manual:
- it said that the precision of Gmpfi was inherited from Gmpfr; this was
changed in the past and the sentence was corrected.
- a missing comma was added in the last section.
The leak was caused by the fact that some operators created an mpfi_t to
store the result and returned a Gmpfi constructed from that mpfi_t. The
problem was that it was impossible to free the memory used by that
number. The fix consisted in storing the result directly in a Gmpfi,
instead of a mpfi_t (this also results in a cleaner code).