Skip to content
  • Andrea Canciani's avatar
    hash: Improve double hashing · 3175e91e
    Andrea Canciani authored
    Instead of artificially introducing collisions in the step value by
    replacing 0 with 1 (which causes the value 1 to have twice the
    frequency of any other value), the step value can simply be computed
    as an uniformly distributed value in the range [1, rehash], extremes
    included.
    
    This is safe because any step value smaller than the hash modulus is
    co-prime with it, hence induces an orbit which includes every integer
    in [0, size - 1].
    3175e91e