handleRun(encoder, run, first_run, positions[i]);
if(first_run.second == 0)
{
handleRun(encoder, run, first_run, positions[i]);
if(first_run.second == 0)
{
if(i == second_bit) // positions[i] is one
{
handleOne(encoder, run, positions[i]);
if(i == second_bit) // positions[i] is one
{
handleOne(encoder, run, positions[i]);
while(!first_finished)
{
handleRun(encoder, run, first_run, size);
while(!first_finished)
{
handleRun(encoder, run, first_run, size);
delete first; delete second;
return new RLEVector(encoder, size);
}
delete first; delete second;
return new RLEVector(encoder, size);
}
delete first; delete second;
return new DeltaVector(encoder, size);
}
delete first; delete second;
return new DeltaVector(encoder, size);
}