Phobos math expert wanted: Please help porting std.conv.parse to 64bit reals

Johannes Pfau nospam at example.com
Tue Nov 19 11:38:13 PST 2013


Am Tue, 19 Nov 2013 14:18:06 -0500
schrieb Jerry <jlquinn at optonline.net>:

> Johannes Pfau <nospam at example.com> writes:
> 
> > std.conv.parse!(real) and therefore also parse!double, parse!float
> > were written assuming real is always a 80 bit type. But on most non
> > x86 systems the largest floating point type is actually double and
> > therefore real is basically an alias for double. std.conv makes some
> > convenient assumptions for 80bit reals (like mantissa size is ==
> > long.sizeof). I guess this is a simple fix for math/floating point
> > experts but I'd need quite some time to fix it. So it'd be great if
> > someone could help and port std.conv.parse to systems with 64 bit
> > reals (real.mant_dig == 113) :-)
> >
> > https://github.com/D-Programming-Language/phobos/blob/master/std/conv.d#L2367
> 
> First step, please enter a bug so that the issue doesn't get lost.
> 
> I may be able to look at it a little tonight.  I'm not an expert, but
> I have some experience with floating point conversion.
> 
> Jerry

Hi,

I didn't think someone would actually respond this after more than a
week :-)

I actually ported that code in the meantime and I'll open a pull
request for phobos soon. But it'd be awesome if you could help
reviewing it once I opened the pull request.

BTW: Don't worry, this issue won't get lost. The GDC port to ARM is
mostly finished and this is one of the last missing pieces so I have a
strong interest in making this work.


More information about the Digitalmars-d mailing list