Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Fast positive integer power function

Name: Anonymous 2012-04-15 6:00

I'm trying to figure out how to compute an integer power of a double efficiently with as little overhead as possible (trying to avoid loops and recursion to minimize the amount of calls and jumps). Calculation speed is the priority.
So far I got this trivial piece of code:

double f(double a,char b){
if(b==2)return a*a;
if(b==3)return a*a*a;
if(b==4)return a*a*a*a;
if(b==5)return a*a*a*a*a;
if(b==6)return a*a*a*a*a*a;
if(b==7)return a*a*a*a*a*a*a;
if(b==8)return a*a*a*a*a*a*a*a;
if(b==9)return a*a*a*a*a*a*a*a*a;
        return a*a*a*a*a*a*a*a*a*a;
}


...which of course assumes the exponent is at most 10. The code can easily be expanded if higher exponents are needed.
I'm thinking this is probably optimal, but I know you /prog/riders have some magic tricks up your sleeve, so hit me with them.

Name: Anonymous 2012-04-16 4:27

>>51
See >>23
In less than a minute, I can write my own pow function that calculates a non-integer power almost two times faster than the standard pow calculates an integer power.

Guess what niggers, because the standard C floating point arithmetic library is slow, narrow and inconsistent as fuck, I am now going to write my own fucking floating point library with operator overloading and everything. Maybe I will even make it arbitrary-precision.
Multi-valued functions? Superfunctions? Fuck you, I'll define everything however I want. I will make pi equal niggerfaggot if I must. I will implement superpositions and all sorts of crazy shit.

None of you care, but it felt good to say this in public. Why? Because I can pretend some of you care, even if no one does.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List