From 03affb6cd3145ca46b18c2a431d5722dab223778 Mon Sep 17 00:00:00 2001
From: Frederik Hennig <frederik.hennig@fau.de>
Date: Thu, 18 Jan 2024 12:30:12 +0100
Subject: [PATCH] typifier class hulk

---
 .../nbackend/kernelcreation/typification.py    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 src/pystencils/nbackend/kernelcreation/typification.py

diff --git a/src/pystencils/nbackend/kernelcreation/typification.py b/src/pystencils/nbackend/kernelcreation/typification.py
new file mode 100644
index 000000000..4a228e9e2
--- /dev/null
+++ b/src/pystencils/nbackend/kernelcreation/typification.py
@@ -0,0 +1,18 @@
+import pymbolic.primitives as pb
+from pymbolic.mapper import Mapper
+
+from .context import KernelCreationContext
+from ..types import PsAbstractType
+from ..typed_expressions import PsTypedVariable
+
+
+class Typifier(Mapper):
+    def __init__(self, ctx: KernelCreationContext):
+        self._ctx = ctx
+
+    def __call__(self, expr: pb.Expression) -> tuple[pb.Expression, PsAbstractType]:
+        return self.rec(expr)
+
+    def map_variable(self, var: pb.Variable) -> tuple[pb.Expression, PsAbstractType]:
+        dtype = NotImplemented  # determine variable type
+        return PsTypedVariable(var.name, dtype), dtype
-- 
GitLab