| 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 |