aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/generate/generate_dot_product_states.cc
diff options
context:
space:
mode:
authorJeremy Johnson <jeremy.johnson@arm.com>2024-03-21 13:38:09 +0000
committerEric Kunze <eric.kunze@arm.com>2024-03-26 15:36:39 +0000
commit42e183cae08b301083416481e7bac92f04f0ce21 (patch)
treecb9525ee25422649d68fd9784478c68d0f707e9a /reference_model/src/generate/generate_dot_product_states.cc
parent8746026555c37c8d208fcbedeb04d0ae6d25d53e (diff)
downloadreference_model-42e183cae08b301083416481e7bac92f04f0ce21.tar.gz
Compliance Test Set 3 data fix
Make sure the magnitude bias check is not positively biased Update unit tests Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: I00a9470b5e3233ad65360400ed312b0a354130f1
Diffstat (limited to 'reference_model/src/generate/generate_dot_product_states.cc')
-rw-r--r--reference_model/src/generate/generate_dot_product_states.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/reference_model/src/generate/generate_dot_product_states.cc b/reference_model/src/generate/generate_dot_product_states.cc
index 4b435ca..f372bde 100644
--- a/reference_model/src/generate/generate_dot_product_states.cc
+++ b/reference_model/src/generate/generate_dot_product_states.cc
@@ -195,7 +195,14 @@ public:
const float s0 = _set_data();
const float s1 = _set_data();
if (_p != P2)
- return k == 0 ? 16.f : std::exp(2 * s0) * s1;
+ if (k == 0)
+ {
+ return s0 < 0 ? -16.f : +16.f;
+ }
+ else
+ {
+ return std::exp(2 * s0) * s1;
+ }
else
return 0.f;
}