tbls[j].freq[i] = 1;
for (i = 0, sum = 0, zeroes = 0; i < N_SYMBOLS; ++i)
sum += tbls[j].freq[i];
- for (i = 0; i < N_SYMBOLS && sum < 1 << LOG2_TBLSZ; ++i)
- if (!(j == 2 && i == 0))
- ++tbls[j].freq[i], ++sum;
- for (i = 0; i < N_SYMBOLS && sum > 1 << LOG2_TBLSZ; ++i)
- if (tbls[j].freq[i] > 1)
- --tbls[j].freq[i], --sum;
+ while (sum < 1 << LOG2_TBLSZ)
+ for (i = 0; i < N_SYMBOLS && sum < 1 << LOG2_TBLSZ; ++i)
+ if (!(j == 2 && i == 0))
+ ++tbls[j].freq[i], ++sum;
+ while (sum > 1 << LOG2_TBLSZ)
+ for (i = 0; i < N_SYMBOLS && sum > 1 << LOG2_TBLSZ; ++i)
+ if (tbls[j].freq[i] > 1)
+ --tbls[j].freq[i], --sum;
}
}