(FILECREATED " 5-Aug-84 23:30:35" {PHYLUM}<HUTTENLOCHER>LISP>COUNTER.;6 3286 changes to: (VARS COUNTERCOMS) (FNS WINVLEXCOUNTS INVLEXCOUNTS) previous date: " 4-Aug-84 13:25:26" {PHYLUM}<HUTTENLOCHER>LISP>COUNTER.;3) (PRETTYCOMPRINT COUNTERCOMS) (RPAQQ COUNTERCOMS ((FNS INVLEXCOUNTS WINVLEXCOUNTS))) (DEFINEQ (INVLEXCOUNTS [LAMBDA (HASHTBL FILE) (* edited: " 5-Aug-84 21:32") (PROG ((COUNTSTBL (HARRAY 500)) (TOTALNUMWORDS 0) (TOTALNUMCLASSES 0) (TOTALEXPECTATION 0) COUNTS NUMWORDS) [MAPSTRHASH HASHTBL (FUNCTION (LAMBDA (VAL KEY) (PROG ((SIZE (LENGTH VAL))) (PUTHASH SIZE (ADD1 (OR (GETHASH SIZE COUNTSTBL) 0)) COUNTSTBL) (SETQ TOTALNUMCLASSES (ADD1 TOTALNUMCLASSES)) (SETQ TOTALEXPECTATION (IPLUS TOTALEXPECTATION (ITIMES SIZE SIZE] [MAPHASH COUNTSTBL (FUNCTION (LAMBDA (CNT SIZE) (push COUNTS (LIST SIZE CNT)) (SETQ TOTALNUMWORDS (IPLUS TOTALNUMWORDS (ITIMES SIZE CNT] [SETQ COUNTS (SORT COUNTS (FUNCTION (LAMBDA (X Y) (LESSP (CAR X) (CAR Y] (PRIN1 TOTALNUMWORDS) (PRIN1 " words in ") (PRIN1 TOTALNUMCLASSES) (PRIN1 " classes, expected class size ") (PRIN1 (QUOTIENT TOTALEXPECTATION (FLOAT TOTALNUMWORDS))) (TERPRI) (TERPRI) (for CNT in COUNTS do (PRIN1 (SETQ NUMWORDS (ITIMES (CAR CNT) (CADR CNT))) FILE) (PRIN1 " words in classes of size " FILE) (PRIN1 (CAR CNT) FILE) (PRIN1 ", " FILE) (PRIN1 (IQUOTIENT (ITIMES NUMWORDS 100) TOTALNUMWORDS) FILE) (PRIN1 " %%" FILE) (TERPRI FILE]) (WINVLEXCOUNTS [LAMBDA (HASHTBL FILE) (* edited: " 5-Aug-84 23:27") (PROG ((COUNTSTBL (HARRAY 500)) (TOTALNUMWORDS 0) (TOTALNUMCLASSES 0) (TOTALEXPECTATION 0) COUNTS) [MAPSTRHASH HASHTBL (FUNCTION (LAMBDA (VAL KEY) (PROG [(SIZE (LENGTH VAL)) (WSIZE (for ENTRY in VAL sum (MAX 1 (fetch (LEXENTRY FREQ) ENTRY] (PUTHASH SIZE (IPLUS WSIZE (OR (GETHASH SIZE COUNTSTBL) 0)) COUNTSTBL) (SETQ TOTALNUMCLASSES (ADD1 TOTALNUMCLASSES)) (SETQ TOTALEXPECTATION (IPLUS TOTALEXPECTATION (ITIMES SIZE WSIZE] [MAPHASH COUNTSTBL (FUNCTION (LAMBDA (CNT SIZE) (push COUNTS (LIST SIZE CNT)) (SETQ TOTALNUMWORDS (IPLUS TOTALNUMWORDS CNT] [SETQ COUNTS (SORT COUNTS (FUNCTION (LAMBDA (X Y) (LESSP (CAR X) (CAR Y] (PRIN1 TOTALNUMWORDS) (PRIN1 " words in ") (PRIN1 TOTALNUMCLASSES) (PRIN1 " classes, expected class size ") (PRIN1 (QUOTIENT TOTALEXPECTATION (FLOAT TOTALNUMWORDS))) (TERPRI) (TERPRI) (for CNT in COUNTS do (PRIN1 (CADR CNT) FILE) (PRIN1 " words in classes of size " FILE) (PRIN1 (CAR CNT) FILE) (PRIN1 ", " FILE) (PRIN1 (IQUOTIENT (ITIMES (CADR CNT) 100) TOTALNUMWORDS) FILE) (PRIN1 " %%" FILE) (TERPRI FILE]) ) (PUTPROPS COUNTER COPYRIGHT (NONE)) (DECLARE: DONTCOPY (FILEMAP (NIL (334 3228 (INVLEXCOUNTS 344 . 1756) (WINVLEXCOUNTS 1758 . 3226))))) STOP