mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
19 lines
381 B
C
19 lines
381 B
C
|
#pragma once
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
#include "common/common_types.h"
|
||
|
|
||
|
inline u64 fnv64(const void* data, u64 len) {
|
||
|
u64 ret = 0xcbf29ce484222325;
|
||
|
const auto* ptr = (const u8*)data;
|
||
|
for (u64 i = 0; i < len; i++) {
|
||
|
ret = 1099511628211 * (((u64)*ptr) ^ ret);
|
||
|
ptr++;
|
||
|
}
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
inline u64 fnv64(const std::string& str) {
|
||
|
return fnv64(str.data(), str.length());
|
||
|
}
|