Advertisement
Guest User

Untitled

a guest
Oct 24th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. Matrix Matrix::operator*(const mat_vec::Matrix &rhs) const {
  2.     Matrix tmp(*this);
  3.     for (size_t i = 0;i<tmp.cols*tmp.rows;++i) {
  4.         tmp.matrixData[i]*=rhs.matrixData[i];
  5.     }
  6.     return tmp;
  7. }
  8.  
  9. Matrix& Matrix::operator*=(const mat_vec::Matrix &rhs) {
  10.     Matrix tmp = *this * rhs;
  11.     *this = tmp;
  12.     return *this;
  13. }
  14. SECTION("Matrix'*'Matrix operator test"){
  15.         Matrix a(4,5.0);
  16.         Matrix b(4,2.0);
  17.         Matrix c = a * b;
  18.         for (size_t i = 0;i < c.shape().first;++i){
  19.             for (size_t j= 0; j < c.shape().second;++j){
  20.                 REQUIRE(c.get(i,j) == a.get(i,j) * b.get(i,j));
  21.             }
  22.         }
  23.     }
  24.     SECTION("Matrix'*='Matrix operator test"){
  25.         Matrix a(4,5.0);
  26.         Matrix b(4,2.0);
  27.         Matrix c(a);
  28.         c*=b;
  29.         for (size_t i = 0;i < c.shape().first;++i){
  30.             for (size_t j= 0; j < c.shape().second;++j){
  31.                 REQUIRE(c.get(i,j) == a.get(i,j) * b.get(i,j));
  32.             }
  33.         }
  34.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement