aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/validation/NEON/MeanStdDev.cpp8
-rw-r--r--tests/validation/Validation.cpp10
2 files changed, 14 insertions, 4 deletions
diff --git a/tests/validation/NEON/MeanStdDev.cpp b/tests/validation/NEON/MeanStdDev.cpp
index 4cb04455ec..4804354551 100644
--- a/tests/validation/NEON/MeanStdDev.cpp
+++ b/tests/validation/NEON/MeanStdDev.cpp
@@ -123,8 +123,8 @@ BOOST_DATA_TEST_CASE(RunSmall, Small2DShapes(), shape)
std::pair<float, float> ref_output = Reference::compute_reference_mean_and_standard_deviation(shape);
// Validate output
- BOOST_TEST(static_cast<int>(output.first) == static_cast<int>(ref_output.first));
- BOOST_TEST(static_cast<int>(output.second) == static_cast<int>(ref_output.second));
+ validate(output.first, ref_output.first);
+ validate(output.second, ref_output.second);
}
BOOST_TEST_DECORATOR(*boost::unit_test::label("nightly"))
@@ -137,8 +137,8 @@ BOOST_DATA_TEST_CASE(RunLarge, Large2DShapes(), shape)
std::pair<float, float> ref_output = Reference::compute_reference_mean_and_standard_deviation(shape);
// Validate output
- BOOST_TEST(static_cast<int>(output.first) == static_cast<int>(ref_output.first));
- BOOST_TEST(static_cast<int>(output.second) == static_cast<int>(ref_output.second));
+ validate(output.first, ref_output.first);
+ validate(output.second, ref_output.second);
}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/tests/validation/Validation.cpp b/tests/validation/Validation.cpp
index c1c43c05c4..89f91c0dd9 100644
--- a/tests/validation/Validation.cpp
+++ b/tests/validation/Validation.cpp
@@ -392,6 +392,16 @@ void validate(std::vector<unsigned int> classified_labels, std::vector<unsigned
BOOST_TEST(classified_labels[i] == expected_labels[i]);
}
}
+
+void validate(float target, float ref, float tolerance_abs_error = std::numeric_limits<float>::epsilon(), float tolerance_relative_error = 0.0001f)
+{
+ const bool equal = is_equal(target, ref, tolerance_abs_error, tolerance_relative_error);
+
+ BOOST_TEST_INFO("reference = " << std::setprecision(5) << ref);
+ BOOST_TEST_INFO("target = " << std::setprecision(5) << target);
+ BOOST_TEST(equal);
+}
+
} // namespace validation
} // namespace test
} // namespace arm_compute