if the parameter is zero, then return zero
if the parameter is positive, then return 1.
for other cases, return -1.

Signed-off-by: Homer Hsing <homer.x...@intel.com>
---
 backend/src/ocl_stdlib.tmpl.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/backend/src/ocl_stdlib.tmpl.h b/backend/src/ocl_stdlib.tmpl.h
index a3bf0a0..38d1ab0 100644
--- a/backend/src/ocl_stdlib.tmpl.h
+++ b/backend/src/ocl_stdlib.tmpl.h
@@ -1779,7 +1779,7 @@ INLINE_OVERLOADABLE float fast_distance(float x, float y) 
{ return length(x-y);
 INLINE_OVERLOADABLE float fast_distance(float2 x, float2 y) { return 
length(x-y); }
 INLINE_OVERLOADABLE float fast_distance(float3 x, float3 y) { return 
length(x-y); }
 INLINE_OVERLOADABLE float fast_distance(float4 x, float4 y) { return 
length(x-y); }
-INLINE_OVERLOADABLE float fast_normalize(float x) { return 1.f; }
+INLINE_OVERLOADABLE float fast_normalize(float x) { return x > 0 ? 1.f : (x < 
0 ? -1.f : 0.f); }
 INLINE_OVERLOADABLE float2 fast_normalize(float2 x) { return x * rsqrt(dot(x, 
x)); }
 INLINE_OVERLOADABLE float3 fast_normalize(float3 x) { return x * rsqrt(dot(x, 
x)); }
 INLINE_OVERLOADABLE float4 fast_normalize(float4 x) { return x * rsqrt(dot(x, 
x)); }
-- 
1.8.3.2

_______________________________________________
Beignet mailing list
Beignet@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to