MCPcopy Create free account
hub / github.com/catboost/catboost / CalcChecksum

Function CalcChecksum

library/cpp/netliba/v6/block_chain.cpp:7–25  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5
6namespace NNetliba {
7 ui32 CalcChecksum(const void* p, int size) {
8 //return 0;
9 //return CalcCrc32(p, size);
10 i64 sum = 0;
11 const unsigned char *pp = (const unsigned char*)p, *pend = pp + size;
12 for (const unsigned char* pend4 = pend - 3; pp < pend4; pp += 4)
13 sum += *(const ui32*)pp;
14
15 ui32 left = 0, pos = 0;
16 for (; pp < pend; ++pp) {
17 pos += ((ui32)*pp) << left;
18 left += 8;
19 }
20
21 sum += pos;
22 sum = (sum & 0xffffffff) + (sum >> 32);
23 sum += sum >> 32;
24 return (ui32)~sum;
25 }
26
27 ui32 CalcChecksum(const TBlockChain& chain) {
28 TIncrementalChecksumCalcer ics;

Callers 6

SendToMethod · 0.70
RecvFromMethod · 0.70
TSendRequestMethod · 0.70
SendWithHighPriorityMethod · 0.70
DoSendsMethod · 0.70
GetDebugInfoFunction · 0.70

Calls 2

AddChainFunction · 0.85
CalcChecksumMethod · 0.45

Tested by

no test coverage detected