Fortran 95: valutazione in linea di IF-Conditions
Domanda
Qui un piccolo frammento di codice che restituisce Epsilon () per un valore reale:
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
Ora, quando sostituisco la condizione if da
if (1.0+eps==1.0) then
Il programma dovrebbe avere lo stesso in cambio, ma purtroppo no! L'ho testato con l'ultima versione (istantanea) di G95 su Linux e Windows.
Qualcuno può spiegarmi quel problema?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow