43{
46
48 &q, x11, &ldx11, x21, &ldx21,
49 theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t,
50 work, &lwork, iwork, &info );
51 if( info < 0 ) {
52 info = info - 1;
53 }
65 float* x11_t = NULL;
66 float* x21_t = NULL;
67 float* u1_t = NULL;
68 float* u2_t = NULL;
69 float* v1t_t = NULL;
70
71 if( ldu1 < p ) {
72 info = -21;
74 return info;
75 }
76 if( ldu2 < m-p ) {
77 info = -23;
79 return info;
80 }
81 if( ldv1t < q ) {
82 info = -25;
84 return info;
85 }
86 if( ldx11 < q ) {
87 info = -12;
89 return info;
90 }
91 if( ldx21 < q ) {
92 info = -16;
94 return info;
95 }
96
97 if( lwork == -1 ) {
99 &q, x11, &ldx11_t, x21, &ldx21_t,
100 theta, u1, &ldu1_t, u2, &ldu2_t, v1t, &ldv1t_t,
101 work, &lwork, iwork, &info );
102 return (info < 0) ? (info - 1) : info;
103 }
104
106 if( x11_t == NULL ) {
108 goto exit_level_0;
109 }
111 if( x21_t == NULL ) {
113 goto exit_level_1;
114 }
116 u1_t = (float*)
118 if( u1_t == NULL ) {
120 goto exit_level_2;
121 }
122 }
124 u2_t = (float*)
126 if( u2_t == NULL ) {
128 goto exit_level_3;
129 }
130 }
132 v1t_t = (float*)
134 if( v1t_t == NULL ) {
136 goto exit_level_4;
137 }
138 }
139
141 ldx11_t );
143 ldx21_t );
144
146 &q, x11_t, &ldx11_t, x21_t, &ldx21_t,
147 theta, u1_t, &ldu1_t, u2_t, &ldu2_t, v1t_t, &ldv1t_t,
148 work, &lwork, iwork, &info );
149 if( info < 0 ) {
150 info = info - 1;
151 }
152
154 ldx11 );
156 ldx21 );
159 ldu1 );
160 }
163 u2, ldu2 );
164 }
167 v1t, ldv1t );
168 }
169
172 }
173exit_level_4:
176 }
177exit_level_3:
180 }
181exit_level_2:
183exit_level_1:
185exit_level_0:
188 }
189 } else {
190 info = -1;
192 }
193 return info;
194}
#define LAPACK_sorcsd2by1(...)
#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)