I´m working on on a program that perform a CDT in a set of points. After I have inserted a lot of constraints CGAL raise the folowing exception:
0x0000022b9f34d7c0 "CGAL ERROR: assertion violation!\nExpr: is_finite(d)\nFile: C:\dev\CGAL-5.5.2\include\CGAL\MP_Float_impl.h\nLine: 70"
the code surounding the assertion is:
template < typename T >
inline
void MP_Float::construct_from_builtin_fp_type(T d)
{
if (d == 0)
return;
// Protection against rounding mode != nearest, and extended precision.
Set_ieee_double_precision P;
CGAL_assertion(is_finite(d)); //<<<<<<<<<<<<<<<<<<<<<<<<< here, this assertion
// This is subtle, because ints are not symetric against 0.
// First, scale d, and adjust exp accordingly.
while (d < INTERN_MP_FLOAT::trunc_min || d > INTERN_MP_FLOAT::trunc_max) {
++exp;
d /= INTERN_MP_FLOAT::base;
}
How to avoid this exception to happen?
Thanks