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