Efficient Bit addressing in Python.
Hendrik van Rooyen
mail at microcorp.co.za
Sun Oct 12 22:19:25 CEST 2008
Ross Ridge <rrid...lub.uwaterloo.ca> wrote:
>Unfortunately from your other posts you do seem to be working on
>a single byte a time, so my technique probably won't be efficient.
Its a bit more - the hardware allows for 64 lines in and 64 lines out.
>You probably want just want to be using constants and bit masking.
8< ------------- standard and and or examples ----------------
This is approximately how I was doing it before I started the thread,
but I was unsatisfied, and started looking for a way to directly
address the bits, more as a further exploration of Python.
>Bit twiddling like this is pretty basic.
Yes it is, and in what we do it is also pervasive,
and I miss my 8051/8031 assembler instructions
where I can do an atomic "jump if bit set then clear' on
a named bit in the bit addressable space, as well as
a direct set or clear of a named bit, without resorting
to anding and oring of bytes.
Now I know that I can never do the jump in python, but
I had hoped that I could get close to the direct set
and clear, and the thread has been useful in that it
has rubbed my nose into a lot of corners where I would
otherwise never have gone. (like the gmpy stuff, for
instance, and mucking around with bitfield-like classes,
and the binascii stuff.)
And I now _almost_ have my direct bit addressability...
However - Python has failed to show me "the one and
only one obvious way".
*grins and ducks*
Thanks to all who responded.
More information about the Python-list