hash64-long ( bytes -- hash )


Vocabulary
checksums.cityhash.private

Inputs
bytesan object


Outputs
hashan object


Definition


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