40{
43
44 LAPACK_dspgvd( &itype, &jobz, &uplo, &
n, ap, bp, w, z, &ldz, work,
45 &lwork, iwork, &liwork, &info );
46 if( info < 0 ) {
47 info = info - 1;
48 }
51 double* z_t = NULL;
52 double* ap_t = NULL;
53 double* bp_t = NULL;
54
56 info = -10;
58 return info;
59 }
60
61 if( liwork == -1 || lwork == -1 ) {
62 LAPACK_dspgvd( &itype, &jobz, &uplo, &
n, ap, bp, w, z, &ldz_t, work,
63 &lwork, iwork, &liwork, &info );
64 return (info < 0) ? (info - 1) : info;
65 }
66
69 if( z_t == NULL ) {
71 goto exit_level_0;
72 }
73 }
74 ap_t = (double*)
76 if( ap_t == NULL ) {
78 goto exit_level_1;
79 }
80 bp_t = (double*)
82 if( bp_t == NULL ) {
84 goto exit_level_2;
85 }
86
89
90 LAPACK_dspgvd( &itype, &jobz, &uplo, &
n, ap_t, bp_t, w, z_t, &ldz_t,
91 work, &lwork, iwork, &liwork, &info );
92 if( info < 0 ) {
93 info = info - 1;
94 }
95
98 }
101
103exit_level_2:
105exit_level_1:
108 }
109exit_level_0:
112 }
113 } else {
114 info = -1;
116 }
117 return info;
118}
#define LAPACK_dspgvd(...)
#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_dsp_trans(int matrix_layout, char uplo, lapack_int n, const double *in, double *out)
void LAPACKE_dge_trans(int matrix_layout, lapack_int m, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)