code: func Update(crc uint16, tab *Table, p []byte) uint16 {
  	if tab.reversed {
  		return updateBitsReversed(crc, tab, p)
  	} else if tab.noXOR {
  		return updateNoXOR(crc, tab, p)
  	} else {
  		return update(crc, tab, p)
  	}
  }
docs: // Update returns the result of adding the bytes in p to the crc.