42{
46 char uplo;
50
51 LAPACK_zlarfb( &side, &trans, &direct, &storev, &m, &n, &k, v, &ldv, t,
52 &ldt, c, &ldc, work, &ldwork );
53 if( info < 0 ) {
54 info = info - 1;
55 }
60
61 nrows_v = ( col && left ) ? m : ( ( col && !left ) ? n : ( !col ? k : 1) );
62 ncols_v = ( !col && left ) ? m : ( ( !col && !left ) ? n : ( col ? k : 1 ) );
63 uplo = ( ( left && col ) || !( left || col ) ) ? 'l' : 'u';
64
67 ldv_t =
MAX(1,nrows_v);
68
69 if( ldc < n ) {
70 info = -14;
72 return info;
73 }
74 if( ldt < k ) {
75 info = -12;
77 return info;
78 }
79 if( ldv < ncols_v ) {
80 info = -10;
82 return info;
83 }
84 if( !forward && ( col && k > nrows_v ) || ( !col && k > ncols_v )) {
85 info = -8;
87 return info;
88 }
89
92 ldv_t *
MAX(1,ncols_v) );
93 if( v_t == NULL ) {
95 goto exit_level_0;
96 }
99 if( t_t == NULL ) {
101 goto exit_level_1;
102 }
105 if( c_t == NULL ) {
107 goto exit_level_2;
108 }
109
111 v, ldv, v_t, ldv_t );
114
115 LAPACK_zlarfb( &side, &trans, &direct, &storev, &m, &n, &k, v_t, &ldv_t,
116 t_t, &ldt_t, c_t, &ldc_t, work, &ldwork );
117 info = 0;
118
120
122exit_level_2:
124exit_level_1:
126exit_level_0:
129 }
130 } else {
131 info = -1;
133 }
134 return info;
135}
#define LAPACK_zlarfb(...)
#define lapack_complex_double
#define LAPACKE_malloc(size)
#define LAPACK_TRANSPOSE_MEMORY_ERROR
lapack_logical LAPACKE_lsame(char ca, char cb)
void LAPACKE_xerbla(const char *name, lapack_int info)
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)
void LAPACKE_ztz_trans(int matrix_layout, char direct, char uplo, char diag, lapack_int m, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)