Craig McQueen <pyt...@craig.mcqueen.id.au> added the comment:

Thanks, good points. I'm thinking with a C background and the fixed-width data 
types. The 0xFF could be needed if the data_byte is actually a larger number 
and you need to ensure only the lowest 8 bits are set. Or, if there is some 
sign-extending going on with the right-shift. That could happen in Python if 
the user passed a negative 'crc' in to the function (for whatever reason).

Yes, I'm missing a final mask. Thanks for pointing that out. I was thinking 
like a C programmer!

As for crc << 8 >> crc_width... the 'crc << 8' could bump an integer into long 
territory, making calculations slower. E.g.:

    >>> 2**23 << 8 >> 16
    32768L

    >>> 2**23 >> (16 - 8)
    32768

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue1205239>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to