37 char jobv1t,
char jobv2t,
char trans,
55 LAPACK_cuncsd( &jobu1, &jobu2, &jobv1t, &jobv2t, &trans, &signs, &m, &p,
56 &q, x11, &ldx11, x12, &ldx12, x21, &ldx21, x22, &ldx22,
57 theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, v2t, &ldv2t,
58 work, &lwork, rwork, &lrwork, iwork, &info );
129 if( lrwork == -1 || lwork == -1 ) {
130 LAPACK_cuncsd( &jobu1, &jobu2, &jobv1t, &jobv2t, &trans, &signs, &m,
131 &p, &q, x11, &ldx11_t, x12, &ldx12_t, x21, &ldx21_t,
132 x22, &ldx22_t, theta, u1, &ldu1_t, u2, &ldu2_t, v1t,
133 &ldv1t_t, v2t, &ldv2t_t, work, &lwork, rwork,
134 &lrwork, iwork, &info );
135 return (info < 0) ? (info - 1) : info;
140 if( x11_t == NULL ) {
146 ldx12_t *
MAX(1,m-q) );
147 if( x12_t == NULL ) {
153 if( x21_t == NULL ) {
159 ldx22_t *
MAX(1,m-q) );
160 if( x22_t == NULL ) {
176 ldu2_t *
MAX(1,m-p) );
185 ldv1t_t *
MAX(1,q) );
186 if( v1t_t == NULL ) {
194 ldv2t_t *
MAX(1,m-q) );
195 if( v2t_t == NULL ) {
210 LAPACK_cuncsd( &jobu1, &jobu2, &jobv1t, &jobv2t, &trans, &signs, &m, &p,
211 &q, x11_t, &ldx11_t, x12_t, &ldx12_t, x21_t, &ldx21_t,
212 x22_t, &ldx22_t, theta, u1_t, &ldu1_t, u2_t, &ldu2_t,
213 v1t_t, &ldv1t_t, v2t_t, &ldv2t_t, work, &lwork, rwork,
214 &lrwork, iwork, &info );
void LAPACK_cuncsd(char *jobu1, char *jobu2, char *jobv1t, char *jobv2t, char *trans, char *signs, lapack_int *m, lapack_int *p, lapack_int *q, lapack_complex_float *x11, lapack_int *ldx11, lapack_complex_float *x12, lapack_int *ldx12, lapack_complex_float *x21, lapack_int *ldx21, lapack_complex_float *x22, lapack_int *ldx22, float *theta, lapack_complex_float *u1, lapack_int *ldu1, lapack_complex_float *u2, lapack_int *ldu2, lapack_complex_float *v1t, lapack_int *ldv1t, lapack_complex_float *v2t, lapack_int *ldv2t, lapack_complex_float *work, lapack_int *lwork, float *rwork, lapack_int *lrwork, lapack_int *iwork, lapack_int *info)
void LAPACKE_cge_trans(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
lapack_int LAPACKE_cuncsd_work(int matrix_layout, char jobu1, char jobu2, char jobv1t, char jobv2t, char trans, char signs, lapack_int m, lapack_int p, lapack_int q, lapack_complex_float *x11, lapack_int ldx11, lapack_complex_float *x12, lapack_int ldx12, lapack_complex_float *x21, lapack_int ldx21, lapack_complex_float *x22, lapack_int ldx22, float *theta, lapack_complex_float *u1, lapack_int ldu1, lapack_complex_float *u2, lapack_int ldu2, lapack_complex_float *v1t, lapack_int ldv1t, lapack_complex_float *v2t, lapack_int ldv2t, lapack_complex_float *work, lapack_int lwork, float *rwork, lapack_int lrwork, lapack_int *iwork)
#define lapack_complex_float
#define LAPACKE_malloc(size)
lapack_logical LAPACKE_lsame(char ca, char cb)
void LAPACKE_xerbla(const char *name, lapack_int info)
#define LAPACK_TRANSPOSE_MEMORY_ERROR