Patch 543387. Document deprecation of complex %, //,and divmod().

This commit is contained in:
Raymond Hettinger 2002-05-21 18:19:49 +00:00
parent 97394bc795
commit 6cf09f0792
3 changed files with 21 additions and 10 deletions

View File

@ -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} \%{}

View File

@ -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

View File

@ -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