From 0b2bcad8a2aec7483e850228283c6801179e5e48 Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Sat, 2 Dec 2017 21:51:48 +0100
Subject: [PATCH] Bugfixes - float kernel generation should work now

---
 creationfunctions.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/creationfunctions.py b/creationfunctions.py
index 9aa02e26..280d39d4 100644
--- a/creationfunctions.py
+++ b/creationfunctions.py
@@ -313,7 +313,7 @@ def createLatticeBoltzmannAst(updateRule=None, optimizationParams={}, **kwargs):
         else:
             splitGroups = ()
         res = createKernel(updateRule.allEquations, splitGroups=splitGroups,
-                           typeForSymbol='double' if optParams['doublePrecision'] else 'float',
+                           typeForSymbol='double' if optParams['doublePrecision'] else 'float32',
                            ghostLayers=1)
     elif optParams['target'] == 'gpu':
         from pystencils.gpucuda import createCUDAKernel
@@ -385,13 +385,14 @@ def createLatticeBoltzmannUpdateRule(lbMethod=None, optimizationParams={}, **kwa
         else:
             collisionRule = addEntropyCondition(collisionRule, omegaOutputField=params['omegaOutputField'])
 
+    fieldDtype = 'float64' if optimizationParams['doublePrecision'] else 'float32'
     if optParams['fieldSize']:
         fieldSize = [s + 2 for s in optParams['fieldSize']] + [len(stencil)]
         srcField = Field.createFixedSize(params['fieldName'], fieldSize, indexDimensions=1,
-                                         layout=optParams['fieldLayout'])
+                                         layout=optParams['fieldLayout'], dtype=fieldDtype)
     else:
         srcField = Field.createGeneric(params['fieldName'], spatialDimensions=lbMethod.dim, indexDimensions=1,
-                                       layout=optParams['fieldLayout'])
+                                       layout=optParams['fieldLayout'], dtype=fieldDtype)
 
     dstField = srcField.newFieldWithDifferentName(params['secondFieldName'])
 
-- 
GitLab