LAPACK 3.11.0 LAPACK: Linear Algebra PACKage
Searching...
No Matches

◆ LAPACKE_ztb_trans()

 void LAPACKE_ztb_trans ( int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout )

Definition at line 39 of file lapacke_ztb_trans.c.

43{
44 lapack_logical colmaj, upper, unit;
45
46 if( in == NULL || out == NULL ) return;
47
48 colmaj = ( matrix_layout == LAPACK_COL_MAJOR );
49 upper = LAPACKE_lsame( uplo, 'u' );
50 unit = LAPACKE_lsame( diag, 'u' );
51
52 if( ( !colmaj && ( matrix_layout != LAPACK_ROW_MAJOR ) ) ||
53 ( !upper && !LAPACKE_lsame( uplo, 'l' ) ) ||
54 ( !unit && !LAPACKE_lsame( diag, 'n' ) ) ) {
55 /* Just exit if any of input parameters are wrong */
56 return;
57 }
58
59 if( unit ) {
60 /* Unit case, diagonal excluded from transposition */
61 if( colmaj ) {
62 if( upper ) {
63 LAPACKE_zgb_trans( matrix_layout, n-1, n-1, 0, kd-1,
64 &in[ldin], ldin, &out[1], ldout );
65 } else {
66 LAPACKE_zgb_trans( matrix_layout, n-1, n-1, kd-1, 0,
67 &in[1], ldin, &out[ldout], ldout );
68 }
69 } else {
70 if( upper ) {
71 LAPACKE_zgb_trans( matrix_layout, n-1, n-1, 0, kd-1,
72 &in[1], ldin, &out[ldout], ldout );
73 } else {
74 LAPACKE_zgb_trans( matrix_layout, n-1, n-1, kd-1, 0,
75 &in[ldin], ldin, &out[1], ldout );
76 }
77 }
78 } else {
79 /* Non-unit case */
80 if( upper ) {
81 LAPACKE_zgb_trans( matrix_layout, n, n, 0, kd, in, ldin, out,
82 ldout );
83 } else {
84 LAPACKE_zgb_trans( matrix_layout, n, n, kd, 0, in, ldin, out,
85 ldout );
86 }
87 }
88}
#define lapack_logical
Definition: lapack.h:103
#define LAPACK_COL_MAJOR
Definition: lapacke.h:53
#define LAPACK_ROW_MAJOR
Definition: lapacke.h:52
lapack_logical LAPACKE_lsame(char ca, char cb)
Definition: lapacke_lsame.c:35
void LAPACKE_zgb_trans(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
Here is the call graph for this function:
Here is the caller graph for this function: