RosettaCodeData/Task/Matrix-multiplication/Perl-6/matrix-multiplication-1.pl6

20 lines
414 B
Raku
Raw Permalink Normal View History

2013-04-10 22:43:41 -07:00
sub mmult(@a,@b) {
my @p;
2015-11-18 06:14:39 +00:00
for ^@a X ^@b[0] -> ($r, $c) {
2013-04-10 22:43:41 -07:00
@p[$r][$c] += @a[$r][$_] * @b[$_][$c] for ^@b;
}
@p;
}
my @a = [1, 1, 1, 1],
[2, 4, 8, 16],
[3, 9, 27, 81],
[4, 16, 64, 256];
my @b = [ 4 , -3 , 4/3, -1/4 ],
[-13/3, 19/4, -7/3, 11/24],
[ 3/2, -2 , 7/6, -1/4 ],
[ -1/6, 1/4, -1/6, 1/24];
.say for mmult(@a,@b);