diff options
author | Matthias Kretz <m.kretz@gsi.de> | 2023-02-21 10:43:13 +0100 |
---|---|---|
committer | Matthias Kretz <m.kretz@gsi.de> | 2023-02-23 15:01:49 +0100 |
commit | 8fda668e0919af9ceda9435f02a1708b375b2913 (patch) | |
tree | 6536002576824bf84d5e24dc90fb92c99cc95e36 | |
parent | ffa39f7120f6e83a567d7a83ff4437f6b41036ea (diff) | |
download | gcc-8fda668e0919af9ceda9435f02a1708b375b2913.zip gcc-8fda668e0919af9ceda9435f02a1708b375b2913.tar.gz gcc-8fda668e0919af9ceda9435f02a1708b375b2913.tar.bz2 |
libstdc++: Test that integral simd reductions are precise
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
* testsuite/experimental/simd/tests/reductions.cc: Introduce
max_distance as the type-dependent max error.
-rw-r--r-- | libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc b/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc index 0c4c79f..fed1643 100644 --- a/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc +++ b/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc @@ -112,6 +112,7 @@ template <typename V> T acc = x[0]; for (size_t i = 1; i < V::size(); ++i) acc += x[i]; - ULP_COMPARE(reduce(x), acc, V::size() / 2).on_failure("x = ", x); + const T max_distance = std::is_integral_v<T> ? 0 : V::size() / 2; + ULP_COMPARE(reduce(x), acc, max_distance).on_failure("x = ", x); }); } |