From 74d0de69bf01bdc65ed76527e1906172d1134693 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Thu, 29 Mar 2012 10:27:36 -0400
Subject: [PATCH] Fix bug in complex expression generation in Fortran->CL code
 generator.

---
 contrib/fortran-to-opencl/translate.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/contrib/fortran-to-opencl/translate.py b/contrib/fortran-to-opencl/translate.py
index 4476d4bc..a9dd33fd 100644
--- a/contrib/fortran-to-opencl/translate.py
+++ b/contrib/fortran-to-opencl/translate.py
@@ -327,7 +327,12 @@ class ComplexCCodeMapper(CCodeMapperBase):
             from pymbolic.mapper.stringifier import PREC_PRODUCT, PREC_NONE
             real_prd = self.join_rec("*", reals, PREC_PRODUCT)
 
-            complex_prd = self.rec(complexes[0], PREC_NONE)
+            if len(complexes) == 1:
+                myprec = PREC_PRODUCT
+            else:
+                myprec = PREC_NONE
+
+            complex_prd = self.rec(complexes[0], myprec)
             for child in complexes[1:]:
                 complex_prd = "%s_mul(%s, %s)" % (
                         tgt_name, complex_prd,
-- 
GitLab