Division and square root are not enabled by default since CGAL release 3.2, since they are computed approximately. We suggest that you use rationals like Quotient<MP_Float> when you need exact divisions. To enable division and square root, you have to define the preprocessor macro CGAL_MP_FLOAT_ALLOW_INEXACT.
Note on the implementation : although the mantissa length is basically only limited by the available memory, the exponent is currently represented by a (integral valued) double, which can overflow in some circumstances. We plan to also have a multiprecision exponent to fix this issue.
#include <CGAL/MP_Float.h>
| |
introduces an uninitialized variable m.
| |
| |
copy constructor.
| |
| |
introduces the integral value i.
| |
| |
introduces the floating point value d (exact conversion).
| |
| |
introduces the floating point value d (exact conversion).
| |
| |
introduces the floating point value d (exact conversion).
|
|
| |
writes a double approximation of m to the ostream out. | ||
|
| |
reads a double from in, then converts it to an MP_Float. | ||
|
| |
computes an approximation of the division by converting the operands to double, performing the division on double, and converting back to MP_Float. | ||
|
| |
computes an approximation of the square root by converting the operand to double, performing the square root on double, and converting back to MP_Float. |