bloomfilter.rb

Path: lib/bloomfilter.rb
Last Update: Thu Mar 16 23:19:47 CST 2006

bloomfilter.rb:

BloomFilter includes a simple but slow SimpleVector bit-vector library. However, the BitSet extension library on the RAA is recommended for any serious usage:

  • BitSet — C extension availabe on the RAA
     (http://raa.ruby-lang.org/project/bitset/)
    

Copyright © 2006 Andrew L. Johnson. Released under that same terms as Ruby itself

This implementation uses Algorithm 2 in: Bloom Filters in Probabilistic Verification (Peter C. Dillinger & Panagiotis Manolios FMCAD 2004, Formal Methods in Computer-Aided Design, 2004) This algorithm sets bits with k cycles of two hashes instead of computing k separate hashes.

Required files

bitset   bloomfilter/simplevector   digest/md5  

Constants

BfVector = BitSet
BfVector = SimpleVector

[Validate]