37{
43 double* rwork = NULL;
46 double rwork_query;
50 return -1;
51 }
52#ifndef LAPACK_DISABLE_NAN_CHECK
54
56 return -5;
57 }
58 }
59#endif
60
62 &work_query, lwork, &rwork_query, lrwork,
63 &iwork_query, liwork );
64 if( info != 0 ) {
65 goto exit_level_0;
66 }
67 liwork = iwork_query;
70
72 if( iwork == NULL ) {
74 goto exit_level_0;
75 }
77 if( rwork == NULL ) {
79 goto exit_level_1;
80 }
83 if( work == NULL ) {
85 goto exit_level_2;
86 }
87
89 lwork, rwork, lrwork, iwork, liwork );
90
92exit_level_2:
94exit_level_1:
96exit_level_0:
99 }
100 return info;
101}
#define lapack_complex_double
#define LAPACK_WORK_MEMORY_ERROR
lapack_int LAPACKE_zheevd_work(int matrix_layout, char jobz, char uplo, lapack_int n, lapack_complex_double *a, lapack_int lda, double *w, lapack_complex_double *work, lapack_int lwork, double *rwork, lapack_int lrwork, lapack_int *iwork, lapack_int liwork)
int LAPACKE_get_nancheck(void)
#define LAPACKE_malloc(size)
void LAPACKE_xerbla(const char *name, lapack_int info)
lapack_logical LAPACKE_zhe_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *a, lapack_int lda)