Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #73650
| References | (2 earlier) <53ab8bc4$0$11121$c3e8da3@news.astraweb.com> <mailman.11251.1403753977.18130.python-list@python.org> <53abe4ad$0$11121$c3e8da3@news.astraweb.com> <mailman.11254.1403775938.18130.python-list@python.org> <53acdc2d$0$29985$c3e8da3$5496439d@news.astraweb.com> |
|---|---|
| Date | 2014-06-27 13:24 +1000 |
| Subject | Re: python 3.44 float addition bug? |
| From | Chris Angelico <rosuav@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.11277.1403839456.18130.python-list@python.org> (permalink) |
On Fri, Jun 27, 2014 at 12:51 PM, Steven D'Aprano <steve+comp.lang.python@pearwood.info> wrote: > Although you seem to have missed the critical issue: this is a failure > mode which *binary floats cannot exhibit*, but decimal floats can. The > failure being that > > assert x <= (x+y)/2 <= y > > may fail if x and y are base 10 floats. No, I didn't miss that; I said that what you were looking at was *also* caused by intermediate rounding. It happens because .516 + .518 = 1.034, which rounds to 1.03; half of that is .515, which is outside of your original range - but the intermediate rounding really reduced the "effective precision" to two digits, by discarding some of the information in the original. If you accept that your result is now accurate to only two digits of precision, then that result is within one ULP of correct (you'll record the average as either .51 or .52, and your two original inputs are both .52, and the average of .52 and .52 is clearly .52). But you're right that this can be very surprising. And it's inherent to the concept of digits having more range than just "high" or "low", so there's no way you can get this with binary floats. ChrisA
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
python 3.44 float addition bug? FraserL <fraser.long+usenet@NOSPAMgmail.com> - 2014-06-20 19:57 -0500
Re: python 3.44 float addition bug? FraserL <fraser.long+usenet@gmail.com> - 2014-06-20 20:11 -0500
Re: python 3.44 float addition bug? Gary Herron <gary.herron@islandtraining.com> - 2014-06-20 18:19 -0700
Re: python 3.44 float addition bug? Gary Herron <gary.herron@islandtraining.com> - 2014-06-20 18:07 -0700
Re: python 3.44 float addition bug? Chris Angelico <rosuav@gmail.com> - 2014-06-21 11:33 +1000
Re: python 3.44 float addition bug? INADA Naoki <songofacandy@gmail.com> - 2014-06-21 10:06 +0900
Re: python 3.44 float addition bug? Grant Edwards <invalid@invalid.invalid> - 2014-06-21 14:25 +0000
Re: python 3.44 float addition bug? Ned Deily <nad@acm.org> - 2014-06-21 12:24 -0700
Re: python 3.44 float addition bug? buck <workitharder@gmail.com> - 2014-06-23 17:55 -0700
Re: python 3.44 float addition bug? Chris Angelico <rosuav@gmail.com> - 2014-06-24 13:26 +1000
Re: python 3.44 float addition bug? Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-06-24 17:30 +1200
Re: python 3.44 float addition bug? Steven D'Aprano <steve@pearwood.info> - 2014-06-24 06:34 +0000
Re: python 3.44 float addition bug? Maciej Dziardziel <fiedzia@gmail.com> - 2014-06-25 14:12 -0700
Re: python 3.44 float addition bug? Steven D'Aprano <steve@pearwood.info> - 2014-06-26 02:56 +0000
Re: python 3.44 float addition bug? Chris Angelico <rosuav@gmail.com> - 2014-06-26 13:13 +1000
Re: python 3.44 float addition bug? Steven D'Aprano <steve@pearwood.info> - 2014-06-26 04:17 +0000
Re: python 3.44 float addition bug? Chris Angelico <rosuav@gmail.com> - 2014-06-26 14:41 +1000
Re: python 3.44 float addition bug? Ben Finney <ben@benfinney.id.au> - 2014-06-26 13:39 +1000
Re: python 3.44 float addition bug? Steven D'Aprano <steve@pearwood.info> - 2014-06-26 09:15 +0000
Re: python 3.44 float addition bug? Chris Angelico <rosuav@gmail.com> - 2014-06-26 19:38 +1000
Re: python 3.44 float addition bug? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-06-27 02:51 +0000
Re: python 3.44 float addition bug? Chris Angelico <rosuav@gmail.com> - 2014-06-27 13:24 +1000
Re: python 3.44 float addition bug? Ian Kelly <ian.g.kelly@gmail.com> - 2014-06-27 10:18 -0600
Re: python 3.44 float addition bug? Stefan Behnel <stefan_ml@behnel.de> - 2014-06-26 07:53 +0200
csiph-web