On Monday, 2 November 2015 at 17:07:33 UTC, Laeeth Isharc wrote:
On Sunday, 1 November 2015 at 09:07:56 UTC, Ilya Yaroshenko wrote:
On Friday, 30 October 2015 at 10:35:03 UTC, Laeeth Isharc wrote:
Any other thoughts?

Floating point operations can be extended automatically (without some kind of 'fastmath' flag) up to 80bit fp on 32 bit intel processors. This is worst solution for language that want to be used in accounting or math.

Thoughts like "larger precision entails more accurate answer" are naive and wrong.

--Ilya

Thanks, Ilya. An important but subtle point. Funnily enough, I haven't done so much specifically heavily numerical work so far, but trust that in the medium term the dlangscience project by John Colvin and others will bear fruit.

What would you suggest is a better option to address the concerns you raised?

The main goal is that we need to rewrite std.math & std.mathspecial to
1. Support all FP types (float/double)
2. Be portable (no Assembler when possible!, we _can_ use CEPHES code) 3. Produce equal results on different machines with different compilers for float/double.

The problem is that many math functions use compensatory hacks to make result more accurate. But this hack have _very_ bad behaviour if we allow 80bit math for double and float.

Q: What we need to change?
A: Only dmd backend for old intel/amd 32 bit processors without sse support. Other compilers and platforms are not affected. So, D will have the same FP behaviour like C.

See also the comment: https://github.com/D-Programming-Language/phobos/pull/2991#issuecomment-74506203

-- Ilya

Reply via email to