wilbert wrote:more detail
Code: Select all
Procedure GenerateHashTable(*Mem)
Protected BlocksCount = Size/ChunkSize
LastChunk = Size - (BlocksCount * ChunkSize)
Protected x
BlocksCount - 1
For x = 0 To BlocksCount
HT(x)\Offset = x*ChunkSize
HT(x)\WeakHash = RKHash(*Mem+HT(x)\Offset, ChunkSize) ; <----- About
Next
EndProcedure
HT(x)\WeakHash = RKHash(*Mem+HT(x)\Offset, ChunkSize) ; direct call RKHash()
vs (with a little code additions of course)
HT(x)\WeakHash = HT(x-1)\WeakHash * 257 + *B\b - (*A\b * Power) ; "fast hash calc" way
( like we do in WalkHashTable() )
Can we theoretically do that or 'chunk stepping' may give us a wrong hashes values and direct RKHash() call for every chunk is the only way?