IVGCVSW-863 Move clamp, for_each, foldl to misc/utility.h
Also, improve for_each, foldl, and related changes.
Change-Id: I0cf0c7dbf88f26bb70cc734ba9fb5725d405585f
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/114014
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
diff --git a/src/core/NEON/kernels/NEWarpKernel.cpp b/src/core/NEON/kernels/NEWarpKernel.cpp
index ab8ab14..0fa8278 100644
--- a/src/core/NEON/kernels/NEWarpKernel.cpp
+++ b/src/core/NEON/kernels/NEWarpKernel.cpp
@@ -287,10 +287,10 @@
break;
case InterpolationPolicy::BILINEAR:
{
- const auto xi = clamp<int>(std::floor(x0), min_x - 1, max_x);
- const auto yi = clamp<int>(std::floor(y0), min_y - 1, max_y);
- const auto xi_1 = clamp<int>(std::floor(x0 + 1), min_x - 1, max_x);
- const auto yi_1 = clamp<int>(std::floor(y0 + 1), min_y - 1, max_y);
+ const auto xi = utility::clamp<int>(std::floor(x0), min_x - 1, max_x);
+ const auto yi = utility::clamp<int>(std::floor(y0), min_y - 1, max_y);
+ const auto xi_1 = utility::clamp<int>(std::floor(x0 + 1), min_x - 1, max_x);
+ const auto yi_1 = utility::clamp<int>(std::floor(y0 + 1), min_y - 1, max_y);
const float dx = x0 - std::floor(x0);
const float dy = y0 - std::floor(y0);
@@ -396,8 +396,8 @@
else
{
// Clamp coordinates
- const auto xi = clamp<int>(std::floor(x0), min_x, max_x - 1);
- const auto yi = clamp<int>(std::floor(y0), min_y, max_y - 1);
+ const auto xi = utility::clamp<int>(std::floor(x0), min_x, max_x - 1);
+ const auto yi = utility::clamp<int>(std::floor(y0), min_y, max_y - 1);
switch(interpolation)
{
case InterpolationPolicy::NEAREST_NEIGHBOR:
@@ -405,8 +405,8 @@
break;
case InterpolationPolicy::BILINEAR:
{
- const auto xi_1 = clamp<int>(std::floor(x0 + 1), min_x, max_x - 1);
- const auto yi_1 = clamp<int>(std::floor(y0 + 1), min_y, max_y - 1);
+ const auto xi_1 = utility::clamp<int>(std::floor(x0 + 1), min_x, max_x - 1);
+ const auto yi_1 = utility::clamp<int>(std::floor(y0 + 1), min_y, max_y - 1);
const float dx = x0 - std::floor(x0);
const float dy = y0 - std::floor(y0);
@@ -636,10 +636,10 @@
break;
case InterpolationPolicy::BILINEAR:
{
- const auto xi = clamp<int>(std::floor(xn), min_x - 1, max_x);
- const auto yi = clamp<int>(std::floor(yn), min_y - 1, max_y);
- const auto xi_1 = clamp<int>(std::floor(xn + 1), min_x - 1, max_x);
- const auto yi_1 = clamp<int>(std::floor(yn + 1), min_y - 1, max_y);
+ const auto xi = utility::clamp<int>(std::floor(xn), min_x - 1, max_x);
+ const auto yi = utility::clamp<int>(std::floor(yn), min_y - 1, max_y);
+ const auto xi_1 = utility::clamp<int>(std::floor(xn + 1), min_x - 1, max_x);
+ const auto yi_1 = utility::clamp<int>(std::floor(yn + 1), min_y - 1, max_y);
const float dx = xn - std::floor(xn);
const float dy = yn - std::floor(yn);
@@ -762,8 +762,8 @@
else
{
// Clamp coordinates
- const auto xi = clamp<int>(std::floor(xn), min_x, max_x - 1);
- const auto yi = clamp<int>(std::floor(yn), min_y, max_y - 1);
+ const auto xi = utility::clamp<int>(std::floor(xn), min_x, max_x - 1);
+ const auto yi = utility::clamp<int>(std::floor(yn), min_y, max_y - 1);
switch(interpolation)
{
case InterpolationPolicy::NEAREST_NEIGHBOR:
@@ -771,8 +771,8 @@
break;
case InterpolationPolicy::BILINEAR:
{
- const auto xi_1 = clamp<int>(std::floor(xn + 1), min_x, max_x - 1);
- const auto yi_1 = clamp<int>(std::floor(yn + 1), min_y, max_y - 1);
+ const auto xi_1 = utility::clamp<int>(std::floor(xn + 1), min_x, max_x - 1);
+ const auto yi_1 = utility::clamp<int>(std::floor(yn + 1), min_y, max_y - 1);
const float dx = xn - std::floor(xn);
const float dy = yn - std::floor(yn);