question: private long hash ( final float [ ] a , final int l , final int k ) { final int [ ] w = weight [ k ] ; long h = init [ k ] ; int i = l ; while ( i -- != 0 ) h ^= ( h << 5 ) + Float . floatToRawIntBits ( a [ i ] ) * w [ i % NUMBER_OF_WEIGHTS ] + ( h > > > 2 ) ; return ( h & 0x7FFFFFFFFFFFFFFFL ) % m ; }
target:  Hashes the given float array with the given hash function.