diff options
Diffstat (limited to 'qemu/roms/SLOF/slof/fs/find-hash.fs')
-rw-r--r-- | qemu/roms/SLOF/slof/fs/find-hash.fs | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/qemu/roms/SLOF/slof/fs/find-hash.fs b/qemu/roms/SLOF/slof/fs/find-hash.fs deleted file mode 100644 index a40ccbd4f..000000000 --- a/qemu/roms/SLOF/slof/fs/find-hash.fs +++ /dev/null @@ -1,77 +0,0 @@ -\ ***************************************************************************** -\ * Copyright (c) 2004, 2008 IBM Corporation -\ * All rights reserved. -\ * This program and the accompanying materials -\ * are made available under the terms of the BSD License -\ * which accompanies this distribution, and is available at -\ * http://www.opensource.org/licenses/bsd-license.php -\ * -\ * Contributors: -\ * IBM Corporation - initial implementation -\ ****************************************************************************/ - -#ifdef HASH_DEBUG -0 value from-hash -0 value not-from-hash -0 value hash-collisions -#endif - -clean-hash - -: hash-find ( str len head -- 0 | link ) - >r 2dup 2dup hash ( str len str len hash R: head ) - dup >r @ dup ( str len str len *hash *hash R: head hash ) - IF ( str len str len *hash R: head hash ) - link>name name>string string=ci ( str len true|false R: head hash ) - dup 0= - IF -#ifdef HASH_DEBUG - hash-collisions 1+ - to hash-collisions -#endif - THEN - ELSE - nip nip ( str len 0 R: head hash ) - THEN - IF \ hash found - 2drop r> @ r> drop ( *hash R: ) -#ifdef HASH_DEBUG - from-hash 1+ to from-hash -#endif - exit - THEN \ hash not found - r> r> swap >r ((find)) ( str len head R: hash=0 ) - dup - IF -#ifdef HASH_DEBUG - not-from-hash 1+ - to not-from-hash -#endif - dup r> ! ( link R: ) - ELSE - r> drop ( 0 R: ) - THEN -; - -: hash-reveal hash off ; - -' hash-reveal to (reveal) -' hash-find to (find) - -#ifdef HASH_DEBUG -\ print out all entries in the hash table -: dump-hash-table ( -- ) - cr - hash-table hash-size 0 DO - dup @ dup 0<> IF - over . s" : " type link>name name>string type cr - ELSE - drop - THEN - cell+ - LOOP drop - s" hash-collisions: " type hash-collisions . cr - s" from-hash: " type from-hash . cr - s" not-from-hash: " type not-from-hash . cr -; -#endif |