aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/ReferenceCPP.cpp
diff options
context:
space:
mode:
authorSiCong Li <sicong.li@arm.com>2017-06-19 15:31:43 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-09-17 14:14:20 +0100
commit3eb263e95898c933cde5450a919a161ac6b2359b (patch)
treec5a2c9be95ffe2ee69079c0b1f69c1ce89d9e095 /tests/validation/ReferenceCPP.cpp
parent0326eae38bfe3788338664f2d99924e24a19895f (diff)
downloadComputeLibrary-3eb263e95898c933cde5450a919a161ac6b2359b.tar.gz
COMPMID-424 Add validation tests for Gaussian5x5
* Fix apply_2d_spatial_filter to use double as intermediate type * Fix tensor_elem_at to use random value if on border and border_mode is UNDEFINED Change-Id: I7feea23c4664cc63c5bab936566dc92b98c723b9 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/78905 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Moritz Pflanzer <moritz.pflanzer@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 06606c7075..6264695253 100644
--- a/tests/validation/ReferenceCPP.cpp
+++ b/tests/validation/ReferenceCPP.cpp
@@ -204,6 +204,15 @@ void ReferenceCPP::gaussian3x3(const RawTensor &src, RawTensor &dst, BorderMode
tensor_operations::gaussian3x3(s, d, border_mode, constant_border_value);
}
+// Gaussian5x5 filter
+void ReferenceCPP::gaussian5x5(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::gaussian5x5(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)