Why is std.math slower than the C baseline?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Fri Jun 5 19:43:15 UTC 2020


On 6/4/20 1:16 PM, kinke wrote:
> On Thursday, 4 June 2020 at 17:04:54 UTC, H. S. Teoh wrote:
>> Would LDC consider providing float/double overloads for std.math 
>> functions?  Ideally this would be merged upstream, but sometimes if 
>> there's no other way to get things done...
> 
> We are mostly just waiting for the *overloads* to finally make it 
> upstream (e.g., blocked https://github.com/dlang/phobos/pull/7463), so 
> that we can finally enable the commented-out LLVM intrinsics (e.g., 
> https://github.com/ldc-developers/phobos/blob/26fac3b399c62ead78bedce7ccba9290a2cbbbf3/std/math.d#L4304-L4307). 
> - Enabling them already would lead to a different Phobos API for LDC 
> (e.g., log(0.1f) returning a float, not a real), that's why we've been 
> waiting (for years).
> 
> Once the overloads are there (even by just casting and forwarding to the 
> `real`-implementation for now), the remaining transcendental functions 
> can be ported from e.g. Cephes as 2nd step, to have proper 
> implementations for all floating-point types.

Excellent, I see Walter has approved these yesterday. What's the next step?


More information about the Digitalmars-d mailing list