X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib/blobdiff_plain/0c404077285a986f059229dfaf4765d15a5bfce9..8f45ff6cb9a269fc6f8f631908f93b4c8123419c:/man/sym.3 diff --git a/man/sym.3 b/man/sym.3 index 5bfd0f1..80cb913 100644 --- a/man/sym.3 +++ b/man/sym.3 @@ -11,7 +11,7 @@ .RE .sp 1 .. -.TH sym 3 "8 May 1999" mLib +.TH sym 3 "8 May 1999" "Straylight/Edgeware" "mLib utilities library" .SH NAME sym \- symbol table manager .\" @sym_create @@ -152,7 +152,7 @@ Given a pointer to a symbol table entry, .BI SYM_LEN( s ) returns the length of the symbol's name (excluding any terminating null -byte); +byte); .BI SYM_NAME( s ) returns a pointer to the symbol's name; and .BI SYM_HASH( s ) @@ -224,12 +224,15 @@ for (sym_mkiter(&i, t); (v = sym_next(&i)) != 0; ) { .VE That ought to be enough examples to be getting on with. .SS Implementation -The symbol table is an extensible hashtable, using a 32-bit CRC as the -hash function. The hash chains are kept very short (probably too short, -actually). Every time a symbol is found, its block is promoted to the -front of its bin chain so it gets found faster next time. +The symbol table is an extensible hashtable, using the universal hash +function described in +.BR unihash (3) +and the global hashing key. The hash chains are kept very short +(probably too short, actually). Every time a symbol is found, its block +is promoted to the front of its bin chain so it gets found faster next +time. .SH SEE ALSO .BR hash (3), .BR mLib (3). .SH AUTHOR -Mark Wooding, +Mark Wooding,