Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
From: "Dave Korn" <dave.korn@artimi.com>
To: <cygwin@cygwin.com>
Subject: RE: SV: Bug in printf ?
Date: Thu, 30 Jun 2005 12:59:46 +0100
MIME-Version: 1.0
Content-Type: text/plain; 	charset="US-ASCII"
Content-Transfer-Encoding: 7bit
In-Reply-To: <20050630.202057.83613389.haro@kgt.co.jp>
Message-ID: <SERRANOPL83mxMAKytt000002d1@SERRANO.CAM.ARTIMI.COM>

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

