bpo-38237: Let pow() support keyword arguments (GH-16302) (GH-16320)

Backported with release manager approval
This commit is contained in:
Miss Islington (bot) 2019-09-21 01:22:29 -07:00 committed by Raymond Hettinger
parent 865bb685a6
commit 37bc935523
6 changed files with 72 additions and 48 deletions

View file

@ -1797,22 +1797,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);
}