Performance of tables slower than built in?

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Fri May 24 15:14:58 UTC 2019


On Friday, 24 May 2019 at 11:45:46 UTC, Ola Fosheim Grøstad wrote:
>     const double sign = 
> cast(double)(-cast(uint)((mantissa>>63)&1));

Yep, this was wrong (0 or -1). Should be something like (1 or -1):

     const double sign = 
cast(double)(1-cast(uint)((mantissa>>62)&2));

You'll have to code it up more carefully than I did, just 
following the same principles.  (These ±1 errors do not affect 
the performance.).

Also, for comparison, just running the 2 lookups in the loop are 
at 32ms.

So 3 times that sounds reasonable for extracting the phase, 
determining the sign, reversing the phase and doing the linear 
interpolation.






More information about the Digitalmars-d-learn mailing list