On Tuesday, 1 January 2019 at 23:36:55 UTC, Guillaume Piolat wrote:
llvm_exp (defers to C runtime) gives considerable speed improvement over `std.math.exp`.

My tests back then on Linux also showed new `exp(float)` being about half as fast as C, while the double-version was somehow 4x faster.

I've tested `expf` form the VS runtime exhaustively for 32-bit `float` and it showed the relative accuracy was within < 0.0002% of std.math.exp,

It's not concerning at all, what is more is the variability of C runtime though vs a D function. Looking for speed AND control :)

Then look at the implementation of exp() and you'll see that it uses ldexp() once. So by porting Ilya's version (or the Cephes one) to Phobos, I'm sure we can match the C speed for single-precision too.

Reply via email to