MCPcopy Create free account
hub / github.com/defold/defold / dmHashUpdateBuffer64

Function dmHashUpdateBuffer64

engine/dlib/src/dlib/hash.cpp:523–558  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

521}
522
523void dmHashUpdateBuffer64(HashState64* hash_state, const void* buffer, uint32_t buffer_len)
524{
525 const uint64_t m = 0xc6a4a7935bd1e995ULL;
526 const int r = 47;
527
528 const unsigned char * data = (const unsigned char *) buffer;
529 int len = (int) buffer_len;
530
531 hash_state->m_Size += len;
532
533 MixTail64(hash_state, data, len);
534
535 while(len >= 8)
536 {
537 uint64_t k;
538 k = uint64_t(data[0]);
539 k |= uint64_t(data[1]) << 8;
540 k |= uint64_t(data[2]) << 16;
541 k |= uint64_t(data[3]) << 24;
542 k |= uint64_t(data[4]) << 32;
543 k |= uint64_t(data[5]) << 40;
544 k |= uint64_t(data[6]) << 48;
545 k |= uint64_t(data[7]) << 56;
546
547 mmix(hash_state->m_Hash, k);
548
549 data += 8;
550 len -= 8;
551 }
552
553 MixTail64(hash_state, data, len);
554 if (dmHashContainer().m_Enabled && hash_state->m_ReverseHashEntryIndex && hash_state->m_Size <= DMHASH_MAX_REVERSE_LENGTH)
555 {
556 dmHashContainer().UpdateReversHashState(hash_state->m_ReverseHashEntryIndex, hash_state->m_Size, buffer, buffer_len);
557 }
558}
559
560uint64_t dmHashFinal64(HashState64* hash_state)
561{

Callers 15

SpawnFunction · 0.85
GetAbsoluteIdentifierFunction · 0.85
AcquireResourcesFunction · 0.85
ProcessDataFunction · 0.85
DrawFunction · 0.85
WriteEntryFunction · 0.85
BeginFunction · 0.85
AddFunction · 0.85
GetFunction · 0.85
ReleaseFunction · 0.85
CalculateConnectionIDFunction · 0.85

Calls 2

MixTail64Function · 0.85
UpdateReversHashStateMethod · 0.80

Tested by 5

ProcessDataFunction · 0.68
TEST_FFunction · 0.68
dmHashCTestIncrementalFunction · 0.68
TEST_FFunction · 0.68