Static argument optimization

Vladimir Panteleev thecybershadow at gmail.com
Mon Oct 6 16:10:39 PDT 2008


Hello,

Often I encounter cases where I have a function taking some arguments, and  
I'd like for the compiler to generate separate code for the function when  
some of the arguments are known at compile time. For example, consider  
this function:

int pow(int n, int power)
{
	return power==0 ? 1 : n*pow(n, power-1);
}

I am looking for a way to make the function work at runtime, while pow(n,  
3) to be inlined as n*n*n, and pow(2, 3) to be precalculated as 8. Is it  
possible to do this with some template trickery without having to write  
three versions of the function? I know macros should be able to do this in  
theory...

-- 
Best regards,
  Vladimir                          mailto:thecybershadow at gmail.com



More information about the Digitalmars-d mailing list