mirror of
https://github.com/python/cpython.git
synced 2025-11-17 09:30:10 +00:00
On int/long to the negative int/long power, let float handle it
instead of raising an error. This was one of the two issues that the VPython folks were particularly problematic for their students. (The other one was integer division...) This implements (my) SF patch #440487.
This commit is contained in:
parent
0ec9abaa2b
commit
bf5a774bcb
1 changed files with 10 additions and 7 deletions
|
|
@ -494,13 +494,16 @@ the interpreter.
|
||||||
\begin{funcdesc}{pow}{x, y\optional{, z}}
|
\begin{funcdesc}{pow}{x, y\optional{, z}}
|
||||||
Return \var{x} to the power \var{y}; if \var{z} is present, return
|
Return \var{x} to the power \var{y}; if \var{z} is present, return
|
||||||
\var{x} to the power \var{y}, modulo \var{z} (computed more
|
\var{x} to the power \var{y}, modulo \var{z} (computed more
|
||||||
efficiently than \code{pow(\var{x}, \var{y}) \%\ \var{z}}).
|
efficiently than \code{pow(\var{x}, \var{y}) \%\ \var{z}}). The
|
||||||
The arguments must have
|
arguments must have numeric types. With mixed operand types, the
|
||||||
numeric types. With mixed operand types, the rules for binary
|
coercion rules for binary arithmetic operators apply. For int and
|
||||||
arithmetic operators apply. The effective operand type is also the
|
long int operands, the result has the same type as the operands
|
||||||
type of the result; if the result is not expressible in this type, the
|
(after coercion) unless the second argument is negative; in that
|
||||||
function raises an exception; for example, \code{pow(2, -1)} or
|
case, all arguments are converted to float and a float result is
|
||||||
\code{pow(2, 35000)} is not allowed.
|
delivered. For example, \code{10**2} returns \code{100}, but
|
||||||
|
\code{10**-2} returns \code{0.01}. (This last feature was added in
|
||||||
|
Python 2.2. In Python 2.1 and before, a negative second argument
|
||||||
|
would raise an exception.)
|
||||||
\end{funcdesc}
|
\end{funcdesc}
|
||||||
|
|
||||||
\begin{funcdesc}{range}{\optional{start,} stop\optional{, step}}
|
\begin{funcdesc}{range}{\optional{start,} stop\optional{, step}}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue