A linear algebra library is more than matrix multiplication. For example
operator precedence should work as expected. Allowing users to write correct
code is more important than speed.
import arraymancer
let
x = toTensor(@[3, 3, 3, 3, 3])
y = toTensor(@[2, 2, 2, 2, 2])
z = toTensor(@[1, 1, 1, 1, 1])
echo x .* z + y
Run
Results in 9s instead of 5. If only you weren't **obsessed** with performance
you would [see](https://irclogs.nim-lang.org/21-10-2019.html#06:12:13) the
issue.
...and while other community members try to be helpful and provide
[suggestions](https://irclogs.nim-lang.org/20-10-2019.html#16:51:57) others
choose to show off in every thread and every chat. Enough said.