3 * Original Javascript version by David Hedbor(http://www.bagley.org/~doug/shootout/)
\r
8 function mkrawmatrix(rows, cols, setfunc)
\r
14 for (i = 0; i < rows; i+=1)
\r
18 for (j = 0; j < cols; j+=1)
\r
20 ret = setfunc(i, j, count);
\r
28 function mkmatrix(rows, cols)
\r
30 return mkrawmatrix(rows, cols, function(i, j, count)
\r
33 return [count, count+1];
\r
37 function mmult(rows, cols, m1, m2, m3)
\r
40 for (i = 0; i < rows; i+=1)
\r
42 for (j = 0; j < cols; j+=1)
\r
45 for (k = 0; k < cols; k+=1)
\r
47 val += m1[i][k] * m2[k][j];
\r
55 local n = vargv.len()!=0?vargv[0].tointeger():1
\r
57 local m1 = mkmatrix(SIZE, SIZE);
\r
58 local m2 = mkmatrix(SIZE, SIZE);
\r
59 local mm = mkmatrix(SIZE, SIZE);
\r
61 for (local i = 0; i < n; i+=1) {
\r
62 mmult(SIZE, SIZE, m1, m2, mm);
\r
66 "[0][0] = " + mm[0][0] + "\n" +
\r
67 "[2][3] = " + mm[2][3] + "\n" +
\r
68 "[3][2] = " + mm[3][2] + "\n" +
\r
69 "[4][4] = " + mm[4][4]
\r