Wydajne algorytmy pierwiastkowania liczb binarnych.

Wydajne algorytmy pierwiastkowania liczb binarnych.
M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

Cześć,
poszukuję najbardziej wydajnych algorytmów pierwiastkowania liczb binarnych rozszerzonego zakresu (powiedzmy około 1000 - bitowych liczb). Zależy mi żeby wyselekcjonować z nich 2 najlepsze i zaimplementować je w assemblerze.
Czy ktoś mógłby podpowiedzieć z doświadczenia jakie algorytmy są najlepsze i najwydajniejsze?

Pozdrawiam i z góry dziękuję za każdą propozycję.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7102
  • Rejestracja: dni
  • Ostatnio: dni
0

Chyba wystarczy zwyczajna metoda Newtona.
Zaczynasz od pierwiastka z precyzją double, czyli 53 bity, albo 64 dla long double, a Newton potem to podwaja w każdym kroku.

1000/53 < 20,
zatem dla uzyskania 1000 bitów precyzji 5 kroków Newtona chyba wystarczy.

53 -> 106 -> 212 -> 424 -> 848 -> 1696 bitów precyzji dla 5-ciu iteracji.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.