aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/verify/verify_ulp.cc
diff options
context:
space:
mode:
authorJeremy Johnson <jeremy.johnson@arm.com>2023-11-09 16:56:07 +0000
committerJeremy Johnson <jeremy.johnson@arm.com>2023-11-23 14:08:53 +0000
commit0bbd8bcfb20ec834f18d0bb89fc69ba4e92b3019 (patch)
treedca9f00f2ce4a48801fb92e6cee6e531585b3d5d /reference_model/src/verify/verify_ulp.cc
parent6ce35028420a208df979ba88807ee8bffe746b63 (diff)
downloadreference_model-0bbd8bcfb20ec834f18d0bb89fc69ba4e92b3019.tar.gz
Main Compliance testing support for LOG and ACTIVATIONs
Increase exp2 allowed range to account for denormals. Minor adjustments to verify to match spec updates for pseudo code. Set ranges of activation function inputs to match spec. Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: I6fcf665932ac2c9080e284b865da8f7746801f59
Diffstat (limited to 'reference_model/src/verify/verify_ulp.cc')
-rw-r--r--reference_model/src/verify/verify_ulp.cc9
1 files changed, 1 insertions, 8 deletions
diff --git a/reference_model/src/verify/verify_ulp.cc b/reference_model/src/verify/verify_ulp.cc
index b333810..6e78b96 100644
--- a/reference_model/src/verify/verify_ulp.cc
+++ b/reference_model/src/verify/verify_ulp.cc
@@ -30,15 +30,8 @@ bool tosaCheckULP(float testValue, double referenceValue, double ulpNum)
double errorBound = 0.0;
if (std::isfinite(referenceValue) && std::abs(referenceValue) != 0.0)
{
- // Make the sign of the reference value positive
- // and adjust the test value appropriately.
- if (referenceValue < 0)
- {
- referenceValue = -referenceValue;
- testValue = -testValue;
- }
// Find the exponent of the reference value.
- int32_t referenceExponent = ilog2(referenceValue);
+ int32_t referenceExponent = ilog2(std::abs(referenceValue));
// Work out the values magnitude - by raising 2 to the power of the
// exponent and taking the normalized minimum for denormal values