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