a) if n is known at compile time, use a template b) if not, use a normal function
I know how to write a template version: template fib(ulong n) { static if( n < 2 ) const fib = n; else const fib = fib!(n-1) + fib!(n-2); }But how can I 'know' if n is known at compile time to make it use the other version? (which I won't post 'cause it is fairly easy).