(FILECREATED "23-Jan-85 08:33:27" ("compiled on " {ERIS}LIBRARY>HASH.;11) "20-Dec-84 12:07:22" bcompl'd in "INTERLISP-D 10-Jan-85 ..." dated "10-Jan-85 13:28:55") (FILECREATED " 9-Jan-85 09:51:47" {ERIS}LIBRARY>HASH.;2 26049 changes to: (FNS CLEARHASHFILES CLOSEHASHFILE COLLECTKEYS COPYHASHFILE COPYHASHITEM CREATEHASHFILE GETHASHFILE HASHBEFORECLOSE HASHFILEDATA HASHFILEP HASHFILEPROP HASHFILESPLST LOOKUPHASHFILE MAPHASHFILE OPENHASHFILE PUTHASHFILE REHASHFILE) (RECORDS HashFile) previous date: " 7-Jan-85 17:45:04" {ERIS}LIBRARY>HASH.;8) CLEARHASHFILES D1 (L (1 RELEASE 0 CLOSE)) 1@`hXd H Hlh*`(36Q CLOSEF 27Q OPENP) (55Q SYSHASHFILELST 51Q SYSHASHFILELST 17Q SYSHASHFILE 10Q SYSHASHFILELST) () CLOSEHASHFILE D1 (L (1 REOPEN 0 HASHFILE)) "@` bdk( A@k(A @k((33Q OPENHASHFILE 22Q CLOSEF 10Q HASHFILEP) (5 SYSHASHFILE) () COLLECTKEYSA0001 D1 (L (1 KEY2 0 KEY1) F 0 MKSTRING? F 1 KEYLST) P@ @PA AQc(15Q MKSTRING 5 MKSTRING) NIL () COLLECTKEYSA0002 D1 (L (0 KEY) F 0 KEYLST F 1 MKSTRING?) Q@ @Pc(5 MKSTRING) NIL () COLLECTKEYS D1 (L (1 DOUBLE 0 HASHFILE) P 0 KEYLST I 2 MKSTRING?) A@gi @g H(24Q MAPHASHFILE 14Q MAPHASHFILE) (21Q COLLECTKEYSA0002 10Q COLLECTKEYSA0001) () COPYHASHFILEA0003 D1 (L (0 KEY) F 0 HFILE F 1 NEWHASHFILE F 2 FN) @PQR (6 COPYHASHITEM) NIL () COPYHASHFILE D1 (L (3 VTYPE 1 NEWNAME) P 1 NEWHASHFILE I 2 FN I 0 HFILE) $@ bAhdHl( @g I I(40Q CLOSEHASHFILE 34Q MAPHASHFILE 22Q CREATEHASHFILE 3 \HASHFILEBLOCK/GTHASHFILE) (31Q COPYHASHFILEA0003) () COPYHASHITEM D1 (L (3 USERFN 2 NEWHASHFILE 1 HASHFILE 0 KEY)) <C"@ddAHhIg ABlCBg @dAHhIg Bg (71Q LOOKUPHASHFILE 61Q LOOKUPHASHFILE 41Q LOOKUPHASHFILE 22Q LOOKUPHASHFILE) (66Q INSERT 56Q RETRIEVE 36Q INSERT 17Q RETRIEVE) () CREATEHASHFILE D1 (L (5 COPYFN 4 SMASH 3 #ENTRIES 2 ITEMLENGTH 1 VALUETYPE 0 FILE)) C``j A@gglo Zdj Jj JHl l JHl HkljLKJj Lk\Dl YdlH*Ilj*J @gglo ZIkJ*Ili*Il E*I I(232Q \HASHFILEBLOCK/SETHASHSTATUS 207Q OPENFILE 166Q CLOSEF 147Q ARRAY 126Q BOUT 104Q BOUT 73Q BOUT 65Q RSH 56Q BOUT 50Q BOUT 42Q OPENFILE 16Q \HASHFILEBLOCK/FIND1STPRIME) (175Q OLD 172Q BOTH 30Q NEW 25Q BOTH 10Q HFGROWTHFACTOR 5 HASHFILEDEFAULTSIZE) ( 203Q ((TYPE BINARY)) 36Q ((TYPE BINARY))) \HASHFILEBLOCK/DELETEHASHKEY D1 (L (1 HASHFILE 0 HASHKEY)) DAk(@ Al(lD AlAl(k*Ak(j Al(Al(l l Al(Al(l (101Q BOUT 63Q BOUT 55Q RSH 40Q SETFILEPTR 17Q BOUT 6 SETFILEPTR) NIL () \HASHFILEBLOCK/FIND1STPRIME D1 (L (0 N)) 2@klHdIdIjhIdIlذiHiHlظNIL NIL () GETHASHFILE D1 (L (2 KEY2 1 HASHFILE 0 KEY)) @BIHH`I hAg (31Q LOOKUPHASHFILE 20Q PACK*) (26Q RETRIEVE 14Q HASHTEXTCHAR) () \HASHFILEBLOCK/GETHASHKEY D1 (L (2 DELOK 1 HASHFILE 0 INDEX) F 5 HASHFILERDTBL) @Al( Ak(H BAl( djilDiAl( jLAk(Al( Al( Al( @Ak(U HI@ HIAl(KJL kะjH(162Q IMOD 137Q \HASHFILEBLOCK/GETPROBE 126Q EQUAL 123Q READ 112Q SETFILEPTR 21Q SETFILEPTR 7 \HASHFILEBLOCK/MAKEHASHKEY) NIL () \HASHFILEBLOCK/GETPROBE D1 (L (0 KEY)) `@d k lk (30Q NTH 20Q CHCON1 15Q NTHCHAR 7 NCHARS) (2 PROBELST) () \HASHFILEBLOCK/GTHASHFILE D1 (L (1 WRITE 0 HASHFILE)) >@`bA -@d"dl@k(Xl HAhd@ d@o (73Q HELP 61Q OPENHASHFILE 16Q HASHFILEP) (10Q SYSHASHFILE) ( 70Q "NOT A HASHFILE") HASHBEFORECLOSE D1 (L (0 FILE)) 0@ ` HYd`hH` Ilh*h(43Q DREMOVE 11Q ASSOC 3 FULLNAME) (46Q SYSHASHFILELST 40Q SYSHASHFILELST 33Q SYSHASHFILE 25Q SYSHASHFILE 6 SYSHASHFILELST) () HASHFILEDATA D1 (L (0 HASHFILE)) @ Hk(Hl(Hl(Hl(h(3 \HASHFILEBLOCK/GTHASHFILE) NIL () HASHFILEP D1 (L (1 WRITE 0 HASHFILE)) 9@d%d0l*@` @ d` bdl( A@l(@(43Q ASSOC 33Q OPENP 25Q ASSOC) (40Q SYSHASHFILELST 22Q SYSHASHFILELST) () HASHFILEPROP D1 (L (1 PROP 0 HASHFILE)) F@ AdgHl(gHk(g AdgHk(gHl (AgHl((41Q GETFILEINFO 3 \HASHFILEBLOCK/GTHASHFILE) (74Q STREAM 61Q COPYFN 47Q NAME 36Q ACCESS 26Q ACCESS 13Q VALUETYPE) () HASHFILESPLSTA0004 D1 (F 0 HASHFILE F 1 XWORD) PQ (4 \HASHFILEBLOCK/HASHFILESPLST1) NIL () HASHFILESPLST D1 (I 1 XWORD I 0 HASHFILE) @ bg (15Q GENERATEFN 3 \HASHFILEBLOCK/GTHASHFILE) (12Q HASHFILESPLSTA0004) () \HASHFILEBLOCK/HASHFILESPLST1A0005 D1 (L (0 KEY) F 0 XWORD) P@k P@ (16Q PRODUCE 6 NTHCHAR) NIL () \HASHFILEBLOCK/HASHFILESPLST1 D1 (L (0 HASHFILE) I 1 XWORD) @g (6 MAPHASHFILE) (3 \HASHFILEBLOCK/HASHFILESPLST1A0005) () \HASHFILEBLOCK/INSERTHASHKEY D1 (L (3 HASHFILE 2 VALUE 1 INDEX 0 HASHKEY)) O@ABC ClCl(k*Ck(j Cl(Cl(l l Cl(Cl(l Cl(Cl(`C (114Q REHASHFILE 71Q BOUT 52Q BOUT 44Q RSH 27Q SETFILEPTR 6 \HASHFILEBLOCK/REPLACEHASHKEY) (104Q HASHLOADFACTOR) () LOOKUPHASHFILE D1 (L (4 KEY2 3 CALLTYPE 2 HASHFILE 1 VALUE 0 KEY) F 7 HASHFILERDTBL) @DIHH`I aBoC\Bh bHBCgC gCi YjI6CgCgC jIHAB h]dNNMNMiLCgCdgCiBk(W CgCdgCIHAB CgCgCIB KJIi(303Q \HASHFILEBLOCK/DELETEHASHKEY 255Q \HASHFILEBLOCK/REPLACEHASHKEY 223Q READ 135Q \HASHFILEBLOCK/INSERTHASHKEY 75Q \HASHFILEBLOCK/GETHASHKEY 43Q \HASHFILEBLOCK/GTHASHFILE 20Q PACK*) (273Q DELETE 263Q DELETE 243Q REPLACE 230Q REPLACE 206Q RETRIEVE 173Q RETRIEVE 120Q INSERT 107Q INSERT 65Q INSERT 53Q INSERT 14Q HASHTEXTCHAR) ( 31Q (REPLACE DELETE INSERT)) \HASHFILEBLOCK/MAKEHASHKEY D1 (L (1 RANGE 0 KEY)) ,@` AHkJ KkKLI JZ(44Q IMOD 6 DCHCON) (3 HASHSCRATCHLST) () MAPHASHFILE D1 (L (2 DOUBLE 1 MAPFN 0 HASHFILE) F 7 HASHFILERDTBL) @ b!A jBlk1Hl(llJIpHk(J Hdl( lUUl( Hl( Hl( ؾHk(N Hk(W BM \LK Hk(W lAMK Hk(W lAJlZh(212Q READ 167Q READ 150Q \HASHFILEBLOCK/SPLITKEY 140Q READ 127Q SETFILEPTR 60Q SETFILEPTR 14Q NARGS 3 \HASHFILEBLOCK/GTHASHFILE) NIL () OPENHASHFILE D1 (L (4 SMASH 3 #ENTRIES 2 ITEMLENGTH 1 ACCESS 0 FILE)) BCAo @ABC  AgAgAgAAdgg1g(Ag!AgAiAgAgAggb@ ` YdAIk(g L@ @Aglo bd @ b@ @ XDl YdlH*IlC*Ik@*IlAg*I I(321Q \HASHFILEBLOCK/SETHASHSTATUS 265Q ARRAY 232Q OPENFILE 213Q CLOSEF? 205Q EQUAL 202Q GETFILEINFO 164Q ASSOC 156Q OPENP 23Q CREATEHASHFILE 13Q MEMB) (313Q BOTH 220Q OLD 177Q ACCESS 161Q SYSHASHFILELST 150Q BOTH 142Q REPLACE 134Q DELETE 126Q INSERT 112Q BOTH 103Q OUTPUT 74Q WRITE 67Q INPUT 61Q RETRIEVE 50Q OLD 42Q INPUT 33Q READ) ( 226Q ((TYPE BINARY)) 10Q (TEXT DOUBLE NUMBER STRING PRINT FULLPRINT)) PUTHASHFILE D1 (L (3 KEY2 2 HASHFILE 1 VALUE 0 KEY)) $@CIHH`I ABAog A(40Q LOOKUPHASHFILE 20Q PACK*) (35Q DELETE 14Q HASHTEXTCHAR) ( 31Q (REPLACE INSERT)) REHASHFILEA0006 D1 (L (0 X)) @oi (10Q PRIN1) NIL ( 4 ".") REHASHFILE D1 (L (2 VALUETYPE 1 NEWNAME 0 HASHFILE) F 5 REHASHGAG) @` @ bA @g @g "Ig I YU#oi ki Hk(i ki g@g \@ILK @ IJhd@ Uki Hk(i i @(215Q TERPRI 210Q PRIN1 200Q SPACES 170Q OPENHASHFILE 157Q CLOSEHASHFILE 153Q COPYHASHFILE 141Q HASHFILEPROP 125Q SPACES 117Q PRIN1 107Q SPACES 101Q PRIN1 65Q PACKFILENAME 61Q LISTPUT 47Q HASHFILEPROP 40Q UNPACKFILENAME 35Q HASHFILEPROP 16Q \HASHFILEBLOCK/GTHASHFILE 10Q HASHFILEP) (136Q COPYFN 131Q REHASHFILEA0006 56Q VERSION 44Q ACCESS 32Q NAME 5 SYSHASHFILE) ( 75Q "Rehashing") \HASHFILEBLOCK/REPLACEHASHKEY D1 (L (3 HASHFILE 2 VALUE 1 INDEX 0 HASHKEY)) oCk(@ Cl(lU Cl(Ck( l l Cl(Ck( l l Cl(Ck( l Ck(m Ck(AH kH BH H (154Q TERPRI 150Q PRIN2 143Q SPACES 136Q PRIN2 123Q SETFILEPTR 113Q BOUT 105Q GETEOFPTR 72Q BOUT 64Q RSH 57Q GETEOFPTR 44Q BOUT 36Q RSH 31Q GETEOFPTR 17Q BOUT 6 SETFILEPTR) NIL () \HASHFILEBLOCK/SETHASHSTATUS D1 (L (0 HASHFILE)) =@k(gg @li*@lg*@l@k(@k(g *@k(@`@(51Q GETSTREAM 46Q GETFILEINFO 13Q WHENCLOSE) (72Q SYSHASHFILE 66Q SYSHASHFILELST 62Q SYSHASHFILELST 43Q ACCESS 26Q EXPR 10Q HASHBEFORECLOSE 5 BEFORE) () \HASHFILEBLOCK/SPLITKEY D1 (L (0 KEY)) `@ @kHk @Hk (30Q SUBATOM 21Q SUBATOM 6 STRPOSL) (2 HASHBITTABLE) () HASHFILENAME D1 (I 0 HASHFILE) @g (6 HASHFILEPROP) (3 NAME) () TESTHASH D1 (P 0 OLDGC I 0 HASHFILE) ^h oi i o oi i o oi i o oi i o H h(132Q GCGAG 126Q TIME 117Q TERPRI 112Q PRIN1 102Q TIME 73Q TERPRI 66Q PRIN1 56Q TIME 47Q TERPRI 42Q PRIN1 32Q TIME 23Q TERPRI 16Q PRIN1 3 GCGAG) NIL ( 123Q (for I to 1750Q DO (PUTHASHFILE I NIL HASHFILE)) 106Q "Deleting ..." 77Q (for I to 1750Q DO (GETHASHFILE I HASHFILE)) 62Q "Retrieving ..." 53Q (for I to 1750Q DO (PUTHASHFILE I (GENSYM) HASHFILE)) 36Q "Replacing ..." 27Q (for I to 1750Q DO (PUTHASHFILE I (GENSYM) HASHFILE)) 12Q "Inserting ...") (PRETTYCOMPRINT HASHCOMS) (RPAQQ HASHCOMS ((FNS * HASHFNS) (FNS DELETEHASHKEY FIND1STPRIME GETHASHKEY GETPROBE GTHASHFILE HASHFILESPLST1 INSERTHASHKEY MAKEHASHKEY REPLACEHASHKEY SETHASHSTATUS SPLITKEY) (FNS TESTHASH) (VARS HASHFILEDEFAULTSIZE HASHLOADFACTOR PROBELST (HASHSCRATCHLST (CONSTANT (for I to 30 collect NIL))) HFGROWTHFACTOR REHASHGAG (HASHTEXTCHAR (CHARACTER 1)) (SYSHASHFILE) (HASHFILERDTBL (COPYREADTABLE ( QUOTE ORIG)))) (VARS (HASHBITTABLE (MAKEBITTABLE (LIST HASHTEXTCHAR)))) (ADDVARS (SYSHASHFILELST) ( AFTERSYSOUTFORMS (CLEARHASHFILES))) (DECLARE: EVAL@COMPILE DONTCOPY (RECORDS HashFile) (MACROS ANYEQ CREATEKEY GETHASHFILE HASHFILENAME MODTIMES PRINTPTR PRINTSTBYTE READPTR READSTBYTE REHASHKEY) ( GLOBALVARS * HASHGLOBALS) (SPECVARS REHASHGAG HASHFILERDTBL) (BLOCKS (HASHFILEBLOCK (SPECVARS REHASHGAG HASHFILERDTBL) (ENTRIES CLEARHASHFILES CLOSEHASHFILE COLLECTKEYS COPYHASHFILE COPYHASHITEM CREATEHASHFILE GETHASHFILE HASHBEFORECLOSE HASHFILEDATA HASHFILEP HASHFILEPROP HASHFILESPLST LOOKUPHASHFILE MAPHASHFILE OPENHASHFILE PUTHASHFILE REHASHFILE) CLEARHASHFILES CLOSEHASHFILE COLLECTKEYS COPYHASHFILE COPYHASHITEM CREATEHASHFILE DELETEHASHKEY FIND1STPRIME GETHASHFILE GETHASHKEY GETPROBE GTHASHFILE HASHBEFORECLOSE HASHFILEDATA HASHFILEP HASHFILEPROP HASHFILESPLST HASHFILESPLST1 INSERTHASHKEY LOOKUPHASHFILE MAKEHASHKEY MAPHASHFILE OPENHASHFILE PUTHASHFILE REHASHFILE REPLACEHASHKEY SETHASHSTATUS SPLITKEY))) (P (SELECTQ (SYSTEMTYPE) ((TENEX TOPS20) (FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) DFOR10)) NIL)))) (RPAQQ HASHFNS (CLEARHASHFILES CLOSEHASHFILE COLLECTKEYS COPYHASHFILE COPYHASHITEM CREATEHASHFILE GETHASHFILE HASHBEFORECLOSE HASHFILEDATA HASHFILENAME HASHFILEP HASHFILEPROP HASHFILESPLST LOOKUPHASHFILE MAPHASHFILE OPENHASHFILE PUTHASHFILE REHASHFILE)) (RPAQQ HASHFILEDEFAULTSIZE 512) (RPAQQ HASHLOADFACTOR .875) (RPAQQ PROBELST (1 3 5 7 11 11 13 17 17 19 23 23 29 29 29 31 37 37 37 41 41 43 47 47 53 53 53 59 59 59 61 67)) (RPAQ HASHSCRATCHLST (CONSTANT (for I to 30 collect NIL))) (RPAQQ HFGROWTHFACTOR 3) (RPAQQ REHASHGAG T) (RPAQ HASHTEXTCHAR (CHARACTER 1)) (RPAQQ SYSHASHFILE NIL) (RPAQ HASHFILERDTBL (COPYREADTABLE (QUOTE ORIG))) (RPAQ HASHBITTABLE (MAKEBITTABLE (LIST HASHTEXTCHAR))) (ADDTOVAR SYSHASHFILELST) (ADDTOVAR AFTERSYSOUTFORMS (CLEARHASHFILES)) (SELECTQ (SYSTEMTYPE) ((TENEX TOPS20) (FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) DFOR10)) NIL) (PUTPROPS HASH COPYRIGHT ("Chris Lane and Xerox Corporation" 1984 1985)) NIL