This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/47945] REAL(8) output conversion error on MinGW32
- From: "jvdelisle at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 2 Mar 2011 00:22:45 +0000
- Subject: [Bug libfortran/47945] REAL(8) output conversion error on MinGW32
- Auto-submitted: auto-generated
- References: <bug-47945-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47945
Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jvdelisle at gcc dot
| |gnu.org
--- Comment #5 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-03-02 00:22:41 UTC ---
For real 8, it is meaningless to carry the conversion on adinfinatum just
because someone asked for extra width to be printed. So the zeros shown are
perfectly OK.
On Cygwin I get with real 8:
0.14285714285714284921269000000000
and with nearest(r8, -1.0)
0.14285714285714282145712000000000
and nearest(r8, +1.0)
0.14285714285714287696827000000000
I would be curious about the last three non-zero digits you see on MingW
0.14285714285714284921875000000000
but I see no justification for the digits to match at all after the
...571428 sequence with two different implementations. You just can not get
more precision then is really there, a finite number of bits. (IMHO)