hash_func.py
#hash function for integers
def int_hash(num):
alpha = [str(elem) for elem in range(10)]
numbers = ['a', 'b', 'c', 'e']
num += num * 13
hashed = ''
while len(hashed) < 8:
if hashed == '':
if num % 2 == 0:
hashed += numbers[1]
elif num % 5 == 0:
hashed += numbers[2]
elif num % 3 == 0:
hashed += numbers[3]
else:
hashed += alpha[0]
else:
if hashed[len(hashed)-1] == 'a':
if num % 2 == 0:
hashed += alpha[2]
else:
hashed += 'y'
elif hashed[len(hashed)-1] == 'c':
if len(hashed) % 2 == 0:
hashed += alpha[0]
else:
hashed += numbers[3]
elif hashed[len(hashed)-1] == '1':
if num % 2 == 0:
hashed += alpha[1]
else:
hashed += numbers[0]
else:
if hashed[len(hashed)-1] == '2':
hashed += 'e'
elif hashed[len(hashed)-1] == 'e':
hashed += alpha[3]
else:
hashed += alpha[len(hashed)]
num *= 13
return hashed