SHARE
TWEET

Untitled

a guest Nov 19th, 2019 90 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. pub fn matmul(a: var, b: var) [a.len][b[0].len]@typeOf(a[0][0]) {
  2.     const T = @typeOf(a[0][0]);
  3.     const M = a.len;
  4.     const N = a[0].len;
  5.     const P = b[0].len;
  6.     if (T != @typeOf(b[0][0])) @compileError("element type mismatch");
  7.     if (N != b.len) @compileError("size mismatch");
  8.     var result = [_][P]T{[_]T{0} ** P} ** M;
  9.     var m: u64 = 0;
  10.     while (m < M) : (m += 1) {
  11.         var n: u64 = 0;
  12.         while (n < N) : (n += 1) {
  13.             var p: u64 = 0;
  14.             while (p < P) : (p += 1) {
  15.                 result[m][p] += a[m][n] * b[n][p];
  16.             }
  17.         }
  18.     }
  19.     return result;
  20. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top