Mail Archives: cygwin/2007/08/24/16:50:35
I have just made a patch. The code in lroundf() was making a comparison
between an int and a calculation using sizeof. This ended up being an
unsigned comparison and in this case, the int value was < 1.
-- Jeff J.
Dave Korn wrote:
> 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
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -