diff options
Diffstat (limited to 'bootstrap/util.c')
| -rw-r--r-- | bootstrap/util.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/bootstrap/util.c b/bootstrap/util.c index bd6f951..43aa1b4 100644 --- a/bootstrap/util.c +++ b/bootstrap/util.c @@ -4,12 +4,23 @@ u32 fnv1a(u32 h, const void *p, size_t length) { const u8 *data = p; size_t i = 0; - u64 H = h; while (i != length) { - H ^= data[i++]; - H *= 0x100000001b3; + h ^= data[i++]; + h *= 0x01000193; } - return H; + return h; +} +u32 +fnv1ai(u32 hash, int i) { + return fnv1a(hash, &i, sizeof i); +} +u32 +fnv1aI(u32 hash, i64 i) { + return fnv1a(hash, &i, sizeof i); +} +u32 +fnv1az(u32 hash, size_t i) { + return fnv1a(hash, &i, sizeof i); } static const char *filepaths[100]; |