On 20.04.2017 02:01, Timon Gehr wrote:

My last post includes an implementation of this algorithm. ;)

But in that implementation I used the parameter 'a' instead of the variable 'x' as a result of being tired, which makes it slightly more confusing than necessary even though it is correct. More readable version:

auto pow(T,S)(T a,S n){
    T r=T(ℕ(1),ℕ(0));
    for(auto x=a;n;n>>=1,x*=x)
        if(n&1) r*=x;
    return r;
}

Reply via email to