aboutsummaryrefslogtreecommitdiff
path: root/src/core/CL/cl_kernels
diff options
context:
space:
mode:
authorUsama Arif <usama.arif@arm.com>2019-05-24 14:53:59 +0100
committerUsama Arif <usama.arif@arm.com>2019-05-24 16:36:10 +0000
commit6a4d5426637b6cc967665e0455609535938c211d (patch)
tree4bcd6a9c4b05f0f979c46074f309f27a3355f907 /src/core/CL/cl_kernels
parent0a5a57a3f794de851408bae1c63b1660b4c5cbe7 (diff)
downloadComputeLibrary-6a4d5426637b6cc967665e0455609535938c211d.tar.gz
COMPMID-2159 Implement Round for CL
Change-Id: I9d3ed4bb3cf7bef39bd0e71b3c6f266ff8187290 Signed-off-by: Usama Arif <usama.arif@arm.com> Reviewed-on: https://review.mlplatform.org/c/1226 Reviewed-by: Pablo Marquez <pablo.tello@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/CL/cl_kernels')
-rw-r--r--src/core/CL/cl_kernels/elementwise_unary.cl6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/CL/cl_kernels/elementwise_unary.cl b/src/core/CL/cl_kernels/elementwise_unary.cl
index 866b7ee2b0..b496fcf562 100644
--- a/src/core/CL/cl_kernels/elementwise_unary.cl
+++ b/src/core/CL/cl_kernels/elementwise_unary.cl
@@ -38,6 +38,12 @@
#define fabs_op(input) fabs(input)
// Calculate natural_log
#define natural_log_op(input) log(input)
+// Calculate round (Cannot use round function as it rounds halfway cases away from zero).
+#if defined(VEC_SIZE)
+#define round_op(input) CONVERT(CONVERT_SAT_ROUND(input, VEC_DATA_TYPE(int, VEC_SIZE), rte), VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE))
+#else // defined(VEC_SIZE
+#define round_op(input) CONVERT(CONVERT_SAT_ROUND(input, int, rte), DATA_TYPE)
+#endif // defined(VEC_SIZE
/** Applies element wise unary operator in a tensor.
*