5#ifndef SAPPHIRE_MATHS_EQUALS_GUARD
6#define SAPPHIRE_MATHS_EQUALS_GUARD
36 template <
typename T,
typename EpsT = T>
37 constexpr bool Equals(
const T& _lhs,
const T& _rhs, EpsT _epsilon = std::numeric_limits<EpsT>::epsilon())
41 return (_lhs < _rhs ? _rhs - _lhs : _lhs - _rhs) <= _epsilon;
56 template <
typename T,
typename EpsT = T>
57 constexpr bool Equals0(T _in, EpsT _epsilon = std::numeric_limits<EpsT>::epsilon()) noexcept
59 return Equals(_in, T{ 0 }, _epsilon);
74 template <
typename T,
typename EpsT = T>
75 constexpr bool Equals1(T _in, EpsT _epsilon = std::numeric_limits<EpsT>::epsilon()) noexcept
77 return Equals(_in, T{ 1 }, _epsilon);
constexpr bool Equals0(T _in, EpsT _epsilon=std::numeric_limits< EpsT >::epsilon()) noexcept
Compare one T to T(0).
Definition Equals.hpp:57
constexpr bool Equals(const T &_lhs, const T &_rhs, EpsT _epsilon=std::numeric_limits< EpsT >::epsilon())
Compare two T objects.
Definition Equals.hpp:37
constexpr bool Equals1(T _in, EpsT _epsilon=std::numeric_limits< EpsT >::epsilon()) noexcept
Compare one T to T(1).
Definition Equals.hpp:75