Proizvod matrice (C jezik)

Ko me vukao za jezii, evo ga i Rust ;)
Kod:
pub fn Mul<T:Op>(t:&mut [[T;4];4], a:&[[T;4];4], b:&[[T;4];4] ) {
  for i in 0..4 {
    for j in 0..4 {
      let mut sum:T = Op::init();
      for k in 0..4 {
        let c = a[i][k].mul(&b[k][j]);
        sum.add_assign(&c);
      }
      t[i][j]=sum;
    }
  }
}
 
Evo na brzinu nešto smućkao. :D

JavaScript:
let MatrixProd = (A, B) =>
  A.map((row, i) =>
    B[0].map((_, j) =>
      row.reduce((acc, _, n) =>
        acc + A[i][n] * B[n][j], 0
      )
    )
  )

Testiranje:
JavaScript:
let A = [[8, 3], [2, 4], [3, 6]];
let B = [[1, 2, 3], [4, 6, 8]];
console.table(MatrixProd(A,B));
 

Back
Top