On Saturday, 28 June 2014 at 05:16:29 UTC, Walter Bright wrote:

That's a common perception of people who do not use the floating point unit for numerical work, and whose main concern is speed instead of accuracy.

<snip>

> I find it's extremely rare to have precision problems even
with float under most normal usage
> circumstances,

Then you aren't doing numerical work, because it happens right away.

There is of course many situations where a high precision is necessary. But in these situations you have 'real' available to you, which presumably would maintain as high precision as is possible. In the situations where you're using float/double, you should not be expecting maximum precision and instead performance should be focused on. There are existing overloads for 'real' in std.math that presumably would not go away, the only need now is to add new overloads for float/double that can take advantage of SSE instructions. While striving for precision is nice, in a huge majority of situations it's simply not necessary (and when it is, 'real' will be used). It makes D look bad when it does so poorly on benchmarks like this simply so that the output perlin noise can be rounded from 238.32412319 to 238 instead of 238.32 to 238.

Reply via email to