[Issue 13474] Discard excess precision when returning double in x87 register

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sun Feb 15 22:58:24 PST 2015


https://issues.dlang.org/show_bug.cgi?id=13474

--- Comment #19 from Илья Ярошенко <ilyayaroshenko at gmail.com> ---
(In reply to yebblies from comment #18)
> (In reply to Илья Ярошенко from comment #17)
> > (In reply to yebblies from comment #15)
> > 
> > Why you have changed the name of this issue?
> > Bug is not only for return. Truncation should be during all calculations.
> > 
> 
> I changed the title because the old one was not accurate.  The optimizer is
> working as designed, even if that design is not what you want.
> 
> Please change the title if you want to request no extra intermediate
> precision anywhere, I just kept it to the scope of the original report.
> 
> > 
> > Yes. D is unique language in this question. 
> > In other other words D is not a system language because it can't compile
> > correctly IEEE 754 standard.
> > 
> 
> I'm not sure this counts as violating IEEE 754, though I'm not an expert.  C
> has the same problem, so I guess C isn't a system language either by that
> logic.

C has this problem only when special compiler flags enabled.
All this algorithms are from Python source code (C) or Wikipedia(C, Pascal).

> > I am disappointed.
> > All D contributors explain me that "it is a feature for precise math".
> > But this feature prohibits price math:
> > https://github.com/D-Programming-Language/phobos/pull/2513.
> >  
> 
> Maybe.  The logic in here does seem sound, although again I'm not an expert.
> 
> http://dlang.org/d-floating-point.html
> 
> So the idea is that strict double rounding would be a big performance hit,
> and 
> 
> > The problem is that value isn't "more price". The value is wrong because
> > truncation should be performed during ALL calculation.
> 
> Technically the value _is_ more precise.  The way it interacts with rounding
> is what produces the incorrect result.
> 
> Under the current spec the rounding is not required.
> 
> > 
> > > 3. Lobbying Walter for a language change enforcing this in some way.
> > 
> > Can you help me to do it?
> > 
> 
> I don't know enough about the algorithms you're using to be sure either you
> or Walter is right here.  You may want to comment on issue 9937 and see if
> Don agrees with you.

--


More information about the Digitalmars-d-bugs mailing list