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.

Librerie Matematiche Fast Floating<br />

Point<br />

Alberto Geneletti<br />

Analisi di un 'altra libreria<br />

Continua in questo articolo l'analisi delle lil~rerie del sisteina<br />

operativo di <strong>Amiga</strong>, del quale ci siamo già occupati a<br />

proposito della grapliic e della IIOS library. Questa volta<br />

volgere1110 la nostra attenzione alle librerie niateniaticlie. e<br />

in particolare alla inath.librasy e alla iiiathtrans.lilii-ai-~i,<br />

librerie adatte ad applicazioni che ricliiedono elevata velocità<br />

di calcolo al prezzo di una precisane non iilolto accw<br />

ra Va.<br />

Cominciamo, quindi, con qualclie precisazione fondainentale<br />

a proposito delle caratteristiche di ogni libreria, coniprese<br />

quelle conformi alle specificlie IEEE di cui non ci<br />

occupereiiio dettagliatamente in questa sede.<br />

Un primo approccio<br />

I1 sistema operativo di Aiiiiga dispone di ben quattro lit>rei-ie<br />

materiiatiche, piìl una lihreria di conversione disponibile<br />

come linker lihraiy nel file <strong>Amiga</strong>.lib.<br />

Libreria mathffp<br />

Coniprende le funzioni n~atematiclie di base (soiiiiiia,<br />

moltiplicazione. ecc.) nel forsuato fast floating point della<br />

Motorola (FFP). E' l'unica libreria iiiaternatica residente in<br />

KOM.<br />

Libreria mathtrans<br />

Contiene le funzioni trigonoriletriclie, logaritmiclie ed<br />

esponenziali FFP. Risiede nella directoiy LIHS: del dischetto<br />

Woi-kl>ench dal quale è stato effettuato il boot del sistema.<br />

Le iiiodalità di accesso sono tuttavia identiche a quelle<br />

che abt~ianio già visto a proposito delle altre librerie residenti<br />

in ROM. dal momento che il sisteiiia operativo gestisce<br />

questa differente collocazione in rnodo del tutto trasparente<br />

al programmatore. provvedendo a caricare in RAM le routine<br />

della libreria in questione e gli opportuni riferis~ienti<br />

quando viene invocata la relativa OpenLibrary.<br />

Libreria di conversione FFP<br />

Come al~biamo detto si tratta di una linker library, e non cli<br />

una vera e propria libreria di sistema; per questo presenta<br />

note\loli anomalie rispetto alle altre librerie. tanto per quanto<br />

riguarda le modalita di accesso. tanto per come è strutturata.<br />

Pur non prevedendo alcuna funzione iiiateniatica<br />

significativa il suo utilizzo è necessario, costituendo un'indispensabile<br />

interfaccia tra l'utente e il formato FFP.<br />

Libreria mathieeedoubbas<br />

Prevede funzioni analoghe a quelle di mathffp, questa volta<br />

in doppia precisione IEEE, un formato sviluppato dall'Insti-<br />

tute of Electric 2nd Electronic Engineering.<br />

Libreria mathieeedoubtrans<br />

Contiene le f~in~ioni IEEE trascendenti (analoglie alle FFP<br />

cli mathtrans).<br />

Entraiiil~e residenti su disco queste librerie mettono a disposizione<br />

una precisione molto piìl elevata e risultano piì~<br />

lente delle precedenti solo in iiiancanza di un coprocessore<br />

iiiateiiiatico.<br />

Potenziali utenti deiie librerie FFP<br />

Anche se può sembrare a pi-iii~a vista curioso. la conoscenza<br />

delle lil~rerie matematiche del sisteiiia operativo non è<br />

affatto indispensabile alla maggior parte dei programmatori;<br />

questo pei-clit. linguaggi ad alto livello come il BASIC, il<br />

C e il Modula-2 prevedono istnizioni o funzioni di libreria<br />

del coinpilatoi-e che costituiscono un'interfaccia più co111oda<br />

tra il prograiiiina e le routine n~atematiche del sistema<br />

operativo.<br />

Nella maggioranza dei casi i conipilatori prevedono, inoltre.<br />

iihrerie matematiche proprie. le cui routine vengono<br />

inserite a far parte del codice di un programsiia in fase di<br />

linking. In cluest'ultimo caso servirsi cielle librerie del<br />

coiiipilatore risulta piì~ conveniente per hen due motivi:<br />

innanzitutto. l'utilizzo di funzioni standard C o di iiiociuli di<br />

lihreria Modula-2 relativaniente standardizzati, contribuisce<br />

ad aumentare notevolinente la portabiliti del sorgente;<br />

in secondo luogo. il funzionaniento del codice generato<br />

risulterà indipendente dalla presenza o ineno dei file di<br />

libreria nella directory LIBS:, dal moiiiento che le routine del<br />

linker costituiscono parte integrante del programma eseguilile.<br />

Questo E~cilita l'installazione del programiiia e ne assicura<br />

il f~inzionaiiiento anclie in presenza di revisioni passate del<br />

sistema operativo.<br />

Per quanto t; stato detto le routine delle librerie matematiclie<br />

dovrebbero risultare patrimonio esclusivo dei pro-

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

Saved successfully!

Ooh no, something went wrong!