[Bug libquadmath/65757] gfortran gives incorrect result for anint with real*16 argument

jvdelisle at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 23 01:31:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65757

--- Comment #6 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
I am thinking its not working, but maybe I do not understand the function.  I
created a loop like this (with the patch):

q1 = 233181505644407.99999999999999999999q0
q2 = anint (q1)
q3 = 233181505644408.00000000000000000000q0
do i=1,1000
  q1=q1+.02400039q0
  q2=anint(q1)
  write (6, '(f50.25)') q1, q2
  write (6, '(z35)') q1, q2
end do

Scrolling through the results, I spot this:

         233181505644431.7363857099999999995104932
         233181505644431.5000000000000000000000000
   402EA827999FCF1F79078C3B622BC417
   402EA827999FCF1F0000000000000000



More information about the Gcc-bugs mailing list