40{
43
46
47
50
51
55
56
57
61
62
66
67
71
72
76
77
81 1) ) ) ) ) ) ) );
83
86
87
90
91
95
96
97
101
102
106
107
111
112
116
117
121 7) ) ) ) ) ) ) );
123 float* rwork = NULL;
128 return -1;
129 }
130#ifndef LAPACK_DISABLE_NAN_CHECK
132
134 return -10;
135 }
136 }
137#endif
138
140 if( iwork == NULL ) {
142 goto exit_level_0;
143 }
144 lwork =
MAX( lwork, 1 );
145 {
149 if( !want_u && !want_v && !want_sce ) lwork =
MAX( lwork, 2*
n+1 );
150 if( !want_u && !want_v && want_sce ) lwork =
MAX( lwork,
n*
n+3*
n );
153 }
155 if( cwork == NULL ) {
157 goto exit_level_1;
158 }
159 lrwork =
MAX3( lrwork, 7,
n+2*m );
161 if( rwork == NULL ) {
163 goto exit_level_2;
164 }
165
167 jobp, m,
n, a, lda, sva, u, ldu, v, ldv, cwork,
168 lwork, rwork, lrwork, iwork );
169
170 for( i=0; i<7; i++ ) {
171 stat[i] = rwork[i];
172 }
173 for( i=0; i<3; i++ ) {
174 istat[i] = iwork[i];
175 }
176
178exit_level_2:
180exit_level_1:
182exit_level_0:
185 }
186 return info;
187}
#define lapack_complex_float
#define LAPACK_WORK_MEMORY_ERROR
int LAPACKE_get_nancheck(void)
lapack_int LAPACKE_cgejsv_work(int matrix_layout, char joba, char jobu, char jobv, char jobr, char jobt, char jobp, lapack_int m, lapack_int n, lapack_complex_float *a, lapack_int lda, float *sva, lapack_complex_float *u, lapack_int ldu, lapack_complex_float *v, lapack_int ldv, lapack_complex_float *cwork, lapack_int lwork, float *work, 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)
lapack_logical LAPACKE_cge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *a, lapack_int lda)