private static void FSE_encodeSymbol(BIT_CStream_t *bitC, FSE_CState_t *statePtr, uint symbol) { FSE_symbolCompressionTransform symbolTT = ((FSE_symbolCompressionTransform *)(statePtr->symbolTT))[symbol]; ushort *stateTable = (ushort *)(statePtr->stateTable); uint nbBitsOut = (uint)(((nuint)statePtr->value + symbolTT.deltaNbBits) >> 16); BIT_addBits(bitC, (nuint)statePtr->value, nbBitsOut); statePtr->value = (nint)(stateTable[(statePtr->value >> (int)nbBitsOut) + symbolTT.deltaFindState]); }
private static void HUF_encodeSymbol(BIT_CStream_t *bitCPtr, uint symbol, HUF_CElt_s *CTable) { BIT_addBitsFast(bitCPtr, CTable[symbol].val, CTable[symbol].nbBits); }
private static void FSE_flushCState(BIT_CStream_t *bitC, FSE_CState_t *statePtr) { BIT_addBits(bitC, (nuint)statePtr->value, statePtr->stateLog); BIT_flushBits(bitC); }