Skip to content

Commit 51eb520

Browse files
committed
Fix conversions
1 parent abf6db9 commit 51eb520

File tree

2 files changed

+10
-27
lines changed

2 files changed

+10
-27
lines changed

sumpy/codegen.py

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
from pytools import memoize_method
3434

35-
from sumpy.symbolic import (SympyToPymbolicMapper as SympyToPymbolicMapperBase)
35+
from sumpy.symbolic import SympyToPymbolicMapper
3636

3737
import logging
3838
logger = logging.getLogger(__name__)
@@ -49,27 +49,6 @@
4949
"""
5050

5151

52-
# {{{ sympy -> pymbolic mapper
53-
54-
import sumpy.symbolic as sym
55-
_SPECIAL_FUNCTION_NAMES = frozenset(dir(sym.functions))
56-
57-
58-
class SympyToPymbolicMapper(SympyToPymbolicMapperBase):
59-
60-
def not_supported(self, expr):
61-
if isinstance(expr, int):
62-
return expr
63-
elif getattr(expr, "is_Function", False):
64-
func_name = SympyToPymbolicMapperBase.function_name(self, expr)
65-
return prim.Variable(func_name)(
66-
*tuple(self.rec(arg) for arg in expr.args))
67-
else:
68-
return SympyToPymbolicMapperBase.not_supported(self, expr)
69-
70-
# }}}
71-
72-
7352
# {{{ bessel -> loopy codegen
7453

7554
BESSEL_PREAMBLE = """//CL//

sumpy/symbolic.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -313,12 +313,16 @@ def map_Mul(self, expr): # noqa: N802
313313

314314
return math.prod(num_args) / math.prod(den_args)
315315

316-
def map_FunctionSymbol(self, expr):
317-
if expr.get_name() == "ExpI":
318-
arg = self.rec(expr.args[0])
319-
return prim.Variable("cos")(arg) + 1j * prim.Variable("sin")(arg)
316+
def not_supported(self, expr):
317+
if getattr(expr, "is_Function", False):
318+
if self.function_name(expr) == "ExpI":
319+
arg = self.rec(expr.args[0])
320+
return prim.Variable("cos")(arg) + 1j * prim.Variable("sin")(arg)
321+
else:
322+
return prim.Variable(self.function_name(expr))(
323+
*[self.rec(arg) for arg in expr.args])
320324
else:
321-
return SympyToPymbolicMapperBase.map_FunctionSymbol(self, expr)
325+
return SympyToPymbolicMapperBase.not_supported(self, expr)
322326

323327

324328
class PymbolicToSympyMapperWithSymbols(PymbolicToSympyMapper):

0 commit comments

Comments
 (0)