The Wayback Machine - https://web.archive.org/web/20201126012724/https://github.com/TheAlgorithms/Python/pull/3912
Skip to content
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

Implemented Tonelli Shanks algorithm #3912

Open
wants to merge 3 commits into
base: master
from

Conversation

@DamirHanov
Copy link

@DamirHanov DamirHanov commented Nov 20, 2020

Describe your change:

Implemented Tonelli-Shanks algorithm

  • Add an algorithm?
  • Fix a bug or typo in an existing algorithm?
  • Documentation change?

Checklist:

  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized.
  • I know that pull requests will not be merged if they fail the automated tests.
  • This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • All new Python files are placed inside an existing directory.
  • All filenames are in all lowercase characters with no spaces or dashes.
  • All functions and variable names follow Python naming conventions.
  • All function parameters and return values are annotated with Python type hints.
  • All functions have doctests that pass the automated testing.
  • All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
  • If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.
@algorithms-keeper
Copy link

@algorithms-keeper algorithms-keeper bot commented Nov 20, 2020

Pull Request Report

@DamirHanov Hello! I'm a bot made to check all the pull request Python files. First of all, I want to say thank you for your time and interest in this project and for opening a pull request.

I have detected errors in some of the Python files submitted in this pull request. Please read through the report and make the necessary changes. You can take a look at the relevant links provided after the report.

What are node paths?

The report contain headings and a checklist where the items are paths to the class/function/parameter where the error is present. Node paths are double colon :: separated names and can be any of the following format:

  • Class path: [file_name]::[class_name]
  • Function path: [file_name]::[function_name]
  • Function parameter path: [file_name]::[function_name]::[parameter_name]
  • Method path: [file_name]::[class_name]::[function_name]
  • Method parameter path: [file_name]::[class_name]::[function_name]::[parameter_name]

Following functions require tests [doctest/unittest/pytest]:

  • maths/tonelli_shanks_algorithm.py::is_prime
  • maths/tonelli_shanks_algorithm.py::get_random_non_quadratic_residue

Following class/functions/parameters require descriptive names:

  • maths/tonelli_shanks_algorithm.py::legendre_symbol::a
  • maths/tonelli_shanks_algorithm.py::legendre_symbol::p
  • maths/tonelli_shanks_algorithm.py::get_random_non_quadratic_residue::p
  • maths/tonelli_shanks_algorithm.py::tonelli_shanks_algorithm::n
  • maths/tonelli_shanks_algorithm.py::tonelli_shanks_algorithm::p

Relevant links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

1 participant
You can’t perform that action at this time.