Contents


NAME

     ctrans - transpose and scale source matrix

SYNOPSIS

     SUBROUTINE CTRANS(PLACE, SCALE, SOURCE, M, N, DEST)

     CHARACTER * 1 PLACE
     COMPLEX SCALE
     COMPLEX SOURCE(*), DEST(*)
     INTEGER M, N

     SUBROUTINE CTRANS_64(PLACE, SCALE, SOURCE, M, N, DEST)

     CHARACTER * 1 PLACE
     COMPLEX SCALE
     COMPLEX SOURCE(*), DEST(*)
     INTEGER*8 M, N

  F95 INTERFACE
     SUBROUTINE TRANS([PLACE], SCALE, SOURCE, M, N, [DEST])

     CHARACTER(LEN=1) :: PLACE
     COMPLEX :: SCALE
     COMPLEX, DIMENSION(:) :: SOURCE, DEST
     INTEGER :: M, N

     SUBROUTINE TRANS_64([PLACE], SCALE, SOURCE, M, N, [DEST])

     CHARACTER(LEN=1) :: PLACE
     COMPLEX :: SCALE
     COMPLEX, DIMENSION(:) :: SOURCE, DEST
     INTEGER(8) :: M, N

  C INTERFACE
     #include <sunperf.h>

     void ctrans(char place, complex *scale, complex *source, int
               m, int n, complex *dest);

     void ctrans_64(char place, complex *scale, complex  *source,
               long m, long n, complex *dest);

PURPOSE

     ctrans 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'

ARGUMENTS

     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)
               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.