Skip to content

Commit 5b24aae

Browse files
committed
Rational: Add p, q attributes from sympy.
1 parent 653a3fc commit 5b24aae

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

symengine/lib/symengine_wrapper.pyx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,14 @@ cdef class Rational(Number):
956956
def is_Rational(self):
957957
return True
958958

959+
@property
960+
def p(self):
961+
return self.get_num_den()[0]
962+
963+
@property
964+
def q(self):
965+
return self.get_num_den()[1]
966+
959967
def get_num_den(self):
960968
cdef RCP[const symengine.Integer] _num, _den
961969
symengine.get_num_den(deref(symengine.rcp_static_cast_Rational(self.thisptr)),

symengine/tests/test_sympy_compat.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ def test_Rational():
1111
i = S(1)/2
1212
assert isinstance(i, Rational)
1313
assert isinstance(i, Basic)
14+
assert i.p == 1
15+
assert i.q == 2
1416

1517
def test_Add():
1618
x, y = symbols("x y")

0 commit comments

Comments
 (0)