code: func (s *sstack) Swap(i, j int) {
  	ib, io, jb, jo := i/blockSize, i%blockSize, j/blockSize, j%blockSize
  	a, b := s.blocks[jb][jo], s.blocks[ib][io]
  	if s.setIndex != nil {
  		s.setIndex(a.value, i)
  		s.setIndex(b.value, j)
  	}
  	s.blocks[ib][io], s.blocks[jb][jo] = a, b
  }
docs: // Swaps two elements in the stack. Required by sort.Interface.