aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/Reference.cpp
diff options
context:
space:
mode:
authorGiorgio Arena <giorgio.arena@arm.com>2017-06-19 17:05:30 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-09-17 14:14:20 +0100
commit50f9fd73536fd359137702ac9c42c9a1c61ff415 (patch)
tree3b41b943be044d3f01fe624a419649f87c2e1738 /tests/validation/Reference.cpp
parentbee466b5eac4ec39d4032d946c9a4aee051f2b31 (diff)
downloadComputeLibrary-50f9fd73536fd359137702ac9c42c9a1c61ff415.tar.gz
COMPMID-378 NEON/CL Sobel 3x3 and 5x5 tests.
Change-Id: Ic90edd77c7f694f95663d8163623db3837a48616 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/78284 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Moritz Pflanzer <moritz.pflanzer@arm.com>
Diffstat (limited to 'tests/validation/Reference.cpp')
-rw-r--r--tests/validation/Reference.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/validation/Reference.cpp b/tests/validation/Reference.cpp
index 5f49caead0..be3f28b052 100644
--- a/tests/validation/Reference.cpp
+++ b/tests/validation/Reference.cpp
@@ -39,6 +39,36 @@ namespace test
{
namespace validation
{
+std::pair<RawTensor, RawTensor> Reference::compute_reference_sobel_3x3(const TensorShape &shape, BorderMode border_mode, uint8_t constant_border_value)
+{
+ // Create reference
+ RawTensor ref_src = library->get(shape, Format::U8);
+ RawTensor ref_dst_x = library->get(shape, Format::S16);
+ RawTensor ref_dst_y = library->get(shape, Format::S16);
+
+ // Fill reference
+ library->fill_tensor_uniform(ref_src, 0);
+
+ // Compute reference
+ ReferenceCPP::sobel_3x3(ref_src, ref_dst_x, ref_dst_y, border_mode, constant_border_value);
+
+ return std::make_pair(ref_dst_x, ref_dst_y);
+}
+std::pair<RawTensor, RawTensor> Reference::compute_reference_sobel_5x5(const TensorShape &shape, BorderMode border_mode, uint8_t constant_border_value)
+{
+ // Create reference
+ RawTensor ref_src = library->get(shape, Format::U8);
+ RawTensor ref_dst_x = library->get(shape, Format::S16);
+ RawTensor ref_dst_y = library->get(shape, Format::S16);
+
+ // Fill reference
+ library->fill_tensor_uniform(ref_src, 0);
+
+ // Compute reference
+ ReferenceCPP::sobel_5x5(ref_src, ref_dst_x, ref_dst_y, border_mode, constant_border_value);
+
+ return std::make_pair(ref_dst_x, ref_dst_y);
+}
std::pair<float, float> Reference::compute_reference_mean_and_standard_deviation(const TensorShape &shape)
{
// Create reference