LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ LAPACKE_zge_trans()

void LAPACKE_zge_trans ( int  matrix_layout,
lapack_int  m,
lapack_int  n,
const lapack_complex_double in,
lapack_int  ldin,
lapack_complex_double out,
lapack_int  ldout 
)

Definition at line 39 of file lapacke_zge_trans.c.

42 {
43  lapack_int i, j, x, y;
44 
45  if( in == NULL || out == NULL ) return;
46 
47  if( matrix_layout == LAPACK_COL_MAJOR ) {
48  x = n;
49  y = m;
50  } else if ( matrix_layout == LAPACK_ROW_MAJOR ) {
51  x = m;
52  y = n;
53  } else {
54  /* Unknown input layout */
55  return;
56  }
57 
58  /* In case of incorrect m, n, ldin or ldout the function does nothing */
59  for( i = 0; i < MIN( y, ldin ); i++ ) {
60  for( j = 0; j < MIN( x, ldout ); j++ ) {
61  out[ (size_t)i*ldout + j ] = in[ (size_t)j*ldin + i ];
62  }
63  }
64 }
#define lapack_int
Definition: lapack.h:83
#define LAPACK_COL_MAJOR
Definition: lapacke.h:53
#define LAPACK_ROW_MAJOR
Definition: lapacke.h:52
#define MIN(x, y)
Definition: lapacke_utils.h:49