Re: Fortran e precisione nei calcoli

From: Roberto Rosoni <roberto.rosoni_at_liberoLock.it>
Date: Wed, 30 Apr 2003 00:10:03 +0200

Giorgio Pastore, in data Tue, 29 Apr 2003 23:29:45 +0200, ha scritto in
"it.scienza.fisica" nel thread "Re: Fortran e precisione nei calcoli":


Ci� che dici, ed i link che hai indicato sono molto interessanti.

Solo non concordo con te su questo punto, almeno con il F77 di Digital.

> Le costanti non sono solo quelle dei parameter. Se hai un' istruzione
> come :
> a = 2.0 * acos ( -1.0 )
> hai 2 costanti: 2.0 e -1.0 . Queste sono del kind di default (32 bit in
> genere) quindi non puoi aspettarti per a un' approssimazione a 2 Pi
> migliore di una a 7 cifre significative. Nel Fortran 77 uno era
> obbligato a modificare le costanti in 2.0D0 e -1.0D0 per dire che
> andavano considerate a 64 bit.


Se fai:

DOUBLE PRECISION PI

PI = DACOS (-1.)

In PI ti trovi pi greco a 64 bit. Anzi sono convinto che accada anche se usi
ACOS() perch� il compilatore vede che deve caricare un doppiaprecisione e
sceglie la giusta mathfunc.
Inoltre -1. e -1.D0 hanno lo stesso esponente e la stessa mantissa binaria:
nel secondo hai solo 32 zeri in pi� nella mantissa, irrilevanti quindi come
argomento di input alla funzione.

Non so con quelle barzellette che erano i compilatori IBM dei /370, ma con
quelli Digital (GRANDE Digital!) era cos�.

Ciao!
 
-- 
Roberto Rosoni
<roberto.rosoni_at_liberoLock.it> (Remove the Lock in your replies)
 
I Veri Programmatori non muoiono mai, al massimo saltano ad un nuovo indirizzo.
 
Received on Wed Apr 30 2003 - 00:10:03 CEST

This archive was generated by hypermail 2.3.0 : Fri Nov 08 2024 - 05:10:30 CET