1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/hash/wyhash.c.v

28 lines
533 B
V
Raw Normal View History

module hash
//#flag -I @VEXEROOT/thirdparty/wyhash
//#include "wyhash.h"
2022-04-15 18:25:45 +03:00
fn C.wyhash(&u8, u64, u64, &u64) u64
fn C.wyhash64(u64, u64) u64
[inline]
2022-04-15 18:25:45 +03:00
pub fn wyhash_c(key &u8, len u64, seed u64) u64 {
return C.wyhash(key, len, seed, &u64(C._wyp))
}
[inline]
pub fn wyhash64_c(a u64, b u64) u64 {
return C.wyhash64(a, b)
}
[inline]
pub fn sum64_string(key string, seed u64) u64 {
return wyhash_c(key.str, u64(key.len), seed)
}
[inline]
2022-04-15 15:35:35 +03:00
pub fn sum64(key []u8, seed u64) u64 {
2022-04-15 14:58:56 +03:00
return wyhash_c(&u8(key.data), u64(key.len), seed)
}