home *** CD-ROM | disk | FTP | other *** search
- static unsigned int
- apple_hash (str, len)
- register char *str;
- register int unsigned len;
- {
- static unsigned char asso_values[] =
- {
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 1, 115, 2, 1, 24,
- 26, 5, 19, 28, 6, 13, 115, 1, 12, 1,
- 30, 21, 35, 115, 39, 12, 1, 20, 27, 9,
- 115, 115, 1, 115, 115, 115, 115, 115,
- };
- register int hval = len;
-
- switch (hval)
- {
- default:
- case 3:
- hval += asso_values[str[2]];
- case 2:
- case 1:
- hval += asso_values[str[0]];
- }
- return hval + asso_values[str[len - 1]];
- }
-
- main() {
- int a;
- char b[10];
- int i;
-
- b[1] = 0;
-
- for(i = 0; i < 110; i++) {
- b[0] = i;
- printf("%d\n", apple_hash(b, 1));
- }
- }
-