Why don't we switch to C like floating pointed arithmetic instead of automatic expansion to reals?

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Fri Aug 5 02:24:49 PDT 2016


On 8/5/2016 12:43 AM, Ilya Yaroshenko wrote:
> You are wrong that there are far fewer of those cases. This is naive point of
> view. A lot of netlib math functions require exact IEEE arithmetic. Tinflex
> requires it. Python C backend and Mir library require exact IEEE arithmetic.
> Atmosphere package requires it, Atmosphere is used as reference code for my
> publication in JMS, Springer. And the most important case: no one top scientific
> laboratory will use a language without exact IEEE arithmetic by default.

A library has a lot of algorithms in it, a library requiring exact IEEE 
arithmetic doesn't mean every algorithm in it does. None of the Phobos math 
library functions require it, and as far as I can tell they are correct out to 
the last bit.

And besides, all these libraries presumably work, or used to work, on the x87, 
which does not provide exact IEEE arithmetic for intermediate results without a 
special setting, and that setting substantially slows it down.

By netlib do you mean the Cephes functions? I've used them, and am not aware of 
any of them that require reduced precision.


More information about the Digitalmars-d mailing list