<br><div class="gmail_quote">On Thu, Oct 25, 2012 at 9:24 AM, Mark Lawrence <span dir="ltr"><<a href="mailto:breamoreboy@yahoo.co.uk" target="_blank">breamoreboy@yahoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 25/10/2012 15:47, Charles Hixson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In Python3 is there any good way to count the number of on bits in an<br>
integer (after an & operation)?<br>
Alternatively, is there any VERY light-weight implementation of a bit<br>
set?  I'd prefer to use integers, as I'm probably going to need<br>
thousands of these, if the tests work out.  But before I can test, I<br>
need a decent bit counter.  (shift, xor, &, and | are already present<br>
for integer values, but I also need to count the number of "true" items<br>
after the logical operation.  So if a bitset is the correct approach,<br>
I'll need it to implement those operations, or their equivalents in<br>
terms of union and intersection.)<br>
<br>
Or do I need to drop into C for this?<br>
<br>
</blockquote>
<br></div>
If needed bitarray and bitstring are available on pypi.<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br>There's also my bits_mod.py:  <a href="http://stromberg.dnsalias.org/svn/bits/trunk/">http://stromberg.dnsalias.org/svn/bits/trunk/</a><br>
<br>I separated it out of my bloom filter code recently, to facilitate a prime number sieve.<br><br>Behind the scenes it's an array of int's.<br><br></div></div>