SV: Bug in printf ?

Dave Korn dave.korn@artimi.com
Thu Jun 30 12:06:00 GMT 2005


----Original Message----
>From: haro@kgt.co.jp
>Sent: 30 June 2005 12:21

> From: "Peter J. Acklam" <pjacklam at online no>
> Date: Thu, 30 Jun 2005 13:06:51 +0200 (CEST)
>>> 
>>>> I'm seeing small bug in printf implementation.
>>> 
>>> What bug? I didn't see anything unexpected.
>>> 
>>> Peter
> 
> Hi Peter,
> 
> How come "0.125" gets printed as "0.12", and not "1.3"?
> 
> Haro


  Absolutely, there's a rounding error of some sort.  Compare the difference
when compiling the testcase with -mno-cygwin (i.e. using mingw maths lib):

dk@mace /test/signed/lr2> cat aaa.c
#include <stdio.h>
int main(int argc, const char **argv)
{
    printf("%0.2f\n", 0.105);
    printf("%0.2f\n", 0.115);
    printf("%0.2f\n", 0.125);
    printf("%0.2f\n", 0.135);
    return 0;
}

dk@mace /test/signed/lr2> gcc -O0 -g aaa.c -o aaa-c
dk@mace /test/signed/lr2> ./aaa-c.exe
0.10
0.12
0.12
0.14
dk@mace /test/signed/lr2> gcc -O0 -g -mno-cygwin aaa.c -o aaa-m
dk@mace /test/signed/lr2> ./aaa-m.exe
0.11
0.12
0.13
0.14
dk@mace /test/signed/lr2>


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


--
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/



More information about the Cygwin mailing list