From 21efeb4491feab09dc246f4da0023d7ca79b1d32 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Tue, 4 Jul 2017 12:47:17 +0100 Subject: COMPMID-417: DepthConvert NEON for QS8/QS16. Change-Id: Ieb120bccf146045b3a0001ceb3893d4e67fd19df Reviewed-on: http://mpd-gerrit.cambridge.arm.com/79763 Tested-by: Kaizen Reviewed-by: Steven Niu --- arm_compute/core/FixedPoint.inl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'arm_compute/core/FixedPoint.inl') diff --git a/arm_compute/core/FixedPoint.inl b/arm_compute/core/FixedPoint.inl index fab91d6699..fdbc3f0c06 100644 --- a/arm_compute/core/FixedPoint.inl +++ b/arm_compute/core/FixedPoint.inl @@ -366,10 +366,10 @@ inline float scvt_f32_qs8(qint8_t a, int fixed_point_position) return static_cast(a) / (1 << fixed_point_position); } -inline qint8_t scvt_qs8_f32(float a, int fixed_point_position) +inline qint8_t sqcvt_qs8_f32(float a, int fixed_point_position) { // round_nearest_integer(a * 2^(fixed_point_position)) - return static_cast(a * (1 << fixed_point_position) + 0.5f); + return saturate_convert(a * (1 << fixed_point_position) + ((a >= 0) ? 0.5 : -0.5)); } inline float scvt_f32_qs16(qint16_t a, int fixed_point_position) @@ -377,10 +377,10 @@ inline float scvt_f32_qs16(qint16_t a, int fixed_point_position) return static_cast(a) / (1 << fixed_point_position); } -inline qint16_t scvt_qs16_f32(float a, int fixed_point_position) +inline qint16_t sqcvt_qs16_f32(float a, int fixed_point_position) { // round_nearest_integer(a * 2^(fixed_point_position)) - return static_cast(a * (1 << fixed_point_position) + 0.5f); + return saturate_convert(a * (1 << fixed_point_position) + ((a >= 0) ? 0.5 : -0.5)); } inline qint8_t sqmovn_qs16(qint16_t a) -- cgit v1.2.1