2010-01-16 20 views
6

No sé mucho sobre el ensamblaje, pero estoy bastante seguro de que hay instrucciones de raíz cuadrada en el x86. Intento que la función de raíz cuadrada funcione bien en espuma y la que he encontrado se empantana de alguna manera cuando la ejecuto muchas veces.Función de raíz cuadrada en adelante utilizando el ensamblaje x86?

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

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

's" espuma "obfuscated-forth count str = .' –

Respuesta

4

Hay una instrucción de raíz cuadrada de coma flotante (FSQRT). Esto es bastante rápido, incluso si solo necesita una raíz cuadrada entera.

Cuestiones relacionadas