2 * sdbm - ndbm work-alike hashed database library
3 * based on Per-Aake Larson's Dynamic Hashing algorithms. BIT 18 (1978).
4 * author: oz@nexus.yorku.ca
5 * status: public domain. keep it that way.
13 * polynomial conversion ignoring overflows
14 * [this seems to work remarkably well, in fact better
15 * then the ndbm hash function. Replace at your own risk]
24 register unsigned long n = 0;
28 #define HASHC n = *str++ + 65599 * n
31 register int loop = (len + 8 - 1) >> 3;
33 switch(len & (8 - 1)) {
36 case 6: HASHC; case 5: HASHC;
37 case 4: HASHC; case 3: HASHC;
38 case 2: HASHC; case 1: HASHC;
45 n = *str++ + 65599 * n;