public inbox for glibc-bugs@sourceware.org help / color / mirror / Atom feed
From: "john at thesalmons dot org" <sourceware-bugzilla@sourceware.org> To: glibc-bugs@sources.redhat.com Subject: [Bug libc/3479] Incorrect rounding in strtod() Date: Mon, 05 Feb 2007 21:54:00 -0000 [thread overview] Message-ID: <20070205215435.30645.qmail@sourceware.org> (raw) In-Reply-To: <20061107172025.3479.hack@watson.ibm.com> ------- Additional Comments From john at thesalmons dot org 2007-02-05 21:54 ------- I was not sufficiently clear in Comment #2. The fact that the code prints FAIL in certain cases does not demonstrate whether gcc's literal parser or glibc's strtof is faulty. It only proves that (at least) one of them is failing to adhere to "Recommended Practice" which says they should be the same. HOWEVER, careful inspection of the output, as well as knowledge of how the particular test case was chosen makes it pretty clear that *for this case* gcc is doing the right thing and strtof is at fault. gcc's rounding may not be perfect, but that's not at issue here. The input, "1.00000005960464477550" is the result of printf("%.21g", x) where x = 1 + FLT_EPSILON/2 + LDBL_EPSILON. I.e., it is specifically constructed to be *just a little bit larger* than the mid-point between two representable floats. Correct rounding should be to the larger of the two nearby floats, i.e., 1+FLT_EPSILON. gcc correctly constructs the literal 0x1.00002p0. strof incorrectly returns the value 1.0p0. -- http://sourceware.org/bugzilla/show_bug.cgi?id=3479 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
next prev parent reply other threads:[~2007-02-05 21:54 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2006-11-07 17:20 [Bug libc/3479] New: " hack at watson dot ibm dot com 2007-02-04 19:37 ` [Bug libc/3479] " john at thesalmons dot org 2007-02-04 19:44 ` john at thesalmons dot org 2007-02-05 16:48 ` joseph at codesourcery dot com 2007-02-05 18:32 ` hack at watson dot ibm dot com 2007-02-05 21:54 ` john at thesalmons dot org [this message] 2007-02-12 17:04 ` jakub at redhat dot com 2007-10-22 14:47 ` vincent+libc at vinc17 dot org 2009-07-15 14:59 ` Sylvain dot Pion at sophia dot inria dot fr 2009-07-15 15:23 ` Sylvain dot Pion at sophia dot inria dot fr 2009-07-15 15:50 ` vincent+libc at vinc17 dot org 2009-07-15 16:21 ` Sylvain dot Pion at sophia dot inria dot fr 2010-06-04 1:02 ` exploringbinary at gmail dot com 2010-06-04 1:03 ` exploringbinary at gmail dot com 2010-09-02 16:25 ` schwab at linux-m68k dot org [not found] <bug-3479-131@http.sourceware.org/bugzilla/> 2011-11-12 16:11 ` mwelinder at gmail dot com 2012-05-02 10:03 ` jsm28 at gcc dot gnu.org 2012-05-02 15:23 ` bugdal at aerifal dot cx 2012-05-02 16:01 ` floitsch at google dot com 2012-05-02 16:55 ` joseph at codesourcery dot com 2012-08-10 23:41 ` jsm28 at gcc dot gnu.org 2012-08-25 15:28 ` jsm28 at gcc dot gnu.org 2012-08-25 15:30 ` floitsch at google dot com 2012-08-27 16:13 ` jsm28 at gcc dot gnu.org 2013-11-12 16:43 ` exploringbinary at gmail dot com 2014-02-16 16:57 ` jackie.rosen at hushmail dot com 2014-05-28 19:44 ` schwab at sourceware dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20070205215435.30645.qmail@sourceware.org \ --to=sourceware-bugzilla@sourceware.org \ --cc=glibc-bugs@sources.redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).