funzione di radice quadrata a Forth utilizzando Assembly x86?
-
21-09-2019 - |
Domanda
Non so molto di montaggio, ma sono abbastanza sicuro che non ci sono le istruzioni di radice quadrata sul x86? Sto cercando di ottenere una funzione di radice quadrata di lavorare bene in schiuma e quello che ho trovato ottiene impantanato in qualche modo quando l'eseguo molte volte.
: sqrt-closer ( square guess -- square guess adjustment)
2dup / over - 2 /
;
: sqrt ( square -- root )
1 begin
sqrt-closer dup
while + repeat
drop nip ;
Soluzione
C'è un'istruzione radice quadrata in virgola mobile ( FSQRT ). Questo è abbastanza veloce, anche se hai solo bisogno di una radice quadrata intero.
Altri suggerimenti
Guardate qui:
http://www.azillionmonkeys.com/qed/sqroot.html
Tutto quello che avreste voluto sapere su radici quadrate, ma mai osato chiedere. Contiene un'implementazione in linguaggio assembly x86.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow