ztrans


NAME

ztrans - transpose and scale source matrix


SYNOPSIS

  SUBROUTINE ZTRANS( PLACE, SCALE, SOURCE, M, N, DEST)
  CHARACTER * 1 PLACE
  DOUBLE COMPLEX SCALE
  DOUBLE COMPLEX SOURCE(*), DEST(*)
  INTEGER M, N
 
  SUBROUTINE ZTRANS_64( PLACE, SCALE, SOURCE, M, N, DEST)
  CHARACTER * 1 PLACE
  DOUBLE COMPLEX SCALE
  DOUBLE COMPLEX SOURCE(*), DEST(*)
  INTEGER*8 M, N
 

F95 INTERFACE

  SUBROUTINE TRANS( [PLACE], SCALE, SOURCE, M, N, DEST)
  CHARACTER(LEN=1) :: PLACE
  COMPLEX(8) :: SCALE
  COMPLEX(8), DIMENSION(:) :: SOURCE, DEST
  INTEGER :: M, N
 
  SUBROUTINE TRANS_64( [PLACE], SCALE, SOURCE, M, N, DEST)
  CHARACTER(LEN=1) :: PLACE
  COMPLEX(8) :: SCALE
  COMPLEX(8), DIMENSION(:) :: SOURCE, DEST
  INTEGER(8) :: M, N
 

C INTERFACE

#include <sunperf.h>

void ztrans(char place, doublecomplex scale, doublecomplex *source, int m, int n, doublecomplex *dest);

void ztrans_64(char place, doublecomplex scale, doublecomplex *source, long m, long n, doublecomplex *dest);


PURPOSE

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

* 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 transpose.