Skip to content

Commit a267427

Browse files
authored
Merge pull request #195 from isuruf/bools
Convert BooleanAtom to bool
2 parents 97e9b60 + e780437 commit a267427

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

symengine/lib/symengine_wrapper.pyx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,6 +1321,13 @@ cdef class BooleanTrue(BooleanAtom):
13211321
def _sage_(self):
13221322
return True
13231323

1324+
def __nonzero__(self):
1325+
return True
1326+
1327+
def __bool__(self):
1328+
return True
1329+
1330+
13241331
true = BooleanTrue()
13251332

13261333

@@ -1336,6 +1343,12 @@ cdef class BooleanFalse(BooleanAtom):
13361343
def _sage_(self):
13371344
return False
13381345

1346+
def __nonzero__(self):
1347+
return False
1348+
1349+
def __bool__(self):
1350+
return False
1351+
13391352
false = BooleanFalse()
13401353

13411354

symengine/tests/test_arit.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,3 +220,11 @@ def test_special_constants():
220220
assert One() == Integer(1)
221221
assert NegativeOne() == Integer(-1)
222222
assert Half() == Rational(1, 2)
223+
224+
225+
def test_bool():
226+
x = Symbol('x')
227+
if (x**2).args[1] > 0:
228+
assert True
229+
if (x**2).args[1] < 0:
230+
assert False

0 commit comments

Comments
 (0)