From 07263980e66059a91ce57612e4ca8f4b2a2a206a Mon Sep 17 00:00:00 2001 From: Manuel Bottini Date: Thu, 17 Oct 2019 18:37:26 +0100 Subject: COMPMID-2501: Support multiplier > 1 during QASYMM8 requantization for Quantized LSTM Change-Id: I7eddbdf77881f313b707b9e59428245f1330a2cf Signed-off-by: Manuel Bottini Reviewed-on: https://review.mlplatform.org/c/2119 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Pablo Marquez --- arm_compute/core/utils/quantization/AsymmHelpers.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'arm_compute/core/utils/quantization/AsymmHelpers.h') diff --git a/arm_compute/core/utils/quantization/AsymmHelpers.h b/arm_compute/core/utils/quantization/AsymmHelpers.h index a0efe120f2..bc5b9dbdba 100644 --- a/arm_compute/core/utils/quantization/AsymmHelpers.h +++ b/arm_compute/core/utils/quantization/AsymmHelpers.h @@ -31,6 +31,15 @@ namespace arm_compute { namespace quantization { +/** Calculate quantized representation of multiplier. + * + * @param[in] multiplier Real multiplier. + * @param[out] quant_multiplier Integer multiplier. + * @param[out] shift bit shift. A negative value indicates a left shift, while a positive value indicates a right shift + * + * @return a status + */ +Status calculate_quantized_multiplier(float multiplier, int *quant_multiplier, int *shift); /** Calculate quantized representation of multiplier with value less than one. * * @param[in] multiplier Real multiplier. @@ -39,7 +48,7 @@ namespace quantization * * @return a status */ -arm_compute::Status calculate_quantized_multiplier_less_than_one(float multiplier, int *quant_multiplier, int *right_shift); +Status calculate_quantized_multiplier_less_than_one(float multiplier, int *quant_multiplier, int *right_shift); /** Calculate quantized representation of multiplier having value greater than one. * * @param[in] multiplier Real multiplier. @@ -48,7 +57,7 @@ arm_compute::Status calculate_quantized_multiplier_less_than_one(float multiplie * * @return a status */ -arm_compute::Status calculate_quantized_multiplier_greater_than_one(float multiplier, int *quantized_multiplier, int *left_shift); +Status calculate_quantized_multiplier_greater_than_one(float multiplier, int *quantized_multiplier, int *left_shift); /** Get minimum and maximum values for the input quantized data type * * @ return min and max values for the quantized data type -- cgit v1.2.1