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)9 int 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