40{
43
44 LAPACK_sormlq( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
45 &lwork, &info );
46 if( info < 0 ) {
47 info = info - 1;
48 }
53 float *a_t = NULL;
54 float *c_t = NULL;
55
56 if( lda < r ) {
57 info = -8;
59 return info;
60 }
61 if( ldc < n ) {
62 info = -11;
64 return info;
65 }
66
67 if( lwork == -1 ) {
68 LAPACK_sormlq( &side, &trans, &m, &n, &k, a, &lda_t, tau, c, &ldc_t,
69 work, &lwork, &info );
70 return (info < 0) ? (info - 1) : info;
71 }
72
74 if( a_t == NULL ) {
76 goto exit_level_0;
77 }
79 if( c_t == NULL ) {
81 goto exit_level_1;
82 }
83
86
87 LAPACK_sormlq( &side, &trans, &m, &n, &k, a_t, &lda_t, tau, c_t, &ldc_t,
88 work, &lwork, &info );
89 if( info < 0 ) {
90 info = info - 1;
91 }
92
94
96exit_level_1:
98exit_level_0:
101 }
102 } else {
103 info = -1;
105 }
106 return info;
107}
#define LAPACK_sormlq(...)
#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)