public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug 1001628] New: %g printf format prints more digits than expected
@ 2012-07-24 17:43 bugzilla-daemon
2012-07-25 8:07 ` [Bug 1001628] " bugzilla-daemon
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: bugzilla-daemon @ 2012-07-24 17:43 UTC (permalink / raw)
To: unassigned
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001628
Summary: %g printf format prints more digits than expected
Product: eCos
Version: CVS
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: low
Component: C library
AssignedTo: unassigned@bugs.ecos.sourceware.org
ReportedBy: bernd.edlinger@hotmail.de
CC: ecos-bugs@ecos.sourceware.org
Class: Advice Request
Created an attachment (id=1841)
--> (http://bugs.ecos.sourceware.org/attachment.cgi?id=1841)
a proposed patch to fix this defect
when a printf format like "%.7g" is used, you would expect
to see at most 7 valid decimals. But if the value is very close
to an integer like (float)5.000123 the output may look like "5.000123xxxx"
with xxxx = 4 additional digits which contain only rounding errors.
The correct output would be "5.000123", which is 7 valid digits.
The reason is in "language/c/libc/stdio/current/src/output/vfnprintf.cxx",
where the loop termination assumes the number of leading digits (in expcnt)
to be zero, which is not always the case however.
To fix this use the attached patch file.
The patch also introduces an additional test case in
"language/c/libc/stdio/current/tests/sprintf2.c",
which will only succeed when the printf format is output correctly.
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug 1001628] %g printf format prints more digits than expected
2012-07-24 17:43 [Bug 1001628] New: %g printf format prints more digits than expected bugzilla-daemon
@ 2012-07-25 8:07 ` bugzilla-daemon
2012-08-08 7:06 ` bugzilla-daemon
2012-08-11 6:28 ` bugzilla-daemon
2 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon @ 2012-07-25 8:07 UTC (permalink / raw)
To: unassigned
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001628
Bernd Edlinger <bernd.edlinger@hotmail.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Flag| |Patch_or_Contribution+
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug 1001628] %g printf format prints more digits than expected
2012-07-24 17:43 [Bug 1001628] New: %g printf format prints more digits than expected bugzilla-daemon
2012-07-25 8:07 ` [Bug 1001628] " bugzilla-daemon
@ 2012-08-08 7:06 ` bugzilla-daemon
2012-08-11 6:28 ` bugzilla-daemon
2 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon @ 2012-08-08 7:06 UTC (permalink / raw)
To: unassigned
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001628
Bernd Edlinger <bernd.edlinger@hotmail.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #1841|0 |1
is patch| |
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug 1001628] %g printf format prints more digits than expected
2012-07-24 17:43 [Bug 1001628] New: %g printf format prints more digits than expected bugzilla-daemon
2012-07-25 8:07 ` [Bug 1001628] " bugzilla-daemon
2012-08-08 7:06 ` bugzilla-daemon
@ 2012-08-11 6:28 ` bugzilla-daemon
2 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon @ 2012-08-11 6:28 UTC (permalink / raw)
To: unassigned
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001628
--- Comment #1 from Bernd Edlinger <bernd.edlinger@hotmail.de> 2012-08-11 07:28:22 BST ---
see bug #20804 for a cumulative patch that fixes several issues, including the
%g format.
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug 1001628] New: %g printf format prints more digits than expected
@ 2012-07-24 17:43 bugzilla-daemon
0 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon @ 2012-07-24 17:43 UTC (permalink / raw)
To: ecos-bugs
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001628
Summary: %g printf format prints more digits than expected
Product: eCos
Version: CVS
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: low
Component: C library
AssignedTo: unassigned@bugs.ecos.sourceware.org
ReportedBy: bernd.edlinger@hotmail.de
CC: ecos-bugs@ecos.sourceware.org
Class: Advice Request
Created an attachment (id=1841)
--> (http://bugs.ecos.sourceware.org/attachment.cgi?id=1841)
a proposed patch to fix this defect
when a printf format like "%.7g" is used, you would expect
to see at most 7 valid decimals. But if the value is very close
to an integer like (float)5.000123 the output may look like "5.000123xxxx"
with xxxx = 4 additional digits which contain only rounding errors.
The correct output would be "5.000123", which is 7 valid digits.
The reason is in "language/c/libc/stdio/current/src/output/vfnprintf.cxx",
where the loop termination assumes the number of leading digits (in expcnt)
to be zero, which is not always the case however.
To fix this use the attached patch file.
The patch also introduces an additional test case in
"language/c/libc/stdio/current/tests/sprintf2.c",
which will only succeed when the printf format is output correctly.
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-08-11 6:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-24 17:43 [Bug 1001628] New: %g printf format prints more digits than expected bugzilla-daemon
2012-07-25 8:07 ` [Bug 1001628] " bugzilla-daemon
2012-08-08 7:06 ` bugzilla-daemon
2012-08-11 6:28 ` bugzilla-daemon
2012-07-24 17:43 [Bug 1001628] New: " bugzilla-daemon
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).