aboutsummaryrefslogtreecommitdiff
path: root/arm_compute
diff options
context:
space:
mode:
authorPablo Tello <pablo.tello@arm.com>2019-11-08 13:47:53 +0000
committerSiCong Li <sicong.li@arm.com>2019-11-22 15:24:05 +0000
commit1df25a813b80d841613ab725d9be48ae6bf08f7a (patch)
treeb7bb1890b0079b8b8cefff94538f030d07095be0 /arm_compute
parentab7be453d449acf80ccde2bbf2b03b0cfb4811fb (diff)
downloadComputeLibrary-1df25a813b80d841613ab725d9be48ae6bf08f7a.tar.gz
COMPMID-2855: NEReduceMean throws error for invalid configs
Change-Id: I600507d0de19d7da6c1a13edcfff0a11ea6b5264 Signed-off-by: Pablo Tello <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/2254 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-by: Manuel Bottini <manuel.bottini@arm.com> Reviewed-by: SiCong Li <sicong.li@arm.com>
Diffstat (limited to 'arm_compute')
-rw-r--r--arm_compute/core/Helpers.h14
-rw-r--r--arm_compute/runtime/NEON/functions/NEReduceMean.h2
2 files changed, 15 insertions, 1 deletions
diff --git a/arm_compute/core/Helpers.h b/arm_compute/core/Helpers.h
index 87b1fdf64c..8d526e96c0 100644
--- a/arm_compute/core/Helpers.h
+++ b/arm_compute/core/Helpers.h
@@ -766,6 +766,20 @@ inline T wrap_around(T x, T m)
return x >= 0 ? x % m : (x % m + m) % m;
}
+/** Convert negative coordinates to positive in the range [0, num_dims_input]
+ *
+ * @param[out] coords Array of coordinates to be converted.
+ * @param[in] max_value Maximum value to be used when wrapping the negative values in coords
+ */
+inline Coordinates &convert_negative_axis(Coordinates &coords, int max_value)
+{
+ for(unsigned int i = 0; i < coords.num_dimensions(); ++i)
+ {
+ coords[i] = wrap_around(coords[i], max_value);
+ }
+ return coords;
+}
+
/** Given an integer value, this function returns the next power of two
*
* @param[in] x Input value
diff --git a/arm_compute/runtime/NEON/functions/NEReduceMean.h b/arm_compute/runtime/NEON/functions/NEReduceMean.h
index 9df71f273e..6fbd72b955 100644
--- a/arm_compute/runtime/NEON/functions/NEReduceMean.h
+++ b/arm_compute/runtime/NEON/functions/NEReduceMean.h
@@ -71,7 +71,7 @@ private:
std::vector<NEReductionOperation> _reduction_kernels;
std::vector<Tensor> _reduced_outs;
NEReshapeLayer _reshape;
- unsigned int _reduction_ops;
+ int _reduction_ops;
bool _keep_dims;
};
} // namespace arm_compute