It seems to work for me. Define a parameter
double precision,parameter :: inf = 1.d0/0.d0
Then use it in tests.
real :: sng double precision :: dbl1,dbl2 sng = 1.0/0.0 dbl1 = 1.d0/0.d0 dbl2 = -log(0.d0) if(sng == inf) write(*,*)"sng = inf" if(dbl1 == inf) write(*,*)"dbl1 = inf" if(dbl2 == inf) write(*,*)"dbl2 = inf" read(*,*)
When compiling with ifort and running I get
sng = inf dbl1 = inf dbl2 = inf
Ben1344
source share