aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/CL
diff options
context:
space:
mode:
Diffstat (limited to 'tests/validation/CL')
-rw-r--r--tests/validation/CL/Box3x3.cpp9
-rw-r--r--tests/validation/CL/Gaussian3x3.cpp9
-rw-r--r--tests/validation/CL/Gaussian5x5.cpp9
-rw-r--r--tests/validation/CL/NonLinearFilter.cpp18
-rw-r--r--tests/validation/CL/Sobel3x3.cpp21
-rw-r--r--tests/validation/CL/Sobel5x5.cpp21
6 files changed, 33 insertions, 54 deletions
diff --git a/tests/validation/CL/Box3x3.cpp b/tests/validation/CL/Box3x3.cpp
index fa604533d7..9c3db9f2fe 100644
--- a/tests/validation/CL/Box3x3.cpp
+++ b/tests/validation/CL/Box3x3.cpp
@@ -51,6 +51,9 @@ using namespace arm_compute::test::validation;
namespace
{
+constexpr unsigned int filter_size = 3; /** Size of the kernel/filter in number of elements. */
+constexpr BorderSize border_size(filter_size / 2); /** Border size of the kernel/filter around its central element. */
+
/** Compute CL box3x3 filter.
*
* @param[in] shape Shape of the input and output tensors.
@@ -106,7 +109,7 @@ BOOST_DATA_TEST_CASE(Configuration, (SmallShapes() + LargeShapes()) * BorderMode
// Validate valid region
const ValidRegion src_valid_region = shape_to_valid_region(shape);
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(1));
+ const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
validate(src.info()->valid_region(), src_valid_region);
validate(dst.info()->valid_region(), dst_valid_region);
@@ -140,7 +143,7 @@ BOOST_DATA_TEST_CASE(RunSmall, SmallShapes() * BorderModes(), shape, border_mode
RawTensor ref_dst = Reference::compute_reference_box3x3(shape, border_mode, border_value);
// Validate output
- validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(1)));
+ validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size));
}
BOOST_TEST_DECORATOR(*boost::unit_test::label("nightly"))
@@ -157,7 +160,7 @@ BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * BorderModes(), shape, border_mode
RawTensor ref_dst = Reference::compute_reference_box3x3(shape, border_mode, border_value);
// Validate output
- validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(1)));
+ validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size));
}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/tests/validation/CL/Gaussian3x3.cpp b/tests/validation/CL/Gaussian3x3.cpp
index 5bf830b10d..2a526e8417 100644
--- a/tests/validation/CL/Gaussian3x3.cpp
+++ b/tests/validation/CL/Gaussian3x3.cpp
@@ -51,6 +51,9 @@ using namespace arm_compute::test::validation;
namespace
{
+constexpr unsigned int filter_size = 3; /** Size of the kernel/filter in number of elements. */
+constexpr BorderSize border_size(filter_size / 2); /** Border size of the kernel/filter around its central element. */
+
/** Compute CL gaussian3x3 filter.
*
* @param[in] shape Shape of the input and output tensors.
@@ -106,7 +109,7 @@ BOOST_DATA_TEST_CASE(Configuration, (SmallShapes() + LargeShapes()) * BorderMode
// Validate valid region
const ValidRegion src_valid_region = shape_to_valid_region(shape);
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(1));
+ const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
validate(src.info()->valid_region(), src_valid_region);
validate(dst.info()->valid_region(), dst_valid_region);
@@ -140,7 +143,7 @@ BOOST_DATA_TEST_CASE(RunSmall, SmallShapes() * BorderModes(), shape, border_mode
RawTensor ref_dst = Reference::compute_reference_gaussian3x3(shape, border_mode, border_value);
// Validate output
- validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(1)));
+ validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size));
}
BOOST_TEST_DECORATOR(*boost::unit_test::label("nightly"))
@@ -157,7 +160,7 @@ BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * BorderModes(), shape, border_mode
RawTensor ref_dst = Reference::compute_reference_gaussian3x3(shape, border_mode, border_value);
// Validate output
- validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(1)));
+ validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size));
}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/tests/validation/CL/Gaussian5x5.cpp b/tests/validation/CL/Gaussian5x5.cpp
index a13474bc58..b6a692ce04 100644
--- a/tests/validation/CL/Gaussian5x5.cpp
+++ b/tests/validation/CL/Gaussian5x5.cpp
@@ -51,6 +51,9 @@ using namespace arm_compute::test::validation;
namespace
{
+constexpr unsigned int filter_size = 5; /** Size of the kernel/filter in number of elements. */
+constexpr BorderSize border_size(filter_size / 2); /** Border size of the kernel/filter around its central element. */
+
/** Compute CL gaussian5x5 filter.
*
* @param[in] shape Shape of the input and output tensors.
@@ -106,7 +109,7 @@ BOOST_DATA_TEST_CASE(Configuration, (SmallShapes() + LargeShapes()) * BorderMode
// Validate valid region
const ValidRegion src_valid_region = shape_to_valid_region(shape);
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(2));
+ const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
validate(src.info()->valid_region(), src_valid_region);
validate(dst.info()->valid_region(), dst_valid_region);
@@ -140,7 +143,7 @@ BOOST_DATA_TEST_CASE(RunSmall, SmallShapes() * BorderModes(), shape, border_mode
RawTensor ref_dst = Reference::compute_reference_gaussian5x5(shape, border_mode, border_value);
// Validate output
- validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(2)));
+ validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size));
}
BOOST_TEST_DECORATOR(*boost::unit_test::label("nightly"))
@@ -157,7 +160,7 @@ BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * BorderModes(), shape, border_mode
RawTensor ref_dst = Reference::compute_reference_gaussian5x5(shape, border_mode, border_value);
// Validate output
- validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(2)));
+ validate(CLAccessor(dst), ref_dst, shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size));
}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/tests/validation/CL/NonLinearFilter.cpp b/tests/validation/CL/NonLinearFilter.cpp
index 5288f951bf..4a487d6ed4 100644
--- a/tests/validation/CL/NonLinearFilter.cpp
+++ b/tests/validation/CL/NonLinearFilter.cpp
@@ -125,11 +125,7 @@ BOOST_DATA_TEST_CASE(Configuration, (SmallShapes() + LargeShapes())
// Validate valid region
const ValidRegion src_valid_region = shape_to_valid_region(shape);
- ValidRegion dst_valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- dst_valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(half_mask_size));
- }
+ const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(half_mask_size));
validate(src.info()->valid_region(), src_valid_region);
validate(dst.info()->valid_region(), dst_valid_region);
@@ -171,11 +167,7 @@ BOOST_DATA_TEST_CASE(RunSmall, SmallShapes()
RawTensor ref_dst = Reference::compute_reference_non_linear_filter(shape, function, mask_size, pattern, mask, border_mode, constant_border_value);
// Calculate valid region
- ValidRegion valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(static_cast<int>(mask_size / 2)));
- }
+ const ValidRegion valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(static_cast<int>(mask_size / 2)));
// Validate output
validate(CLAccessor(dst), ref_dst, valid_region);
@@ -202,11 +194,7 @@ BOOST_DATA_TEST_CASE(RunLarge, LargeShapes()
RawTensor ref_dst = Reference::compute_reference_non_linear_filter(shape, function, mask_size, pattern, mask, border_mode, constant_border_value);
// Calculate valid region
- ValidRegion valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(static_cast<int>(mask_size / 2)));
- }
+ const ValidRegion valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(static_cast<int>(mask_size / 2)));
// Validate output
validate(CLAccessor(dst), ref_dst, valid_region);
diff --git a/tests/validation/CL/Sobel3x3.cpp b/tests/validation/CL/Sobel3x3.cpp
index 382e296180..fbd7185a48 100644
--- a/tests/validation/CL/Sobel3x3.cpp
+++ b/tests/validation/CL/Sobel3x3.cpp
@@ -53,6 +53,9 @@ using namespace arm_compute::test::validation;
namespace
{
+constexpr unsigned int filter_size = 3; /** Size of the kernel/filter in number of elements. */
+constexpr BorderSize border_size(filter_size / 2); /** Border size of the kernel/filter around its central element. */
+
/** Compute CL Sobel 3x3 function.
*
* @param[in] shape Shape of the input and output tensors.
@@ -121,11 +124,7 @@ BOOST_DATA_TEST_CASE(Configuration, (SmallShapes() + LargeShapes()) * BorderMode
// Validate valid region
const ValidRegion src_valid_region = shape_to_valid_region(shape);
- ValidRegion dst_valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- dst_valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(1));
- }
+ const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
validate(src.info()->valid_region(), src_valid_region);
validate(dst_x.info()->valid_region(), dst_valid_region);
@@ -169,11 +168,7 @@ BOOST_DATA_TEST_CASE(RunSmall, SmallShapes() * BorderModes(), shape, border_mode
std::pair<RawTensor, RawTensor> ref_dst = Reference::compute_reference_sobel_3x3(shape, border_mode, constant_border_value);
// Calculate valid region
- ValidRegion valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(1));
- }
+ const ValidRegion valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
// Validate output
validate(CLAccessor(dst.first), ref_dst.first, valid_region);
@@ -200,11 +195,7 @@ BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * BorderModes(), shape, border_mode
std::pair<RawTensor, RawTensor> ref_dst = Reference::compute_reference_sobel_3x3(shape, border_mode, constant_border_value);
// Calculate valid region
- ValidRegion valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(1));
- }
+ const ValidRegion valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
// Validate output
validate(CLAccessor(dst.first), ref_dst.first, valid_region);
diff --git a/tests/validation/CL/Sobel5x5.cpp b/tests/validation/CL/Sobel5x5.cpp
index b653808701..263e57e43f 100644
--- a/tests/validation/CL/Sobel5x5.cpp
+++ b/tests/validation/CL/Sobel5x5.cpp
@@ -53,6 +53,9 @@ using namespace arm_compute::test::validation;
namespace
{
+constexpr unsigned int filter_size = 5; /** Size of the kernel/filter in number of elements. */
+constexpr BorderSize border_size(filter_size / 2); /** Border size of the kernel/filter around its central element. */
+
/** Compute CL Sobel 5x5 function.
*
* @param[in] shape Shape of the input and output tensors.
@@ -121,11 +124,7 @@ BOOST_DATA_TEST_CASE(Configuration, (SmallShapes() + LargeShapes()) * BorderMode
// Validate valid region
const ValidRegion src_valid_region = shape_to_valid_region(shape);
- ValidRegion dst_valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- dst_valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(2));
- }
+ const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
validate(src.info()->valid_region(), src_valid_region);
validate(dst_x.info()->valid_region(), dst_valid_region);
@@ -168,11 +167,7 @@ BOOST_DATA_TEST_CASE(RunSmall, SmallShapes() * BorderModes(), shape, border_mode
std::pair<RawTensor, RawTensor> ref_dst = Reference::compute_reference_sobel_5x5(shape, border_mode, constant_border_value);
// Calculate valid region
- ValidRegion valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(2));
- }
+ const ValidRegion valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
// Validate output
validate(CLAccessor(dst.first), ref_dst.first, valid_region);
@@ -199,11 +194,7 @@ BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * BorderModes(), shape, border_mode
std::pair<RawTensor, RawTensor> ref_dst = Reference::compute_reference_sobel_5x5(shape, border_mode, constant_border_value);
// Calculate valid region
- ValidRegion valid_region = shape_to_valid_region(shape);
- if(border_mode == BorderMode::UNDEFINED)
- {
- valid_region = shape_to_valid_region_undefined_border(shape, BorderSize(2));
- }
+ const ValidRegion valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
// Validate output
validate(CLAccessor(dst.first), ref_dst.first, valid_region);