1 #include "mat.h" 2 #include "matrixdefs.h" 3 #include "local_proto.h" 4 5 /* 6 * transpose: returns arg2 as the transpose of arg1 7 */ 8 transpose(MATRIX * a,MATRIX * b)9int transpose(MATRIX * a, MATRIX * b) 10 { 11 register int i, j, nr, nc; 12 static MATRIX m; 13 14 if (a->nrows == 0) 15 return error("\': arg1 not defined\n"); 16 17 nr = a->nrows; 18 nc = a->ncols; 19 20 for (i = 0; i < nr; i++) 21 for (j = 0; j < nc; j++) 22 m.x[j][i] = a->x[i][j]; 23 24 m.nrows = nc; 25 m.ncols = nr; 26 m_copy(b, &m); 27 return 1; 28 } 29