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

improve detection of unary minus

parent 6fed27bb
Branches
Tags
No related merge requests found
...@@ -209,12 +209,11 @@ def insert_vector_casts(ast_node): ...@@ -209,12 +209,11 @@ def insert_vector_casts(ast_node):
if expr.func is sp.Mul and expr.args[0] == -1: if expr.func is sp.Mul and expr.args[0] == -1:
# special treatment for the unary minus: make sure that the -1 has the same type as the argument # special treatment for the unary minus: make sure that the -1 has the same type as the argument
dtype = int dtype = int
for arg in expr.args[1:]: for arg in expr.atoms(vector_memory_access):
if type(arg) is sp.Pow: if arg.dtype.base_type.is_float():
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 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(): for arg in expr.atoms(TypedSymbol):
if type(arg.dtype) is VectorType and arg.dtype.base_type.is_float():
dtype = arg.dtype.base_type.numpy_dtype.type dtype = arg.dtype.base_type.numpy_dtype.type
if dtype is not int: if dtype is not int:
if dtype is np.float32: if dtype is np.float32:
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment