----Original Message---- >From: [EMAIL PROTECTED] >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): [EMAIL PROTECTED] /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; } [EMAIL PROTECTED] /test/signed/lr2> gcc -O0 -g aaa.c -o aaa-c [EMAIL PROTECTED] /test/signed/lr2> ./aaa-c.exe 0.10 0.12 0.12 0.14 [EMAIL PROTECTED] /test/signed/lr2> gcc -O0 -g -mno-cygwin aaa.c -o aaa-m [EMAIL PROTECTED] /test/signed/lr2> ./aaa-m.exe 0.11 0.12 0.13 0.14 [EMAIL PROTECTED] /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/