2010-01-16 25 views
6

Non so molto sull'assemblaggio, ma sono abbastanza sicuro che sull'X86 ci siano istruzioni radice quadrata? Sto cercando di ottenere una funzione radice quadrata per funzionare bene nella schiuma e quello che ho trovato si impantana in qualche modo quando lo eseguo molte volte.Funzione radice quadrata in Forth usando x86 Assembly?

: sqrt-closer (square guess -- square guess adjustment) 
2dup/over - 2/
; 

: sqrt (square -- root) 
1 begin 
sqrt-closer dup 
while + repeat 
drop nip ; 
+0

's" schiuma "conteggio offuscato str = .' –

risposta

4

Esiste un'istruzione radice quadrata a virgola mobile (FSQRT). Questo è abbastanza veloce, anche se hai solo bisogno di una radice quadrata intera.

Problemi correlati