From ce971fa70059079ca2328f5fbf49a751c4833399 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Thu, 20 Jun 2019 15:42:58 +0200 Subject: Move back assignment --- symbolic/generator.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/symbolic/generator.py b/symbolic/generator.py index 7315ae0..853bbf9 100644 --- a/symbolic/generator.py +++ b/symbolic/generator.py @@ -3,6 +3,10 @@ from sympy.codegen.ast import Assignment import symbolic.optimizations as optimizations + +def assign(names, definitions): + return list(map(lambda x: Assignment(*x), zip(names, definitions))) + class LBM: def __init__(self, descriptor): self.descriptor = descriptor @@ -40,9 +44,10 @@ class LBM: return f_eq def bgk(self, tau, f_eq, optimize = True): - exprs = [ Assignment(self.f_next[i], self.f_curr[i] + 1/tau * (f_eq_i - self.f_curr[i])) for i, f_eq_i in enumerate(f_eq) ] + exprs = [ self.f_curr[i] + 1/tau * (f_eq_i - self.f_curr[i]) for i, f_eq_i in enumerate(f_eq) ] if optimize: - return cse(exprs, optimizations=optimizations.custom) + helper, f = cse(exprs, optimizations=optimizations.custom) + return (helper, assign(self.f_next, f)) else: - return ([], exprs) + return ([], assign(self.f_next, f)) -- cgit v1.2.3