Beispiel #1
0
        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;
        }
Beispiel #2
0
        private static void FSE_initDState(FSE_DState_t *DStatePtr, BIT_DStream_t *bitD, uint *dt)
        {
            void *            ptr     = (void *)dt;
            FSE_DTableHeader *DTableH = (FSE_DTableHeader *)(ptr);

            DStatePtr->state = BIT_readBits(bitD, DTableH->tableLog);
            BIT_reloadDStream(bitD);
            DStatePtr->table = dt + 1;
        }
Beispiel #3
0
        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);
        }