32 #ifndef MCKL_CORE_IS_EQUAL_HPP 33 #define MCKL_CORE_IS_EQUAL_HPP 36 #include <type_traits> 41 inline bool is_equal(
const float &v1,
const float &v2)
43 return v1 == v2 || (std::isnan(v1) && std::isnan(v2));
46 inline bool is_equal(
const double &v1,
const double &v2)
48 return v1 == v2 || (std::isnan(v1) && std::isnan(v2));
51 inline bool is_equal(
const long double &v1,
const long double &v2)
53 return v1 == v2 || (std::isnan(v1) && std::isnan(v2));
56 template <
typename T,
typename Alloc>
58 const std::vector<T, Alloc> &v1,
const std::vector<T, Alloc> &v2)
60 if (v1.size() != v2.size()) {
64 for (std::size_t i = 0; i != v1.size(); ++i) {
75 #endif // MCKL_CORE_IS_EQUAL_HPP
bool is_equal(const float &v1, const float &v2)