| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- *
- * Original Javascript version by David Hedbor(http://www.bagley.org/~doug/shootout/)
- *
- */
- local SIZE=30;
- function mkmatrix(rows, cols) {
- local i, j, count = 1;
- local m = []; m.resize(rows);
- for (i = 0; i < rows; i+=1) {
- m[i] = [];m[i].resize(cols)
- for (j = 0; j < cols; j+=1) {
- m[i][j] = count+=1;
- }
- }
- return m;
- }
- function mmult(rows, cols, m1, m2, m3) {
- local i, j, k, val;
- for (i = 0; i < rows; i+=1) {
- for (j = 0; j < cols; j+=1) {
- val = 0;
- for (k = 0; k < cols; k+=1) {
- val += m1[i][k] * m2[k][j];
- }
- m3[i][j] = val;
- }
- }
- return m3;
- }
- local n = vargv.len()!=0?vargv[0].tointeger():1
- local m1 = mkmatrix(SIZE, SIZE);
- local m2 = mkmatrix(SIZE, SIZE);
- local mm = mkmatrix(SIZE, SIZE);
- for (local i = 0; i < n; i+=1) {
- mmult(SIZE, SIZE, m1, m2, mm);
- }
- print(mm[0][0]+" "+mm[2][3]+" "+mm[3][2]+" "+mm[4][4]);
|