48 template<typename dtype, std::enable_if_t<std::is_integral<dtype>::value,
int> = 0>
49 bool essentiallyEqual(
const std::complex<dtype>& inValue1,
const std::complex<dtype>& inValue2)
noexcept
51 return inValue1 == inValue2;
63 template<typename dtype, std::enable_if_t<std::is_floating_point<dtype>::value,
int> = 0>
65 const std::complex<dtype>& inValue2,
66 const std::complex<dtype>& inEpsilon)
noexcept
68 const auto absValue1 =
std::abs(inValue1);
69 const auto absValue2 =
std::abs(inValue2);
70 return std::abs(inValue1 - inValue2) <= ((absValue1 > absValue2 ? absValue2 : absValue1) *
std::abs(inEpsilon));
81 template<typename dtype, std::enable_if_t<std::is_floating_point<dtype>::value,
int> = 0>
82 bool essentiallyEqual(
const std::complex<dtype>& inValue1,
const std::complex<dtype>& inValue2)
noexcept
Holds info about the dtype.
Definition: DtypeInfo.hpp:41
Definition: Utils/cube.hpp:33
bool essentiallyEqual(dtype inValue1, dtype inValue2) noexcept
Definition: essentiallyEqual.hpp:49
auto abs(dtype inValue) noexcept
Definition: abs.hpp:49