From 5aeb00a2abb82b4f7e1f066f394502719179e872 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 1 Jul 2017 01:16:16 -0400 Subject: [PATCH 1/4] Check that symengine-0.3.0.rc0 work --- .test-py2.yml | 2 +- .test-py3.yml | 2 +- pymbolic/interop/symengine.py | 4 ++-- test/test_sympy.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.test-py2.yml b/.test-py2.yml index 6930208..27dc51f 100644 --- a/.test-py2.yml +++ b/.test-py2.yml @@ -9,5 +9,5 @@ dependencies: - conda-forge::numpy - conda-forge::sympy - python=2.7 - - symengine/label/dev::python-symengine=0.2.0.53.g83912b7=py27_1 + - symengine/label/dev::python-symengine=0.3.0.rc0 - maxima diff --git a/.test-py3.yml b/.test-py3.yml index 24910d5..a1cb0e8 100644 --- a/.test-py3.yml +++ b/.test-py3.yml @@ -8,5 +8,5 @@ dependencies: - conda-forge::numpy - conda-forge::sympy - python=3.5 - - symengine/label/dev::python-symengine=0.2.0.53.g83912b7=py35_1 + - symengine/label/dev::python-symengine=0.3.0.rc0 - maxima diff --git a/pymbolic/interop/symengine.py b/pymbolic/interop/symengine.py index ab68e7f..c0d1c06 100644 --- a/pymbolic/interop/symengine.py +++ b/pymbolic/interop/symengine.py @@ -28,7 +28,7 @@ from pymbolic.interop.common import ( SympyLikeToPymbolicMapper, PymbolicToSympyLikeMapper) import pymbolic.primitives as prim -import symengine.sympy_compat +import symengine __doc__ = """ @@ -84,7 +84,7 @@ class SymEngineToPymbolicMapper(SympyLikeToPymbolicMapper): class PymbolicToSymEngineMapper(PymbolicToSympyLikeMapper): - sym = symengine.sympy_compat + sym = symengine def raise_conversion_error(self, expr): raise RuntimeError( diff --git a/test/test_sympy.py b/test/test_sympy.py index 6f6ff69..0f84d6c 100644 --- a/test/test_sympy.py +++ b/test/test_sympy.py @@ -57,7 +57,7 @@ def _test_to_pymbolic(mapper, sym, use_symengine): def test_symengine_to_pymbolic(): - sym = pytest.importorskip("symengine.sympy_compat") + sym = pytest.importorskip("symengine") from pymbolic.interop.symengine import SymEngineToPymbolicMapper mapper = SymEngineToPymbolicMapper() @@ -95,7 +95,7 @@ def _test_from_pymbolic(mapper, sym, use_symengine): def test_pymbolic_to_symengine(): - sym = pytest.importorskip("symengine.sympy_compat") + sym = pytest.importorskip("symengine") from pymbolic.interop.symengine import PymbolicToSymEngineMapper mapper = PymbolicToSymEngineMapper() -- GitLab From 4af624e6113df10a164f4588bc4322fd780604c1 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 1 Jul 2017 11:15:22 +0530 Subject: [PATCH 2/4] symengine doesn't allow non-canonical objects anymore --- test/test_sympy.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/test/test_sympy.py b/test/test_sympy.py index 0f84d6c..b586b42 100644 --- a/test/test_sympy.py +++ b/test/test_sympy.py @@ -36,11 +36,16 @@ def _test_to_pymbolic(mapper, sym, use_symengine): assert mapper(sym.Rational(3, 4)) == prim.Quotient(3, 4) assert mapper(sym.Integer(6)) == 6 - assert mapper(sym.Subs(x**2, (x,), (y,))) == \ - prim.Substitution(x_**2, ("x",), (y_,)) - # FIXME in symengine - deriv = sym.Derivative(x**2, (x,)) if use_symengine else sym.Derivative(x**2, x) - assert mapper(deriv) == prim.Derivative(x_**2, ("x",)) + if not use_symengine: + assert mapper(sym.Subs(x**2, (x,), (y,))) == \ + prim.Substitution(x_**2, ("x",), (y_,)) + deriv = sym.Derivative(x**2, x) + assert mapper(deriv) == prim.Derivative(x_**2, ("x",)) + else: + assert mapper(sym.Subs(x**2, (x,), (y,))) == \ + y_**2 + deriv = sym.Derivative(x**2, x) + assert mapper(deriv) == 2*x_ # functions assert mapper(sym.Function("f")(x)) == prim.Variable("f")(x_) -- GitLab From 347aa470a9157d6eedd9bbbc47adffc0691a0f11 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 1 Jul 2017 11:15:37 +0530 Subject: [PATCH 3/4] Fix FIXME in symengine --- test/test_sympy.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/test_sympy.py b/test/test_sympy.py index b586b42..5415cb6 100644 --- a/test/test_sympy.py +++ b/test/test_sympy.py @@ -88,8 +88,7 @@ def _test_from_pymbolic(mapper, sym, use_symengine): assert mapper(prim.Substitution(x_**2, ("x",), (y_,))) == \ sym.Subs(x**2, (x,), (y,)) - # FIXME in symengine - deriv = sym.Derivative(x**2, (x,)) if use_symengine else sym.Derivative(x**2, x) + deriv = sym.Derivative(x**2, x) assert mapper(prim.Derivative(x_**2, ("x",))) == deriv assert mapper(x_[0]) == sym.Symbol("x_0") -- GitLab From 159fdc3c60874318730fbb00ce597f7a1d76bb8c Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Thu, 6 Jul 2017 19:13:55 +0530 Subject: [PATCH 4/4] Update to symengine-0.3.0 --- .test-py2.yml | 4 ++-- .test-py3.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.test-py2.yml b/.test-py2.yml index 27dc51f..b53749c 100644 --- a/.test-py2.yml +++ b/.test-py2.yml @@ -1,6 +1,6 @@ name: py2 channels: - - symengine/label/dev + - symengine - conda-forge - defaults dependencies: @@ -9,5 +9,5 @@ dependencies: - conda-forge::numpy - conda-forge::sympy - python=2.7 - - symengine/label/dev::python-symengine=0.3.0.rc0 + - symengine::python-symengine=0.3.0 - maxima diff --git a/.test-py3.yml b/.test-py3.yml index a1cb0e8..57ec950 100644 --- a/.test-py3.yml +++ b/.test-py3.yml @@ -1,6 +1,6 @@ name: py3 channels: - - symengine/label/dev + - symengine - conda-forge - defaults dependencies: @@ -8,5 +8,5 @@ dependencies: - conda-forge::numpy - conda-forge::sympy - python=3.5 - - symengine/label/dev::python-symengine=0.3.0.rc0 + - symengine::python-symengine=0.3.0 - maxima -- GitLab