39{
42
45 float* work = NULL;
47 float work_query;
50 return -1;
51 }
52#ifndef LAPACK_DISABLE_NAN_CHECK
54
56 return -5;
57 }
59 return -7;
60 }
62 return -10;
63 }
64 }
65#endif
66
68 rcond, rank, &work_query, lwork, &iwork_query );
69 if( info != 0 ) {
70 goto exit_level_0;
71 }
72 liwork = iwork_query;
74
76 if( iwork == NULL ) {
78 goto exit_level_0;
79 }
81 if( work == NULL ) {
83 goto exit_level_1;
84 }
85
87 rcond, rank, work, lwork, iwork );
88
90exit_level_1:
92exit_level_0:
95 }
96 return info;
97}
#define LAPACK_WORK_MEMORY_ERROR
lapack_int LAPACKE_sgelsd_work(int matrix_layout, lapack_int m, lapack_int n, lapack_int nrhs, float *a, lapack_int lda, float *b, lapack_int ldb, float *s, float rcond, lapack_int *rank, float *work, lapack_int lwork, lapack_int *iwork)
int LAPACKE_get_nancheck(void)
#define LAPACKE_malloc(size)
void LAPACKE_xerbla(const char *name, lapack_int info)
lapack_logical LAPACKE_s_nancheck(lapack_int n, const float *x, lapack_int incx)
lapack_logical LAPACKE_sge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const float *a, lapack_int lda)