Contents
dtrans - transpose and scale source matrix
SUBROUTINE DTRANS(PLACE, SCALE, SOURCE, M, N, DEST)
CHARACTER * 1 PLACE
INTEGER M, N
DOUBLE PRECISION SCALE
DOUBLE PRECISION SOURCE(*), DEST(*)
SUBROUTINE DTRANS_64(PLACE, SCALE, SOURCE, M, N, DEST)
CHARACTER * 1 PLACE
INTEGER*8 M, N
DOUBLE PRECISION SCALE
DOUBLE PRECISION SOURCE(*), DEST(*)
F95 INTERFACE
SUBROUTINE TRANS([PLACE], SCALE, SOURCE, M, N, [DEST])
CHARACTER(LEN=1) :: PLACE
INTEGER :: M, N
REAL(8) :: SCALE
REAL(8), DIMENSION(:) :: SOURCE, DEST
SUBROUTINE TRANS_64([PLACE], SCALE, SOURCE, M, N, [DEST])
CHARACTER(LEN=1) :: PLACE
INTEGER(8) :: M, N
REAL(8) :: SCALE
REAL(8), DIMENSION(:) :: SOURCE, DEST
C INTERFACE
#include <sunperf.h>
void dtrans(char place, double scale, double *source, int m,
int n, double *dest);
void dtrans_64(char place, double scale, double *source,
long m, long n, double *dest);
dtrans scales and transposes the source matrix. The N2 x N1
result is written into SOURCE when PLACE = 'I' or 'i', and
DEST when PLACE = 'O' or 'o'.
PLACE = 'I' or 'i': SOURCE = SCALE * SOURCE'
PLACE = 'O' or 'o': DEST = SCALE * SOURCE'
PLACE (input)
Type of transpose. 'I' or 'i' for in-place, 'O'
or 'o' for out-of-place. 'I' is default.
SCALE (input)
Scale factor on the SOURCE matrix.
SOURCE (input/output)
(M, N) on input. Array of (N, M) on output if
in-place transpose.
M (input)
Number of rows in the SOURCE matrix on input.
N (input)
Number of columns in the SOURCE matrix on input.
DEST (output)
Scaled and transposed SOURCE matrix if out-of-
place transpose. Not referenced if in-place tran-
spose.