in Aliyun/Log/protocolbuffers.inc.php [84:111]
public static function size_varint($i) {
/* $len = 0;
do {
$i = $i >> 7;
$len++;
} while ($i != 0);
return $len;
*/
// TODO Change to a binary search
if ($i < 0x80)
return 1;
if ($i < 0x4000)
return 2;
if ($i < 0x200000)
return 3;
if ($i < 0x10000000)
return 4;
if ($i < 0x800000000)
return 5;
if ($i < 0x40000000000)
return 6;
if ($i < 0x2000000000000)
return 7;
if ($i < 0x100000000000000)
return 8;
if ($i < 0x8000000000000000)
return 9;
}