[Libclc-dev] [PATCH 15/14] native_divide: provide function implementaiton instead of macro

Jan Vesely via Libclc-dev libclc-dev at lists.llvm.org
Fri Nov 3 17:55:55 PDT 2017


Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
 generic/include/clc/math/binary_decl_tt.inc | 1 +
 generic/include/clc/math/native_divide.h    | 8 +++++++-
 generic/lib/SOURCES                         | 1 +
 generic/lib/math/native_divide.cl           | 5 +++++
 generic/lib/math/native_divide.inc          | 3 +++
 5 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 generic/include/clc/math/binary_decl_tt.inc
 create mode 100644 generic/lib/math/native_divide.cl
 create mode 100644 generic/lib/math/native_divide.inc

diff --git a/generic/include/clc/math/binary_decl_tt.inc b/generic/include/clc/math/binary_decl_tt.inc
new file mode 100644
index 0000000..3166476
--- /dev/null
+++ b/generic/include/clc/math/binary_decl_tt.inc
@@ -0,0 +1 @@
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, __CLC_GENTYPE b);
diff --git a/generic/include/clc/math/native_divide.h b/generic/include/clc/math/native_divide.h
index 5c52167..1bc6cf5 100644
--- a/generic/include/clc/math/native_divide.h
+++ b/generic/include/clc/math/native_divide.h
@@ -1 +1,7 @@
-#define native_divide(x, y) ((x) / (y))
+#define __CLC_BODY <clc/math/binary_decl_tt.inc>
+#define __CLC_FUNCTION native_divide
+
+#include <clc/math/gentype.inc>
+
+#undef __CLC_BODY
+#undef __CLC_FUNCTION
diff --git a/generic/lib/SOURCES b/generic/lib/SOURCES
index 94ba4c0..355741c 100644
--- a/generic/lib/SOURCES
+++ b/generic/lib/SOURCES
@@ -120,6 +120,7 @@ math/logb.cl
 math/mad.cl
 math/modf.cl
 math/native_cos.cl
+math/native_divide.cl
 math/native_exp.cl
 math/native_exp10.cl
 math/native_exp2.cl
diff --git a/generic/lib/math/native_divide.cl b/generic/lib/math/native_divide.cl
new file mode 100644
index 0000000..0f34366
--- /dev/null
+++ b/generic/lib/math/native_divide.cl
@@ -0,0 +1,5 @@
+#include <clc/clc.h>
+
+#define __CLC_BODY <native_divide.inc>
+#define __FLOAT_ONLY
+#include <clc/math/gentype.inc>
diff --git a/generic/lib/math/native_divide.inc b/generic/lib/math/native_divide.inc
new file mode 100644
index 0000000..836c93d
--- /dev/null
+++ b/generic/lib/math/native_divide.inc
@@ -0,0 +1,3 @@
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE native_divide(__CLC_GENTYPE x, __CLC_GENTYPE y) {
+  return x / y;
+}
-- 
2.13.6



More information about the Libclc-dev mailing list