40{
43
47 double* rwork = NULL;
50 double rwork_query;
54 return -1;
55 }
56#ifndef LAPACK_DISABLE_NAN_CHECK
58
60 return -5;
61 }
63 return -7;
64 }
66 return -10;
67 }
68 }
69#endif
70
72 rcond, rank, &work_query, lwork, &rwork_query,
73 &iwork_query );
74 if( info != 0 ) {
75 goto exit_level_0;
76 }
77 liwork = iwork_query;
80
82 if( iwork == NULL ) {
84 goto exit_level_0;
85 }
87 if( rwork == NULL ) {
89 goto exit_level_1;
90 }
93 if( work == NULL ) {
95 goto exit_level_2;
96 }
97
99 rcond, rank, work, lwork, rwork, iwork );
100
102exit_level_2:
104exit_level_1:
106exit_level_0:
109 }
110 return info;
111}
#define lapack_complex_double
#define LAPACK_WORK_MEMORY_ERROR
int LAPACKE_get_nancheck(void)
lapack_int LAPACKE_zgelsd_work(int matrix_layout, lapack_int m, lapack_int n, lapack_int nrhs, lapack_complex_double *a, lapack_int lda, lapack_complex_double *b, lapack_int ldb, double *s, double rcond, lapack_int *rank, lapack_complex_double *work, lapack_int lwork, double *rwork, lapack_int *iwork)
#define LAPACKE_malloc(size)
void LAPACKE_xerbla(const char *name, lapack_int info)
lapack_logical LAPACKE_zge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *a, lapack_int lda)
lapack_logical LAPACKE_d_nancheck(lapack_int n, const double *x, lapack_int incx)