[Beignet] [PATCH] add built-in function "atan2pi"

Homer Hsing homer.xing at intel.com
Sun Sep 1 17:49:00 PDT 2013


Signed-off-by: Homer Hsing <homer.xing at intel.com>
---
 backend/src/builtin_vector_proto.def | 2 +-
 backend/src/ocl_stdlib.tmpl.h        | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/backend/src/builtin_vector_proto.def b/backend/src/builtin_vector_proto.def
index b24e7ea..82dd36c 100644
--- a/backend/src/builtin_vector_proto.def
+++ b/backend/src/builtin_vector_proto.def
@@ -9,7 +9,7 @@ gentype atan (gentype y_over_x)
 gentype atan2 (gentype y, gentype x)
 gentype atanh (gentype)
 gentype atanpi (gentype x)
-#gentype atan2pi (gentype y, gentype x)
+gentype atan2pi (gentype y, gentype x)
 gentype cbrt (gentype)
 gentype ceil (gentype)
 gentype copysign (gentype x, gentype y)
diff --git a/backend/src/ocl_stdlib.tmpl.h b/backend/src/ocl_stdlib.tmpl.h
index 7f1032f..d8e8afc 100644
--- a/backend/src/ocl_stdlib.tmpl.h
+++ b/backend/src/ocl_stdlib.tmpl.h
@@ -1364,6 +1364,9 @@ INLINE_OVERLOADABLE float __gen_ocl_internal_atan2(float y, float x) {
     return - M_PI_F + z;
   }
 }
+INLINE_OVERLOADABLE float __gen_ocl_internal_atan2pi(float y, float x) {
+  return __gen_ocl_internal_atan2pi(y, x) / M_PI_F;
+}
 INLINE_OVERLOADABLE float __gen_ocl_internal_fabs(float x)  { return __gen_ocl_fabs(x); }
 INLINE_OVERLOADABLE float __gen_ocl_internal_trunc(float x) { return __gen_ocl_rndz(x); }
 INLINE_OVERLOADABLE float __gen_ocl_internal_round(float x) { return __gen_ocl_rnde(x); }
@@ -1397,6 +1400,7 @@ INLINE_OVERLOADABLE float __gen_ocl_internal_rint(float x) {
 #define tanh __gen_ocl_internal_tanh
 #define atan __gen_ocl_internal_atan
 #define atan2 __gen_ocl_internal_atan2
+#define atan2pi __gen_ocl_internal_atan2pi
 #define atanpi __gen_ocl_internal_atanpi
 #define atanh __gen_ocl_internal_atanh
 #define pow powr
-- 
1.8.1.2



More information about the Beignet mailing list