about summary refs log tree commit diff stats
path: root/077hash.mu
diff options
context:
space:
mode:
Diffstat (limited to '077hash.mu')
-rw-r--r--077hash.mu28
1 files changed, 0 insertions, 28 deletions
diff --git a/077hash.mu b/077hash.mu
deleted file mode 100644
index 77e564d9..00000000
--- a/077hash.mu
+++ /dev/null
@@ -1,28 +0,0 @@
-# From http://burtleburtle.net/bob/hash/hashfaq.html#example
-# Though this one doesn't behave the same because mu uses doubles under the
-# hood, which wrap around at a different limit.
-recipe hash x:address:shared:array:character -> n:number [
-  local-scope
-  load-ingredients
-  n <- copy 0
-  len:number <- length *x
-  i:number <- copy 0
-  {
-    done?:boolean <- greater-or-equal i, len
-    break-if done?
-    c:character <- index *x, i
-    n <- add n, c
-    tmp1:number <- shift-left n, 10
-    n <- add n, tmp1
-    tmp2:number <- shift-right n, 6
-    n <- xor-bits n, tmp2
-    tmp3:number <- shift-left n, 3
-    n <- add n, tmp3
-    tmp4:number <- shift-right n, 11
-    n <- xor-bits n, tmp4
-    tmp5:number <- shift-left n, 15
-    n <- add n, tmp5
-    i <- add i, 1
-    loop
-  }
-]