aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/Helpers.cpp
diff options
context:
space:
mode:
authorSang-Hoon Park <sang-hoon.park@arm.com>2019-11-13 16:51:45 +0000
committerSang-Hoon Park <sang-hoon.park@arm.com>2019-11-27 15:24:19 +0000
commitae6ef7cb55af14dc25f85c6957edbba31d778d1f (patch)
treedf57c6f081ae57e7187062e05afa079a29db0c8d /tests/validation/Helpers.cpp
parentc476bb599757884751d2caf1ca9b01727cad3389 (diff)
downloadComputeLibrary-ae6ef7cb55af14dc25f85c6957edbba31d778d1f.tar.gz
COMPMID-2763 convert functions and helpers for QASYMM8_SIGNED
Helpers and functions are modified to add capabilities to convert from/to QASYMM8_SIGNED. Change-Id: Iadd94f9a8469da77421d6987ce67738cf16a1c52 Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com> Reviewed-on: https://review.mlplatform.org/c/2288 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'tests/validation/Helpers.cpp')
-rw-r--r--tests/validation/Helpers.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/validation/Helpers.cpp b/tests/validation/Helpers.cpp
index e362e05b81..fa2f51ec38 100644
--- a/tests/validation/Helpers.cpp
+++ b/tests/validation/Helpers.cpp
@@ -146,6 +146,31 @@ SimpleTensor<uint8_t> convert_to_asymmetric(const SimpleTensor<float> &src, cons
}
template <>
+SimpleTensor<int8_t> convert_to_asymmetric(const SimpleTensor<float> &src, const QuantizationInfo &quantization_info)
+{
+ SimpleTensor<int8_t> dst{ src.shape(), DataType::QASYMM8_SIGNED, 1, quantization_info };
+ const UniformQuantizationInfo &qinfo = quantization_info.uniform();
+
+ for(int i = 0; i < src.num_elements(); ++i)
+ {
+ dst[i] = quantize_qasymm8_signed(src[i], qinfo);
+ }
+ return dst;
+}
+
+SimpleTensor<float> convert_from_asymmetric(const SimpleTensor<int8_t> &src)
+{
+ const UniformQuantizationInfo &quantization_info = src.quantization_info().uniform();
+ SimpleTensor<float> dst{ src.shape(), DataType::F32, 1, QuantizationInfo(), src.data_layout() };
+
+ for(int i = 0; i < src.num_elements(); ++i)
+ {
+ dst[i] = dequantize_qasymm8_signed(src[i], quantization_info);
+ }
+ return dst;
+}
+
+template <>
SimpleTensor<uint16_t> convert_to_asymmetric(const SimpleTensor<float> &src, const QuantizationInfo &quantization_info)
{
SimpleTensor<uint16_t> dst{ src.shape(), DataType::QASYMM16, 1, quantization_info };