aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/hash/wyhash.c.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/vlib/hash/wyhash.c.v')
-rw-r--r--v_windows/v/vlib/hash/wyhash.c.v33
1 files changed, 33 insertions, 0 deletions
diff --git a/v_windows/v/vlib/hash/wyhash.c.v b/v_windows/v/vlib/hash/wyhash.c.v
new file mode 100644
index 0000000..3f93d24
--- /dev/null
+++ b/v_windows/v/vlib/hash/wyhash.c.v
@@ -0,0 +1,33 @@
+module hash
+
+//#flag -I @VEXEROOT/thirdparty/wyhash
+//#include "wyhash.h"
+fn C.wyhash(&byte, u64, u64, &u64) u64
+
+fn C.wyhash64(u64, u64) u64
+
+fn init() {
+ _ := {
+ 1: 1
+ }
+}
+
+[inline]
+pub fn wyhash_c(key &byte, 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]
+pub fn sum64(key []byte, seed u64) u64 {
+ return wyhash_c(&byte(key.data), u64(key.len), seed)
+}