Hasn't this gone off topic? Shouldn't this be discussed on the pow(x,x) Vs.
x * x forum?


On 11/2/09 2:10 PM, "Luke the Hiesterman" <[email protected]> wrote:

> I can't speak for others, but I never meant to actually argue that pow
> (x, 2) is clearer than x * x. My argument was that each author should
> use whichever version he or she thinks is clearer. There are rarely
> absolutes about that sort of thing, as clarity is subjective by its
> very nature. I urge programmers to use the clearer choice, whatever
> that might be to them.
> 
> Luke
> 
> On Nov 2, 2009, at 2:01 PM, Chris Williams wrote:
> 
>> How completely rude of you, Greg, to confuse a good argument with
>> facts :)
>> 
>> But it still does leave the style question: is pow(x,2) clearer than
>> x*x?
>> 
>> In the case from the OP, I think that the pow is clearer, because it
>> is
>> implementing an algorithm that calls specifically for x-squared.
>> And in the
>> case where x is not a simple variable, but rather an expression,
>> it's even
>> more clear (and less prone to typing errors).
>> 
>> My $0.02...
>> 
>>> From: Greg Parker <[email protected]>
>>> Subject: Re: why use pow(x, 2)?
>>> 
>>> This is easy to test empirically. In this simple case, the compiler
>>> does optimize pow(x, 2) directly to a single-instruction x*x.
>>> 
>>> % cat test.c
>>> #include <math.h>
>>> int main(int argc, char **argv) {
>>>     return pow(argc, 2);
>>> }
>>> % cc -O3 test.c -o - -S
>>> [...]
>>> _main:
>>> LFB17:
>>> pushq %rbp    // build stack frame
>>> LCFI0:
>>> movq %rsp, %rbp   // build stack frame
>>> LCFI1:
>>> cvtsi2sd %edi, %xmm0  // convert int argc to float
>>> mulsd %xmm0, %xmm0  // pow(argc, 2)
>>> cvttsd2si %xmm0, %eax  // convert float->int for return
>>> leave
>>> ret
>> 
>> _______________________________________________
>> 
>> Cocoa-dev mailing list ([email protected])
>> 
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>> 
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/cocoa-dev/luketheh%40apple.com
>> 
>> This email sent to [email protected]
> 
> _______________________________________________
> 
> Cocoa-dev mailing list ([email protected])
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/markgallegly%40gmail.com
> 
> This email sent to [email protected]


_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to