37 char jobv1t,
char jobv2t,
char trans,
39 float* theta,
float* phi,
44 float* b11d,
float* b11e,
float* b12d,
45 float* b12e,
float* b21d,
float* b21e,
46 float* b22d,
float* b22e,
float* rwork,
52 LAPACK_cbbcsd( &jobu1, &jobu2, &jobv1t, &jobv2t, &trans, &m, &p, &q,
53 theta, phi, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, v2t,
54 &ldv2t, b11d, b11e, b12d, b12e, b21d, b21e, b22d, b22e,
55 rwork, &lrwork, &info );
95 LAPACK_cbbcsd( &jobu1, &jobu2, &jobv1t, &jobv2t, &trans, &m, &p, &q,
96 theta, phi, u1, &ldu1_t, u2, &ldu2_t, v1t, &ldv1t_t,
97 v2t, &ldv2t_t, b11d, b11e, b12d, b12e, b21d, b21e,
98 b22d, b22e, rwork, &lrwork, &info );
99 return (info < 0) ? (info - 1) : info;
114 ldu2_t *
MAX(1,m-p) );
123 ldv1t_t *
MAX(1,q) );
124 if( v1t_t == NULL ) {
132 ldv2t_t *
MAX(1,m-q) );
133 if( v2t_t == NULL ) {
156 LAPACK_cbbcsd( &jobu1, &jobu2, &jobv1t, &jobv2t, &trans, &m, &p, &q,
157 theta, phi, u1_t, &ldu1_t, u2_t, &ldu2_t, v1t_t,
158 &ldv1t_t, v2t_t, &ldv2t_t, b11d, b11e, b12d, b12e, b21d,
159 b21e, b22d, b22e, rwork, &lrwork, &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)
#define lapack_complex_float
lapack_int LAPACKE_cbbcsd_work(int matrix_layout, char jobu1, char jobu2, char jobv1t, char jobv2t, char trans, lapack_int m, lapack_int p, lapack_int q, float *theta, float *phi, 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, float *b11d, float *b11e, float *b12d, float *b12e, float *b21d, float *b21e, float *b22d, float *b22e, float *rwork, lapack_int lrwork)
#define LAPACKE_malloc(size)
lapack_logical LAPACKE_lsame(char ca, char cb)
void LAPACK_cbbcsd(char *jobu1, char *jobu2, char *jobv1t, char *jobv2t, char *trans, lapack_int *m, lapack_int *p, lapack_int *q, float *theta, float *phi, 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, float *b11d, float *b11e, float *b12d, float *b12e, float *b21d, float *b21e, float *b22d, float *b22e, float *rwork, lapack_int *lrwork, lapack_int *info)
void LAPACKE_xerbla(const char *name, lapack_int info)
#define LAPACK_TRANSPOSE_MEMORY_ERROR