function testDecodeVarint() { foreach ($this->tests as $i => $enc) { if (is_string($i)) { $i = (double) $i; } if ($i >= 0) { $a = Protobuf::decode_varint($enc); } else { $a = Protobuf::decode_signed_varint($enc); } $this->assertSame($i, $a, "Failed to decode_varint(...)={$i}"); } }
function decode_tests() { run("decode_varint", function () { for ($i = 0; $i < LOOPS; $i++) { Protobuf::decode_varint(mt_rand_varint()); } }); run("decode_varint_int", function () { for ($i = 0; $i < LOOPS; $i++) { $v = mt_rand_varint(); Protobuf::decode_varint_int($v, strlen($v)); } }); run("decode_varint_float", function () { for ($i = 0; $i < LOOPS; $i++) { $v = mt_rand_varint(); Protobuf::decode_varint_float($v, strlen($v)); } }); run("decode_varint_bc", function () { for ($i = 0; $i < LOOPS; $i++) { $v = mt_rand_varint(); Protobuf::decode_varint_bc($v, strlen($v)); } }); run("decode_varint_gmp", function () { for ($i = 0; $i < LOOPS; $i++) { $v = mt_rand_varint(); Protobuf::decode_varint_gmp($v, strlen($v)); } }); }