pow

pow

func pow(a, b int64) int64 {
    var p int64

    p = 1

    for b > 0 {
        if b&1 != 0 {
            p *= a
        }

        b >>= 1
        a *= a
    }

    return p
}