summaryrefslogtreecommitdiff
path: root/src/kernels/common.opencl
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-02-20 12:40:01 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2016-02-20 12:40:01 +0100
commit8854a731276b3f32c9e381a228733de7c6d95760 (patch)
treefa4084578015ff03473120e9028114d79bec1b02 /src/kernels/common.opencl
parentfadd76207fed5aeb87de7caf744397b008c6d784 (diff)
Added XGER routine, kernel, and tuner
Diffstat (limited to 'src/kernels/common.opencl')
-rw-r--r--src/kernels/common.opencl7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/kernels/common.opencl b/src/kernels/common.opencl
index f2a2e7a7..973c123e 100644
--- a/src/kernels/common.opencl
+++ b/src/kernels/common.opencl
@@ -147,6 +147,13 @@ R"(
#define AXPBY(e, a, b, c, d) e = a*b + c*d
#endif
+// The scalar GER function
+#if PRECISION == 3232 || PRECISION == 6464
+ #define GER(e, a, b, c, d) real ab; ab.x = MulReal(a,b); ab.y = MulImag(a,b); e.x = MulReal(ab,c) + d.x; e.y = MulImag(ab,c) + d.y
+#else
+ #define GER(e, a, b, c, d) e = a*b*c + d
+#endif
+
// The complex conjugate operation for complex transforms
#if PRECISION == 3232 || PRECISION == 6464
#define COMPLEX_CONJUGATE(value) value.x = value.x; value.y = -value.y