src/Net/HTTP/PageRank.php
private static function calculateChecksum( $url )
	{ 
		$length	= sizeof( $url );
		$a		= $b = 0x9E3779B9;
		$c		= GOOGLE_MAGIC;
		$k		= 0;
		$len	= $length;
		while( $len >= 12 )
		{ 
			$a		+= ( $url[$k+0] + ( $url[$k+1] <<8 ) + ( $url[$k+2] << 16 ) + ( $url[$k+3] << 24 ) );
			$b		+= ( $url[$k+4] + ( $url[$k+5] <<8 ) + ( $url[$k+6] << 16 ) + ( $url[$k+7] << 24 ) );
			$c		+= ( $url[$k+8] + ( $url[$k+9] <<8 ) + ( $url[$k+10] << 16 )+ ( $url[$k+11] << 24 ) );
			$mix	= self::mix( $a, $b, $c);
			$a		= $mix[0];
			$b		= $mix[1];
			$c		= $mix[2];
			$k		+= 12;
			$len	-= 12;
		}
		$c += $length;
		switch( $len )
		{ 
			case 11: $c	+=( $url[$k+10] << 24 );
			case 10: $c	+=( $url[$k+9] << 16 );
			case 9 : $c	+=( $url[$k+8] << 8 );
			/* the first byte of c is reserved for the length */
			case 8 : $b	+=( $url[$k+7] << 24 );
			case 7 : $b	+=( $url[$k+6] << 16 );
			case 6 : $b	+=( $url[$k+5] << 8 );
			case 5 : $b	+=( $url[$k+4]);
			case 4 : $a	+=( $url[$k+3] << 24 );
			case 3 : $a	+=( $url[$k+2] << 16 );
			case 2 : $a	+=( $url[$k+1] << 8 );
			case 1 : $a	+=( $url[$k+0] );
		} 
		$mix	= self::mix( $a, $b, $c );
		return	$mix[2];
	}
private static function calculateChecksum( $url )
	{ 
		$length	= sizeof( $url );
		$a		= $b = 0x9E3779B9;
		$c		= GOOGLE_MAGIC;
		$k		= 0;
		$len	= $length;
		while( $len >= 12 )
		{ 
			$a		+= ( $url[$k+0] + ( $url[$k+1] <<8 ) + ( $url[$k+2] << 16 ) + ( $url[$k+3] << 24 ) );
			$b		+= ( $url[$k+4] + ( $url[$k+5] <<8 ) + ( $url[$k+6] << 16 ) + ( $url[$k+7] << 24 ) );
			$c		+= ( $url[$k+8] + ( $url[$k+9] <<8 ) + ( $url[$k+10] << 16 )+ ( $url[$k+11] << 24 ) );
			$mix	= self::mix( $a, $b, $c);
			$a		= $mix[0];
			$b		= $mix[1];
			$c		= $mix[2];
			$k		+= 12;
			$len	-= 12;
		}
		$c += $length;
		switch( $len )
		{ 
			case 11: $c	+=( $url[$k+10] << 24 );
			case 10: $c	+=( $url[$k+9] << 16 );
			case 9 : $c	+=( $url[$k+8] << 8 );
			/* the first byte of c is reserved for the length */
			case 8 : $b	+=( $url[$k+7] << 24 );
			case 7 : $b	+=( $url[$k+6] << 16 );
			case 6 : $b	+=( $url[$k+5] << 8 );
			case 5 : $b	+=( $url[$k+4]);
			case 4 : $a	+=( $url[$k+3] << 24 );
			case 3 : $a	+=( $url[$k+2] << 16 );
			case 2 : $a	+=( $url[$k+1] << 8 );
			case 1 : $a	+=( $url[$k+0] );
		} 
		$mix	= self::mix( $a, $b, $c );
		return	$mix[2];
	}
private static function calculateChecksum ( $ url ) { $ length = sizeof ( $ url ) ; $ a = $ b = 0x9E3779B9 ; $ c = GOOGLE_MAGIC ; $ k = 0 ; $ len = $ length ; while ( $ len >= 12 ) { $ a += ( $ url [ $ k + 0 ] + ( $ url [ $ k + 1 ] << 8 ) + ( $ url [ $ k + 2 ] << 16 ) + ( $ url [ $ k + 3 ] << 24 ) ) ; $ b += ( $ url [ $ k + 4 ] + ( $ url [ $ k + 5 ] << 8 ) + ( $ url [ $ k + 6 ] << 16 ) + ( $ url [ $ k + 7 ] << 24 ) ) ; $ c += ( $ url [ $ k + 8 ] + ( $ url [ $ k + 9 ] << 8 ) + ( $ url [ $ k + 10 ] << 16 ) + ( $ url [ $ k + 11 ] << 24 ) ) ; $ mix = self :: mix ( $ a , $ b , $ c ) ; $ a = $ mix [ 0 ] ; $ b = $ mix [ 1 ] ; $ c = $ mix [ 2 ] ; $ k += 12 ; $ len -= 12 ; } $ c += $ length ; switch ( $ len ) { case 11 : $ c += ( $ url [ $ k + 10 ] << 24 ) ; case 10 : $ c += ( $ url [ $ k + 9 ] << 16 ) ; case 9 : $ c += ( $ url [ $ k + 8 ] << 8 ) ; /* the first byte of c is reserved for the length */ case 8 : $ b += ( $ url [ $ k + 7 ] << 24 ) ; case 7 : $ b += ( $ url [ $ k + 6 ] << 16 ) ; case 6 : $ b += ( $ url [ $ k + 5 ] << 8 ) ; case 5 : $ b += ( $ url [ $ k + 4 ] ) ; case 4 : $ a += ( $ url [ $ k + 3 ] << 24 ) ; case 3 : $ a += ( $ url [ $ k + 2 ] << 16 ) ; case 2 : $ a += ( $ url [ $ k + 1 ] << 8 ) ; case 1 : $ a += ( $ url [ $ k + 0 ] ) ; } $ mix = self :: mix ( $ a , $ b , $ c ) ; return $ mix [ 2 ] ; }
Calculates Checksum of URL for Google Request
@access		private
@static
@param		array		$url		URL as numeric Array
@return		string
Calculates Checksum of URL for Google Request