Craig McQueen <[email protected]> added the comment:
To complete that thought...
Since crc << 8 could bump the calculation into long territory, for that final
mask I guess I'd want to mask and then shift. I.e. rather than
crc_mask = ((1 << crc_width) - 1)
crc = (...) ^ ((crc << 8) & crc_mask)
do:
crc_lower_mask = ((1 << (crc_width - 8)) - 1)
crc = (...) ^ ((crc & crc_lower_mask) << 8)
But that expression should evaluate to 0 if crc_width <= 8, so I guess I'll
need to special-case it. And if I special-case it, I don't need to shift by a
negative value after all!
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue1205239>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com