Well, that about wraps this up...MRAB was 100% correct, that solution
worked...not sure how I managed to mess it up when I tried it early.

Based on the incoming values of u here is the code with the minimal
number of maskings:

def findit(u):
    mask = 0xffffffff
    u += 0xe91aaa35
    u ^= u >> 16
    u = (u + (u << 8)) & mask
    u ^= u >> 4
    b  = (u >> 8) & 0x1ff
    a  = (u + (u << 2) & mask) >> 19
    r  = a ^ hash_adjust[b]
    return r

Thanks for your help all!
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to