Exponential operator

Jimbob jim at bob.com
Fri Aug 7 08:42:12 PDT 2009


"bearophile" <bearophileHUGS at lycos.com> wrote in message 
news:h5h3uf$23sg$1 at digitalmars.com...
> Lars T. Kyllingstad:
>> He also proposed that the overload be called opPower.
>
> I want to add to two small things to that post of mine:
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=95123
>
> The name opPow() may be good enough instead of opPower().
>
> And A^^3 may be faster than A*A*A when A isn't a simple number, so always 
> replacing the
> power with mults may be bad.

It wont be on x86. Multiplication has a latency of around 4 cycles whether 
int or float, so x*x*x will clock around 12 cycles. The main instruction 
needed for pow, F2XM1, costs anywhere from 50 cycles to 120, depending on 
the cpu. And then you need to do a bunch of other stuff to make F2XM1 handle 
different bases.








More information about the Digitalmars-d mailing list