From 52daf3bd052e11048f89bf9302eba02daa9b7b51 Mon Sep 17 00:00:00 2001 From: Rikard Nordgren Date: Sat, 1 Jan 2022 22:17:18 +0100 Subject: [PATCH 1/3] Add unicode function --- symengine/__init__.py | 3 ++- symengine/lib/symengine.pxd | 1 + symengine/lib/symengine_wrapper.pyx | 5 +++++ symengine/tests/test_printing.py | 8 +++++++- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/symengine/__init__.py b/symengine/__init__.py index 5085641d..d2643602 100644 --- a/symengine/__init__.py +++ b/symengine/__init__.py @@ -29,7 +29,8 @@ FunctionSymbol as AppliedUndef, golden_ratio as GoldenRatio, catalan as Catalan, - eulergamma as EulerGamma + eulergamma as EulerGamma, + unicode ) from .utilities import var, symbols from .functions import * diff --git a/symengine/lib/symengine.pxd b/symengine/lib/symengine.pxd index 10a3b33c..14576130 100644 --- a/symengine/lib/symengine.pxd +++ b/symengine/lib/symengine.pxd @@ -1103,6 +1103,7 @@ cdef extern from "" namespace "SymEngine": string ccode(const Basic &x) nogil except + string latex(const Basic &x) nogil except + string latex(const DenseMatrix &x, unsigned max_rows, unsigned max_cols) nogil except + + string unicode(const Basic &x) nogil except + ## Defined in 'symengine/cwrapper.cpp' cdef struct CRCPBasic: diff --git a/symengine/lib/symengine_wrapper.pyx b/symengine/lib/symengine_wrapper.pyx index 4bba5f5f..61fbef34 100644 --- a/symengine/lib/symengine_wrapper.pyx +++ b/symengine/lib/symengine_wrapper.pyx @@ -5471,6 +5471,11 @@ def latex(expr): basic_expr = sympify(expr) return symengine.latex(deref(basic_expr.thisptr)).decode("utf-8") +def unicode(expr): + cdef Basic basic_expr + basic_expr = sympify(expr) + return symengine.unicode(deref(basic_expr.thisptr)).decode("utf-8") + cdef _flattened_vec(symengine.vec_basic &vec, exprs): cdef Basic b if is_sequence(exprs): diff --git a/symengine/tests/test_printing.py b/symengine/tests/test_printing.py index feea3650..f33ce5a7 100644 --- a/symengine/tests/test_printing.py +++ b/symengine/tests/test_printing.py @@ -1,4 +1,4 @@ -from symengine import (ccode, Symbol, sqrt, Pow, Max, sin, Integer, MutableDenseMatrix) +from symengine import (ccode, unicode, Symbol, sqrt, Pow, Max, sin, Integer, MutableDenseMatrix) from symengine.utilities import raises from symengine.printing import CCodePrinter, init_printing @@ -30,3 +30,9 @@ def test_init_printing(): assert x._repr_latex_() is None init_printing() assert x._repr_latex_() == '$x$' + + +def test_unicode(): + x = Symbol("x") + y = Integer(2) + assert unicode(x / y) == "x\n―\n2" From ab53be7f396cc5bd28035781fd88a828a3c543ec Mon Sep 17 00:00:00 2001 From: Rikard Nordgren Date: Sun, 2 Jan 2022 15:30:38 +0100 Subject: [PATCH 2/3] Update symengine/tests/test_printing.py Co-authored-by: Isuru Fernando --- symengine/tests/test_printing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/symengine/tests/test_printing.py b/symengine/tests/test_printing.py index f33ce5a7..6c5ec730 100644 --- a/symengine/tests/test_printing.py +++ b/symengine/tests/test_printing.py @@ -35,4 +35,4 @@ def test_init_printing(): def test_unicode(): x = Symbol("x") y = Integer(2) - assert unicode(x / y) == "x\n―\n2" + assert unicode(x / 2) == "x\n―\n2" From 7c57599552cf552523195bc92b61f862e0301b3d Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 16 Feb 2022 17:07:06 -0600 Subject: [PATCH 3/3] update symengine commit --- symengine_version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/symengine_version.txt b/symengine_version.txt index 37b09f41..f979adec 100644 --- a/symengine_version.txt +++ b/symengine_version.txt @@ -1 +1 @@ -36ac51d06e248657d828bfa4859cff32ab5f03ba +v0.9.0