aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominic Symes <dominic.symes@arm.com>2022-11-11 10:20:42 +0000
committerDominic Symes <dominic.symes@arm.com>2022-11-11 10:20:59 +0000
commit8cba323dd64b1a849b3f3d616791fec523290d0b (patch)
tree6111adcbc8713fa9c1f8cafb8d6b072b275d712f
parent0205d99cbff58797bf6602ee5718d50c00d8309b (diff)
downloadspecification-8cba323dd64b1a849b3f3d616791fec523290d0b.tar.gz
RESCALE: Clarify zero-point addition
Zero-point addition after rescale is not permitted to overflow an int32_t. Change-Id: I7bc99a9296dce9d48abe271e68f9069425c9c270 Signed-off-by: Dominic Symes <dominic.symes@arm.com>
-rw-r--r--chapters/type_conversion.adoc5
1 files changed, 3 insertions, 2 deletions
diff --git a/chapters/type_conversion.adoc b/chapters/type_conversion.adoc
index c3d986e..3ff190b 100644
--- a/chapters/type_conversion.adoc
+++ b/chapters/type_conversion.adoc
@@ -69,7 +69,8 @@ for_each(index in shape) {
int32_t result = (scale32) ?
apply_scale_32(value, multiplier[c], shift[c], double_round) :
apply_scale_16(value, multiplier[c], shift[c]);
- result = (out_t)apply_clip<int32_t>(result + output_zp, minimum<out_t>, maximum<out_t>);
- tensor_write<out_t>(output, shape, index, result);
+ result = apply_add<int32_t>(result, output_zp);
+ out_t out = (out_t)apply_clip<int32_t>(result, minimum<out_t>, maximum<out_t>);
+ tensor_write<out_t>(output, shape, index, out);
}
----