summaryrefslogtreecommitdiff
path: root/src/kernels/common.opencl
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-02-28 16:31:31 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2016-02-28 16:31:31 +0100
commit610a31283bd6400b0f077941cea429d3caa6021c (patch)
treef486707b998148a8f3d52c0c5d701a02216f45a9 /src/kernels/common.opencl
parentc457a70aa13d5a1bf20996f82f3684786d27581d (diff)
parent4a56822dcc7f723db0dc9a86fbb71abdd18cee31 (diff)
Merge branch 'ger_routines' into development
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