Browse Source

inpsymt.c, use "Daniel J. Bernstein" hash function

instead of a simple sum.

just for note,
there is a wealth of newer hash functions.

For example "The FNV Non-Cryptographic Hash Algorithm"
from http://tools.ietf.org/html/draft-eastlake-fnv-03
pre-master-46
Henrik Forstén 13 years ago
committed by rlar
parent
commit
97d99067a6
  1. 11
      src/spicelib/parser/inpsymt.c

11
src/spicelib/parser/inpsymt.c

@ -273,10 +273,11 @@ void INPtabEnd(INPtables * tab)
static int hash(char *name, int tsize)
{
char *s;
register int i = 0;
unsigned int hash = 5381;
char c;
for (s = name; *s; s++)
i += *s;
return (i % tsize);
while ((c = *name++) != '\0')
hash = (hash * 33) ^ (unsigned) c;
return (int) (hash % (unsigned) tsize);
}
Loading…
Cancel
Save