X-Spam-Check-By: sourceware.org
Message-ID: <440AEE89.7050206@cs.unipr.it>
Date: Sun, 05 Mar 2006 14:58:33 +0100
From: Roberto Bagnara <bagnara@cs.unipr.it>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050929 Thunderbird/1.0.7 Fedora/1.0.7-1.1.fc4 Mnenhy/0.7.3.0
MIME-Version: 1.0
To: skaller <skaller@users.sourceforge.net>
CC: tprince@computer.org, cygwin@cygwin.com,
   "The Parma Polyhedra Library developers' list" <ppl-devel@cs.unipr.it>
Subject: Re: Precision of doubles and stdio
References: <4408B886.5010209@cs.unipr.it> <4408C140.9030100@myrealbox.com>	 <440ACF12.7000403@cs.unipr.it> <1141564216.10188.27.camel@budgie.wigram>
In-Reply-To: <1141564216.10188.27.camel@budgie.wigram>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
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

skaller wrote:
> On Sun, 2006-03-05 at 12:44 +0100, Roberto Bagnara wrote:
>> Tim Prince wrote:
>>  My 
>>> past reading of various relevant documents convinced me that digits 
>>> beyond the 17th in formatting of doubles are not required by any 
>>> standard to be consistent between implementations.  They have no useful 
>>> function, as 17 digits are sufficient to determine uniquely the 
>>> corresponding binary value in IEEE 754 format.
>> Thank you Tim.  We were unaware of this giant bug in the C standard.
>> All the best,
> 
> There is no bug in the C Standard. The C standard makes it 
> clear the accuracy of floating point operations is 
> implementation defined ,and the implementor may even say the 
> accuracy is undefined.

Which operations are you talking about?  I am not talking
about floating point operations.

> This is not a bug, it is the proper thing for a language
> standard. 

Call it the way you want: I call `buggy' a standard that
allows an invocation of

     printf("%.37g\n", d);

to silently ignore 20 or so significant digits (and apparently
for no good reason, by the way).  You can call it `bad design',
if you prefer.  Or `unfortunate legacy'.  You are of course
free to call it `good design' if you like it.
All the best,

     Roberto

-- 
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara@cs.unipr.it

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

