Sem descrição

dstromberg e5d0cac903 Initial checkin. Just counts set bits in a file 13 years atrás
Makefile 976f1e708a Interpreter order 13 years atrás
README 2c101e4dba Few minor README improvements 13 years atrás
bloom_filter_mod.py d46261638d Temporarily moved 32 bit concerns into callers, in preparation for abstracting and adding file support 13 years atrás
count-bits e5d0cac903 Initial checkin. Just counts set bits in a file 13 years atrás
test-bloom-filter 7141a73d63 Do one test with bloom_filter_mod.get_bitno_seed_rnd 13 years atrás
this-pylint c763fde8d6 Initial checkin 14 years atrás

README


This bloom filter implementation:
1) Has a constructor that accepts a maximum comfortable number of members and maximum appropriate error (false positive) rate, and
derives the fiddly bits from that; most bloom filter modules ask the enduser to specify the fiddly bits themselves.
2) Has a nice test suite, including checks for error rate.
3) Is in pure Python that'll run on CPython 2.x, CPython 3.x, PyPy or Jython.
4) Has a pair of simple, fast hash functions that give a good error rate - they're better than many of the alternatives,
They're not Murmur or Jenkins, but the tests strongly suggest that they're working well.
5) Passes pylint and pep8.
6) Supports adding elements, testing for membership, and'ing sets and or'ing sets.

The code is derived from http://code.activestate.com/recipes/577686-bloom-filter/ and inherits that code's license.

For more about Bloom Filters:
http://en.wikipedia.org/wiki/Bloom_filter
http://spyced.blogspot.com/2009/01/all-you-ever-wanted-to-know-about.html