From b5908c257d554009a00de3aaa95b3721000ed185 Mon Sep 17 00:00:00 2001 From: Isabella Gottardi Date: Mon, 30 Oct 2017 15:28:13 +0000 Subject: COMPMID-653 - Arithmetic Subtraction, add support different datatype Change-Id: I2b3d65c8d8a85ad67b9972713d06f047f5bcd1ae Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93693 Reviewed-by: Georgios Pinitas Tested-by: Kaizen --- tests/validation/CPP/ArithmeticSubtraction.cpp | 13 ++++++++----- tests/validation/CPP/ArithmeticSubtraction.h | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) (limited to 'tests/validation/CPP') diff --git a/tests/validation/CPP/ArithmeticSubtraction.cpp b/tests/validation/CPP/ArithmeticSubtraction.cpp index 80bdb15a49..bed2d37090 100644 --- a/tests/validation/CPP/ArithmeticSubtraction.cpp +++ b/tests/validation/CPP/ArithmeticSubtraction.cpp @@ -34,23 +34,26 @@ namespace validation { namespace reference { -template -SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy) +template +SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy) { - SimpleTensor result(src1.shape(), dst_data_type); + SimpleTensor result(src1.shape(), dst_data_type); - using intermediate_type = typename common_promoted_signed_type::intermediate_type; + using intermediate_type = typename common_promoted_signed_type= sizeof(T2), T1, T2>::type >::intermediate_type; for(int i = 0; i < src1.num_elements(); ++i) { intermediate_type val = static_cast(src1[i]) - static_cast(src2[i]); - result[i] = (convert_policy == ConvertPolicy::SATURATE) ? saturate_cast(val) : static_cast(val); + result[i] = (convert_policy == ConvertPolicy::SATURATE) ? saturate_cast(val) : static_cast(val); } return result; } template SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); +template SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); +template SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); +template SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); template SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); template SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); template SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); diff --git a/tests/validation/CPP/ArithmeticSubtraction.h b/tests/validation/CPP/ArithmeticSubtraction.h index 18b0d121a0..9308314bda 100644 --- a/tests/validation/CPP/ArithmeticSubtraction.h +++ b/tests/validation/CPP/ArithmeticSubtraction.h @@ -35,8 +35,8 @@ namespace validation { namespace reference { -template -SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); +template +SimpleTensor arithmetic_subtraction(const SimpleTensor &src1, const SimpleTensor &src2, DataType dst_data_type, ConvertPolicy convert_policy); } // namespace reference } // namespace validation } // namespace test -- cgit v1.2.1