From 42ee1435fd7a91c91aabbd7aedaff8c3eafd1853 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 20 Jan 2024 13:59:15 -0600 Subject: [PATCH] Implement unary addition --- symengine/lib/symengine_wrapper.in.pyx | 3 +++ symengine/tests/test_arit.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/symengine/lib/symengine_wrapper.in.pyx b/symengine/lib/symengine_wrapper.in.pyx index 8974b7d9..71b4734b 100644 --- a/symengine/lib/symengine_wrapper.in.pyx +++ b/symengine/lib/symengine_wrapper.in.pyx @@ -951,6 +951,9 @@ cdef class Basic(object): def __neg__(Basic self not None): return c2py(symengine.neg(self.thisptr)) + def __pos__(self): + return self + def __abs__(Basic self not None): return c2py(symengine.abs(self.thisptr)) diff --git a/symengine/tests/test_arit.py b/symengine/tests/test_arit.py index e6ff192b..931b8adb 100644 --- a/symengine/tests/test_arit.py +++ b/symengine/tests/test_arit.py @@ -95,6 +95,12 @@ def test_arit8(): assert (2*y**(-2*x**2)) * (3*y**(2*x**2)) == 6 +def test_unary(): + x = Symbol("x") + assert -x == 0 - x + assert +x == x + + def test_expand1(): x = Symbol("x") y = Symbol("y")