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