summaryrefslogtreecommitdiffstats
path: root/libclc/generic/lib/math
diff options
context:
space:
mode:
Diffstat (limited to 'libclc/generic/lib/math')
-rw-r--r--libclc/generic/lib/math/mix.cl8
-rw-r--r--libclc/generic/lib/math/mix.inc9
2 files changed, 17 insertions, 0 deletions
diff --git a/libclc/generic/lib/math/mix.cl b/libclc/generic/lib/math/mix.cl
new file mode 100644
index 00000000000..294f332e67f
--- /dev/null
+++ b/libclc/generic/lib/math/mix.cl
@@ -0,0 +1,8 @@
+#include <clc/clc.h>
+
+#ifdef cl_khr_fp64
+#pragma OPENCL EXTENSION cl_khr_fp64 : enable
+#endif
+
+#define __CLC_BODY <mix.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/generic/lib/math/mix.inc b/libclc/generic/lib/math/mix.inc
new file mode 100644
index 00000000000..1e8b936149b
--- /dev/null
+++ b/libclc/generic/lib/math/mix.inc
@@ -0,0 +1,9 @@
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE mix(__CLC_GENTYPE x, __CLC_GENTYPE y, __CLC_GENTYPE a) {
+ return mad( y - x, a, x );
+}
+
+#ifndef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE mix(__CLC_GENTYPE x, __CLC_GENTYPE y, __CLC_SCALAR_GENTYPE a) {
+ return mix(x, y, (__CLC_GENTYPE)a);
+}
+#endif
OpenPOWER on IntegriCloud