31.05.2013 Views

Trends - Amiga Magazine Online

Trends - Amiga Magazine Online

Trends - Amiga Magazine Online

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FLOAT ApprossimazioneInteraEccesso,NumeroFFP;<br />

SPCmp - offset -$2a -42<br />

Perriiette di confrontare tra loro due numeri in formato fast<br />

floating point. Ricorciiamo che come l'operazione di soinma<br />

anche il semplice confronto tra diie numeri non è affatto<br />

un'operazione banale, dal riiornento che in una notazione<br />

che utilizza una rnantissa e un esponente lo stesso numero<br />

è suscettibile di piì~ rappresentazioni equivalenti: per questo<br />

non è sufficiente un se~nplice controllo logico sui bit. Per<br />

quanto riguarda l'influenza sui bit di stato tener presente<br />

che per il confronto viene effettuata la sottrazione PrirnoNumero<br />

- SecondoNumero.<br />

Risultatodelconfronto:<br />

tlsePrlmoNumero > SecondoNumero.<br />

-lsePrimoNumero< SecoridoNumero.<br />

O sePr~moNumero=SecondoNumero.<br />

SPDiv - offset -$54 -84<br />

Ritorna il quoziente tra due numeri in forinato FF1'.<br />

SPFix - offset -$le -30<br />

Converte un numero fast floating point in una normale long<br />

binaria. Risulta così necessario approssimare un numero<br />

decimale ad un intero, e il criterio scelto è stato quello di<br />

troncar via semplicemente la parte decimale.<br />

Se invocata da C verrà restituito un nulliero intero con<br />

segno.<br />

LONGNumeroInteroBinario;<br />

FLOATNumeroFFP;<br />

SPFloor - offset -$60 -90<br />

Restituisce il massimo numero intero piìi piccolo o uguale<br />

al parametro. sempre in formato fast floating point. I1 risul-<br />

tato è quindi analogo a quello di SPFix, ma in questo caso<br />

non viene effettuata alcuna conversione di formato.<br />

SPFlt - offset -$24 -36<br />

Effettua la conversione opposta a SPFix, trasformado un<br />

intero rappresentato nel solito forn~ato binario nel rispettivo<br />

intero in fast floating point.<br />

FLOATNumeroFFP;<br />

LONGNumeroInteroBinario:<br />

SPMul - offset -$4e -78<br />

Restituisce il prodotto dei due parametri.<br />

SPNeg - offset -$3c -60<br />

Cambia il segno dell'operando.<br />

SPSub - offset -$48 -72<br />

Effettua la sottraziotle tra due numeri in formato fast<br />

floating point.<br />

Resto = SPSub (M~nuendo, Sottraendo) ;<br />

DO DO D1<br />

FLOAT Resto,Mlnuendo,Sottraendo;<br />

SPTst - offset -$30 -48<br />

Confronta l'operando con il valore zero.<br />

~o~~~isultatoDelConEronto;<br />

FLOATNumeroFFP;<br />

R~sultatodelconfronto:<br />

t1 se NumeroFFP > 0.<br />

O se NumeroFFP = 0.<br />

-1 se NumeroFFP < 0.<br />

Libreria Matematica Fast Floating Point<br />

trascendente (mathtrans.librat-y)<br />

MaxIntero = SPFloor(NumeroFFP);<br />

DO DO SPAcos - offset -$78 -120<br />

Restituisce l'arcocoseno dell'argornento, passato in formato<br />

fast floating point. sotto forma di un nurnero nello stesso

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!