summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2002-05-21 18:19:49 (GMT)
committerRaymond Hettinger <python@rcn.com>2002-05-21 18:19:49 (GMT)
commit6cf09f0792df49527cda241743a34c3555a83835 (patch)
treee3e9c616f06b39d1bd693d312bd89c8b63e5f782
parent97394bc7950d898843f7136c5af69279ea9bb080 (diff)
downloadcpython-6cf09f0792df49527cda241743a34c3555a83835.zip
cpython-6cf09f0792df49527cda241743a34c3555a83835.tar.gz
cpython-6cf09f0792df49527cda241743a34c3555a83835.tar.bz2
Patch 543387. Document deprecation of complex %, //,and divmod().
-rw-r--r--Doc/lib/libfuncs.tex6
-rw-r--r--Doc/lib/libstdtypes.tex14
-rw-r--r--Doc/ref/ref5.tex11
3 files changed, 21 insertions, 10 deletions
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index c7bb5a6..158ea0c 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -248,9 +248,9 @@ def my_import(name):
\end{funcdesc}
\begin{funcdesc}{divmod}{a, b}
- Take two numbers as arguments and return a pair of numbers consisting
- of their quotient and remainder when using long division. With mixed
- operand types, the rules for binary arithmetic operators apply. For
+ Take two (non complex) numbers as arguments and return a pair of numbers
+ consisting of their quotient and remainder when using long division. With
+ mixed operand types, the rules for binary arithmetic operators apply. For
plain and long integers, the result is the same as
\code{(\var{a} / \var{b}, \var{a} \%{} \var{b})}.
For floating point numbers the result is \code{(\var{q}, \var{a} \%{}
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index f2cbe74..143b05a 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -218,8 +218,8 @@ to coerce numbers to a specific type.
\bifuncindex{float}
\bifuncindex{complex}
-All numeric types support the following operations, sorted by
-ascending priority (operations in the same box have the same
+All numeric types (except complex) support the following operations,
+sorted by ascending priority (operations in the same box have the same
priority; all numeric operations have a higher priority than
comparison operations):
@@ -229,7 +229,7 @@ comparison operations):
\hline
\lineiii{\var{x} * \var{y}}{product of \var{x} and \var{y}}{}
\lineiii{\var{x} / \var{y}}{quotient of \var{x} and \var{y}}{(1)}
- \lineiii{\var{x} \%{} \var{y}}{remainder of \code{\var{x} / \var{y}}}{}
+ \lineiii{\var{x} \%{} \var{y}}{remainder of \code{\var{x} / \var{y}}}{(4)}
\hline
\lineiii{-\var{x}}{\var{x} negated}{}
\lineiii{+\var{x}}{\var{x} unchanged}{}
@@ -240,7 +240,7 @@ comparison operations):
\lineiii{float(\var{x})}{\var{x} converted to floating point}{}
\lineiii{complex(\var{re},\var{im})}{a complex number with real part \var{re}, imaginary part \var{im}. \var{im} defaults to zero.}{}
\lineiii{\var{c}.conjugate()}{conjugate of the complex number \var{c}}{}
- \lineiii{divmod(\var{x}, \var{y})}{the pair \code{(\var{x} / \var{y}, \var{x} \%{} \var{y})}}{(3)}
+ \lineiii{divmod(\var{x}, \var{y})}{the pair \code{(\var{x} / \var{y}, \var{x} \%{} \var{y})}}{(3)(4)}
\lineiii{pow(\var{x}, \var{y})}{\var{x} to the power \var{y}}{}
\lineiii{\var{x} ** \var{y}}{\var{x} to the power \var{y}}{}
\end{tableiii}
@@ -273,6 +273,12 @@ for well-defined conversions.
See section \ref{built-in-funcs}, ``Built-in Functions,'' for a full
description.
+\item[(4)]
+Complex floor division operator, modulo operator, and \function{divmod()}.
+
+\deprecated{2.3}{Instead convert to float using \function{abs()}
+if appropriate.}
+
\end{description}
% XXXJH exceptions: overflow (when? what operations?) zerodivision
diff --git a/Doc/ref/ref5.tex b/Doc/ref/ref5.tex
index 6e28fab..bcd1f26 100644
--- a/Doc/ref/ref5.tex
+++ b/Doc/ref/ref5.tex
@@ -689,7 +689,7 @@ The integer division and modulo operators are connected by the
following identity: \code{x == (x/y)*y + (x\%y)}. Integer division and
modulo are also connected with the built-in function \function{divmod()}:
\code{divmod(x, y) == (x/y, x\%y)}. These identities don't hold for
-floating point and complex numbers; there similar identities hold
+floating point numbers; there similar identities hold
approximately where \code{x/y} is replaced by \code{floor(x/y)}) or
\code{floor(x/y) - 1} (for floats),\footnote{
If x is very close to an exact integer multiple of y, it's
@@ -697,8 +697,13 @@ approximately where \code{x/y} is replaced by \code{floor(x/y)}) or
\code{(x-x\%y)/y} due to rounding. In such cases, Python returns
the latter result, in order to preserve that \code{divmod(x,y)[0]
* y + x \%{} y} be very close to \code{x}.
-} or \code{floor((x/y).real)} (for
-complex).
+}.
+
+Complex floor division operator, modulo operator, and
+\function{divmod()}.
+
+\deprecated{2.3}{Instead convert to float using \function{abs()}
+if appropriate.}
The \code{+} (addition) operator yields the sum of its arguments.
The arguments must either both be numbers or both sequences of the