code: func pow(a, b int) int {
  	p := 1
  	for b > 0 {
  		if b&1 != 0 {
  			p *= a
  		}
  		b >>= 1
  		a *= a
  	}
  	return p
  }
docs: // pow for integers implementation.
  // See Donald Knuth, The Art of Computer Programming, Volume 2, Section 4.6.3