jim@interet.UUCP (User) (01/09/91)
We check for NAN as follows: if(dnum*0d0 .ne. 0d0) write(*,1) 1 format(' The variable dnum is equal to NAN!') The point is that NAN times zero is NAN for machines that use NAN. Unfortunately the above code can be defeated by compiler optimizations, so you may need to write: if(impossible) then dzero=1.d0 else dzero=0d0 endif if(dnum*dzero .ne. 0d0) write(*,1) 1 format(' The variable dnum is equal to NAN!') where "impossible" is some impossible logical expression. I hope this helps. Jim Ahlstrom uunet!interet!jim