Yes, that's the straightforward way to do it. But given that my vectors are 256 bits in length, and that I'm going to eventually have about 4 million of them to search through, I was hoping greater minds than mine had figured out how to do it faster, or how compute some kind of indexing....... somehow.

On Oct 2, 2005, at 5:39 AM, Martijn van Oosterhout wrote:

Step 1: Use XOR to get the bits that are different.
Step 2: Count the bits.

Something like  x & ((~x) +1)  will give you the value of the last
bit that is set, mask it out and repeat. If you need to do it a lot,
build a table of 256 values and then process 8 bits at a time. Should
be fairly straight forward...

Hope this helps,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/ kleptog/

Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a tool for doing 5% of the work and then sitting around waiting for someone
else to do the other 95% so you can sue them.



---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to