On 01/25/2012 01:26 PM, Orit Wasserman wrote:
> The run length is encoded using ULEB128 (http://en.wikipedia.org/wiki/LEB128)
>
> page = zrun
> | zrun nzrun
> | zrun nzrun page
>
> zrun = length
>
> nzrun = length byte...
>
> length = uleb128 encoded integer
>
We can improve this by a further 2 bytes per page by not encoding the
trailing zero run:
page = zrun nzrun
| zrun nzrun page
so, a page containing
{ 10*0, 7, 4085*0 }
would be encoded as
0x10 0x01 0x07
without the trailing 4085 zrun. This works because you no longer send
unchanged pages.
--
error compiling committee.c: too many arguments to function