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
Date: Thu, 30 Jun 2005 09:47:40 -0700
From: Yitzchak Scott-Thoennes <sthoenna@efn.org>
To: cygwin@cygwin.com
Subject: Re: Bug in printf ?
Message-ID: <20050630164740.GA3104@efn.org>
References: <20050630.202057.83613389.haro@kgt.co.jp> <20050630.202554.129758646.haro@kgt.co.jp> <8864897.1120133151080.JavaMail.adm-moff@moffice2.nsc.no> <20050630.214457.02636322.haro@kgt.co.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20050630.214457.02636322.haro@kgt.co.jp>
User-Agent: Mutt/1.4.2.1i
X-IsSubscribed: yes

On Thu, Jun 30, 2005 at 09:44:57PM +0900, haro@kgt.co.jp wrote:
> ::Dealing with integers illustrates the matter more clearly. When
> ::the decimal value is exactly 0.5, then printf should round to the
> ::nearest *even* integer, as far as I know, so you should get
> 
> Hi Peter,
> 
> Thank you for your explanation. I didn't know, until now, that
> rounding should be done to the "nearest *even* integer".
> Need to learn every day. ;-)

This is done to prevent systemic bias.

However, note that
http://www.opengroup.org/onlinepubs/009695399/functions/printf.html says:
"The low-order digit shall be rounded in an implementation-defined manner."
so while people have come to expect unbiased rounding, it isn't actually
mandatory AIUI under vanilla SUSv3.

Also see "What Every Computer Scientist Should Know About
Floating-Point Arithmetic" at (among other places)
http://docs.sun.com/source/806-3568/ncg_goldberg.html.

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

