| 1031 | |
| 1032 | #[inline] |
| 1033 | pub fn mul_generic<const K: usize>(self, rhs: Matrix<COLS, K, T>) -> Matrix<ROWS, K, T> |
| 1034 | where |
| 1035 | T: Copy + Default + Add<Output = T> + Mul<Output = T>, |
| 1036 | { |
| 1037 | let mut out = [[T::default(); K]; ROWS]; |
| 1038 | for (r, out_row) in out.iter_mut().enumerate() { |
| 1039 | for (k, out_item) in out_row.iter_mut().enumerate() { |
| 1040 | let mut sum = T::default(); |
| 1041 | for c in 0..COLS { |
| 1042 | sum = sum + self.0[r][c] * rhs.0[c][k]; |
| 1043 | } |
| 1044 | *out_item = sum; |
| 1045 | } |
| 1046 | } |
| 1047 | Matrix(out) |
| 1048 | } |
| 1049 | } |
| 1050 | |
| 1051 | impl<const ROWS: usize, const COLS: usize, T> Matrix<ROWS, COLS, T> |