@@ -13,15 +13,15 @@ Source
1313
1414 ++ mum :: mug with murmur3
1515 ~/ %mum
16− |= a=*
16+ |= a/*
1717 |^ (trim ?@(a a (mix $(a -.a) (mix 0x7fff.ffff $(a +.a)))))
1818 ++ spec :: standard murmur3
19− |= [syd=@ key=@]
19+ |= {syd/@ key/@}
2020 ?> (lte (met 5 syd) 1)
2121 =+ ^= row
22− |= [a=@ b=@]
22+ |= {a/@ b/@}
2323 (con (end 5 1 (lsh 0 a b)) (rsh 0 (sub 32 a) b))
24− =+ mow=|=([a=@ b=@] (end 5 1 (mul a b)))
24+ =+ mow=|=({a/@ b/@} (end 5 1 (mul a b)))
2525 =+ len=(met 5 key)
2626 =- =. goc (mix goc len)
2727 =. goc (mix goc (rsh 4 1 goc))
@@ -35,22 +35,13 @@ Source
3535 ?: =(inx len) goc
3636 =+ kop=(cut 5 [inx 1] key)
3737 =. kop (mow kop 0xcc9e.2d51)
38− =. kop (row 15 kop)
38+ =. kop (row 15 kop)
3939 =. kop (mow kop 0x1b87.3593)
4040 =. goc (mix kop goc)
4141 =. goc (row 13 goc)
4242 =. goc (end 5 1 (add 0xe654.6b64 (mul 5 goc)))
4343 $(inx +(inx))
44− ::
45− ++ trim :: 31-bit nonzero
46− |= key=@
47− =+ syd=0xcafe.babe
48− |- ^- @
49− =+ haz=(spec syd key)
50− =+ ham=(mix (rsh 0 31 haz) (end 0 31 haz))
51− ?.(=(0 ham) ham $(syd +(syd)))
52− --
53− ::
44+
5445
5546Examples
5647--------