Skip to content
Snippets Groups Projects
Commit 6fed27bb authored by Michael Kuron's avatar Michael Kuron :mortar_board:
Browse files

some fixes for lbmpy vectorization

parent 44b01cb6
Branches
Tags
1 merge request!216some fixes for lbmpy vectorization
Pipeline #30401 passed
......@@ -210,6 +210,8 @@ def insert_vector_casts(ast_node):
# special treatment for the unary minus: make sure that the -1 has the same type as the argument
dtype = int
for arg in expr.args[1:]:
if type(arg) is sp.Pow:
arg = arg.args[0]
if type(arg) is vector_memory_access and arg.dtype.base_type.is_float():
dtype = arg.dtype.base_type.numpy_dtype.type
elif type(arg) is TypedSymbol and type(arg.dtype) is VectorType and arg.dtype.base_type.is_float():
......
......@@ -437,9 +437,10 @@ class AssignmentCollection:
class SymbolGen:
"""Default symbol generator producing number symbols ζ_0, ζ_1, ..."""
def __init__(self, symbol="xi"):
def __init__(self, symbol="xi", dtype=None):
self._ctr = 0
self._symbol = symbol
self._dtype = dtype
def __iter__(self):
return self
......@@ -447,4 +448,6 @@ class SymbolGen:
def __next__(self):
name = f"{self._symbol}_{self._ctr}"
self._ctr += 1
if self._dtype is not None:
return pystencils.TypedSymbol(name, self._dtype)
return sp.Symbol(name)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment