New GitHub issue #119771 from skirpichev:<br>

<hr>

<pre>
# Bug report

### Bug description:

Right now we do this after invocation of the function or it's optimized alternative (for small integers).  That has advantage as - IIUC - both algorithms may trigger error condition.  On another hand, behaviour of the public C API function ``_Py_c_pow()`` (used in the CPython codebase only for ``complex_pow()``) will differ from the pure-python pow()...

Other similar functions (``complex_div()`` and ``complex_abs()``) leave setting ``errno`` to corresponding C-API function.

My proposal: move ``_Py_ADJUST_ERANGE2()`` call to ``_Py_c_pow()`` and ``c_powi()``.  If that does make sense I'll provide a patch.

### CPython versions tested on:

CPython main branch

### Operating systems tested on:

_No response_
</pre>

<hr>

<a href="https://github.com/python/cpython/issues/119771">View on GitHub</a>
<p>Labels: type-bug</p>
<p>Assignee: </p>