aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFredrik Svedberg <fredrik.svedberg@arm.com>2020-09-01 15:42:22 +0200
committerpatrik.gustavsson <patrik.gustavsson@arm.com>2020-09-03 06:57:29 +0000
commitd2e3355813a33ccefaf112750f86c4f04d6ea12c (patch)
tree1ed3daf8b784c3f5110b2d26eaf48d46ed192261
parent90033f33c9f8ba39d0575eea880e8f7dbf76a9fb (diff)
downloadethos-u-vela-d2e3355813a33ccefaf112750f86c4f04d6ea12c.tar.gz
[MLBEDSW-2905] Fix int16 multiplier saturation
Fix int16 multiplier saturation to match the reference. Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com> Change-Id: I4a9c859482f7deb3899f90c7e9eb40c255ee4c45
-rw-r--r--ethosu/vela/scaling.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/ethosu/vela/scaling.py b/ethosu/vela/scaling.py
index 74f21660..05e38b96 100644
--- a/ethosu/vela/scaling.py
+++ b/ethosu/vela/scaling.py
@@ -43,7 +43,7 @@ def quantise_scale(scale):
# Reduced precision quantization for int16
def reduced_quantise_scale(scale):
multiplier, shift = quantise_scale(scale)
- reduced_multiplier = int((multiplier + (1 << 15)) >> 16)
+ reduced_multiplier = int((multiplier + (1 << 15)) >> 16) if multiplier < 32767 << 16 else 32767
reduced_shift = shift - 16
if not (0 <= shift < (1 << 6)):