Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com From: "Dave Korn" To: Subject: RE: SV: Bug in printf ? Date: Thu, 30 Jun 2005 13:29:56 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit In-Reply-To: <6879888.1120133556579.JavaMail.adm-moff@moffice2.nsc.no> Message-ID: ----Original Message---- >From: Peter J. Acklam >Sent: 30 June 2005 13:13 > Dave Korn [dave DOT korn AT NONONOATHOUSANDTIMESNO] wrote: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ http://cygwin.com/acronyms#PCYMTNQREAIYR please! TIA! > >> haro AT OOPSNOTAGAIN wrote: >> >>> How come "0.125" gets printed as "0.12", and not "1.3"? >> >> Absolutely, there's a rounding error of some sort. > > For what it's worth: My Sunblade 100 running Solaris 9 has > Solaris' /bin/printf and GNU's printf as /usr/local/bin/printf > and both give "0.12", not "0.13". > > I am quite sure it is the printf returning "0.13" that is buggy. Have you considered that your sunblade might be operating in a different rounding mode, by default? > Note that the value "0.125" can be represented exactly with IEEE > double precision arithmetic, so inexact representation is not the > matter here. I never suggested it was. Nonetheless, I would imagine that printf may well work under-the-hood by shifting the desired decimal places above the point, rounding to integer, and printing out that number. 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/