vMa si puņ templatare anche in base a
valori
vtemplate <unsigned n>
vinline double pow(double x) {
vdouble ans=1.0;
vfor(unsigned k=0;k<n;++k)
vans*=k;
vreturn ans;
v}
vOppure ancora meglio
vtemplate <unsigned n>
vinline double pow(double x) {
vreturn pow<n%2>(x) * pow<n/2> (x*x);
v}
vtemplate<> pow<1u>(double x) {return x;}