40{
43
44 LAPACK_dsbgv( &jobz, &uplo, &n, &ka, &kb, ab, &ldab, bb, &ldbb, w, z,
45 &ldz, work, &info );
46 if( info < 0 ) {
47 info = info - 1;
48 }
53 double* ab_t = NULL;
54 double* bb_t = NULL;
55 double* z_t = NULL;
56
57 if( ldab < n ) {
58 info = -8;
60 return info;
61 }
62 if( ldbb < n ) {
63 info = -10;
65 return info;
66 }
67 if( ldz < n ) {
68 info = -13;
70 return info;
71 }
72
74 if( ab_t == NULL ) {
76 goto exit_level_0;
77 }
79 if( bb_t == NULL ) {
81 goto exit_level_1;
82 }
85 if( z_t == NULL ) {
87 goto exit_level_2;
88 }
89 }
90
93
94 LAPACK_dsbgv( &jobz, &uplo, &n, &ka, &kb, ab_t, &ldab_t, bb_t, &ldbb_t,
95 w, z_t, &ldz_t, work, &info );
96 if( info < 0 ) {
97 info = info - 1;
98 }
99
101 ldab );
103 ldbb );
106 }
107
110 }
111exit_level_2:
113exit_level_1:
115exit_level_0:
118 }
119 } else {
120 info = -1;
122 }
123 return info;
124}
#define LAPACK_dsbgv(...)
#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_dsb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_dge_trans(int matrix_layout, lapack_int m, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)