delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/05/26/02:28:11

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <8D00C32549556B4E977F81DBC24E985D1B1A2F@crtsmail1.technol_exch.corp.riotinto.org>
From: "Billinghurst, David (CRTS)" <David DOT Billinghurst AT riotinto DOT com>
To: "'cygwin AT cygwin DOT com'" <cygwin AT cygwin DOT com>
Subject: RE: Fw: BUG REPORT: unexpected floating point behavior
Date: Sat, 26 May 2001 05:12:27 -0000
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)

Try "What Every Computer Scientist Should Know about Floating-Point
Arithmetic"  from http://gcc.gnu.org/readings.html or have a look at some of
the links on http://www.cs.berkeley.edu/~wkahan/

> -----Original Message-----
> From:	Charles S. Wilson [SMTP:cwilson AT ece DOT gatech DOT edu]
> Sent:	Saturday, May 26, 2001 12:59 AM
> To:	Stan Malyshev
> Cc:	cygwin AT cygwin DOT com
> Subject:	Re: Fw: BUG REPORT:  unexpected floating point behavior
> 
> That's not a bug.  It's just the way floating point works (or doesn't
> work).  It boils down to a problem representing base10 floats with a
> 32bit base2 packed structure.  You need to read up on floating point and
> precision.  Try google...
> 
> --Chuck
> 
> Stan Malyshev wrote:
> > 
> > ----- Original Message -----
> > From: Stan Malyshev
> > To: cygwin AT cygwin DOT com
> > Cc: Tennyson Lee
> > Sent: Friday, May 25, 2001 3:40 AM
> > Subject: BUG REPORT: unexpected floating point behavior
> > 
> > Consider the following unexpected output of a simple loop that
> increments a
> > floating value by 0.1 at every iteration:
> > 
> > #include <stdio.h>
> > 
> > int main() {
> > 
> >   float x;
> > 
> >   for (x = 0; x < 4; x += 0.1f) {
> >     printf("x=%f\n", x);
> >   }
> > 
> >   return 0;
> > }
> > 
> > ------------------
> > 
> > x=0.000000
> > x=0.100000
> > x=0.200000
> > x=0.300000
> > x=0.400000
> > x=0.500000
> > x=0.600000
> > x=0.700000
> > x=0.800000
> > x=0.900000
> > x=1.000000
> > x=1.100000
> > x=1.200000
> > x=1.300000
> > x=1.400000
> > x=1.500000
> > x=1.600000
> > x=1.700000
> > x=1.800000
> > x=1.900000
> > x=2.000000
> > x=2.100000
> > x=2.200000
> > x=2.300000
> > x=2.400000
> > x=2.500000
> > x=2.600000
> > x=2.700000
> > x=2.799999
> > x=2.899999
> > x=2.999999
> > x=3.099999
> > x=3.199999
> > x=3.299999
> > x=3.399999
> > x=3.499999
> > x=3.599999
> > x=3.699999
> > x=3.799999
> > x=3.899998
> > x=3.999998
> > 
> > --
> > Want to unsubscribe from this list?
> > Check out: http://cygwin.com/ml/#unsubscribe-simple
> 
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019