[PATCH v2] msvcrt: Implement strtod without using 'long double'.
Erich E. Hoover
erich.e.hoover at gmail.com
Thu Dec 19 09:52:56 CST 2019
On Thu, Dec 19, 2019 at 2:58 AM Alexandre Julliard <julliard at winehq.org> wrote:
> "Erich E. Hoover" <erich.e.hoover at gmail.com> writes:
>. ..
> > Subject: msvcrt: Implement strtod without using 'long double'.
> >
> > Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48160
> > Signed-off-by: Erich E. Hoover <erich.e.hoover at gmail.com>
> ...
>
> Thanks! Do we still need the control87 call then?
No problem! Yes, unfortunately calculating 1.7976931348623158e+308
(DBL_MAX) requires 64-bit doubles*. This works just fine on x86-64,
but x86-32 defaults to 53-bit precision. However, it would be
possible to only change the precision if we get into the range of
values where it becomes a problem, though that might be a little
complicated to do properly.
> Also we should do the same changes in wcstod().
Would you like that as a separate patch or part of this one?
Best,
Erich
* I am unaware of a way to multiply 1.7976931348623158 by 1e+308 with
53-bit doubles.
More information about the wine-devel
mailing list