- XBT_CDEBUG(surf_lagrange_dichotomy, "Trying (max+min)/2 : %1.20f",
- middle);
-
- if ((min == middle) || (max == middle)) {
- XBT_CWARN(surf_lagrange_dichotomy,
- "Cannot improve the convergence! min=max=middle=%1.20f, diff = %1.20f."
- " Reaching the 'double' limits. Maybe scaling your function would help ([%1.20f,%1.20f]).",
- min, max - min, min_diff, max_diff);
+ XBT_CDEBUG(surf_lagrange_dichotomy, "Trying (max+min)/2 : %1.20f", middle);
+
+ if ((fabs(min - middle) < 1e-20) || (fabs(max - middle) < 1e-20)){
+ XBT_CWARN(surf_lagrange_dichotomy, "Cannot improve the convergence! min=max=middle=%1.20f, diff = %1.20f."
+ " Reaching the 'double' limits. Maybe scaling your function would help ([%1.20f,%1.20f]).",
+ min, max - min, min_diff, max_diff);