Fonction racine carrée en utilisant Forth x86 Assemblée?
-
21-09-2019 - |
Question
Je ne sais pas grand-chose sur le montage, mais je suis assez sûr qu'il ya des instructions de racine carrée sur x86? Je suis en train d'obtenir une fonction racine carrée de bien travailler dans la mousse et celui que j'ai trouvé en quelque sorte s'enlise quand je le lance à plusieurs reprises.
: sqrt-closer ( square guess -- square guess adjustment)
2dup / over - 2 /
;
: sqrt ( square -- root )
1 begin
sqrt-closer dup
while + repeat
drop nip ;
La solution
Il y a une instruction de racine carrée en virgule flottante ( FSQRT ). Ceci est assez rapide, même si vous avez seulement besoin d'un nombre entier racine carrée.
Autres conseils
Regardez ici:
http://www.azillionmonkeys.com/qed/sqroot.html
Tout ce que vous avez toujours voulu savoir sur les racines carrées, mais ont peur de demander. Contient une implémentation en langage assembleur x86.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow