Matrix transposition: Difference between revisions
Content added Content deleted
Line 199: | Line 199: | ||
=={{header|Fortran}}== |
=={{header|Fortran}}== |
||
In ISO Fortran 90 |
In ISO Fortran 90 or later, use the TRANSPOSE function: |
||
REAL, DIMENSION(N,M) :: A = RESHAPE( (/ (i,i=1,n*m) /), (/ n, m /) ) |
REAL, DIMENSION(N,M) :: A = RESHAPE( (/ (i,i=1,n*m) /), (/ n, m /) ) |
||
REAL, DIMENSION(M,N) :: B |
REAL, DIMENSION(M,N) :: B |
||
Line 205: | Line 205: | ||
B = TRANSPOSE(A) |
B = TRANSPOSE(A) |
||
In MIL-STD-1753 Fortran |
In MIL-STD-1753 Fortran or later, use nested structured DO loops: |
||
REAL A(3,5), B(5,3) |
REAL A(3,5), B(5,3) |
||
DATA ((A(I,J),I=1,3),J=1,5) /1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15/ |
DATA ((A(I,J),I=1,3),J=1,5) /1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15/ |
||
Line 215: | Line 215: | ||
END DO |
END DO |
||
In ANSI FORTRAN 66 |
In ANSI FORTRAN 66 or later, use nested labeled DO loops: |
||
REAL A(3,5), B(5,3) |
REAL A(3,5), B(5,3) |
||
DATA ((A(I,J),I=1,3),J=1,5) /1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15/ |
DATA ((A(I,J),I=1,3),J=1,5) /1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15/ |