@@ -28,30 +28,30 @@ function murmurhash3_32_gc($key,$seed=0){
28
28
((ord ($ key [++$ i ]) & 0xff ) << 16 ) |
29
29
((ord ($ key [++$ i ]) & 0xff ) << 24 );
30
30
++$ i ;
31
- $ k1 = (((($ k1 & 0xffff ) * $ c1 ) + ((((int )(( float ) $ k1 / 0x10000 ) * $ c1 ) & 0xffff ) << 16 ))) & 0xffffffff ;
32
- $ k1 = ( $ k1 << 15 ) | ( int )(( float ) $ k1 / pow ( 2 ,( int ) 17 )) ;
33
- $ k1 = (((($ k1 & 0xffff ) * $ c2 ) + ((((int )(( float ) $ k1 / 0x10000 ) * $ c2 ) & 0xffff ) << 16 ))) & 0xffffffff ;
31
+ $ k1 = (((($ k1 & 0xffff ) * $ c1 ) + (((($ k1 >> 16 ) * $ c1 ) & 0xffff ) << 16 ))) & 0xffffffff ;
32
+ $ k1 = $ k1 << 15 | $ k1 >> 17 ;
33
+ $ k1 = (((($ k1 & 0xffff ) * $ c2 ) + (((($ k1 >> 16 ) * $ c2 ) & 0xffff ) << 16 ))) & 0xffffffff ;
34
34
$ h1 ^= $ k1 ;
35
- $ h1 = ( $ h1 << 13 ) | ( int )(( float ) $ h1 / pow ( 2 ,( int ) 19 )) ;
36
- $ h1b = (((($ h1 & 0xffff ) * 5 ) + ((((int )(( float ) $ h1 / 0x10000 ) * 5 ) & 0xffff ) << 16 ))) & 0xffffffff ;
37
- $ h1 = ((($ h1b & 0xffff ) + 0x6b64 ) + ((((int )(( float ) $ h1b / 0x10000 ) + 0xe654 ) & 0xffff ) << 16 ));
35
+ $ h1 = $ h1 << 13 | $ h1 >> 19 ;
36
+ $ h1b = (((($ h1 & 0xffff ) * 5 ) + (((($ h1 >> 16 ) * 5 ) & 0xffff ) << 16 ))) & 0xffffffff ;
37
+ $ h1 = ((($ h1b & 0xffff ) + 0x6b64 ) + (((($ h1b >> 16 ) + 0xe654 ) & 0xffff ) << 16 ));
38
38
}
39
39
40
40
$ k1 = 0 ;
41
41
switch ($ remainder ) {
42
42
case 3 : $ k1 ^= (ord ($ key [$ i + 2 ]) & 0xff ) << 16 ;
43
43
case 2 : $ k1 ^= (ord ($ key [$ i + 1 ]) & 0xff ) << 8 ;
44
44
case 1 : $ k1 ^= (ord ($ key [$ i ]) & 0xff );
45
- $ k1 = ((($ k1 & 0xffff ) * $ c1 ) + ((((int )(( float ) $ k1 / 0x10000 ) * $ c1 ) & 0xffff ) << 16 )) & 0xffffffff ;
46
- $ k1 = ( $ k1 << 15 ) | ( int )(( float ) $ k1 / pow ( 2 ,( int ) 17 )) ;
47
- $ k1 = ((($ k1 & 0xffff ) * $ c2 ) + ((((int )(( float ) $ k1 / 0x10000 ) * $ c2 ) & 0xffff ) << 16 )) & 0xffffffff ;
45
+ $ k1 = ((($ k1 & 0xffff ) * $ c1 ) + (((($ k1 >> 16 ) * $ c1 ) & 0xffff ) << 16 )) & 0xffffffff ;
46
+ $ k1 = $ k1 << 15 | $ k1 >> 17 ;
47
+ $ k1 = ((($ k1 & 0xffff ) * $ c2 ) + (((($ k1 >> 16 ) * $ c2 ) & 0xffff ) << 16 )) & 0xffffffff ;
48
48
$ h1 ^= $ k1 ;
49
49
}
50
50
$ h1 ^= $ klen ;
51
- $ h1 ^= ( int )(( float ) $ h1 / 0x10000 ) ;
52
- $ h1 = ((($ h1 & 0xffff ) * 0x85ebca6b ) + ((((int )(( float ) $ h1 / 0x10000 ) * 0x85ebca6b ) & 0xffff ) << 16 )) & 0xffffffff ;
53
- $ h1 ^= ( int )(( float ) $ h1 / pow ( 2 ,( int ) 13 )) ;
54
- $ h1 = (((($ h1 & 0xffff ) * 0xc2b2ae35 ) + ((((int )(( float ) $ h1 / 0x10000 ) * 0xc2b2ae35 ) & 0xffff ) << 16 ))) & 0xffffffff ;
55
- $ h1 ^= ( int )(( float ) $ h1 / 0x10000 ) ;
56
- return base_convert (( int ) $ h1 ,10 ,32 );
51
+ $ h1 ^= $ h1 >> 16 ;
52
+ $ h1 = ((($ h1 & 0xffff ) * 0x85ebca6b ) + (((($ h1 >> 16 ) * 0x85ebca6b ) & 0xffff ) << 16 )) & 0xffffffff ;
53
+ $ h1 ^= $ h1 >> 13 ;
54
+ $ h1 = (((($ h1 & 0xffff ) * 0xc2b2ae35 ) + (((($ h1 >> 16 ) * 0xc2b2ae35 ) & 0xffff ) << 16 ))) & 0xffffffff ;
55
+ $ h1 ^= $ h1 >> 16 ;
56
+ return base_convert ($ h1 ,10 ,32 );
57
57
}
0 commit comments