@@ -13,15 +13,15 @@ Source
14 ++ mum :: mug with murmur3
14 ++ mum :: mug with murmur3
17 |^ (trim ?@(a a (mix $(a -.a) (mix 0x7fff.ffff $(a +.a)))))
17 |^ (trim ?@(a a (mix $(a -.a) (mix 0x7fff.ffff $(a +.a)))))
18 ++ spec :: standard murmur3
18 ++ spec :: standard murmur3
19− |= [syd=@ key=@]
19+ |= {syd/@ key/@}
20 ?> (lte (met 5 syd) 1)
20 ?> (lte (met 5 syd) 1)
22− |= [a=@ b=@]
22+ |= {a/@ b/@}
23 (con (end 5 1 (lsh 0 a b)) (rsh 0 (sub 32 a) b))
23 (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)))
25 =+ len=(met 5 key)
25 =+ len=(met 5 key)
26 =- =. goc (mix goc len)
26 =- =. goc (mix goc len)
27 =. goc (mix goc (rsh 4 1 goc))
27 =. goc (mix goc (rsh 4 1 goc))
@@ -35,22 +35,13 @@ Source
35 ?: =(inx len) goc
35 ?: =(inx len) goc
36 =+ kop=(cut 5 [inx 1] key)
36 =+ kop=(cut 5 [inx 1] key)
37 =. kop (mow kop 0xcc9e.2d51)
37 =. kop (mow kop 0xcc9e.2d51)
38− =. kop (row 15 kop)
38+ =. kop (row 15 kop)
39 =. kop (mow kop 0x1b87.3593)
39 =. kop (mow kop 0x1b87.3593)
40 =. goc (mix kop goc)
40 =. goc (mix kop goc)
41 =. goc (row 13 goc)
41 =. goc (row 13 goc)
42 =. goc (end 5 1 (add 0xe654.6b64 (mul 5 goc)))
42 =. goc (end 5 1 (add 0xe654.6b64 (mul 5 goc)))
43 $(inx +(inx))
43 $(inx +(inx))
45− ++ trim :: 31-bit nonzero
49− =+ haz=(spec syd key)
50− =+ ham=(mix (rsh 0 31 haz) (end 0 31 haz))
51− ?.(=(0 ham) ham $(syd +(syd)))