farm32-seeded ( bytes seed -- hash )


Vocabulary
checksums.farmhash.private

Inputs
bytesan object
seedan object


Outputs
hashan object


Definition


:: farm32-seeded ( bytes seed -- hash )
bytes length :> len {
{ [ len 4 <= ] [ bytes seed hash32-0to4 ] }
{ [ len 12 <= ] [ bytes seed hash32-5to12 ] }
{ [ len 24 <= ] [ bytes seed c1 w* farm32-13to24 ] }
[
bytes 24 head-slice seed len bitxor farm32-13to24
bytes 24 tail-slice farm32 seed w+ mur
]
} cond ;