40 lines
479 B
C
40 lines
479 B
C
|
#ifndef __WRNAV_UTIL_MATH_H
|
||
|
#define __WRNAV_UTIL_MATH_H
|
||
|
|
||
|
|
||
|
namespace wr {
|
||
|
namespace util {
|
||
|
|
||
|
|
||
|
const double Epsilon_double = 0.0001;
|
||
|
const float Epsilon_float = 0.0001;
|
||
|
|
||
|
|
||
|
void
|
||
|
DefaultEpsilon(double &epsilon)
|
||
|
{
|
||
|
epsilon = Epsilon_double;
|
||
|
}
|
||
|
|
||
|
|
||
|
void
|
||
|
DefaultEpsilon(float &epsilon)
|
||
|
{
|
||
|
epsilon = Epsilon_float;
|
||
|
}
|
||
|
|
||
|
|
||
|
template <typename T>
|
||
|
T
|
||
|
WithinTolerance(T a, T b, T epsilon)
|
||
|
{
|
||
|
return std::abs(a - b) < epsilon;
|
||
|
}
|
||
|
|
||
|
|
||
|
} // namespace util
|
||
|
} // namespace wr
|
||
|
|
||
|
|
||
|
#endif // __WRNAV_UTIL_MATH_H
|