And if I understand correctly, data_list will end up with 5 members, so the "for d in data_list:" part means the next line will execute 5 times?
I have very limited exposure to python and am trying to convert this to something usable in c++
Code: Select all
def checksum(data): """Compute and return the checksum as an int.""" # group the data by word, little-endian data_list =  for t in range(10): data_list.append( data[2*t] + (data[2*t+1]<<8) ) # compute the checksum on 32 bits chk32 = 0 for d in data_list: chk32 = (chk32 << 1) + d # return a value wrapped around on 15bits, and truncated to still fit into 15 bits checksum = (chk32 & 0x7FFF) + ( chk32 >> 15 ) # wrap around to fit into 15 bits checksum = checksum & 0x7FFF # truncate to 15 bits return int( checksum )