public static int Wang32shiftmult(int key) {
        int c2 = 0x27d4eb2d; // a prime or an odd constant
        key = (key ^ 61) ^ (key >>> 16);
        key = key + (key << 3);
        key = key ^ (key >>> 4);
        key = key * c2;
        key = key ^ (key >>> 15);
        return key;
    }
public static int Wang32shiftmult ( int key ) { int c2 = 0x27d4eb2d ; key = ( key ^ 61 ) ^ ( key > > > 16 ) ; key = key + ( key << 3 ) ; key = key ^ ( key > > > 4 ) ; key = key * c2 ; key = key ^ ( key > > > 15 ) ; return key ; }
This method uses a combination of bit shifts and integer multiplication to hash the input key. <p/>
<h3>Links</h3> <a href="http://www.concentric.net/~ttwang/tech/inthash.htm">http://www.concentric.net/~ttwang/tech/inthash.htm</a><br/>

@param key key to be hashed
@return hashed key