Re: problem with very small numbers - g95 versus gfortran



"e p chandler" <epc8@xxxxxxxx> wrote in message
news:140c5865-b126-4610-bf49-1822ae651dba@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

C:\Users\epc\AppData\Local\Temp/ccErGX8Q.o:mega.f90:(.text+0xb0):
undefined refe
rence to `complex_'

Oops. The COMPLEX intrinsic was a Craig Burley original, not
carried forward to g95. Here is the standard-conforming variant:

C:\gcc_mingw64a\test\denormal>type mega.f90
program mega
real(4) x4
real(8) x8
real(10) x10
real pi

pi = 4*atan(1.0)

x4 = 2
x4 = log(huge(x4))+log(x4)*1.1
write(*,*) cos(cmplx(pi/4,x4,kind(x4)))
x4 = log(huge(x4))
write(*,*) cos(cmplx(pi/4,x4,kind(x4)))

x8 = 2
x8 = log(huge(x8))+log(x8)*1.1
write(*,*) cos(cmplx(pi/4,x8,kind(x8)))
x8 = log(huge(x8))
write(*,*) cos(cmplx(pi/4,x8,kind(x8)))

x10 = 2
x10 = log(huge(x10))+log(x10)*1.1
write(*,*) cos(cmplx(pi/4,x10,kind(x10)))
x10 = log(huge(x10))
write(*,*) cos(cmplx(pi/4,x10,kind(x10)))
write(*,*) huge(x4)
write(*,*) huge(x8)
write(*,*) huge(x10)
end program mega

C:\gcc_mingw64a\test\denormal>x86_64-pc-mingw32-gfortran mega.f90 -omega

C:\gcc_mingw64a\test\denormal>mega
( +Infinity, -Infinity)
( 1.20308013E+38,-1.20308013E+38)
( +Infinity, -Infinity)
( 6.35580489185754273E+307,-6.35580516967861561E+307)
( +Infinity, -Infinity)
( 4.20633594885755398476E+4931,-4.20633613272234874657E+4931)
3.40282347E+38
1.79769313486231571E+308
1.18973149535723176502E+4932

--
write(*,*) transfer((/17.392111325966148d0,6.5794487871554595D-85, &
6.0134700243160014d-154/),(/'x'/)); end


.