while (input.peek() != EOF) {
const unsigned char symbol = input.get();
encodeSymbol(symbol, output);
this->acModel.update(this->context, symbol);
this->context = symbol;
++show_progress;
}
...
void ArithmeticCoder::encodeSymbol(const uint16_t symbol, std::ostream & output) {
this->symbolData = this->acModel.getSymbolData(this->context, symbol);
updateLimits(symbol);
while (true) {
...