def mix32

mlbend-generative@0.1.1.0 · main.bend:35

import mlbend-generative@0.1.1.0/main.bend as MlbendGenerative
import Base

35# murmur3's fmix32 finaliser, over U32 arithmetic that wraps
36def mix32(+z: U32) -> U32:
37  +a = U32.xor(z, U32.shrn(z, 16n))
38  +b = (a * 2246822519 : U32)
39  +c = U32.xor(b, U32.shrn(b, 13n))
40  +e = (c * 3266489917 : U32)
41  U32.xor(e, U32.shrn(e, 16n))

Uses (4)

Used by (1)