diff options
Diffstat (limited to 'components/rtgui/utils/perfect_hash/example-Python/generate_hash.py')
| -rw-r--r-- | components/rtgui/utils/perfect_hash/example-Python/generate_hash.py | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/components/rtgui/utils/perfect_hash/example-Python/generate_hash.py b/components/rtgui/utils/perfect_hash/example-Python/generate_hash.py deleted file mode 100644 index dfe9f92186..0000000000 --- a/components/rtgui/utils/perfect_hash/example-Python/generate_hash.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python -""" -This example shows how to use the function generate_hash. - -generate_hash(kdic, Hash) - -returns hash functions f1 and f2, and G for a perfect minimal hash. -Input is dictionary 'kdic' with the keys and desired hash values. -'Hash' is a random hash function generator, that means Hash(N) returns a -returns a random hash function which returns hash values from 0..N-1. -""" - -import sys -import random, string - -sys.path.append('..') -from perfect_hash import generate_hash - - - -month = dict(zip('jan feb mar apr may jun jul aug sep oct mov dec'.split(), - range(1, 13))) - -def mkRandHash(N): - """ - Return a random hash function which returns hash values from 0..N-1. - """ - junk = "".join(random.choice(string.letters + string.digits) - for i in xrange(10)) - return lambda key: hash(junk + str(key)) % N - - -f1, f2, G = generate_hash(month, mkRandHash) - -for k, h in month.items(): - assert h == ( G[f1(k)] + G[f2(k)] ) % len(G) - -print 'OK' |
