Skip to content

Commit

Permalink
doc boost mp as gmp replacement
Browse files Browse the repository at this point in the history
  • Loading branch information
sloriot committed Aug 28, 2024
1 parent 12f278e commit af8e134
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 12 deletions.
31 changes: 21 additions & 10 deletions Documentation/doc/Documentation/Third_party.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion Documentation/doc/Documentation/Usage.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion Documentation/doc/Documentation/windows.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions Installation/CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down

0 comments on commit af8e134

Please sign in to comment.