code: func (h *jmphasher) Hash(key uint64, n int) int {
  	b, j := int64(-1), int64(0)
  	for j < int64(n) {
  		b = j
  		key = key*uint64(2862933555777941757) + 1
  		j = int64(float64(b+1) * (float64(int64(1)<<31) / float64((key>>33)+1)))
  	}
  	return int(b)
  }
docs: // Hash returns the integer hash for the given key.