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.
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>
MP_Float m; | |
introduces an uninitialized variable m.
| |
MP_Float m ( MP_Float); | |
copy constructor.
| |
MP_Float m ( int i); | |
introduces the integral value i.
| |
MP_Float m ( float d); | |
introduces the floating point value d (exact conversion).
| |
MP_Float m ( double d); | |
introduces the floating point value d (exact conversion).
| |
MP_Float m ( long double d); | |
introduces the floating point value d (exact conversion).
|
std::ostream& | std::ostream& out << m | writes a double approximation of m to the ostream out. |
std::istream& | std::istream& in >> & m | reads a double from in, then converts it to an MP_Float. |
MP_Float | approximate_division ( a, b) | computes an approximation of the division by converting the operands to double, performing the division on double, and converting back to MP_Float. |
MP_Float | approximate_sqrt ( a) | 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. |