Conditions | 1 |
Paths | 1 |
Total Lines | 15 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | <?php |
||
15 | public static function generate($expectedValues, $falsePositiveProbability = 0.1) |
||
16 | { |
||
17 | $sizeOfBitField = (int) ceil(($expectedValues * log($falsePositiveProbability)) / log(1 / (pow(2, log(2))))); |
||
18 | $hashFunctions = (int) ($sizeOfBitField / $expectedValues * log(2)); |
||
19 | |||
20 | $multiHash = new MultiHash(); |
||
21 | |||
22 | $multiHash->setUpperBound($sizeOfBitField); |
||
23 | $multiHash->setHashCount($hashFunctions); |
||
24 | |||
25 | return new BloomFilter( |
||
26 | new IntBitField($sizeOfBitField), |
||
27 | $multiHash |
||
28 | ); |
||
29 | } |
||
30 | |||
32 |