41{
44
45 LAPACK_dtgevc( &side, &howmny, select, &n, s, &lds, p, &ldp, vl, &ldvl,
46 vr, &ldvr, &mm, m, work, &info );
47 if( info < 0 ) {
48 info = info - 1;
49 }
55 double* s_t = NULL;
56 double* p_t = NULL;
57 double* vl_t = NULL;
58 double* vr_t = NULL;
59
60 if( ldp < n ) {
61 info = -9;
63 return info;
64 }
65 if( lds < n ) {
66 info = -7;
68 return info;
69 }
70 if( ldvl < mm ) {
71 info = -11;
73 return info;
74 }
75 if( ldvr < mm ) {
76 info = -13;
78 return info;
79 }
80
82 if( s_t == NULL ) {
84 goto exit_level_0;
85 }
87 if( p_t == NULL ) {
89 goto exit_level_1;
90 }
92 vl_t = (double*)
94 if( vl_t == NULL ) {
96 goto exit_level_2;
97 }
98 }
100 vr_t = (double*)
102 if( vr_t == NULL ) {
104 goto exit_level_3;
105 }
106 }
107
113 }
117 }
118
119 LAPACK_dtgevc( &side, &howmny, select, &n, s_t, &lds_t, p_t, &ldp_t,
120 vl_t, &ldvl_t, vr_t, &ldvr_t, &mm, m, work, &info );
121 if( info < 0 ) {
122 info = info - 1;
123 }
124
127 ldvl );
128 }
131 ldvr );
132 }
133
136 }
137exit_level_3:
140 }
141exit_level_2:
143exit_level_1:
145exit_level_0:
148 }
149 } else {
150 info = -1;
152 }
153 return info;
154}
#define LAPACK_dtgevc(...)
#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)