37{
42 double* work = NULL;
44 double work_query;
47 return -1;
48 }
49#ifndef LAPACK_DISABLE_NAN_CHECK
51
53 return -5;
54 }
55 }
56#endif
57
59 &work_query, lwork, &iwork_query, liwork );
60 if( info != 0 ) {
61 goto exit_level_0;
62 }
63 liwork = iwork_query;
65
67 if( iwork == NULL ) {
69 goto exit_level_0;
70 }
72 if( work == NULL ) {
74 goto exit_level_1;
75 }
76
78 lwork, iwork, liwork );
79
81exit_level_1:
83exit_level_0:
86 }
87 return info;
88}
lapack_int LAPACKE_dsyevd_2stage_work(int matrix_layout, char jobz, char uplo, lapack_int n, double *a, lapack_int lda, double *w, double *work, lapack_int lwork, lapack_int *iwork, lapack_int liwork)
#define LAPACK_WORK_MEMORY_ERROR
int LAPACKE_get_nancheck(void)
#define LAPACKE_malloc(size)
void LAPACKE_xerbla(const char *name, lapack_int info)
lapack_logical LAPACKE_dsy_nancheck(int matrix_layout, char uplo, lapack_int n, const double *a, lapack_int lda)