[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#121852: g77-3.0 fails to compute a complex log of certain values (please close this bug)



Hi,

Feel free to close this bug (#121852).

The new g77-3.0 

$ apt-show-versions -p g77-3.0
g77-3.0/unstable uptodate 1:3.0.4-1

$ g77-3.0 --version
GNU Fortran 0.5.26 20020220 (release)

compiles and runs the program properly (see script below). Best regards,

Jaume 

=============================================================
jasi $ g77 --version
GNU Fortran 0.5.25 20010319 (prerelease)
Copyright (C) 1997 Free Software Foundation, Inc.
For more version information on components of the GNU Fortran
compilation system, especially useful when reporting bugs,
type the command `g77 --verbose'.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING
or type the command `info -f g77 Copying'.
jasi $ cat prova.F
      program prova
      implicit none
      double complex cs,x1,x2
      double precision precc,x0

      x0=0.d0
      precc = 0.01d0      
      print *,"precc,x0:",precc,x0
C     This is fine
      cs = exp(log(DCMPLX(1+precc,x0)))
      write(6,FMT=*), "cs=exp(log(1+precc))=",dble(cs)

      x0=0.d0
      precc = 0.001d0
      print *,"precc,x0:",precc,x0
      
C     This is fine
      cs = exp(log(DCMPLX(1+precc,x0)))
      write(6,*), "cs=exp(log(1+precc))=",dble(cs)

C     This value is not fine
      precc=0.00390625d0
      print *,"precc,x0:",precc,x0

      x1=DCMPLX(1+precc,x0)
      write(6,*) "x1=",x1
      x2=log(x1)
      write(6,*) "x2=log(x1)=",x2
      cs=exp(x2)      
      write(6,*), "cs=exp(x2)=",dble(cs)
      cs = exp(log(DCMPLX(1+precc,x0)))
      write(6,*), "cs=exp(log(1+precc))=",dble(cs)

      stop
      end

jasi $ g77-3.0 -o prova prova.F
jasi $ ./prova
 precc,x0:  0.01  0.
 cs=exp(log(1+precc))=  1.01
 precc,x0:  0.001  0.
 cs=exp(log(1+precc))=  1.001
 precc,x0:  0.00390625  0.
 x1= (1.00390625,0.)
 x2=log(x1)= (0.00389864042,0.)
 cs=exp(x2)=  1.00390625
 cs=exp(log(1+precc))=  1.00390625
jasi $ exit

Script done on Tue Feb 26 15:29:11 2002

Jaume Guasch <guasch@itp.uni-karlsruhe.de> writes:

> Package: g77-3.0
> Version: 1:3.0.2-3
> Severity: normal
> 
> 
> g77-3.0 fails to compute a complex log of certain values
> 
> computing log(x), for certain complex values of x (e.g. x=(1.00390625,0.) ) 
> the fortran program enters a loop (no error, no core ... ), does not
> compute the  value, and the program has to be killed (with Ctrl-C).
> 
> g77-2.95 can compute the value. 
> 
> Below there is a script session (together with the program) to reproduce
> the bug. g77-2.95 runs the program fine, g77-3.0 doesn't
> 
> Best regards,
> 
> Jaume 
> 
> 
> ==================================================
> Script started on Fri Nov 30 16:36:03 2001
> jasi $ g77 --version
> GNU Fortran 0.5.25 20010319 (prerelease)
> Copyright (C) 1997 Free Software Foundation, Inc.
> For more version information on components of the GNU Fortran
> compilation system, especially useful when reporting bugs,
> type the command `g77 --verbose'.
> 
> GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
> You may redistribute copies of GNU Fortran
> under the terms of the GNU General Public License.
> For more information about these matters, see the file named COPYING
> or type the command `info -f g77 Copying'.
> jasi $ gcc --version
> 2.95.4
> jasi $ cat prova.F
>       program prova
>       implicit none
>       double complex cs,x1,x2
>       double precision precc,x0
> 
>       x0=0.d0
>       precc = 0.01d0      
>       print *,"precc,x0:",precc,x0
> C     This is fine
>       cs = exp(log(DCMPLX(1+precc,x0)))
>       write(6,FMT=*), "cs=exp(log(1+precc))=",dble(cs)
> 
>       x0=0.d0
>       precc = 0.001d0
>       print *,"precc,x0:",precc,x0
>       
> C     This is fine
>       cs = exp(log(DCMPLX(1+precc,x0)))
>       write(6,*), "cs=exp(log(1+precc))=",dble(cs)
> 
> C     This value is not fine
>       precc=0.00390625d0
>       print *,"precc,x0:",precc,x0
> 
>       x1=DCMPLX(1+precc,x0)
>       write(6,*) "x1=",x1
>       x2=log(x1)
>       write(6,*) "x2=log(x1)=",x2
>       cs=exp(x2)      
>       write(6,*), "cs=exp(x2)=",dble(cs)
>       cs = exp(log(DCMPLX(1+precc,x0)))
>       write(6,*), "cs=exp(log(1+precc))=",dble(cs)
> 
>       stop
>       end
> 
> jasi $ g77 -o prova295 prova.F
> jasi $ ./prova295
>  precc,x0:  0.01  0.
>  cs=exp(log(1+precc))=  1.01
>  precc,x0:  0.001  0.
>  cs=exp(log(1+precc))=  1.001
>  precc,x0:  0.00390625  0.
>  x1= (1.00390625,0.)
>  x2=log(x1)= (0.00389864042,0.)
>  cs=exp(x2)=  1.00390625
>  cs=exp(log(1+precc))=  1.00390625
> jasi $ g77-3.0 --version
> GNU Fortran 0.5.26 20011023 (release)
> Copyright (C) 2001 Free Software Foundation, Inc.
> For more version information on components of the GNU Fortran
> compilation system, especially useful when reporting bugs,
> type the command `g77 --verbose'.
> 
> GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
> You may redistribute copies of GNU Fortran
> under the terms of the GNU General Public License.
> For more information about these matters, see the file named COPYING
> or type the command `info -f g77 Copying'.
> jasi $ gcc-2 3, .0 --version
> 3.0.2
> jasi $ g77-3.0 -o prova3 prova.F
> jasi $ ./prova3
>  precc,x0:  0.01  0.
>  cs=exp(log(1+precc))=  1.01
>  precc,x0:  0.001  0.
>  cs=exp(log(1+precc))=  1.001
>  precc,x0:  0.00390625  0.
>  x1= (1.00390625,0.)
> Interrupt
> jasi $ exit
> 
> Script done on Fri Nov 30 16:37:32 2001
> 
> 
> 
> -- System Information
> Debian Release: testing/unstable
> Architecture: i386
> Kernel: Linux jasi 2.4.14 #1 Sun Nov 18 18:19:45 CET 2001 i686
> Locale: LANG=C, LC_CTYPE=
> 
> Versions of packages g77-3.0 depends on:
> ii  gcc-3.0                       1:3.0.2-3  The GNU C compiler.
> ii  gcc-3.0-base                  1:3.0.2-3  The GNU Compiler Collection (base 
> ii  libc6                         2.2.4-5    GNU C Library: Shared libraries an

-- 



Reply to: