diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2017-06-27 17:26:37 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:35:24 +0000 |
commit | fc2817dc0436ef2d5064df0a061aafd3d324d894 (patch) | |
tree | 26dd232132dbe61d79ad627236b42438c2e3cc7b /tests/validation/Validation.cpp | |
parent | bbd9fb95daa08d6da67c567b40ca2cd032f7a2d3 (diff) | |
download | ComputeLibrary-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.cpp | 23 |
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 |