30 #ifndef vtkMathUtilities_h
31 #define vtkMathUtilities_h
45 return fabs(a - b) < std::numeric_limits<A>::epsilon();
54 return fabs(a - b) < epsilon;
70 if( (a == static_cast<A>(0)) ||
71 ((b > static_cast<A>(1)) && (a < b*std::numeric_limits<A>::min())) )
73 return static_cast<A>(0);
86 bool NearlyEqual(A a, A b, A tol=std::numeric_limits<A>::epsilon())
88 A absdiff = fabs(a-b);
89 A d1 = vtkMathUtilities::SafeDivision<A>(absdiff,fabs(a));
90 A d2 = vtkMathUtilities::SafeDivision<A>(absdiff,fabs(b));
93 if( (d1 <= tol) || (d2 <= tol) )
102 #endif // vtkMathUtilities_h