41{
45 float *v_t = NULL, *t_t = NULL, *c_t = NULL;
47
48 LAPACK_slarfb( &side, &trans, &direct, &storev, &m, &
n, &k, v, &ldv, t,
49 &ldt, c, &ldc, work, &ldwork );
50 if( info < 0 ) {
51 info = info - 1;
52 }
66 ldv_t =
MAX(1,nrows_v);
67
69 info = -14;
71 return info;
72 }
73 if( ldt < k ) {
74 info = -12;
76 return info;
77 }
78 if( ldv < ncols_v ) {
79 info = -10;
81 return info;
82 }
83
85 if( v_t == NULL ) {
87 goto exit_level_0;
88 }
90 if( t_t == NULL ) {
92 goto exit_level_1;
93 }
95 if( c_t == NULL ) {
97 goto exit_level_2;
98 }
99
103 &v_t[k], ldv_t );
106 if( k > nrows_v ) {
108 return -8;
109 }
111 ldv, &v_t[nrows_v-k], ldv_t );
113 ldv_t );
118 &v_t[k*ldv_t], ldv_t );
121 if( k > ncols_v ) {
123 return -8;
124 }
126 &v_t[(ncols_v-k)*ldv_t], ldv_t );
128 ldv_t );
129 }
132
133 LAPACK_slarfb( &side, &trans, &direct, &storev, &m, &
n, &k, v_t, &ldv_t,
134 t_t, &ldt_t, c_t, &ldc_t, work, &ldwork );
135 info = 0;
136
138
140exit_level_2:
142exit_level_1:
144exit_level_0:
147 }
148 } else {
149 info = -1;
151 }
152 return info;
153}
#define LAPACK_slarfb(...)
#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_sge_trans(int matrix_layout, lapack_int m, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
void LAPACKE_str_trans(int matrix_layout, char uplo, char diag, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)