22 #ifndef _BLAZE_MATH_SHIMS_EQUAL_H_
23 #define _BLAZE_MATH_SHIMS_EQUAL_H_
57 inline bool equal(
float a,
float b )
66 relativeError =
std::fabs( ( a - b ) / b );
68 relativeError =
std::fabs( ( a - b ) / a );
70 if( relativeError <= 5E-4F )
92 inline bool equal(
float a,
double b )
94 return equal( a, static_cast<float>( b ) );
114 inline bool equal(
float a,
long double b )
116 return equal( a, static_cast<float>( b ) );
136 inline bool equal(
double a,
float b )
138 return equal( static_cast<float>( a ), b );
158 inline bool equal(
double a,
double b )
180 inline bool equal(
double a,
long double b )
202 inline bool equal(
long double a,
float b )
204 return equal( static_cast<float>( a ), b );
224 inline bool equal(
long double a,
double b )
246 inline bool equal(
long double a,
long double b )
267 template<
typename T1
269 inline bool equal( complex<T1> a, T2 b )
290 template<
typename T1
292 inline bool equal( T1 a, complex<T2> b )
313 template<
typename T1
315 inline bool equal( complex<T1> a, complex<T2> b )
317 return equal( a.real(), b.real() ) &&
equal( a.imag(), b.imag() );
337 template<
typename T1
339 inline bool equal(
const T1& a,
const T2& b )