43{
46
47 LAPACK_dtgsyl( &trans, &ijob, &m, &
n, a, &lda, b, &ldb, c, &ldc, d,
48 &ldd, e, &
lde, f, &ldf, scale, dif, work, &lwork, iwork,
49 &info );
50 if( info < 0 ) {
51 info = info - 1;
52 }
60 double* a_t = NULL;
61 double* b_t = NULL;
62 double* c_t = NULL;
63 double* d_t = NULL;
64 double* e_t = NULL;
65 double* f_t = NULL;
66
67 if( lda < m ) {
68 info = -7;
70 return info;
71 }
73 info = -9;
75 return info;
76 }
78 info = -11;
80 return info;
81 }
82 if( ldd < m ) {
83 info = -13;
85 return info;
86 }
88 info = -15;
90 return info;
91 }
93 info = -17;
95 return info;
96 }
97
98 if( lwork == -1 ) {
100 &ldc_t, d, &ldd_t, e, &lde_t, f, &ldf_t, scale, dif,
101 work, &lwork, iwork, &info );
102 return (info < 0) ? (info - 1) : info;
103 }
104
106 if( a_t == NULL ) {
108 goto exit_level_0;
109 }
111 if( b_t == NULL ) {
113 goto exit_level_1;
114 }
116 if( c_t == NULL ) {
118 goto exit_level_2;
119 }
121 if( d_t == NULL ) {
123 goto exit_level_3;
124 }
126 if( e_t == NULL ) {
128 goto exit_level_4;
129 }
131 if( f_t == NULL ) {
133 goto exit_level_5;
134 }
135
142
143 LAPACK_dtgsyl( &trans, &ijob, &m, &
n, a_t, &lda_t, b_t, &ldb_t, c_t,
144 &ldc_t, d_t, &ldd_t, e_t, &lde_t, f_t, &ldf_t, scale,
145 dif, work, &lwork, iwork, &info );
146 if( info < 0 ) {
147 info = info - 1;
148 }
149
152
154exit_level_5:
156exit_level_4:
158exit_level_3:
160exit_level_2:
162exit_level_1:
164exit_level_0:
167 }
168 } else {
169 info = -1;
171 }
172 return info;
173}
logical function lde(ri, rj, lr)
#define LAPACK_dtgsyl(...)
#define LAPACKE_malloc(size)
#define LAPACK_TRANSPOSE_MEMORY_ERROR
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)