Handbook
Glossary
farm64-33to64 ( bytes -- hash )
Vocabulary
checksums
.
farmhash
.
private
Inputs
bytes
an
object
Outputs
hash
an
object
Definition
USING:
checksums.cityhash.private
math
math.bitwise
sequences
;
IN:
checksums.farmhash.private
::
farm64-33to64
( bytes -- hash )
bytes
length
:>
len
k2
len 2
*
W+
:>
mul bytes 0
fetch64
k2
W*
:>
a bytes 8
fetch64
:>
b bytes len 8
-
fetch64
mul
W*
:>
c bytes len 16
-
fetch64
k2
W*
:>
d a b
W+
-43
bitroll-64
c -30
bitroll-64
W+
d
W+
:>
y y a b
k2
W+
-18
bitroll-64
W+
c
W+
mul
hash16-mul
:>
z bytes 16
fetch64
mul
W*
:>
e bytes 24
fetch64
:>
f y bytes len 32
-
fetch64
W+
mul
W*
:>
g z bytes len 24
-
fetch64
W+
mul
W*
:>
h e f
W+
-43
bitroll-64
g -30
bitroll-64
W+
~13 more~
;