Hash module

sdbm_hash

procedureSource

A 32-bit hash of size bytes at data. Pass the previous result as h to hash several pieces as one.

sdbm_hash :: (data: *void, size: int, h := HASH_INIT) -> u32

Parameters

data: *void
size: int
h := HASH_INIT

Returns

u32
Example↗
whole := "hello world";
one := sdbm_hash(whole.data, whole.count);
part := sdbm_hash(whole.data, 5);
two := sdbm_hash(whole.data + 5, whole.count - 5, part);
assert(one == two);

See also