System\IO\Hashing\XxHashShared.cs (35)
30public const int NumStripesPerBlock = (SecretLengthBytes - StripeLengthBytes) / SecretConsumeRateBytes;
31public const int AccumulatorCount = StripeLengthBytes / sizeof(ulong);
33public const int InternalBufferStripes = InternalBufferLengthBytes / StripeLengthBytes;
121Debug.Assert(InternalBufferLengthBytes % StripeLengthBytes == 0);
207const int StripesPerBlock = (SecretLengthBytes - StripeLengthBytes) / SecretConsumeRateBytes;
208const int BlockLen = StripeLengthBytes * StripesPerBlock;
214int stripesNumber = (int)((length - 1 - offset) / StripeLengthBytes);
216Accumulate512(accumulators, source + length - StripeLengthBytes, secret + (SecretLengthBytes - StripeLengthBytes - SecretLastAccStartBytes));
230ScrambleAccumulators(accumulators, secret + (SecretLengthBytes - StripeLengthBytes));
231Accumulate(accumulators, source + ((int)stripesToEndOfBlock * StripeLengthBytes), secret, (int)stripesAfterBlock);
276if (source.Length - sourceIndex > NumStripesPerBlock * StripeLengthBytes)
278ulong stripes = (ulong)(source.Length - sourceIndex - 1) / StripeLengthBytes;
285ScrambleAccumulators(accumulators, secret + (SecretLengthBytes - StripeLengthBytes));
287sourceIndex += (int)stripesToEnd * StripeLengthBytes;
294ScrambleAccumulators(accumulators, secret + (SecretLengthBytes - StripeLengthBytes));
295sourceIndex += NumStripesPerBlock * StripeLengthBytes;
301sourceIndex += (int)stripes * StripeLengthBytes;
306source.Slice(sourceIndex - StripeLengthBytes, StripeLengthBytes).CopyTo(new Span<byte>(buffer + InternalBufferLengthBytes - StripeLengthBytes, StripeLengthBytes));
319source.Slice(sourceIndex - StripeLengthBytes, StripeLengthBytes).CopyTo(new Span<byte>(buffer + InternalBufferLengthBytes - StripeLengthBytes, StripeLengthBytes));
368if (state.BufferedCount >= StripeLengthBytes)
370uint stripes = (state.BufferedCount - 1) / StripeLengthBytes;
375accumulateData = buffer + state.BufferedCount - StripeLengthBytes;
379byte* lastStripe = stackalloc byte[StripeLengthBytes];
380int catchupSize = StripeLengthBytes - (int)state.BufferedCount;
382new ReadOnlySpan<byte>(buffer + InternalBufferLengthBytes - catchupSize, catchupSize).CopyTo(new Span<byte>(lastStripe, StripeLengthBytes));
387Accumulate512(accumulators, accumulateData, secret + (SecretLengthBytes - StripeLengthBytes - SecretLastAccStartBytes));
517byte* secretForScramble = secret + (SecretLengthBytes - StripeLengthBytes);
604source += StripeLengthBytes;