diff options
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index edd202d..1627396 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,10 @@ -use mdarray::{view, tensor, DSlice, Expression}; +use mdarray::{view, tensor, Slice, Expression, Dim}; // Indexing convention: C_ij <- A_ik * B_kj -fn matmul(a: &DSlice<f64, 2>, b: &DSlice<f64, 2>, c: &mut DSlice<f64, 2>) { +fn matmul<D0: Dim, D1: Dim, D2: Dim>( + a: &Slice<f64, (D0, D1)>, + b: &Slice<f64, (D1, D2)>, + c: &mut Slice<f64, (D0, D2)>) { for (mut ci, ai) in c.rows_mut().zip(a.rows()) { for (aik, bk) in ai.zip(b.rows()) { for (cij, bkj) in ci.expr_mut().zip(bk) { |
