MCPcopy Create free account
hub / github.com/ValveSoftware/openvr / hash_init

Function hash_init

samples/shared/lodepng.cpp:1355–1380  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1353} Hash;
1354
1355static unsigned hash_init(Hash* hash, unsigned windowsize)
1356{
1357 unsigned i;
1358 hash->head = (int*)lodepng_malloc(sizeof(int) * HASH_NUM_VALUES);
1359 hash->val = (int*)lodepng_malloc(sizeof(int) * windowsize);
1360 hash->chain = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize);
1361
1362 hash->zeros = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize);
1363 hash->headz = (int*)lodepng_malloc(sizeof(int) * (MAX_SUPPORTED_DEFLATE_LENGTH + 1));
1364 hash->chainz = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize);
1365
1366 if(!hash->head || !hash->chain || !hash->val || !hash->headz|| !hash->chainz || !hash->zeros)
1367 {
1368 return 83; /*alloc fail*/
1369 }
1370
1371 /*initialize hash table*/
1372 for(i = 0; i < HASH_NUM_VALUES; i++) hash->head[i] = -1;
1373 for(i = 0; i < windowsize; i++) hash->val[i] = -1;
1374 for(i = 0; i < windowsize; i++) hash->chain[i] = i; /*same value as index indicates uninitialized*/
1375
1376 for(i = 0; i <= MAX_SUPPORTED_DEFLATE_LENGTH; i++) hash->headz[i] = -1;
1377 for(i = 0; i < windowsize; i++) hash->chainz[i] = i; /*same value as index indicates uninitialized*/
1378
1379 return 0;
1380}
1381
1382static void hash_cleanup(Hash* hash)
1383{

Callers 1

lodepng_deflatevFunction · 0.85

Calls 1

lodepng_mallocFunction · 0.85

Tested by

no test coverage detected