Stupéfaction dans un format !
Bonjour, voici un code tout simple :
Code:
1 2 3 4 5 6 7 8 9
| program test
implicit none
double precision :: a = 10.d0, b = 45.3543d12, c = 74.d0
write(*,"(F8.3,1pD16.4,F8.3)") a, b, c
write(*,"(F8.3,D16.4,F8.3)") a, b, c
end program test |
Dans le premier write je met dans le format le 1p pour avoir un chiffre avant la virgule. Jusque là rien d'anormal. Regardez la sortie fait un peu peur 8O :
Code:
1 2 3 4
|
> a.out
10.000 4.5354D+13 740.000
10.000 0.4535D+14 74.000 |
J'ai la même chose avec ifort et gfortran. C'est un truc écrit dans la norme ou c'est un bug de compilateur 8O ?