mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-03-07 18:27:40 +08:00
extend the support for bool
This commit is contained in:
parent
3d6e4ab879
commit
e12bd2e8d2
@ -317,4 +317,34 @@ inline bool ei_isApproxOrLessThan(long double a, long double b, long double prec
|
||||
return a <= b || ei_isApprox(a, b, prec);
|
||||
}
|
||||
|
||||
/**************
|
||||
*** bool ***
|
||||
**************/
|
||||
|
||||
template<> inline bool precision<bool>() { return 0; }
|
||||
inline bool ei_real(bool x) { return x; }
|
||||
inline bool& ei_real_ref(bool& x) { return x; }
|
||||
inline bool ei_imag(bool) { return 0; }
|
||||
inline bool ei_conj(bool x) { return x; }
|
||||
inline bool ei_abs(bool x) { return x; }
|
||||
inline bool ei_abs2(bool x) { return x; }
|
||||
inline bool ei_sqrt(bool x) { return x; }
|
||||
|
||||
template<> inline bool ei_random()
|
||||
{
|
||||
return ei_random<int>(0,1);
|
||||
}
|
||||
inline bool ei_isMuchSmallerThan(bool a, bool, bool = precision<bool>())
|
||||
{
|
||||
return !a;
|
||||
}
|
||||
inline bool ei_isApprox(bool a, bool b, bool = precision<bool>())
|
||||
{
|
||||
return a == b;
|
||||
}
|
||||
inline bool ei_isApproxOrLessThan(bool a, bool b, bool = precision<bool>())
|
||||
{
|
||||
return int(a) <= int(b);
|
||||
}
|
||||
|
||||
#endif // EIGEN_MATHFUNCTIONS_H
|
||||
|
Loading…
Reference in New Issue
Block a user