29 return *
s ?
fnv1a(
s + 1, (seed ^
static_cast<uint64_t>(*
s)) * 0x100000001b3ULL) : seed;
44 const auto *p =
static_cast<const unsigned char *
>(data);
45 for (
size_t i = 0;
i <
len; ++
i) {
46 seed = (seed ^
static_cast<uint64_t>(p[
i])) * 0x100000001b3ULL;
Dynamic array container wrapping std::vector.
Definition list.h:40
constexpr uint64_t fnv1aData(const void *data, size_t len, uint64_t seed=0xcbf29ce484222325ULL)
Computes the FNV-1a hash of a block of data.
Definition fnv1a.h:43
PROMEKI_NAMESPACE_BEGIN constexpr uint64_t fnv1a(const char *s, uint64_t seed=0xcbf29ce484222325ULL)
Computes the FNV-1a hash of a null-terminated string at compile time.
Definition fnv1a.h:28
#define PROMEKI_NAMESPACE_BEGIN
Starts a promeki namespace block.
Definition namespace.h:14
#define PROMEKI_NAMESPACE_END
Ends a promeki namespace block.
Definition namespace.h:19