IVGCVSW-3857 Add Reference FP16 workload support to remaining layers
* Adds Reference FP16 support and unit tests for layers not already supported
!referencetests:202156
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I6fc9b9ce2809e163f72e27e877025c8fb85d9fbe
diff --git a/src/backends/backendsCommon/test/QuantizeHelper.hpp b/src/backends/backendsCommon/test/QuantizeHelper.hpp
index a0c6553..b7ca3b3 100644
--- a/src/backends/backendsCommon/test/QuantizeHelper.hpp
+++ b/src/backends/backendsCommon/test/QuantizeHelper.hpp
@@ -8,6 +8,8 @@
#include <armnn/ArmNN.hpp>
#include <armnn/TypesUtils.hpp>
+#include <Half.hpp>
+
#include <initializer_list>
#include <iterator>
#include <vector>
@@ -45,6 +47,22 @@
}
};
+template<>
+struct SelectiveQuantizer<armnn::Half, false>
+{
+ static armnn::Half Quantize(float value, float scale, int32_t offset)
+ {
+ boost::ignore_unused(scale, offset);
+ return armnn::Half(value);
+ }
+
+ static float Dequantize(armnn::Half value, float scale, int32_t offset)
+ {
+ boost::ignore_unused(scale, offset);
+ return value;
+ }
+};
+
template<typename T>
T SelectiveQuantize(float value, float scale, int32_t offset)
{