Closed lehins closed 5 years ago
There seems to be some trouble with the lastest version of stack, see here, hence the failing travis build. Do you mind doing the same (commenting out the cat ...
lines in the travis config file) so that we can actually know if anything went wrong?
@Magalame I've cherry picked your commit. Travis is passing.
Great!
Um, doesn't this change the behaviour of accum
? Now that we don't have test logs printed out by Travis it's hard to catch this. @Magalame did you test this code before merging?
@ocramz Just in case, I did test the change ;) Output matches other libraries
λ> uDLA <- vectorGen
λ> aDLA = M.Matrix 4 9 uDLA
λ> bDLA = M.Matrix 9 4 uDLA
λ> MF.multiply aDLA bDLA
(4,4) 1.7701 1.231 1.7078 1.6772
2.5557 1.3237 2.8495 2.5601
1.658 1.821 2.6035 2.2959
2.0948 1.5638 2.4469 2.348
@ocramz I did :)
And the change itself makes sense. The purpose of accum
is to compute the dot product of the i
th row of the first matrix with the j
th column of the second. And the i
th row has length c1
(and the j
th column too, since both are supposed to have the same length)
I finally figured out why I was getting much slower benchmarks in massiv comparing to the implementation in
dense-linear-algebra
. I was benchmarking multiplication of A(200x600) x B(600x200) matrices.To reproduce the bug I used the benchmarks from fastest-matrices: