summaryrefslogtreecommitdiffstats
path: root/libclc/generic/include/clc
diff options
context:
space:
mode:
Diffstat (limited to 'libclc/generic/include/clc')
-rw-r--r--libclc/generic/include/clc/clc.h1
-rw-r--r--libclc/generic/include/clc/relational/signbit.h18
2 files changed, 19 insertions, 0 deletions
diff --git a/libclc/generic/include/clc/clc.h b/libclc/generic/include/clc/clc.h
index e4fbfbaaa53..109be8228e6 100644
--- a/libclc/generic/include/clc/clc.h
+++ b/libclc/generic/include/clc/clc.h
@@ -112,6 +112,7 @@
#include <clc/relational/isequal.h>
#include <clc/relational/isnan.h>
#include <clc/relational/select.h>
+#include <clc/relational/signbit.h>
/* 6.11.8 Synchronization Functions */
#include <clc/synchronization/cl_mem_fence_flags.h>
diff --git a/libclc/generic/include/clc/relational/signbit.h b/libclc/generic/include/clc/relational/signbit.h
new file mode 100644
index 00000000000..774d6e0433e
--- /dev/null
+++ b/libclc/generic/include/clc/relational/signbit.h
@@ -0,0 +1,18 @@
+
+#define _CLC_SIGNBIT_DECL(TYPE, RETTYPE) \
+ _CLC_OVERLOAD _CLC_DECL RETTYPE signbit(TYPE x);
+
+#define _CLC_VECTOR_SIGNBIT_DECL(TYPE, RETTYPE) \
+ _CLC_SIGNBIT_DECL(TYPE##2, RETTYPE##2) \
+ _CLC_SIGNBIT_DECL(TYPE##3, RETTYPE##3) \
+ _CLC_SIGNBIT_DECL(TYPE##4, RETTYPE##4) \
+ _CLC_SIGNBIT_DECL(TYPE##8, RETTYPE##8) \
+ _CLC_SIGNBIT_DECL(TYPE##16, RETTYPE##16)
+
+_CLC_SIGNBIT_DECL(float, int)
+_CLC_VECTOR_SIGNBIT_DECL(float, int)
+
+#ifdef cl_khr_fp64
+_CLC_SIGNBIT_DECL(double, int)
+_CLC_VECTOR_SIGNBIT_DECL(double, long)
+#endif \ No newline at end of file
OpenPOWER on IntegriCloud