From c5af4dc69f90e12ed2a75f986345ad834567c52d Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 5 Sep 2017 12:17:04 -0500 Subject: [PATCH] Allow sequences in subs --- symengine/lib/symengine_wrapper.pyx | 8 ++++++-- symengine/tests/test_subs.py | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/symengine/lib/symengine_wrapper.pyx b/symengine/lib/symengine_wrapper.pyx index a9b2ea9df..07d2af6f8 100644 --- a/symengine/lib/symengine_wrapper.pyx +++ b/symengine/lib/symengine_wrapper.pyx @@ -741,8 +741,12 @@ def get_dict(*args): len(args)) if isinstance(arg, DictBasic): return arg - for k, v in arg.items(): - D.add(k, v) + if isinstance(arg, dict): + for k, v in arg.items(): + D.add(k, v) + else: + for k, v in arg: + D.add(k, v) return D diff --git a/symengine/tests/test_subs.py b/symengine/tests/test_subs.py index 2f762ddf6..6f29d8f3a 100644 --- a/symengine/tests/test_subs.py +++ b/symengine/tests/test_subs.py @@ -27,6 +27,10 @@ def test_args(): e = cos(x) raises(TypeError, lambda: e.subs(x, 0, 3)) + y = Symbol("y") + e = x + y + assert e.subs([(x, 0), (y, 2)]) == 2 + def test_f(): x = Symbol("x")