1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
From: Christian Bayle <bayle@debian.org>
Date: Fri, 26 Sep 2025 18:37:49 +0200
Subject: Fix no member named expr
---
test/verify.hpp | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/test/verify.hpp b/test/verify.hpp
index f541ca9..8c6d094 100644
--- a/test/verify.hpp
+++ b/test/verify.hpp
@@ -189,6 +189,7 @@ double max_diff(R1&& r1, R2&& r2)
return range_product(r1, r2, 0.0, max, abs_diff);
}
+/*
template <class R1, class R2>
auto max_diff_v2(R1&& r1, R2&& r2)
{
@@ -200,6 +201,20 @@ auto max_diff_v2(R1&& r1, R2&& r2)
else
return range_product(r1, r2, T(), max, abs_diff_func);
}
+*/
+template <class R1, class R2>
+auto max_diff_v2(R1&& r1, R2&& r2)
+{
+ using RawT = decltype(r1[0] - r2[0]);
+ using T = std::conditional_t<std::is_convertible_v<RawT, half_float::half>,
+ half_float::half,
+ RawT>;
+
+ auto abs_diff_func = [](auto x, auto y) { return x > y ? x - y : y - x; };
+
+ return range_product(r1, r2, T{}, max, abs_diff_func);
+}
+
template <class R1, class R2, class T>
std::size_t mismatch_diff(R1&& r1, R2&& r2, T diff)
|