| 152 | |
| 153 | |
| 154 | dMatrix dMatrix::operator * (const dMatrix &a) |
| 155 | { |
| 156 | if (m != a.n) dDebug (0,"matrix *, mismatched sizes"); |
| 157 | dMatrix r (n,a.m); |
| 158 | for (int i=0; i<n; i++) { |
| 159 | for (int j=0; j<a.m; j++) { |
| 160 | dReal sum = 0; |
| 161 | for (int k=0; k<m; k++) sum += data[i*m+k] * a.data[k*a.m+j]; |
| 162 | r.data [i*a.m+j] = sum; |
| 163 | } |
| 164 | } |
| 165 | return r; |
| 166 | } |
| 167 | |
| 168 | |
| 169 | void dMatrix::operator += (const dMatrix &a) |