summary refs log tree commit diff stats
path: root/rod/nhashes.nim
diff options
context:
space:
mode:
Diffstat (limited to 'rod/nhashes.nim')
-rwxr-xr-xrod/nhashes.nim150
1 files changed, 0 insertions, 150 deletions
diff --git a/rod/nhashes.nim b/rod/nhashes.nim
deleted file mode 100755
index b9dd3670a..000000000
--- a/rod/nhashes.nim
+++ /dev/null
@@ -1,150 +0,0 @@
-#
-#
-#           The Nimrod Compiler
-#        (c) Copyright 2009 Andreas Rumpf
-#
-#    See the file "copying.txt", included in this
-#    distribution, for details about the copyright.
-#
-
-import 
-  strutils
-
-const 
-  SmallestSize* = (1 shl 3) - 1
-  DefaultSize* = (1 shl 11) - 1
-  BiggestSize* = (1 shl 28) - 1
-
-type 
-  THash* = int
-  PHash* = ref THash
-  THashFunc* = proc (str: cstring): THash
-
-proc GetHash*(str: cstring): THash
-proc GetHashCI*(str: cstring): THash
-proc GetDataHash*(Data: Pointer, Size: int): THash
-proc hashPtr*(p: Pointer): THash
-proc GetHashStr*(s: string): THash
-proc GetHashStrCI*(s: string): THash
-proc getNormalizedHash*(s: string): THash
-  #function nextPowerOfTwo(x: int): int;
-proc concHash*(h: THash, val: int): THash
-proc finishHash*(h: THash): THash
-# implementation
-
-proc concHash(h: THash, val: int): THash = 
-  result = h +% val
-  result = result +% result shl 10
-  result = result xor (result shr 6)
-
-proc finishHash(h: THash): THash = 
-  result = h +% h shl 3
-  result = result xor (result shr 11)
-  result = result +% result shl 15
-
-proc GetDataHash(Data: Pointer, Size: int): THash = 
-  var 
-    h: THash
-    p: cstring
-    i, s: int
-  h = 0
-  p = cast[cstring](Data)
-  i = 0
-  s = size
-  while s > 0: 
-    h = h +% ord(p[i])
-    h = h +% h shl 10
-    h = h xor (h shr 6)
-    Inc(i)
-    Dec(s)
-  h = h +% h shl 3
-  h = h xor (h shr 11)
-  h = h +% h shl 15
-  result = THash(h)
-
-proc hashPtr(p: Pointer): THash = 
-  result = (cast[THash](p)) shr 3 # skip the alignment
-  
-proc GetHash(str: cstring): THash = 
-  var 
-    h: THash
-    i: int
-  h = 0
-  i = 0
-  while str[i] != '\0': 
-    h = h +% ord(str[i])
-    h = h +% h shl 10
-    h = h xor (h shr 6)
-    Inc(i)
-  h = h +% h shl 3
-  h = h xor (h shr 11)
-  h = h +% h shl 15
-  result = THash(h)
-
-proc GetHashStr(s: string): THash = 
-  var h: THash
-  h = 0
-  for i in countup(1, len(s)): 
-    h = h +% ord(s[i])
-    h = h +% h shl 10
-    h = h xor (h shr 6)
-  h = h +% h shl 3
-  h = h xor (h shr 11)
-  h = h +% h shl 15
-  result = THash(h)
-
-proc getNormalizedHash(s: string): THash = 
-  var 
-    h: THash
-    c: Char
-  h = 0
-  for i in countup(0, len(s) + 0 - 1): 
-    c = s[i]
-    if c == '_': 
-      continue                # skip _
-    if c in {'A'..'Z'}: 
-      c = chr(ord(c) + (ord('a') - ord('A'))) # toLower()
-    h = h +% ord(c)
-    h = h +% h shl 10
-    h = h xor (h shr 6)
-  h = h +% h shl 3
-  h = h xor (h shr 11)
-  h = h +% h shl 15
-  result = THash(h)
-
-proc GetHashStrCI(s: string): THash = 
-  var 
-    h: THash
-    c: Char
-  h = 0
-  for i in countup(0, len(s) + 0 - 1): 
-    c = s[i]
-    if c in {'A'..'Z'}: 
-      c = chr(ord(c) + (ord('a') - ord('A'))) # toLower()
-    h = h +% ord(c)
-    h = h +% h shl 10
-    h = h xor (h shr 6)
-  h = h +% h shl 3
-  h = h xor (h shr 11)
-  h = h +% h shl 15
-  result = THash(h)
-
-proc GetHashCI(str: cstring): THash = 
-  var 
-    h: THash
-    c: Char
-    i: int
-  h = 0
-  i = 0
-  while str[i] != '\0': 
-    c = str[i]
-    if c in {'A'..'Z'}: 
-      c = chr(ord(c) + (ord('a') - ord('A'))) # toLower()
-    h = h +% ord(c)
-    h = h +% h shl 10
-    h = h xor (h shr 6)
-    Inc(i)
-  h = h +% h shl 3
-  h = h xor (h shr 11)
-  h = h +% h shl 15
-  result = THash(h)