diff --git a/pymbolic/interop/sympy.py b/pymbolic/interop/sympy.py index bbea0991df97a47fcd08b1036d9a6f6aa2980a43..2f538a7858eb0ef10d8610e2ea705f5c6cdd35fe 100644 --- a/pymbolic/interop/sympy.py +++ b/pymbolic/interop/sympy.py @@ -56,6 +56,10 @@ class SympyToPymbolicMapper(SympyLikeToPymbolicMapper): def function_name(self, expr): return type(expr).__name__ + # only called for Py2 + def map_long(self, expr): + return long(expr) # noqa + # }}} diff --git a/test/test_pymbolic.py b/test/test_pymbolic.py index 98364588c7a9367cf9129726d12f16eeab29160c..95182c741f8479884d7b9af9b5d70bf9bd6783be 100644 --- a/test/test_pymbolic.py +++ b/test/test_pymbolic.py @@ -480,6 +480,13 @@ def test_unifier(): assert match_found(recs, set([(a, b), (b, c), (c, d)])) +def test_long_sympy_mapping(): + from pymbolic.interop.sympy import SympyToPymbolicMapper + import sympy as sp + SympyToPymbolicMapper()(sp.sympify(int(10**20))) + SympyToPymbolicMapper()(sp.sympify(int(10))) + + if __name__ == "__main__": import sys if len(sys.argv) > 1: