aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/Validation.cpp
diff options
context:
space:
mode:
authorGiorgio Arena <giorgio.arena@arm.com>2017-06-27 17:26:37 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:35:24 +0000
commitfc2817dc0436ef2d5064df0a061aafd3d324d894 (patch)
tree26dd232132dbe61d79ad627236b42438c2e3cc7b /tests/validation/Validation.cpp
parentbbd9fb95daa08d6da67c567b40ca2cd032f7a2d3 (diff)
downloadComputeLibrary-fc2817dc0436ef2d5064df0a061aafd3d324d894.tar.gz
COMPMID-424 NEON/CL Harris Corners validation tests.
Change-Id: I82d2a73f515a8d45d16b9ddb702fea51ae05c82e Reviewed-on: http://mpd-gerrit.cambridge.arm.com/79687 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Moritz Pflanzer <moritz.pflanzer@arm.com>
Diffstat (limited to 'tests/validation/Validation.cpp')
-rw-r--r--tests/validation/Validation.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/validation/Validation.cpp b/tests/validation/Validation.cpp
index 868bbaac5e..61097cd407 100644
--- a/tests/validation/Validation.cpp
+++ b/tests/validation/Validation.cpp
@@ -26,6 +26,7 @@
#include "arm_compute/core/Coordinates.h"
#include "arm_compute/core/Error.h"
#include "arm_compute/core/FixedPoint.h"
+#include "arm_compute/core/IArray.h"
#include "arm_compute/core/TensorShape.h"
#include "arm_compute/runtime/Tensor.h"
#include "tests/IAccessor.h"
@@ -39,6 +40,7 @@
#include <cstddef>
#include <cstdint>
#include <iomanip>
+#include <vector>
namespace arm_compute
{
@@ -435,6 +437,27 @@ void validate(float target, float ref, float tolerance_abs_error, float toleranc
BOOST_TEST_INFO("target = " << std::setprecision(5) << target);
BOOST_TEST(equal);
}
+
+void validate(IArray<KeyPoint> &target, IArray<KeyPoint> &ref)
+{
+ BOOST_TEST(target.num_values() == ref.num_values());
+
+ for(size_t i = 0; i < target.num_values(); ++i)
+ {
+ KeyPoint *ref_val = std::find_if(ref.buffer(), ref.buffer() + ref.num_values(), [&target, i](KeyPoint key)
+ {
+ return key.x == target.at(i).x && key.y == target.at(i).y;
+ });
+
+ BOOST_TEST(ref_val != ref.buffer() + ref.num_values());
+ BOOST_TEST(target.at(i).tracking_status == ref_val->tracking_status);
+
+ validate(target.at(i).strength, ref_val->strength);
+ validate(target.at(i).scale, ref_val->scale);
+ validate(target.at(i).orientation, ref_val->orientation);
+ validate(target.at(i).error, ref_val->error);
+ }
+}
} // namespace validation
} // namespace test
} // namespace arm_compute