_literalEncoder.getSubCoder(position, _previousByte).getPrice(!Base.stateIsCharState(_state), matchByte, currentByte); _optimum[1].makeAsChar(); _literalEncoder.getSubCoder(position, _matchFinder.getIndexByte(0 - 2)). getPrice(!Base.stateIsCharState(state), matchByte, currentByte); repMatchPrice + getRepPrice(repIndex, lenTest, state, posState) + lzma.sdk.rangecoder.Encoder.getPrice0(_isMatch[(state2 << Base.kNumPosStatesBitsMax) + posStateNext]) + _literalEncoder.getSubCoder(position + lenTest, _matchFinder.getIndexByte(lenTest - 1 - 1)).getPrice(true, _matchFinder.getIndexByte(lenTest - 1 - (reps[repIndex] + 1)), int curAndLenCharPrice = curAndLenPrice + lzma.sdk.rangecoder.Encoder.getPrice0(_isMatch[(state2 << Base.kNumPosStatesBitsMax) + posStateNext]) + _literalEncoder.getSubCoder(position + lenTest, _matchFinder.getIndexByte(lenTest - 1 - 1)). getPrice(true,
_literalEncoder.getSubCoder(position, _previousByte).getPrice(!Base.stateIsCharState(_state), matchByte, currentByte); _optimum[1].makeAsChar(); _literalEncoder.getSubCoder(position, _matchFinder.getIndexByte(0 - 2)). getPrice(!Base.stateIsCharState(state), matchByte, currentByte); repMatchPrice + getRepPrice(repIndex, lenTest, state, posState) + lzma.sdk.rangecoder.Encoder.getPrice0(_isMatch[(state2 << Base.kNumPosStatesBitsMax) + posStateNext]) + _literalEncoder.getSubCoder(position + lenTest, _matchFinder.getIndexByte(lenTest - 1 - 1)).getPrice(true, _matchFinder.getIndexByte(lenTest - 1 - (reps[repIndex] + 1)), int curAndLenCharPrice = curAndLenPrice + lzma.sdk.rangecoder.Encoder.getPrice0(_isMatch[(state2 << Base.kNumPosStatesBitsMax) + posStateNext]) + _literalEncoder.getSubCoder(position + lenTest, _matchFinder.getIndexByte(lenTest - 1 - 1)). getPrice(true,
_state = Base.stateUpdateChar(_state); byte curByte = _matchFinder.getIndexByte(0 - _additionalOffset); _literalEncoder.getSubCoder((int) (nowPos64), _previousByte).encode(_rangeEncoder, curByte); _previousByte = curByte; _additionalOffset--; LiteralEncoder.Encoder2 subCoder = _literalEncoder.getSubCoder((int) nowPos64, _previousByte); if (!Base.stateIsCharState(_state))
_state = Base.stateUpdateChar(_state); byte curByte = _matchFinder.getIndexByte(0 - _additionalOffset); _literalEncoder.getSubCoder((int) (nowPos64), _previousByte).encode(_rangeEncoder, curByte); _previousByte = curByte; _additionalOffset--; LiteralEncoder.Encoder2 subCoder = _literalEncoder.getSubCoder((int) nowPos64, _previousByte); if (!Base.stateIsCharState(_state))
void init() { baseInit(); _rangeEncoder.init(); lzma.sdk.rangecoder.Encoder.initBitModels(_isMatch); lzma.sdk.rangecoder.Encoder.initBitModels(_isRep0Long); lzma.sdk.rangecoder.Encoder.initBitModels(_isRep); lzma.sdk.rangecoder.Encoder.initBitModels(_isRepG0); lzma.sdk.rangecoder.Encoder.initBitModels(_isRepG1); lzma.sdk.rangecoder.Encoder.initBitModels(_isRepG2); lzma.sdk.rangecoder.Encoder.initBitModels(_posEncoders); _literalEncoder.init(); for (int i = 0; i < Base.kNumLenToPosStates; i++) { _posSlotEncoder[i].init(); } _lenEncoder.init(1 << _posStateBits); _repMatchLenEncoder.init(1 << _posStateBits); _posAlignEncoder.init(); _longestMatchWasFound = false; _optimumEndIndex = 0; _optimumCurrentIndex = 0; _additionalOffset = 0; }
void init() { baseInit(); _rangeEncoder.init(); lzma.sdk.rangecoder.Encoder.initBitModels(_isMatch); lzma.sdk.rangecoder.Encoder.initBitModels(_isRep0Long); lzma.sdk.rangecoder.Encoder.initBitModels(_isRep); lzma.sdk.rangecoder.Encoder.initBitModels(_isRepG0); lzma.sdk.rangecoder.Encoder.initBitModels(_isRepG1); lzma.sdk.rangecoder.Encoder.initBitModels(_isRepG2); lzma.sdk.rangecoder.Encoder.initBitModels(_posEncoders); _literalEncoder.init(); for (int i = 0; i < Base.kNumLenToPosStates; i++) { _posSlotEncoder[i].init(); } _lenEncoder.init(1 << _posStateBits); _repMatchLenEncoder.init(1 << _posStateBits); _posAlignEncoder.init(); _longestMatchWasFound = false; _optimumEndIndex = 0; _optimumCurrentIndex = 0; _additionalOffset = 0; }
void create() { if (_matchFinder == null) { int numHashBytes = 4; if (_matchFinderType == EMatchFinderTypeBT2) { numHashBytes = 2; } lzma.sdk.lz.BinTree bt = new lzma.sdk.lz.BinTree(numHashBytes); _matchFinder = bt; } _literalEncoder.create(_numLiteralPosStateBits, _numLiteralContextBits); if (_dictionarySize == _dictionarySizePrev && _numFastBytesPrev == _numFastBytes) { return; } _matchFinder.create(_dictionarySize, kNumOpts, _numFastBytes, Base.kMatchMaxLen + 1); _dictionarySizePrev = _dictionarySize; _numFastBytesPrev = _numFastBytes; }
void create() { if (_matchFinder == null) { int numHashBytes = 4; if (_matchFinderType == EMatchFinderTypeBT2) { numHashBytes = 2; } lzma.sdk.lz.BinTree bt = new lzma.sdk.lz.BinTree(numHashBytes); _matchFinder = bt; } _literalEncoder.create(_numLiteralPosStateBits, _numLiteralContextBits); if (_dictionarySize == _dictionarySizePrev && _numFastBytesPrev == _numFastBytes) { return; } _matchFinder.create(_dictionarySize, kNumOpts, _numFastBytes, Base.kMatchMaxLen + 1); _dictionarySizePrev = _dictionarySize; _numFastBytesPrev = _numFastBytes; }