Skip to content

Commit a6c4897

Browse files
committed
Added Tests and sympy_version clause
1 parent dfe6154 commit a6c4897

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

symengine/lib/symengine_wrapper.pyx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,6 @@ def sympy2symengine(a, raise_error=False):
204204
return atanh(a.args[0])
205205
elif isinstance(a, sympy.acoth):
206206
return acoth(a.args[0])
207-
elif isinstance(a, sympy.acsch):
208-
return acsch(a.args[0])
209-
elif isinstance(a, sympy.asech):
210-
return asech(a.args[0])
211207
elif isinstance(a, sympy.log):
212208
return log(a.args[0])
213209
elif isinstance(a, sympy.Abs):
@@ -232,6 +228,11 @@ def sympy2symengine(a, raise_error=False):
232228
return DenseMatrix(row, col, v)
233229
elif isinstance(a, sympy.polys.domains.modularinteger.ModularInteger):
234230
return PyNumber(a, sympy_module)
231+
elif sympy.__version__ > '1.0':
232+
if isinstance(a, sympy.acsch):
233+
return acsch(a.args[0])
234+
elif isinstance(a, sympy.asech):
235+
return asech(a.args[0])
235236

236237
if raise_error:
237238
raise SympifyError("sympy2symengine: Cannot convert '%r' to a symengine type." % a)

symengine/sympy_compat.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,8 @@ def __new__(cls, a, b):
279279

280280
'''
281281
for i in ("""Sin Cos Tan Gamma Cot Csc Sec ASin ACos ATan
282-
ACot ACsc ASec Sinh Cosh Tanh Coth ASinh ACosh ATanh
283-
ACoth""").split():
282+
ACot ACsc ASec Sinh Cosh Tanh Coth Sech Csch ASinh ACosh ATanh
283+
ACoth ASech ACsch""").split():
284284
print("""
285285
class %s(Function):
286286
_classes = (symengine.%s,)

symengine/tests/test_sympy_compat.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from symengine.sympy_compat import (Integer, Rational, S, Basic, Add, Mul,
2-
Pow, symbols, Symbol, log, sin, zeros, atan2, Number)
2+
Pow, symbols, Symbol, log, sin, sech, csch, zeros, atan2, Number)
33

44

55
def test_Integer():
@@ -59,6 +59,23 @@ def test_sin():
5959
assert isinstance(i, sin)
6060

6161

62+
def test_sech():
63+
x = symbols("x")
64+
i = sech(0)
65+
assert isinstance(i, Integer)
66+
i = sech(x)
67+
assert isinstance(i, sech)
68+
69+
70+
def test_csch():
71+
x = symbols("x")
72+
i = csch(x)
73+
assert isinstance(i, csch)
74+
i = csch(-1)
75+
j = csch(1)
76+
assert i == -j
77+
78+
6279
def test_log():
6380
x, y = symbols("x y")
6481
i = log(x, y)

0 commit comments

Comments
 (0)