Lines Matching full:uint32
51 UInt32 myNumBlocks = p->numProcessedBlocks;
100 static SRes MtSync_Create2(CMtSync *p, unsigned (MY_STD_CALL *startAddress)(void *), void *obj, UInt32 numBlocks)
122 static SRes MtSync_Create(CMtSync *p, unsigned (MY_STD_CALL *startAddress)(void *), void *obj, UInt32 numBlocks)
135 static void GetHeads ## name(const Byte *p, UInt32 pos, \
136 UInt32 *hash, UInt32 hashMask, UInt32 *heads, UInt32 numHeads, const UInt32 *crc) \
138 const UInt32 value = (v); p++; *heads++ = pos - hash[value]; hash[value] = pos++; } }
142 DEF_GetHeads2(2, (p[0] | ((UInt32)p[1] << 8)), hashMask = hashMask; crc = crc; )
143 DEF_GetHeads(3, (crc[p[0]] ^ p[1] ^ ((UInt32)p[2] << 8)) & hashMask)
144 DEF_GetHeads(4, (crc[p[0]] ^ p[1] ^ ((UInt32)p[2] << 8) ^ (crc[p[3]] << 5)) & hashMask)
145 DEF_GetHeads(4b, (crc[p[0]] ^ p[1] ^ ((UInt32)p[2] << 8) ^ ((UInt32)p[3] << 16)) & hashMask)
146 /* DEF_GetHeads(5, (crc[p[0]] ^ p[1] ^ ((UInt32)p[2] << 8) ^ (crc[p[3]] << 5) ^ (crc[p[4]] << 3)) & hashMask) */
153 UInt32 numProcessedBlocks = 0;
191 UInt32 subValue = (mf->pos - mf->historySize - 1);
196 UInt32 *heads = mt->hashBuf + ((numProcessedBlocks++) & kMtHashNumBlocksMask) * kMtHashBlockSize;
197 UInt32 num = mf->streamPos - mf->pos;
234 Int32 NO_INLINE GetMatchesSpecN(UInt32 lenLimit, UInt32 pos, const Byte *cur, CLzRef *son,
235 UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 _cutValue,
236 UInt32 *_distances, UInt32 _maxLen, const UInt32 *hash, Int32 limit, UInt32 size, UInt32 *posRes)
240 UInt32 *distances = _distances + 1;
241 UInt32 curMatch = pos - *hash++;
245 UInt32 len0 = 0, len1 = 0;
246 UInt32 cutValue = _cutValue;
247 UInt32 maxLen = _maxLen;
250 UInt32 delta = pos - curMatch;
259 UInt32 len = (len0 < len1 ? len0 : len1);
298 UInt32 num = (UInt32)(distances - _distances);
311 void BtGetMatches(CMatchFinderMt *p, UInt32 *distances)
313 UInt32 numProcessed = 0;
314 UInt32 curPos = 2;
315 UInt32 limit = kMtBtBlockSize - (p->matchMaxLen * 2);
330 UInt32 size = p->hashBufPosLimit - p->hashBufPos;
331 UInt32 lenLimit = p->matchMaxLen;
332 UInt32 pos = p->pos;
333 UInt32 cyclicBufferPos = p->cyclicBufferPos;
337 UInt32 size2 = p->hashNumAvail - lenLimit + 1;
347 UInt32 *startDistances = distances + curPos;
348 UInt32 num = (UInt32)(GetMatchesSpec1(lenLimit, pos - p->hashBuf[p->hashBufPos++],
359 UInt32 posRes;
380 void BtFillBlock(CMatchFinderMt *p, UInt32 globalBlockIndex)
393 UInt32 subValue = p->pos - p->cyclicBufferSize;
410 UInt32 blockIndex = 0;
465 SRes MatchFinderMt_Create(CMatchFinderMt *p, UInt32 historySize, UInt32 keepAddBufferBefore,
466 UInt32 matchMaxLen, UInt32 keepAddBufferAfter, ISzAlloc *alloc)
474 p->hashBuf = (UInt32 *)alloc->Alloc(alloc, (kHashBufferSize + kBtBufferSize) * sizeof(UInt32));
529 UInt32 blockIndex;
546 UInt32 MatchFinderMt_GetNumAvailableBytes(CMatchFinderMt *p)
557 UInt32 * MixMatches2(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *distances)
559 UInt32 hash2Value, curMatch2;
560 UInt32 *hash = p->hash;
562 UInt32 lzPos = p->lzPos;
577 UInt32 * MixMatches3(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *distances)
579 UInt32 hash2Value, hash3Value, curMatch2, curMatch3;
580 UInt32 *hash = p->hash;
582 UInt32 lzPos = p->lzPos;
612 UInt32 *MixMatches4(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *distances)
614 UInt32 hash2Value, hash3Value, hash4Value, curMatch2, curMatch3, curMatch4;
615 UInt32 *hash = p->hash;
617 UInt32 lzPos = p->lzPos;
667 UInt32 MatchFinderMt2_GetMatches(CMatchFinderMt *p, UInt32 *distances)
669 const UInt32 *btBuf = p->btBuf + p->btBufPos;
670 UInt32 len = *btBuf++;
674 UInt32 i;
685 UInt32 MatchFinderMt_GetMatches(CMatchFinderMt *p, UInt32 *distances)
687 const UInt32 *btBuf = p->btBuf + p->btBufPos;
688 UInt32 len = *btBuf++;
694 len = (UInt32)(p->MixMatchesFunc(p, p->lzPos - p->historySize, distances) - (distances));
699 UInt32 *distances2;
708 len = (UInt32)(distances2 - (distances));
715 #define SKIP_HEADER_MT(n) SKIP_HEADER2_MT if (p->btNumAvailBytes-- >= (n)) { const Byte *cur = p->pointerToCurPos; UInt32 *hash = p->hash;
718 void MatchFinderMt0_Skip(CMatchFinderMt *p, UInt32 num)
724 void MatchFinderMt2_Skip(CMatchFinderMt *p, UInt32 num)
727 UInt32 hash2Value;
733 void MatchFinderMt3_Skip(CMatchFinderMt *p, UInt32 num)
736 UInt32 hash2Value, hash3Value;
745 void MatchFinderMt4_Skip(CMatchFinderMt *p, UInt32 num)
748 UInt32 hash2Value, hash3Value, hash4Value;