Skip to content

Conversation

@skirpichev
Copy link
Member

@skirpichevskirpichev commented Oct 25, 2024

In the main: $ ./python -m timeit -r11 -s 'from cmath import sin;z=1j' 'sin(z)' 1000000 loops, best of 11: 312 nsec per loop With patch: $ ./python -m timeit -r11 -s 'from cmath import sin;z=1j' 'sin(z)' 1000000 loops, best of 11: 330 nsec per loop
@skirpichev
Copy link
MemberAuthor

The second commits allows sin(z=1) syntax. This has some overhead:

In the main: $ ./python -m timeit -r11 -s 'from cmath import sin;z=1j' 'sin(z)' 1000000 loops, best of 11: 312 nsec per loop With patch: $ ./python -m timeit -r11 -s 'from cmath import sin;z=1j' 'sin(z)' 1000000 loops, best of 11: 330 nsec per loop 

Alternative solution: include slashed in the sphinx docs to reflect the actual function signature.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@picnixz
Copy link
Member

I'm going offline until Friday so I won't be able to merge it (@vstinner asked me to wait for one other core dev approval before merging so if someone accepts it, they can either merge it or accept the PR and I'll merge it on Friday)

Copy link
Member

@vstinnervstinner left a comment

Choose a reason for hiding this comment

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

LGTM.

PR title:

gh-125957: sync argument naming in sphinx docs of the cmath and help() #125958

It might be interesting to add the / marker for positional-only parameters.

Example:

>>> import cmath; help(cmath.phase) phase(z, /) Return argument, also known as the phase angle, of a complex. 

@skirpichev
Copy link
MemberAuthor

It might be interesting to add the / marker for positional-only parameters.

I did this once: #101120

This thread discuss an alternative proposal (allow keyword arguments): https://discuss.python.org/t/81003/ See some benchmarks above: #125958 (comment)

@skirpichevskirpichev added needs backport to 3.12 only security fixes needs backport to 3.13 bugs and security fixes labels Mar 30, 2025
@AA-TurnerAA-Turner merged commit 0a3eb88 into python:mainApr 1, 2025
32 checks passed
@miss-islington-app
Copy link

Thanks @skirpichev for the PR, and @AA-Turner for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Apr 1, 2025
… help() (pythonGH-125958) (cherry picked from commit 0a3eb88) Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-app
Copy link

GH-131962 is a backport of this pull request to the 3.13 branch.

@bedevere-appbedevere-appbot removed the needs backport to 3.13 bugs and security fixes label Apr 1, 2025
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Apr 1, 2025
… help() (pythonGH-125958) (cherry picked from commit 0a3eb88) Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-app
Copy link

GH-131963 is a backport of this pull request to the 3.12 branch.

@bedevere-appbedevere-appbot removed the needs backport to 3.12 only security fixes label Apr 1, 2025
AA-Turner pushed a commit that referenced this pull request Apr 1, 2025
…d help() (GH-125958) (#131962) gh-125957: sync argument naming in sphinx docs of the cmath and help() (GH-125958) (cherry picked from commit 0a3eb88) Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
AA-Turner pushed a commit that referenced this pull request Apr 1, 2025
…d help() (GH-125958) (#131963) gh-125957: sync argument naming in sphinx docs of the cmath and help() (GH-125958) (cherry picked from commit 0a3eb88) Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@skirpichevskirpichev deleted the fix-cmath-sig-125957 branch April 1, 2025 07:24
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@skirpichev@picnixz@vstinner@rruuaanng@AA-Turner