Exponential operator
BCS
ao at pathlink.com
Fri Aug 7 12:01:04 PDT 2009
Reply to Jimbob,
> "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=digitalma
>> rs.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.
>
For constant integer exponents the compiler should be able to choose between
the multiplication solution and a intrinsic solution.
also: http://en.wikipedia.org/wiki/Exponentiation#Efficiently_computing_a_power
More information about the Digitalmars-d
mailing list