Diff for /gforth/hash.fs between versions 1.35 and 1.38

version 1.35, 2006/12/31 13:39:13 version 1.38, 2009/12/06 23:00:03
Line 1 Line 1
 \ Hashed dictionaries                                  15jul94py  \ Hashed dictionaries                                  15jul94py
   
 \ Copyright (C) 1995,1998,2000,2003,2006 Free Software Foundation, Inc.  \ Copyright (C) 1995,1998,2000,2003,2006,2007 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
 \ Gforth is free software; you can redistribute it and/or  \ Gforth is free software; you can redistribute it and/or
 \ modify it under the terms of the GNU General Public License  \ modify it under the terms of the GNU General Public License
 \ as published by the Free Software Foundation; either version 2  \ as published by the Free Software Foundation, either version 3
 \ of the License, or (at your option) any later version.  \ of the License, or (at your option) any later version.
   
 \ This program is distributed in the hope that it will be useful,  \ This program is distributed in the hope that it will be useful,
Line 15 Line 15
 \ GNU General Public License for more details.  \ GNU General Public License for more details.
   
 \ You should have received a copy of the GNU General Public License  \ You should have received a copy of the GNU General Public License
 \ along with this program; if not, write to the Free Software  \ along with this program. If not, see http://www.gnu.org/licenses/.
 \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  
   
 [IFUNDEF] erase  [IFUNDEF] erase
 : erase ( addr len -- ) 0 fill ;  : erase ( addr len -- ) 0 fill ;
Line 226  has? cross 0= Line 225  has? cross 0=
 \ : chisq ( -- n )  \ : chisq ( -- n )
 \     \ n should have about the same size as Hashlen  \     \ n should have about the same size as Hashlen
 \     countwl Hashlen 2 pick */ swap - ;  \     countwl Hashlen 2 pick */ swap - ;
   
   \ Create hashhist here $100 cells dup allot erase
   
   \ : .hashhist ( -- )  hashhist $100 cells erase
   \     HashTable HashLen cells bounds
   \     DO  0 I  BEGIN  @ dup  WHILE  swap 1+ swap  REPEAT  drop
   \         1 swap cells hashhist + +!
   \     cell +LOOP
   \     0 0 $100 0 DO
   \         hashhist I cells + @ dup IF
   \       cr I 0 .r ." : " dup .  THEN tuck I * + >r + r>
   \     LOOP cr ." Total: " 0 .r ." /" . cr ;

Removed from v.1.35  
changed lines
  Added in v.1.38


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>