aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/reference/QuantizationLayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/validation/reference/QuantizationLayer.cpp')
-rw-r--r--tests/validation/reference/QuantizationLayer.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/validation/reference/QuantizationLayer.cpp b/tests/validation/reference/QuantizationLayer.cpp
index 8ba3744afc..cfc508529e 100644
--- a/tests/validation/reference/QuantizationLayer.cpp
+++ b/tests/validation/reference/QuantizationLayer.cpp
@@ -77,6 +77,41 @@ SimpleTensor<Tout> quantization_layer(const SimpleTensor<Tin> &src, DataType out
return dst;
}
+template <>
+SimpleTensor<uint8_t> quantization_layer(const SimpleTensor<uint8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info)
+{
+ SimpleTensor<float> src_tmp = convert_from_asymmetric<uint8_t>(src);
+ return quantization_layer<float, uint8_t>(src_tmp, output_data_type, quantization_info);
+}
+
+template <>
+SimpleTensor<int8_t> quantization_layer(const SimpleTensor<uint8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info)
+{
+ SimpleTensor<float> src_tmp = convert_from_asymmetric<uint8_t>(src);
+ return quantization_layer<float, int8_t>(src_tmp, output_data_type, quantization_info);
+}
+
+template <>
+SimpleTensor<uint8_t> quantization_layer(const SimpleTensor<int8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info)
+{
+ SimpleTensor<float> src_tmp = convert_from_asymmetric<int8_t>(src);
+ return quantization_layer<float, uint8_t>(src_tmp, output_data_type, quantization_info);
+}
+
+template <>
+SimpleTensor<int8_t> quantization_layer(const SimpleTensor<int8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info)
+{
+ SimpleTensor<float> src_tmp = convert_from_asymmetric<int8_t>(src);
+ return quantization_layer<float, int8_t>(src_tmp, output_data_type, quantization_info);
+}
+
+template <>
+SimpleTensor<uint16_t> quantization_layer(const SimpleTensor<uint8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info)
+{
+ SimpleTensor<float> src_tmp = convert_from_asymmetric<uint8_t>(src);
+ return quantization_layer<float, uint16_t>(src_tmp, output_data_type, quantization_info);
+}
+
template SimpleTensor<int8_t> quantization_layer(const SimpleTensor<half> &src, DataType output_data_type, const QuantizationInfo &quantization_info);
template SimpleTensor<int8_t> quantization_layer(const SimpleTensor<float> &src, DataType output_data_type, const QuantizationInfo &quantization_info);
template SimpleTensor<uint8_t> quantization_layer(const SimpleTensor<half> &src, DataType output_data_type, const QuantizationInfo &quantization_info);