Hi Lawrence, Le mardi 6 mars 2018 01:20:36 UTC+1, Lawrence D’Oliveiro a écrit : > On Tuesday, March 6, 2018 at 8:06:00 AM UTC+13, Sébastien Boisgérault wrote: > > I have released bitstream, a Python library to manage binary data > > (at the byte or bit level), hopefully without the pain that this kind > > of thing usually entails :) > > > byte_index = offset / 8 > > This will return a float.
The implementation is in Cython, which allows to declare types. The variable byte_index is defined as a size_t. Did I miss something? Do you mean that an intermediate float is used in the generated C code? I guess I should check that. I realize now that I sometimes use the code above to get the bit and bytes index and sometimes divmod ... > > Also I notice you count bit positions from the top of each byte, rather than > from the bottom. Any reason for this? I suppose that my mental representation of the bitstream is left-to-right (think sequence of bits) with bits being "big-endian"ish in each byte, therefore new bits enter from the left with big weights. Which should translate to your description. So, no, no specific reason for this I guess. Is one of the representation better that the other (wrt performance for example)?. Cheers, SB -- https://mail.python.org/mailman/listinfo/python-list