Handbook
Glossary
hash64-long ( bytes -- hash )
Vocabulary
checksums
.
cityhash
.
private
Inputs
bytes
an
object
Outputs
hash
an
object
Definition
USING:
accessors
kernel
math
math.bitwise
sequences
;
IN:
checksums.cityhash.private
::
hash64-long
( bytes -- hash )
bytes
length
:>
len bytes len 40
-
fetch64
:>
x bytes len 16
-
fetch64
bytes len 56
-
fetch64
W+
:>
y bytes len 48
-
fetch64
len
W+
bytes len 24
-
fetch64
hash16
:>
z x
k1
W*
bytes 0
fetch64
W+
y z bytes len 64
-
len z
weak-hash32
bytes len 32
-
y
k1
W+
x
weak-hash32
hash-state
boa
:>
state len 1
-
64
/i
<iota>
[|
i | bytes i 64
*
state
k1
1
hash-round
]
each
state
v0>>
state
w0>>
hash16
state
y>>
shift-mix
k1
W*
W+
state
z>>
W+
state
v1>>
state
w1>>
hash16
state
x>>
W+
hash16
;