43{
46
47 LAPACK_zhpgvd( &itype, &jobz, &uplo, &n, ap, bp, w, z, &ldz, work,
48 &lwork, rwork, &lrwork, iwork, &liwork, &info );
49 if( info < 0 ) {
50 info = info - 1;
51 }
57
58 if( ldz < n ) {
59 info = -10;
61 return info;
62 }
63
64 if( liwork == -1 || lrwork == -1 || lwork == -1 ) {
65 LAPACK_zhpgvd( &itype, &jobz, &uplo, &n, ap, bp, w, z, &ldz_t, work,
66 &lwork, rwork, &lrwork, iwork, &liwork, &info );
67 return (info < 0) ? (info - 1) : info;
68 }
69
74 if( z_t == NULL ) {
76 goto exit_level_0;
77 }
78 }
81 (
MAX(1,n) *
MAX(2,n+1) ) / 2 );
82 if( ap_t == NULL ) {
84 goto exit_level_1;
85 }
88 (
MAX(1,n) *
MAX(2,n+1) ) / 2 );
89 if( bp_t == NULL ) {
91 goto exit_level_2;
92 }
93
96
97 LAPACK_zhpgvd( &itype, &jobz, &uplo, &n, ap_t, bp_t, w, z_t, &ldz_t,
98 work, &lwork, rwork, &lrwork, iwork, &liwork, &info );
99 if( info < 0 ) {
100 info = info - 1;
101 }
102
105 }
108
110exit_level_2:
112exit_level_1:
115 }
116exit_level_0:
119 }
120 } else {
121 info = -1;
123 }
124 return info;
125}
#define LAPACK_zhpgvd(...)
#define lapack_complex_double
#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_zge_trans(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
void LAPACKE_zhp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)