BloombergLP::bdlb::HashUtil::hash0

Return a modular hash value for the specified string of the specified stringLength.

Synopsis

Declared in <bdlb_hashutil.h>

static
unsigned int
hash0(
    char const* string,
    int stringLength,
    int modulus);

Description

Return a pseudo-random unsigned integer in the range from zero to one less than the specified modulus corresponding to the specified string having the specified stringLength. string need not be null-terminated and may contain embedded null characters. The behavior is undefined unless 0 <= stringLength and 0 < modulus < 2^31. Note that modulus is expected to be a prime not close to an integral power of 2. Also note that specifying a modulus of 1 will cause 0 to be returned for every string.

Return Value

modular hash value for string in [0 .. modulus)]

Parameters

NameDescription
stringcharacter sequence to hash (need not be null-terminated)
stringLengthlength of string in bytes
moduluspositive upper bound (exclusive) of the hash range