39{
44 float* work = NULL;
46 float work_query;
49 return -1;
50 }
51#ifndef LAPACK_DISABLE_NAN_CHECK
53
56 return -8;
57 }
58 }
60 return -6;
61 }
62 }
63#endif
64
66 ldq, wr, wi, m, s, sep, &work_query, lwork,
67 &iwork_query, liwork );
68 if( info != 0 ) {
69 goto exit_level_0;
70 }
71 liwork = iwork_query;
73
76 if( iwork == NULL ) {
78 goto exit_level_0;
79 }
80 }
82 if( work == NULL ) {
84 goto exit_level_1;
85 }
86
88 ldq, wr, wi, m, s, sep, work, lwork, iwork,
89 liwork );
90
92exit_level_1:
95 }
96exit_level_0:
99 }
100 return info;
101}
#define LAPACK_WORK_MEMORY_ERROR
lapack_int LAPACKE_strsen_work(int matrix_layout, char job, char compq, const lapack_logical *select, lapack_int n, float *t, lapack_int ldt, float *q, lapack_int ldq, float *wr, float *wi, lapack_int *m, float *s, float *sep, float *work, lapack_int lwork, lapack_int *iwork, lapack_int liwork)
int LAPACKE_get_nancheck(void)
#define LAPACKE_malloc(size)
lapack_logical LAPACKE_lsame(char ca, char cb)
void LAPACKE_xerbla(const char *name, lapack_int info)
lapack_logical LAPACKE_sge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const float *a, lapack_int lda)