RIPEMD-160: Difference between revisions
→{{header|Raku}}: use concurrency
(→{{header|Raku}}: FP style (should also be faster)) |
(→{{header|Raku}}: use concurrency) |
||
Line 1,292:
blob8.new: (
reduce
blob32.new: $h[1,2,3,4,0]
Z+ start { reduce -> $X, $j { blob32.new($
Z+ start { reduce -> $Y, $j { blob32.new($
},
▲ blob32.new($Y[4], rotl(($Y[0] + @F[(79-$j) div 16](|$Y[1..3]) + @words[r2[$j]] + @K2[$j]) mod 2**32, s2[$j]) + $Y[4], $Y[1], rotl($Y[2], 10), $Y[3]);
|blob32.new
).map: |*.polymod(256 xx 3);
}</syntaxhighlight>
|