diff options
author | Raymond Hettinger <python@rcn.com> | 2008-02-12 01:18:03 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2008-02-12 01:18:03 (GMT) |
commit | 116f72fa5ceb864efcc47da2f8c437fd29c7e8b3 (patch) | |
tree | af5cb9fde09d843bd60349f4841a3e001c39fa49 | |
parent | 19a5c29d27a4d65c82658a9b30d00578bef1a913 (diff) | |
download | cpython-116f72fa5ceb864efcc47da2f8c437fd29c7e8b3.zip cpython-116f72fa5ceb864efcc47da2f8c437fd29c7e8b3.tar.gz cpython-116f72fa5ceb864efcc47da2f8c437fd29c7e8b3.tar.bz2 |
Bring decimal a bit closer to the spec for Reals.
-rw-r--r-- | Lib/decimal.py | 14 | ||||
-rw-r--r-- | Lib/numbers.py | 5 |
2 files changed, 15 insertions, 4 deletions
diff --git a/Lib/decimal.py b/Lib/decimal.py index 4f23d33..dbe0695 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -1519,6 +1519,20 @@ class Decimal(object): __trunc__ = __int__ + @property + def real(self): + return self + + @property + def imag(self): + return Decimal(0) + + def conjugate(self): + return self + + def __complex__(self): + return complex(float(self)) + def __long__(self): """Converts to a long. diff --git a/Lib/numbers.py b/Lib/numbers.py index eed1f42..b8a5c36 100644 --- a/Lib/numbers.py +++ b/Lib/numbers.py @@ -51,10 +51,7 @@ Inexact.register(float) ## Notes on Decimal and it how relates to the numeric tower ## -------------------------------------------------------- -## Decimal is Real except that it does not support the real and imag properties -## or the conjugate() and complex() methods. If those get defined at some -## point, they cannot use the default implementation which would be sensitive -## to decimal.Context and could produce different answers at different times. +## Decimal is Real except that it does not support rich comparisons. ## ## Decimal has some of the characteristics of Integrals. It provides ## logical operations but not as operators. The logical operations only apply |