doc boost mp as gmp replacement

This commit is contained in:
Sébastien Loriot 2024-08-28 14:04:57 +02:00
parent 12f278e431
commit af8e134aa6
4 changed files with 25 additions and 12 deletions

View File

@ -72,23 +72,34 @@ As there is no canonical directory for where to find \boost on Windows,
we recommend that you define the environment variable
`BOOST_ROOT` and set it to where you have installed \boost, e.g., `C:\boost\boost_1_70_0`.
\subsection thirdpartyMPFR GNU Multiple Precision Arithmetic (GMP) and GNU Multiple Precision Floating-Point Reliably (MPFR) Libraries
<b>GMP Version 5.0.1 or later, MPFR Version 3.0.0 or later</b>
\subsection thirdpartyMP Multi Precision Number Type Library
The components \cgal, `CGAL_Core`, and `CGAL_Qt6` require
\gmp and \mpfr which are libraries for multi precision integers and rational numbers,
and for multi precision floating point numbers.
\cgal combines floating point arithmetic with exact arithmetic
in order to be efficient and reliable. \cgal has a built-in
number type for that, but \gmp and \mpfr provide a faster
solution, and we recommend using them.
GNU Multiple Precision Arithmetic (GMP) and GNU Multiple Precision Floating-Point Reliably (MPFR) Libraries
are libraries for multi precision integers and rational numbers, and for multi precision floating point numbers.
These libraries can be obtained from <A HREF="https://gmplib.org/">`https://gmplib.org/`</A>
and <A HREF="https://www.mpfr.org/">`https://www.mpfr.org/`</A>.
Since Visual \cpp is not properly supported by the \gmp and \mpfr projects,
we provide precompiled versions of \gmp and \mpfr, which can be downloaded
from the <a href="https://github.com/CGAL/cgal/releases">assets of a release</a>.
Version supported are <b>GMP Version 5.0.1 or later, MPFR Version 3.0.0 or later</b>.
The \boost library also provides a module for multi precision integers and rational numbers:
<A HREF="https://www.boost.org/doc/libs/release/libs/multiprecision/doc/html/index.html">\boost multiprecision</A>.
Versions supported are <b>\boost Version 1.72 or later</b>.
The components \cgal, and `CGAL_Qt6` require either \gmp and \mpfr, or \boost multiprecision
for multi precision numbers. `CGAL_Core` requires \boost multiprecision.
\cgal combines floating point arithmetic with exact arithmetic
in order to be efficient and reliable. \cgal has a built-in
number type for that, but previous alternatives are faster
solutions, and we recommend using one of them.
The CMake variable `CGAL_CMAKE_EXACT_NT_BACKEND` can be used to select
the library that will be used internally for multi precision number types.
The variable `CGAL_CMAKE_EXACT_NT_BACKEND-STRINGS` contains all the possible
values.
\section secoptional3rdpartysoftware Optional Third Party Libraries

View File

@ -36,7 +36,7 @@ Using \cgal requires a few core components to be previously installed:
<li> a supported compiler (see Section \ref seccompilers),</li>
<li> \ref seccmake,</li>
<li> \ref thirdpartyBoost,</li>
<li> \ref thirdpartyMPFR.</li>
<li> a \ref thirdpartyMP.</li>
</ul>
Optional third-party software might be required to build examples and demos shipped with \cgal,

View File

@ -6,7 +6,7 @@
15.9, 16.0, 17.0 (\visualstudio 2017, 2019, and 2022).
\cgal is a library that has mandatory dependencies that must be first installed:
\ref thirdpartyBoost and \ref thirdpartyMPFR.
\ref thirdpartyBoost and a \ref thirdpartyMP.
You have two options to install \cgal and its dependencies: you can either use
the *Vcpkg library manager*, which will automatically install an appropriate version of

View File

@ -13,6 +13,8 @@ Release date: June 2024
- LLVM Clang version 15.0.7 or later (on Linux)
- Apple Clang compiler versions 10.0.1, 12.0.5, and 15.0.0 (on macOS)
- The minimal supported version of Boost is now 1.72.0.
- GMP/MPFR are no longer mandatory to use CGAL, [Boost.Multiprecision](https://www.boost.org/doc/libs/1_72_0/libs/multiprecision/doc/html/index.html).
can be used instead.
- The CGAL `Core` library is no longer based on GMP, but on
[Boost.Multiprecision](https://www.boost.org/doc/libs/1_72_0/libs/multiprecision/doc/html/index.html).
Either GMP backend or Boost backend can be used.