35 #ifndef _BLAZE_MATH_SHIMS_EQUAL_H_ 36 #define _BLAZE_MATH_SHIMS_EQUAL_H_ 76 inline constexpr
bool equal(
const T1& a,
const T2& b )
102 inline bool equal(
float a,
float b )
105 const float acc( static_cast<float>(
accuracy ) );
106 return ( std::fabs( a - b ) <=
max( acc, acc * std::fabs( a ) ) );
135 inline bool equal(
float a,
double b )
137 return equal<RF>( a,
static_cast<float>( b ) );
162 inline bool equal(
float a,
long double b )
164 return equal<RF>( a,
static_cast<float>( b ) );
185 inline bool equal(
double a,
float b )
187 return equal<RF>(
static_cast<float>( a ), b );
212 inline bool equal(
double a,
double b )
215 const double acc( static_cast<double>(
accuracy ) );
216 return ( std::fabs( a - b ) <=
max( acc, acc * std::fabs( a ) ) );
245 inline bool equal(
double a,
long double b )
247 return equal<RF>( a,
static_cast<double>( b ) );
272 inline bool equal(
long double a,
float b )
274 return equal<RF>(
static_cast<float>( a ), b );
299 inline bool equal(
long double a,
double b )
301 return equal<RF>(
static_cast<double>( a ), b );
326 inline bool equal(
long double a,
long double b )
329 const long double acc( static_cast<long double>(
accuracy ) );
330 return ( std::fabs( a - b ) <=
max( acc, acc * std::fabs( a ) ) );
356 inline bool equal( complex<T1> a, T2 b )
358 return equal<RF>(
real( a ), b ) && equal<RF>(
imag( a ), T1() );
380 inline bool equal( T1 a, complex<T2> b )
382 return equal<RF>( a,
real( b ) ) && equal<RF>(
imag( b ), T2() );
404 inline bool equal( complex<T1> a, complex<T2> b )
406 return equal<RF>(
real( a ),
real( b ) ) && equal<RF>(
imag( a ),
imag( b ) );
426 template<
typename T1
428 inline constexpr
bool equal(
const T1& a,
const T2& b )
430 return equal<relaxed>( a, b );
Computation accuracy for floating point data types.
constexpr bool equal(const T1 &a, const T2 &b)
Generic equality check.
Definition: Equal.h:76
decltype(auto) real(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the real part of each single element of dm.
Definition: DMatMapExpr.h:1387
const ElementType_< MT > max(const DenseMatrix< MT, SO > &dm)
Returns the largest element of the dense matrix.
Definition: DenseMatrix.h:1809
Headerfile for the generic max algorithm.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the relaxation flag types.
constexpr bool relaxed
Relaxation flag for relaxed semantics.
Definition: RelaxationFlag.h:85
Header file for the complex data type.
constexpr Accuracy accuracy
Global Accuracy instance.The blaze::accuracy instance can be used wherever a floating point data type...
Definition: Accuracy.h:902
decltype(auto) imag(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the imaginary part of each single element of dm.
Definition: DMatMapExpr.h:1416