Am Tue, 19 Nov 2013 14:18:06 -0500 schrieb Jerry <[email protected]>:
> Johannes Pfau <[email protected]> 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.
