Facebook
From Idiotic Terrapin, 4 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 141
  1. template <typename T>
  2. Matrix<T, 0, 0> operator*(const Matrix<T, 0, 0> &m1, const Matrix<T, 0, 0> &m2)
  3. {
  4.     if (m1.numberOfColumns() != m2.numberOfRows())
  5.     {
  6.         throw MatrixException();
  7.     }
  8.     Matrix<T, 0, 0> ans(Uninitialized{}, m1.numberOfRows(), m2.numberOfColumns());
  9.     for (int i = 1; i <= m1.numberOfRows(); i++)
  10.     {
  11.         for (int j = 1; j <= m2.numberOfColumns(); j++)
  12.         {
  13.             T tmp{};
  14.             for (int k = 1; k <= m1.numberOfColumns(); k++)
  15.             {
  16.                 tmp += m1(i, k) * m2(k, j);
  17.             }
  18.             ans(i, j) = tmp;
  19.         }
  20.     }
  21.     return ans;
  22. }