This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Inline round for IA64
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: sgk at troutmask dot apl dot washington dot edu
- Cc: gcc-patches at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- Date: Thu, 7 Apr 05 13:31:17 EDT
- Subject: Re: Inline round for IA64
> print *, 'nint ( y ) =', nint (y), ', where y < 0.5 = ', y < 0.5
> end
>
> output is
> nint ( 8388609. ) = 8388610
> nint ( y ) = 1 , where y < 0.5 = T
Try -fdump-parse-tree. You've given more digits in y than
its precision. This is permitted by the standard. It appears
the gfortran frontend is taking y = 0.499999 and the closest
representable nubmer is y = 0.5.
If that's what were happening, then the "T" in the output above would
have been "F".