Skip to content

Implement Py3.9 LCM and GCD #1907

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 26 commits into from

Conversation

TheAnyKey
Copy link
Contributor

@TheAnyKey TheAnyKey commented May 4, 2020

This PR implements the bpo-39648 and bpo-39479, which are planned for CPython 3.9.

This change extends the math module to implement a lcm (least common multiple) function analog to the gcd. Further both functions are extended to take an arbitrary number of int arguments.

The kind of args is in accordance to the 3.9.a6 cpython implementation, although this style of parameters is quite uncommon in the math module; in similar cases iterables are used as arguments. Maybe this changes before release.

Further, I imported the test_math.py module from CPython and skipped all failing tests (unluckily there are plenty of them)

Whats missing: cpython also accepts object arguments having index implemented, this seems so far not be finalized in the reference. Thus I defer the implementation.

The sneaky improvement in this PR is the pdc.sh (pre-delivery check), i.e., a poor mans automation to run all builds and checks.

TheAnyKey and others added 26 commits April 28, 2020 20:44
builds now on any push
…strings

The any key/p38 self documenting fstrings
… type. So far it was a key error now it is a type error.
Copy link
Member

@youknowone youknowone left a comment

Choose a reason for hiding this comment

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

Rebase is needed to be merged

@TheAnyKey
Copy link
Contributor Author

replaced by #1916

@TheAnyKey TheAnyKey closed this May 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants