private static void FSE_updateState(FSE_DState_t *DStatePtr, BIT_DStream_t *bitD) { FSE_decode_t DInfo = ((FSE_decode_t *)(DStatePtr->table))[DStatePtr->state]; uint nbBits = DInfo.nbBits; nuint lowBits = BIT_readBits(bitD, nbBits); DStatePtr->state = DInfo.newState + lowBits; }
private static byte FSE_decodeSymbolFast(FSE_DState_t *DStatePtr, BIT_DStream_t *bitD) { FSE_decode_t DInfo = ((FSE_decode_t *)(DStatePtr->table))[DStatePtr->state]; uint nbBits = DInfo.nbBits; byte symbol = DInfo.symbol; nuint lowBits = BIT_readBitsFast(bitD, nbBits); DStatePtr->state = DInfo.newState + lowBits; return(symbol); }
private static byte FSE_peekSymbol(FSE_DState_t *DStatePtr) { FSE_decode_t DInfo = ((FSE_decode_t *)(DStatePtr->table))[DStatePtr->state]; return(DInfo.symbol); }