Skip to content

[3.12] gh-121834: Improve complex C-API docs (GH-121835) - #121897

Merged
sobolevn merged 3 commits into
python:3.12from
sobolevn:backport-72dccd6-3.12
Jul 17, 2024
Merged

[3.12] gh-121834: Improve complex C-API docs (GH-121835)#121897
sobolevn merged 3 commits into
python:3.12from
sobolevn:backport-72dccd6-3.12

Conversation

@sobolevn

@sobolevnsobolevn commented Jul 17, 2024

Copy link
Copy Markdown
Member

(cherry picked from commit 72dccd6)

Since PyComplex_RealAsDouble uses PyFloat_AsDouble, it can still fail there:

double
PyComplex_RealAsDouble(PyObject*op)
{
if (PyComplex_Check(op)) {
return ((PyComplexObject*)op)->cval.real;
}
else {
returnPyFloat_AsDouble(op);
}
}

While PyComplex_ImagAsDouble is always successful:

double
PyComplex_ImagAsDouble(PyObject*op)
{
if (PyComplex_Check(op)) {
return ((PyComplexObject*)op)->cval.imag;
}
else {
return0.0;
}
}


📚 Documentation preview 📚: https://cpython-previews--121897.org.readthedocs.build/

(cherry picked from commit 72dccd6)
Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
@sobolevn

Copy link
Copy Markdown
MemberAuthor

cc @skirpichev

@skirpichevskirpichev left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One remark on PyComplex_ImagAsDouble(). The rest LGTM.

Comment threadDoc/c-api/complex.rst Outdated
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
@sobolevn
sobolevn enabled auto-merge (squash) July 17, 2024 07:26
@sobolevn
sobolevn merged commit 6a19d22 into python:3.12Jul 17, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docsDocumentation in the Doc dirskip news

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@sobolevn@skirpichev