FORTRAN 95: Évaluation en ligne des conditions IF
Question
Ici, un petit extrait de code qui renvoie Epsilon () pour une valeur réelle:
program epstest
real :: eps=1.0, d
do
d=1.0+eps
if (d==1.0) then
eps=eps*2
exit
else
eps=eps/2
end if
end do
write(*,*) eps, epsilon(d)
pause
end program
Maintenant, quand je remplace la condition IF par
if (1.0+eps==1.0) then
Le programme devrait avoir la même chose en retour, mais ce n'est malheureusement pas! Je l'ai testé avec la dernière version (instantanée) de G95 sur Linux et Windows.
Quelqu'un peut-il m'expliquer ce problème?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow