37 char jobv1t,
char jobv2t,
char trans,
55 LAPACK_zuncsd( &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_zuncsd( &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 ldx11_t *
MAX(1,q) );
141 if( x11_t == NULL ) {
147 ldx12_t *
MAX(1,m-q) );
148 if( x12_t == NULL ) {
154 ldx21_t *
MAX(1,q) );
155 if( x21_t == NULL ) {
161 ldx22_t *
MAX(1,m-q) );
162 if( x22_t == NULL ) {
178 ldu2_t *
MAX(1,m-p) );
187 ldv1t_t *
MAX(1,q) );
188 if( v1t_t == NULL ) {
196 ldv2t_t *
MAX(1,m-q) );
197 if( v2t_t == NULL ) {
212 LAPACK_zuncsd( &jobu1, &jobu2, &jobv1t, &jobv2t, &trans, &signs, &m, &p,
213 &q, x11_t, &ldx11_t, x12_t, &ldx12_t, x21_t, &ldx21_t,
214 x22_t, &ldx22_t, theta, u1_t, &ldu1_t, u2_t, &ldu2_t,
215 v1t_t, &ldv1t_t, v2t_t, &ldv2t_t, work, &lwork, rwork,
216 &lrwork, iwork, &info );
void LAPACK_zuncsd(char *jobu1, char *jobu2, char *jobv1t, char *jobv2t, char *trans, char *signs, lapack_int *m, lapack_int *p, lapack_int *q, lapack_complex_double *x11, lapack_int *ldx11, lapack_complex_double *x12, lapack_int *ldx12, lapack_complex_double *x21, lapack_int *ldx21, lapack_complex_double *x22, lapack_int *ldx22, double *theta, lapack_complex_double *u1, lapack_int *ldu1, lapack_complex_double *u2, lapack_int *ldu2, lapack_complex_double *v1t, lapack_int *ldv1t, lapack_complex_double *v2t, lapack_int *ldv2t, lapack_complex_double *work, lapack_int *lwork, double *rwork, lapack_int *lrwork, lapack_int *iwork, lapack_int *info)
#define lapack_complex_double
lapack_int LAPACKE_zuncsd_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_double *x11, lapack_int ldx11, lapack_complex_double *x12, lapack_int ldx12, lapack_complex_double *x21, lapack_int ldx21, lapack_complex_double *x22, lapack_int ldx22, double *theta, lapack_complex_double *u1, lapack_int ldu1, lapack_complex_double *u2, lapack_int ldu2, lapack_complex_double *v1t, lapack_int ldv1t, lapack_complex_double *v2t, lapack_int ldv2t, lapack_complex_double *work, lapack_int lwork, double *rwork, lapack_int lrwork, lapack_int *iwork)
#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
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)