From 89789777926bb4b23089825679379aa872ba16de Mon Sep 17 00:00:00 2001
From: Frederik Hennig <frederik.hennig@fau.de>
Date: Sun, 30 Jun 2024 13:45:21 +0200
Subject: [PATCH] hold back expr evaluation for now

---
 src/pystencils/backend/ast/expressions.py | 33 -----------------------
 1 file changed, 33 deletions(-)

diff --git a/src/pystencils/backend/ast/expressions.py b/src/pystencils/backend/ast/expressions.py
index 9a388a160..5e6adfa4f 100644
--- a/src/pystencils/backend/ast/expressions.py
+++ b/src/pystencils/backend/ast/expressions.py
@@ -757,36 +757,3 @@ class PsArrayInitList(PsExpression):
 
     def __repr__(self) -> str:
         return f"PsArrayInitList({repr(self._items)})"
-
-
-def evaluate_expression(
-    expr: PsExpression, valuation: dict[str | PsSymbol, Any]
-) -> Any:
-    """Evaluate a pystencils backend expression tree with values assigned to symbols according to the given valuation.
-
-    Only a subset of expression nodes can be processed by this evaluator.
-    """
-
-    def visit(node):
-        match node:
-            case PsSymbolExpr(symb):
-                if value := valuation.get(symb, None) is not None:
-                    return value
-                else:
-                    return valuation[symb.name]
-
-            case PsConstantExpr(c):
-                return c.value
-
-            case PsUnOp(op1) if node.python_operator is not None:
-                return node.python_operator(visit(op1))
-
-            case PsBinOp(op1, op2) if node.python_operator is not None:
-                return node.python_operator(visit(op1), visit(op2))
-
-            case other:
-                raise NotImplementedError(
-                    f"Unable to evaluate {other}: No implementation available."
-                )
-
-    return visit(expr)
-- 
GitLab