This is the mail archive of the
mailing list for the GNU Fortran project.
Re: [patch, libgfortran] PR48906 Wrong rounding results with -m32
> I don't agree with this; with the patch we now output 10 significant
> digits, whereas 9 is sufficient for a binary->ascii->binary roundtrip.
> So please retain the "reduce d by one when E editing is used" thing
> for list format and G0. This is just a side effect of using 1PGw.d
> format for list format and G0 in order to avoid duplicating code, but
> we don't need to follow this particular craziness that is due to how
> the scale factor is specified in the standard.
I hadn't noticed this, but I agree with Janne.
It should be easy to implement:
After the switch between F and E editing, we just need to shift the
decimal point and decrement the exponent. No new rounding is required,
because we keep the number of significant digits.