Update the py3k version of the rational module to expose only methods needed by

py3k (i.e., no __div__) and use py3k functions like math.floor().
This commit is contained in:
Jeffrey Yasskin 2008-01-17 07:36:30 +00:00
parent 35641461db
commit 9893de1b83
3 changed files with 20 additions and 53 deletions

View file

@ -5,7 +5,6 @@
TODO: Fill out more detailed documentation on the operators."""
from __future__ import division
from abc import ABCMeta, abstractmethod, abstractproperty
__all__ = ["Number", "Exact", "Inexact",
@ -62,8 +61,7 @@ class Complex(Number):
def __complex__(self):
"""Return a builtin complex instance. Called for complex(self)."""
# Will be __bool__ in 3.0.
def __nonzero__(self):
def __bool__(self):
"""True if self != 0. Called for bool(self)."""
return self != 0
@ -121,30 +119,14 @@ class Complex(Number):
"""other * self"""
raise NotImplementedError
@abstractmethod
def __div__(self, other):
"""self / other without __future__ division
May promote to float.
"""
raise NotImplementedError
@abstractmethod
def __rdiv__(self, other):
"""other / self without __future__ division"""
raise NotImplementedError
@abstractmethod
def __truediv__(self, other):
"""self / other with __future__ division.
Should promote to float when necessary.
"""
"""self / other: Should promote to float when necessary."""
raise NotImplementedError
@abstractmethod
def __rtruediv__(self, other):
"""other / self with __future__ division"""
"""other / self"""
raise NotImplementedError
@abstractmethod