diff --git a/src/pystencils/sympyextensions/reduction.py b/src/pystencils/sympyextensions/reduction.py index e2760cc6c85faacedb35eb139afa313feb2b833c..c9e5bfdfb38b576176d10446697232c7fdd08d64 100644 --- a/src/pystencils/sympyextensions/reduction.py +++ b/src/pystencils/sympyextensions/reduction.py @@ -12,7 +12,7 @@ class ReducedAssignment(AssignmentBase): Symbol for binary operation being applied in the assignment, such as "+", "*", etc. """ - binop = None # type: str + binop = None # type: str @property def op(self): @@ -22,6 +22,7 @@ class ReducedAssignment(AssignmentBase): class AddReducedAssignment(ReducedAssignment): binop = '+' + class SubReducedAssignment(ReducedAssignment): binop = '-' @@ -33,6 +34,7 @@ class MulReducedAssignment(ReducedAssignment): class MinReducedssignment(ReducedAssignment): binop = 'min' + class MaxReducedssignment(ReducedAssignment): binop = 'max' @@ -45,7 +47,8 @@ reduced_assign_classes = { ] } + def reduced_assign(lhs, op, rhs): if op not in reduced_assign_classes: raise ValueError("Unrecognized operator %s" % op) - return reduced_assign_classes[op](lhs, rhs) \ No newline at end of file + return reduced_assign_classes[op](lhs, rhs)