On Thu, Feb 8, 2018 at 6:05 AM, Andrey Borodin <x4...@yandex-team.ru> wrote: > I do not see a reason behind hashing the seed.
It made some sense when I was XOR'ing it to mix. A uniform distribution of bits seemed desirable then, since random() won't use the most significant bit -- it generates random numbers in the range of 0 to 2^31-1. It does seem unnecessary now. > Also, I'd like to reformulate this paragraph. I understand what you want to > say, but the sentence is incorrect. > + * The Bloom filter behaves non-deterministically when caller passes a random > + * seed value. This ensures that the same false positives will not occur > from > + * one run to the next, which is useful to some callers. > Bloom filter behaves deterministically, but differently. This does not > ensures any thing, but probably will give something with hight probability. I agree that that's unclear. I should probably cut it down, and say something like "caller can pass a random seed to make it unlikely that the same false positives will occur from one run to the next". -- Peter Geoghegan