File tree Expand file tree Collapse file tree 2 files changed +10
-27
lines changed Expand file tree Collapse file tree 2 files changed +10
-27
lines changed Original file line number Diff line number Diff line change 3232
3333from pytools import memoize_method
3434
35- from sumpy .symbolic import ( SympyToPymbolicMapper as SympyToPymbolicMapperBase )
35+ from sumpy .symbolic import SympyToPymbolicMapper
3636
3737import logging
3838logger = logging .getLogger (__name__ )
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
7554BESSEL_PREAMBLE = """//CL//
Original file line number Diff line number Diff 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
324328class PymbolicToSympyMapperWithSymbols (PymbolicToSympyMapper ):
You can’t perform that action at this time.
0 commit comments