Initial project import
This commit is contained in:
commit
23f2d29e32
11957 files changed
+1754577
No files matched your search
@@ -0,0 +1,31 @@
|
||||
module hash
|
||||
|
||||
//#flag -I @VEXEROOT/thirdparty/wyhash
|
||||
//#include "wyhash.h"
|
||||
fn C.wyhash(&u8, u64, u64, &u64) u64
|
||||
|
||||
fn C.wyhash64(u64, u64) u64
|
||||
|
||||
// wyhash_c returns a hash given a byte string `key`, its `len`, and a `seed`.
|
||||
@[inline]
|
||||
pub fn wyhash_c(key &u8, len u64, seed u64) u64 {
|
||||
return C.wyhash(key, len, seed, &u64(voidptr(C._wyp)))
|
||||
}
|
||||
|
||||
// wyhash64_c returns a hash given two u64 values `a` and `b`.
|
||||
@[inline]
|
||||
pub fn wyhash64_c(a u64, b u64) u64 {
|
||||
return C.wyhash64(a, b)
|
||||
}
|
||||
|
||||
// sum64_string returns a hash given a V string `key` and a `seed`.
|
||||
@[inline]
|
||||
pub fn sum64_string(key string, seed u64) u64 {
|
||||
return wyhash_c(key.str, u64(key.len), seed)
|
||||
}
|
||||
|
||||
// sum64 returns a hash given a byte array `key` and a `seed`.
|
||||
@[inline]
|
||||
pub fn sum64(key []u8, seed u64) u64 {
|
||||
return wyhash_c(key.data, u64(key.len), seed)
|
||||
}
|
||||
Reference in new issue
Block a user