Kaydet (Commit) 6cf09f07 authored tarafından Raymond Hettinger's avatar Raymond Hettinger

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

üst 97394bc7
......@@ -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} \%{}
......
......@@ -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
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment