summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/decimal.py14
-rw-r--r--Lib/numbers.py5
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