aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/ReferenceCPP.cpp
diff options
context:
space:
mode:
authorSiCong Li <sicong.li@arm.com>2017-06-19 14:47:05 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-09-17 14:14:20 +0100
commit5a536641d9cb7c95b4422983b0f76627cabf6bda (patch)
tree5074e114c7f95bd25aff4480e65946e0c36a31ed /tests/validation/ReferenceCPP.cpp
parentd9afd9c2ec2fe28420e4c49e55ecf615c7735a44 (diff)
downloadComputeLibrary-5a536641d9cb7c95b4422983b0f76627cabf6bda.tar.gz
COMPMID-424 Add tests for Gaussian3x3
* Add reference implementation and NEON CL validation tests for gaussian3x3 * Add tests for different border modes * Incoporate PaddingCalculator Change-Id: Ia3cd5cb2cd0b4d870a217e6aedecc01369dc2541 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/78125 Reviewed-by: Moritz Pflanzer <moritz.pflanzer@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Diffstat (limited to 'tests/validation/ReferenceCPP.cpp')
-rw-r--r--tests/validation/ReferenceCPP.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/validation/ReferenceCPP.cpp b/tests/validation/ReferenceCPP.cpp
index 15e6bac28e..06606c7075 100644
--- a/tests/validation/ReferenceCPP.cpp
+++ b/tests/validation/ReferenceCPP.cpp
@@ -195,6 +195,15 @@ void ReferenceCPP::depth_convert(const RawTensor &src, RawTensor &dst, ConvertPo
boost::apply_visitor(tensor_visitors::depth_convert_visitor(policy, shift), s, d);
}
+// Gaussian3x3 filter
+void ReferenceCPP::gaussian3x3(const RawTensor &src, RawTensor &dst, BorderMode border_mode, uint8_t constant_border_value)
+{
+ ARM_COMPUTE_ERROR_ON(src.data_type() != DataType::U8 || dst.data_type() != DataType::U8);
+ const Tensor<uint8_t> s(src.shape(), src.data_type(), src.fixed_point_position(), reinterpret_cast<const uint8_t *>(src.data()));
+ Tensor<uint8_t> d(dst.shape(), dst.data_type(), dst.fixed_point_position(), reinterpret_cast<uint8_t *>(dst.data()));
+ tensor_operations::gaussian3x3(s, d, border_mode, constant_border_value);
+}
+
// GEMM
void ReferenceCPP::gemm(const RawTensor &src1, const RawTensor &src2, const RawTensor &src3,
RawTensor &dst, float alpha, float beta)