From a165060bd2fb2d3e64770fa68ad6968689f06f38 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 22 Jan 2024 21:43:00 -0600 Subject: [PATCH] add name property to FunctionSymbol --- symengine/lib/symengine_wrapper.in.pyx | 4 ++++ symengine/tests/test_functions.py | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/symengine/lib/symengine_wrapper.in.pyx b/symengine/lib/symengine_wrapper.in.pyx index 4fdc0f9c..06b85266 100644 --- a/symengine/lib/symengine_wrapper.in.pyx +++ b/symengine/lib/symengine_wrapper.in.pyx @@ -2841,6 +2841,10 @@ class FunctionSymbol(Function): name = deref(X).get_name().decode("utf-8") return str(name) + @property + def name(Basic self): + return self.get_name() + def _sympy_(self): import sympy name = self.get_name() diff --git a/symengine/tests/test_functions.py b/symengine/tests/test_functions.py index c5241ad4..207add98 100644 --- a/symengine/tests/test_functions.py +++ b/symengine/tests/test_functions.py @@ -105,12 +105,15 @@ def test_derivative(): def test_function(): x = Symbol("x") - assert Function("f")(x) == function_symbol("f", x) + fx = Function("f")(x) + assert fx == function_symbol("f", x) raises(TypeError, lambda: Function("f", "x")) raises(TypeError, lambda: Function("f", x)) raises(TypeError, lambda: Function()) + assert fx.name == "f" + def test_abs(): x = Symbol("x")