From 3689fcd5915cd902cb4ea5f618f2a6e42f6dc4a1 Mon Sep 17 00:00:00 2001 From: Manuel Bottini Date: Fri, 14 Jun 2019 17:18:12 +0100 Subject: COMPMID-2408: Add QSYMM16 support for ElementwiseAddition for NEON Change-Id: I22991e9369ffba9b51a94522ff4977933e887b94 Signed-off-by: Manuel Bottini Reviewed-on: https://review.mlplatform.org/c/1352 Comments-Addressed: Arm Jenkins Reviewed-by: Michele Di Giorgio Tested-by: Arm Jenkins Reviewed-by: Giuseppe Rossini --- tests/validation/Helpers.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests/validation/Helpers.cpp') diff --git a/tests/validation/Helpers.cpp b/tests/validation/Helpers.cpp index 31d6bfae07..360859e487 100644 --- a/tests/validation/Helpers.cpp +++ b/tests/validation/Helpers.cpp @@ -132,6 +132,32 @@ SimpleTensor convert_to_asymmetric(const SimpleTensor &src, cons return dst; } +template <> +SimpleTensor convert_to_symmetric(const SimpleTensor &src, const QuantizationInfo &quantization_info) +{ + SimpleTensor dst{ src.shape(), DataType::QSYMM16, 1, quantization_info }; + const UniformQuantizationInfo &qinfo = quantization_info.uniform(); + + for(int i = 0; i < src.num_elements(); ++i) + { + dst[i] = quantize_qsymm16(src[i], qinfo); + } + return dst; +} + +template <> +SimpleTensor convert_from_symmetric(const SimpleTensor &src) +{ + const UniformQuantizationInfo &quantization_info = src.quantization_info().uniform(); + SimpleTensor dst{ src.shape(), DataType::F32, 1, QuantizationInfo(), src.data_layout() }; + + for(int i = 0; i < src.num_elements(); ++i) + { + dst[i] = dequantize_qsymm16(src[i], quantization_info); + } + return dst; +} + template void matrix_multiply(const SimpleTensor &a, const SimpleTensor &b, SimpleTensor &out) { -- cgit v1.2.1