Handbook
Glossary
farm32-13to24 ( bytes seed -- hash )
Vocabulary
checksums
.
farmhash
.
private
Inputs
bytes
an
object
seed
an
object
Outputs
hash
an
object
Definition
USING:
checksums.cityhash.private
math
math.bitwise
sequences
;
IN:
checksums.farmhash.private
::
farm32-13to24
( bytes seed -- hash )
bytes
length
:>
len bytes len -1
shift
4
-
fetch32
:>
a bytes 4
fetch32
:>
b bytes len 8
-
fetch32
:>
c bytes len -1
shift
fetch32
:>
d bytes 0
fetch32
:>
e bytes len 4
-
fetch32
:>
f a -12
bitroll-32
f
w+
:>
a1 a1 -3
bitroll-32
c
w+
:>
a2 a2 f
w+
-12
bitroll-32
d
w+
:>
a3 d
c1
w*
len
w+
seed
w+
c
mur
a1
w+
e
mur
a2
w+
b seed
bitxor
mur
a3
w+
fmix
;