39{
42
43 LAPACK_dstevd( &jobz, &n, d, e, z, &ldz, work, &lwork, iwork, &liwork,
44 &info );
45 if( info < 0 ) {
46 info = info - 1;
47 }
50 double* z_t = NULL;
51
52 if( ldz < n ) {
53 info = -7;
55 return info;
56 }
57
58 if( liwork == -1 || lwork == -1 ) {
59 LAPACK_dstevd( &jobz, &n, d, e, z, &ldz_t, work, &lwork, iwork,
60 &liwork, &info );
61 return (info < 0) ? (info - 1) : info;
62 }
63
66 if( z_t == NULL ) {
68 goto exit_level_0;
69 }
70 }
71
72 LAPACK_dstevd( &jobz, &n, d, e, z_t, &ldz_t, work, &lwork, iwork,
73 &liwork, &info );
74 if( info < 0 ) {
75 info = info - 1;
76 }
77
80 }
81
84 }
85exit_level_0:
88 }
89 } else {
90 info = -1;
92 }
93 return info;
94}
#define LAPACK_dstevd(...)
#define LAPACKE_malloc(size)
#define LAPACK_TRANSPOSE_MEMORY_ERROR
lapack_logical LAPACKE_lsame(char ca, char cb)
void LAPACKE_xerbla(const char *name, lapack_int info)
void LAPACKE_dge_trans(int matrix_layout, lapack_int m, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)