bpo-38237: Make pow's arguments have more descriptive names and be keyword passable (GH-16302)

Edit: `math.pow` changes removed on Mark's request.


https://bugs.python.org/issue38237



Automerge-Triggered-By: @rhettinger
This commit is contained in:
Ammar Askar 2019-09-21 00:28:49 -04:00 committed by Miss Islington (bot)
parent e267793aa4
commit 87d6cd3604
6 changed files with 72 additions and 48 deletions

View file

@ -1796,22 +1796,22 @@ builtin_ord(PyObject *module, PyObject *c)
/*[clinic input]
pow as builtin_pow
x: object
y: object
z: object = None
/
base: object
exp: object
mod: object = None
Equivalent to x**y (with two arguments) or x**y % z (with three arguments)
Equivalent to base**exp (with two arguments) or base**exp % mod (with three arguments)
Some types, such as ints, are able to use a more efficient algorithm when
invoked using the three argument form.
[clinic start generated code]*/
static PyObject *
builtin_pow_impl(PyObject *module, PyObject *x, PyObject *y, PyObject *z)
/*[clinic end generated code: output=50a14d5d130d404b input=653d57d38d41fc07]*/
builtin_pow_impl(PyObject *module, PyObject *base, PyObject *exp,
PyObject *mod)
/*[clinic end generated code: output=3ca1538221bbf15f input=bd72d0a0ec8e5eb5]*/
{
return PyNumber_Power(x, y, z);
return PyNumber_Power(base, exp, mod);
}