aboutsummaryrefslogtreecommitdiff
path: root/reference_model/test
diff options
context:
space:
mode:
authorJeremy Johnson <jeremy.johnson@arm.com>2023-11-06 17:46:02 +0000
committerEric Kunze <eric.kunze@arm.com>2023-11-16 21:24:23 +0000
commit2d70ac4c02808609feb357488dcd080bd6fc5ba5 (patch)
tree7038f213a79b4d2daa5cfcf35e7f1fec54218f3e /reference_model/test
parenta4e5139312fbcbaedc998bfde6a0bb3479a388e6 (diff)
downloadreference_model-2d70ac4c02808609feb357488dcd080bd6fc5ba5.tar.gz
Main Compliance testing for simple UNARY ops
For RECIPROCAL, RSQRT, CEIL, FLOOR, ABS, NEGATE & IDENTITY. Improved ULP informational output. Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: I49644573b4c9a30b2b9d6c9624f2a1d46976a378
Diffstat (limited to 'reference_model/test')
-rw-r--r--reference_model/test/verify_tests.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/reference_model/test/verify_tests.cpp b/reference_model/test/verify_tests.cpp
index e7d6c4e..31e27c0 100644
--- a/reference_model/test/verify_tests.cpp
+++ b/reference_model/test/verify_tests.cpp
@@ -392,7 +392,7 @@ TEST_CASE("positive - ulp")
const auto elementCount = std::accumulate(std::begin(shape), std::end(shape), 1, std::multiplies<>());
// Generate some random floats using the full range of fp32.
- auto data_fp32 = generateRandomTensorData<float>(elementCount, false);
+ auto data_fp32 = generateRandomTensorData<float>(elementCount, true);
std::vector<double> data_fp64(data_fp32.begin(), data_fp32.end());
SUBCASE("same")
@@ -400,7 +400,7 @@ TEST_CASE("positive - ulp")
// Generate some data that meets the ULP requirements of the result.
auto otherData_fp32 = data_fp32;
std::for_each(std::begin(otherData_fp32), std::end(otherData_fp32), [](auto& value) {
- if (std::abs(value) != 0.0 && !std::isinf(value))
+ if (std::abs(value) != 0.0 && !std::isinf(value) && !std::isnan(value))
value = increment(value, 5);
});
const auto referenceTensor =
@@ -415,7 +415,7 @@ TEST_CASE("positive - ulp")
// Generate some data that exceeds a specified number of ULP for each value in the tensor.
auto otherData_fp32 = data_fp32;
std::for_each(std::begin(otherData_fp32), std::end(otherData_fp32), [](auto& value) {
- if (std::abs(value) != 0.0 && !std::isinf(value))
+ if (std::abs(value) != 0.0 && !std::isinf(value) && !std::isnan(value))
value = increment(value, 6);
});