farm32-13to24 ( bytes seed -- hash )


Vocabulary
checksums.farmhash.private

Inputs
bytesan object
seedan object


Outputs
hashan object


Definition


:: 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 ;