PDA

View Full Version : richiami di funzioni in fortran/c


zewale
12-08-2010, 15:25
Quando richiamo la funzione exp, cos o sin in fortran o in un altro linguaggio(es.: C, C++) immagino (nn lo so, non sono un esperto di programmazione) che di fatto si richiami qualche sorta di procedura che si trova in qualche file installato con il compilatore. Sono completamente fuori strada?
Se è così qualcuno sa indicarmi dove si trovano questi file (utilizzo linux kubuntu). Se riesco a trovarli e capisco fisicamente che calcoli fa il pc quando richiamo la funzione exp sono a posto.
Devo valutare la complessità computazionale di un'operazione di tipo esponenziale complesso e mi servirebbe essere il più preciso possibile. Spulciando su internet ho trovato qualcosa a riguardo ma non molto. Boh!

Grazie mille

Ciao

Teo@Unix
12-08-2010, 20:45
Non sei fuori strada.
Le funzioni delle libc non vengono "solitamente" inserire come istruzioni dentro gli eseguibili, ma restano slegate...
si trovano dentro un'altro binario che viene linkato nell'immagine di processo al momento dell'esecuzione. Nel caso di linux c'è un ottimo sistema di librerie condivise.
Se vuoi vedere i sorgenti delle funzioni matematiche in questo caso trovi tutto il codice di implementazione tra i sorgenti delle libc, nella cartella math.
E' sufficiente che le scarichi.

Il punto è che ora come ora i compilatori sono diventati oltre modo efficienti, può succedere che alcune funzioni vengono inserire direttamente come codice dal compilatore. Ad esempio con la funzione pow()....
Se la tua analisi è su calcoli non base, non dovresti avere questo problema.
Cosa analizzi della funzione esattamente se posso chiedere....

cionci
13-08-2010, 08:19
Alcune cose le puoi trovare qui: ftp://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-fortran-4.5.1.tar.bz2

zewale
13-08-2010, 09:52
Intanto grazie per le infromazioni. Adesso darò un'occhiata alle cose che mia avete segnalato. Per la tesi devo valuatare la complessità computazionale di un'algoritmo e mi sarebbe utile capire come fortran calcola la funzione exp(esponenziale) complesso per vedere il numero di calcoli effettuati. Volevo capire quale tipo di algoritmo interno usava fortran per il calcolo dell'esponenziale(Taylor o altro...).

Per ora grazie mille

a2000.1
13-08-2010, 13:23
Taylor e altro ...