I don't know much about assembly, but I am pretty sure that there are square root instructions on the x86? I am trying to get a square root function to work well in froth and the one that I have found gets bogged down somehow when I run it many times.
: sqrt-closer ( square guess -- square guess adjustment)
2dup / over - 2 /
;
: sqrt ( square -- root )
1 begin
sqrt-closer dup
while + repeat
drop nip ;
Look here:
http://www.azillionmonkeys.com/qed/sqroot.html
Everything you ever wanted to know about square roots, but were afraid to ask. Contains an implementation in x86 assembly language.
There is a floating-point square root instruction (FSQRT). This is quite fast, even if you only need an integer square root.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With