45{
48
49 LAPACK_chegvx( &itype, &jobz, &range, &uplo, &n, a, &lda, b, &ldb, &vl,
50 &vu, &il, &iu, &abstol, m, w, z, &ldz, work, &lwork,
51 rwork, iwork, ifail, &info );
52 if( info < 0 ) {
53 info = info - 1;
54 }
65
66 if( lda < n ) {
67 info = -8;
69 return info;
70 }
71 if( ldb < n ) {
72 info = -10;
74 return info;
75 }
76 if( ldz < ncols_z ) {
77 info = -19;
79 return info;
80 }
81
82 if( lwork == -1 ) {
83 LAPACK_chegvx( &itype, &jobz, &range, &uplo, &n, a, &lda_t, b,
84 &ldb_t, &vl, &vu, &il, &iu, &abstol, m, w, z, &ldz_t,
85 work, &lwork, rwork, iwork, ifail, &info );
86 return (info < 0) ? (info - 1) : info;
87 }
88
91 if( a_t == NULL ) {
93 goto exit_level_0;
94 }
97 if( b_t == NULL ) {
99 goto exit_level_1;
100 }
104 ldz_t *
MAX(1,ncols_z) );
105 if( z_t == NULL ) {
107 goto exit_level_2;
108 }
109 }
110
113
114 LAPACK_chegvx( &itype, &jobz, &range, &uplo, &n, a_t, &lda_t, b_t,
115 &ldb_t, &vl, &vu, &il, &iu, &abstol, m, w, z_t, &ldz_t,
116 work, &lwork, rwork, iwork, ifail, &info );
117 if( info < 0 ) {
118 info = info - 1;
119 }
120
125 ldz );
126 }
127
130 }
131exit_level_2:
133exit_level_1:
135exit_level_0:
138 }
139 } else {
140 info = -1;
142 }
143 return info;
144}
#define LAPACK_chegvx(...)
#define lapack_complex_float
#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_che_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
void LAPACKE_cge_trans(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)