# This file is dual licensed under the terms of the Apache License, Version | |
# 2.0, and the BSD License. See the LICENSE file in the root of this repository | |
# for complete details. | |
from __future__ import absolute_import, division, print_function | |
class Infinity(object): | |
def __repr__(self): | |
return "Infinity" | |
def __hash__(self): | |
return hash(repr(self)) | |
def __lt__(self, other): | |
return False | |
def __le__(self, other): | |
return False | |
def __eq__(self, other): | |
return isinstance(other, self.__class__) | |
def __ne__(self, other): | |
return not isinstance(other, self.__class__) | |
def __gt__(self, other): | |
return True | |
def __ge__(self, other): | |
return True | |
def __neg__(self): | |
return NegativeInfinity | |
Infinity = Infinity() | |
class NegativeInfinity(object): | |
def __repr__(self): | |
return "-Infinity" | |
def __hash__(self): | |
return hash(repr(self)) | |
def __lt__(self, other): | |
return True | |
def __le__(self, other): | |
return True | |
def __eq__(self, other): | |
return isinstance(other, self.__class__) | |
def __ne__(self, other): | |
return not isinstance(other, self.__class__) | |
def __gt__(self, other): | |
return False | |
def __ge__(self, other): | |
return False | |
def __neg__(self): | |
return Infinity | |
NegativeInfinity = NegativeInfinity() |