MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / getHash

Function getHash

src/lodepng.cpp:1386–1401  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1384}
1385
1386static unsigned getHash(const unsigned char* data, size_t size, size_t pos)
1387{
1388 unsigned result = 0;
1389 if (HASH_NUM_CHARACTERS == 3 && pos + 2 < size) {
1390 result ^= (data[pos + 0] << (0 * HASH_SHIFT));
1391 result ^= (data[pos + 1] << (1 * HASH_SHIFT));
1392 result ^= (data[pos + 2] << (2 * HASH_SHIFT));
1393 } else {
1394 size_t amount, i;
1395 if(pos >= size) return 0;
1396 amount = HASH_NUM_CHARACTERS;
1397 if(pos + amount >= size) amount = size - pos;
1398 for(i = 0; i < amount; i++) result ^= (data[pos + i] << (i * HASH_SHIFT));
1399 }
1400 return result & HASH_BIT_MASK;
1401}
1402
1403static unsigned countZeros(const unsigned char* data, size_t size, size_t pos)
1404{

Callers 1

encodeLZ77Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected