27 #ifndef vtkMathUtilities_h
28 #define vtkMathUtilities_h
42 return fabs(a - b) < std::numeric_limits<A>::epsilon();
51 return fabs(a - b) < epsilon;
67 if ((a ==
static_cast<A
>(0)) ||
68 ((b >
static_cast<A
>(1)) && (a < b * std::numeric_limits<A>::min())))
70 return static_cast<A
>(0);
83 bool NearlyEqual(A a, A b, A tol = std::numeric_limits<A>::epsilon())
85 A absdiff = fabs(a - b);
86 A d1 = vtkMathUtilities::SafeDivision<A>(absdiff, fabs(a));
87 A d2 = vtkMathUtilities::SafeDivision<A>(absdiff, fabs(b));
90 if ((d1 <= tol) || (d2 <= tol))
99 #endif // vtkMathUtilities_h