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

Added better initial value #20

Closed
wants to merge 130 commits into from
Closed

Conversation

czurnieden
Copy link
Contributor

Performance is comparable to mp_sqrt now and follows the expected behavior of
the Newton-Raphson algorithm related to time complexity over the full domain.

The initial value has been changed from the hardcoded integer 2 (two) to

n-th root of a < 2^( floor( ceil(log_2(a)) / n ) + 1)

Further optimizations are possible for the initial value but using more derivatives
for larger numbers (e.g.: Householder) is more effective.

Performance is comparable to mp_sqrt now and follows the expected behavior of
the Newton-Raphson algorithm related to time complexity over the full domain.
The limits for Toom-Cook and FFT have been evaluated with an AMD Duron, YMMV
Currently limited to 28 bit mp_digit's only
Currently limited to 28 bit mp_digit's only
Currently limited to 28 bit mp_digit's only
Currently limited to 28 bit mp_digit's only
Currently limited to 28 bit mp_digit's only
Currently limited to 28 bit mp_digit's only
Currently limited to 28 bit mp_digit's only
This addition is made only to this makefile for now,
This addition is made only to this makefile for now,
Currently limited to 28 bit mp_digit's only
FFT for 28 bit mp_digit's only for now
Implemented with three different algorithms: quasi-naive, binary splitting andthe Borwein trick
Using a binary splitting algorithm
Implemented with three different algorithms: quasi-naive, binary splitting and the Borwein trick
Implemented with naive method (recursion)
@czurnieden czurnieden closed this May 2, 2018
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.

None yet

2 participants