aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsteniu01 <steven.niu@arm.com>2017-06-23 11:44:34 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-09-17 14:14:20 +0100
commit960b0849e037641b74e57105a55d107da7dbe9b0 (patch)
tree0a424c4e2c62e06d61f6bd8e62313344bd908989
parent79c6178985084cc1d48502a7a8bb298faae5f586 (diff)
downloadComputeLibrary-960b0849e037641b74e57105a55d107da7dbe9b0.tar.gz
COMPMID-250 make BorderSize explicit and fix float value validation bug
Change-Id: I747fdef3b5ad83a9c00dc42796debe86b6cd972e Reviewed-on: http://mpd-gerrit.cambridge.arm.com/78686 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Moritz Pflanzer <moritz.pflanzer@arm.com>
-rw-r--r--src/core/CL/kernels/CLBox3x3Kernel.cpp2
-rw-r--r--src/runtime/CL/functions/CLBox3x3.cpp2
-rw-r--r--src/runtime/CL/functions/CLDerivative.cpp2
-rw-r--r--src/runtime/CL/functions/CLDilate.cpp2
-rw-r--r--src/runtime/CL/functions/CLErode.cpp2
-rw-r--r--src/runtime/CL/functions/CLFillBorder.cpp2
-rw-r--r--src/runtime/CL/functions/CLHarrisCorners.cpp4
-rw-r--r--src/runtime/NEON/functions/NEDerivative.cpp2
-rw-r--r--src/runtime/NEON/functions/NEFillBorder.cpp2
-rw-r--r--src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp4
-rw-r--r--tests/validation/Validation.cpp2
-rw-r--r--tests/validation/Validation.h7
12 files changed, 20 insertions, 13 deletions
diff --git a/src/core/CL/kernels/CLBox3x3Kernel.cpp b/src/core/CL/kernels/CLBox3x3Kernel.cpp
index e113d30210..0299f6233c 100644
--- a/src/core/CL/kernels/CLBox3x3Kernel.cpp
+++ b/src/core/CL/kernels/CLBox3x3Kernel.cpp
@@ -37,7 +37,7 @@ using namespace arm_compute;
BorderSize CLBox3x3Kernel::border_size() const
{
- return 1;
+ return BorderSize(1);
}
void CLBox3x3Kernel::configure(const ICLTensor *input, ICLTensor *output, bool border_undefined)
diff --git a/src/runtime/CL/functions/CLBox3x3.cpp b/src/runtime/CL/functions/CLBox3x3.cpp
index 8de6807c73..20d5dae94e 100644
--- a/src/runtime/CL/functions/CLBox3x3.cpp
+++ b/src/runtime/CL/functions/CLBox3x3.cpp
@@ -36,5 +36,5 @@ void CLBox3x3::configure(ICLTensor *input, ICLTensor *output, BorderMode border_
auto k = arm_compute::cpp14::make_unique<CLBox3x3Kernel>();
k->configure(input, output, border_mode == BorderMode::UNDEFINED);
_kernel = std::move(k);
- _border_handler.configure(input, 1, border_mode, PixelValue(constant_border_value));
+ _border_handler.configure(input, BorderSize(1), border_mode, PixelValue(constant_border_value));
}
diff --git a/src/runtime/CL/functions/CLDerivative.cpp b/src/runtime/CL/functions/CLDerivative.cpp
index c51cb4c333..9357de52f1 100644
--- a/src/runtime/CL/functions/CLDerivative.cpp
+++ b/src/runtime/CL/functions/CLDerivative.cpp
@@ -36,5 +36,5 @@ void CLDerivative::configure(ICLTensor *input, ICLTensor *output_x, ICLTensor *o
auto k = arm_compute::cpp14::make_unique<CLDerivativeKernel>();
k->configure(input, output_x, output_y, border_mode == BorderMode::UNDEFINED);
_kernel = std::move(k);
- _border_handler.configure(input, 1, border_mode, PixelValue(constant_border_value));
+ _border_handler.configure(input, BorderSize(1), border_mode, PixelValue(constant_border_value));
}
diff --git a/src/runtime/CL/functions/CLDilate.cpp b/src/runtime/CL/functions/CLDilate.cpp
index 345f47763c..0a4abe30c2 100644
--- a/src/runtime/CL/functions/CLDilate.cpp
+++ b/src/runtime/CL/functions/CLDilate.cpp
@@ -36,5 +36,5 @@ void CLDilate::configure(ICLTensor *input, ICLTensor *output, BorderMode border_
auto k = arm_compute::cpp14::make_unique<CLDilateKernel>();
k->configure(input, output, border_mode == BorderMode::UNDEFINED);
_kernel = std::move(k);
- _border_handler.configure(input, 1, border_mode, PixelValue(constant_border_value));
+ _border_handler.configure(input, BorderSize(1), border_mode, PixelValue(constant_border_value));
}
diff --git a/src/runtime/CL/functions/CLErode.cpp b/src/runtime/CL/functions/CLErode.cpp
index b4c50e465a..c41371cf9e 100644
--- a/src/runtime/CL/functions/CLErode.cpp
+++ b/src/runtime/CL/functions/CLErode.cpp
@@ -36,5 +36,5 @@ void CLErode::configure(ICLTensor *input, ICLTensor *output, BorderMode border_m
auto k = arm_compute::cpp14::make_unique<CLErodeKernel>();
k->configure(input, output, border_mode == BorderMode::UNDEFINED);
_kernel = std::move(k);
- _border_handler.configure(input, 1, border_mode, PixelValue(constant_border_value));
+ _border_handler.configure(input, BorderSize(1), border_mode, PixelValue(constant_border_value));
}
diff --git a/src/runtime/CL/functions/CLFillBorder.cpp b/src/runtime/CL/functions/CLFillBorder.cpp
index 9e59b771d8..172f09da1a 100644
--- a/src/runtime/CL/functions/CLFillBorder.cpp
+++ b/src/runtime/CL/functions/CLFillBorder.cpp
@@ -33,6 +33,6 @@ using namespace arm_compute;
void CLFillBorder::configure(ICLTensor *tensor, unsigned int border_width, BorderMode border_mode, const PixelValue &constant_border_value)
{
auto k = arm_compute::cpp14::make_unique<CLFillBorderKernel>();
- k->configure(tensor, border_width, border_mode, constant_border_value);
+ k->configure(tensor, BorderSize(border_width), border_mode, constant_border_value);
_kernel = std::move(k);
}
diff --git a/src/runtime/CL/functions/CLHarrisCorners.cpp b/src/runtime/CL/functions/CLHarrisCorners.cpp
index 2db277fa4d..e1c44416ae 100644
--- a/src/runtime/CL/functions/CLHarrisCorners.cpp
+++ b/src/runtime/CL/functions/CLHarrisCorners.cpp
@@ -100,8 +100,8 @@ void CLHarrisCorners::configure(ICLImage *input, float threshold, float min_dist
}
// Configure border filling before harris score
- _border_gx.configure(&_gx, block_size / 2, border_mode, constant_border_value);
- _border_gy.configure(&_gy, block_size / 2, border_mode, constant_border_value);
+ _border_gx.configure(&_gx, BorderSize(block_size / 2), border_mode, constant_border_value);
+ _border_gy.configure(&_gy, BorderSize(block_size / 2), border_mode, constant_border_value);
// Normalization factor
const float norm_factor = 1.0f / (255.0f * pow(4.0f, gradient_size / 2) * block_size);
diff --git a/src/runtime/NEON/functions/NEDerivative.cpp b/src/runtime/NEON/functions/NEDerivative.cpp
index 2887c13233..c50db14746 100644
--- a/src/runtime/NEON/functions/NEDerivative.cpp
+++ b/src/runtime/NEON/functions/NEDerivative.cpp
@@ -42,7 +42,7 @@ void NEDerivative::configure(ITensor *input, ITensor *output_x, ITensor *output_
ARM_COMPUTE_ERROR_ON((output_x == nullptr) && (output_y == nullptr));
_kernel.configure(input, output_x, output_y, border_mode == BorderMode::UNDEFINED);
- _border_handler.configure(input, 1, border_mode, PixelValue(constant_border_value));
+ _border_handler.configure(input, BorderSize(1), border_mode, PixelValue(constant_border_value));
}
void NEDerivative::run()
diff --git a/src/runtime/NEON/functions/NEFillBorder.cpp b/src/runtime/NEON/functions/NEFillBorder.cpp
index e884f4a668..44e49520dc 100644
--- a/src/runtime/NEON/functions/NEFillBorder.cpp
+++ b/src/runtime/NEON/functions/NEFillBorder.cpp
@@ -30,7 +30,7 @@ using namespace arm_compute;
void NEFillBorder::configure(ITensor *input, unsigned int border_width, BorderMode border_mode, const PixelValue &constant_border_value)
{
- _border_handler.configure(input, border_width, border_mode, constant_border_value);
+ _border_handler.configure(input, BorderSize(border_width), border_mode, constant_border_value);
}
void NEFillBorder::run()
diff --git a/src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp b/src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp
index a7b3759a45..e92d567d52 100644
--- a/src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp
+++ b/src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp
@@ -38,10 +38,10 @@ void NENonMaximaSuppression3x3::configure(ITensor *input, ITensor *output, Borde
if(border_mode != BorderMode::UNDEFINED)
{
- _border_handler.configure(input, 1, BorderMode::CONSTANT, 0);
+ _border_handler.configure(input, BorderSize(1), BorderMode::CONSTANT, 0);
}
else
{
- _border_handler.configure(input, 1, BorderMode::UNDEFINED, 0);
+ _border_handler.configure(input, BorderSize(1), BorderMode::UNDEFINED, 0);
}
}
diff --git a/tests/validation/Validation.cpp b/tests/validation/Validation.cpp
index 89f91c0dd9..17dc6952ca 100644
--- a/tests/validation/Validation.cpp
+++ b/tests/validation/Validation.cpp
@@ -393,7 +393,7 @@ void validate(std::vector<unsigned int> classified_labels, std::vector<unsigned
}
}
-void validate(float target, float ref, float tolerance_abs_error = std::numeric_limits<float>::epsilon(), float tolerance_relative_error = 0.0001f)
+void validate(float target, float ref, float tolerance_abs_error, float tolerance_relative_error)
{
const bool equal = is_equal(target, ref, tolerance_abs_error, tolerance_relative_error);
diff --git a/tests/validation/Validation.h b/tests/validation/Validation.h
index 865d05b1f6..2eb79dda8f 100644
--- a/tests/validation/Validation.h
+++ b/tests/validation/Validation.h
@@ -121,6 +121,13 @@ void validate(const IAccessor &tensor, BorderSize border_size, const BorderMode
* - All values should match
*/
void validate(std::vector<unsigned int> classified_labels, std::vector<unsigned int> expected_labels);
+
+/** Validate float value.
+ *
+ * - All values should match
+ */
+void validate(float target, float ref, float tolerance_abs_error = std::numeric_limits<float>::epsilon(), float tolerance_relative_error = 0.0001f);
+
} // namespace validation
} // namespace test
} // namespace arm_compute