There will be maintenance performed on git.ligo.org, chat.ligo.org, containers.lig.org, and docs.ligo.org starting at 9am PDT on Tuesday 18th August 2020. There will be an extremely small period of downtime at the start of the maintenance window as various services are restarted. Please address any comments, questions, or concerns to computing-help@igwn.org.

infinity: fixed comparison operators for python3

since `cmp` was removed
parent d39c905f
......@@ -137,18 +137,23 @@ class infinity(object):
# tests
def __cmp__(self, other):
"""
Positive infinity compares as greater than everything
except itself, negative infinity compares as less than
everything except itself.
"""
if self is other:
return 0
if self is PosInfinity:
return 1
# self is NegInfinity
return -1
def __lt__(self, other):
return self is NegInfinity and other is not NegInfinity
def __gt__(self, other):
return self is PosInfinity and other is not PosInfinity
def __le__(self, other):
return self is NegInfinity or other is PosInfinity
def __ge__(self, other):
return self is PosInfinity or other is NegInfinity
def __eq__(self, other):
return self is other
def __ne__(self, other):
return self is not other
def __nonzero__(self):
"""
......
......@@ -67,6 +67,17 @@ def set2():
class test_infinity(unittest.TestCase):
def test_math(self):
a = segments.infinity()
self.assertEqual(-a, -a)
self.assertLess(-a, 0)
self.assertLess(-a, a)
self.assertGreater(0, -a)
self.assertLess(0, a)
self.assertGreater(a, -a)
self.assertGreater(a, 0)
self.assertEqual(a, a)
@unittest.skipIf(sys.version_info.major >= 3,
'Python 3 does not have cmp')
def test__cmp__(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment