Inline round for IA64
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Thu Apr 7 17:30:00 GMT 2005
> 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".
More information about the Gcc-patches
mailing list