Problem with lroundf()

Dave Korn dave.korn@artimi.com
Fri Aug 24 20:50:00 GMT 2007


On 24 August 2007 17:16, François-Xavier Coudert wrote:

> Hi all,
> 
> I think the following exhibits a bug in the lroundf() routine:

  Gahh, it's entirely likely, we keep finding cruft and corner cases in the fp
math.  Cygwin's maths routines come from newlib; post redirected there and
fups-to set.

 
> $ cat a.c
> #include <math.h>
> #include <stdio.h>
> 
> int main (void) {
>   printf ("%d\n", (int) lroundf(0.7));
> }
> 
> $ gcc a.c && ./a.exe
> 0
> 
> The result of lroundf(0.7) should be 1, not 0. If lround() is used
> instead of lroundf(), then it's working OK.
> 
> I didn't file a PR in bugzilla because the bug report instructions say
> to send a mail to this list, but I can open one if need be.
> 
> Thanks,
> FX

  Might get some spare time over the weekend to look at this with you, might not.
Sorry I can't be more certain.

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....



More information about the Newlib mailing list