Return a hash value calculated from the specified rule using the specified size as the number of slots. The value returned is guaranteed to be in the range [0 .. size ‐ 1]. The behavior is undefined unless 0 < size.