public BloomFilter(final Hasher hash,double falsePositiveProbability,int expectedNumberOfElements,int metric){
  this(hash,Math.ceil(-(Math.log(falsePositiveProbability) / Math.log(2))) / Math.log(2),expectedNumberOfElements,(int)Math.ceil(-(Math.log(falsePositiveProbability) / Math.log(2))),metric);
}

public BloomFilter ( final Hasher hash , double falsePositiveProbability , int expectedNumberOfElements , int metric ) { this ( hash , Math . ceil ( - ( Math . log ( falsePositiveProbability ) / Math . log ( 2 ) ) ) / Math . log ( 2 ) , expectedNumberOfElements , ( int ) Math . ceil ( - ( Math . log ( falsePositiveProbability ) / Math . log ( 2 ) ) ) , metric ) ; }
constructs an empty bloom filter with a given false positive probability . the number of bits per element and the number of hash functions is estimated to match the false positive probability .
