70 DOUBLE PRECISION ONE, ZERO
71 parameter( nmax = 4, one = 1.0d0, zero = 0.0d0 )
74 INTEGER I, IFST, ILST, INFO, J, M, NT
75 DOUBLE PRECISION SCALE
80 DOUBLE PRECISION A( NMAX, NMAX ), B( NMAX, NMAX ),
81 $ C( NMAX, NMAX ), S( NMAX ), SEP( NMAX ),
82 $ WI( NMAX ), WORK( NMAX ), WR( NMAX )
93 COMMON / infoc / infot, nout, ok, lerr
94 COMMON / srnamc / srnamt
119 CALL dtrsyl(
'X',
'N', 1, 0, 0, a, 1, b, 1, c, 1, scale, info )
120 CALL chkxer(
'DTRSYL', infot, nout, lerr, ok )
122 CALL dtrsyl(
'N',
'X', 1, 0, 0, a, 1, b, 1, c, 1, scale, info )
123 CALL chkxer(
'DTRSYL', infot, nout, lerr, ok )
125 CALL dtrsyl(
'N',
'N', 0, 0, 0, a, 1, b, 1, c, 1, scale, info )
126 CALL chkxer(
'DTRSYL', infot, nout, lerr, ok )
128 CALL dtrsyl(
'N',
'N', 1, -1, 0, a, 1, b, 1, c, 1, scale, info )
129 CALL chkxer(
'DTRSYL', infot, nout, lerr, ok )
131 CALL dtrsyl(
'N',
'N', 1, 0, -1, a, 1, b, 1, c, 1, scale, info )
132 CALL chkxer(
'DTRSYL', infot, nout, lerr, ok )
134 CALL dtrsyl(
'N',
'N', 1, 2, 0, a, 1, b, 1, c, 2, scale, info )
135 CALL chkxer(
'DTRSYL', infot, nout, lerr, ok )
137 CALL dtrsyl(
'N',
'N', 1, 0, 2, a, 1, b, 1, c, 1, scale, info )
138 CALL chkxer(
'DTRSYL', infot, nout, lerr, ok )
140 CALL dtrsyl(
'N',
'N', 1, 2, 0, a, 2, b, 1, c, 1, scale, info )
141 CALL chkxer(
'DTRSYL', infot, nout, lerr, ok )
148 CALL dtrsyl3(
'X',
'N', 1, 0, 0, a, 1, b, 1, c, 1, scale,
149 $ iwork, nmax, work, nmax, info )
150 CALL chkxer(
'DTRSYL3', infot, nout, lerr, ok )
152 CALL dtrsyl3(
'N',
'X', 1, 0, 0, a, 1, b, 1, c, 1, scale,
153 $ iwork, nmax, work, nmax, info )
154 CALL chkxer(
'DTRSYL3', infot, nout, lerr, ok )
156 CALL dtrsyl3(
'N',
'N', 0, 0, 0, a, 1, b, 1, c, 1, scale,
157 $ iwork, nmax, work, nmax, info )
158 CALL chkxer(
'DTRSYL3', infot, nout, lerr, ok )
160 CALL dtrsyl3(
'N',
'N', 1, -1, 0, a, 1, b, 1, c, 1, scale,
161 $ iwork, nmax, work, nmax, info )
162 CALL chkxer(
'DTRSYL3', infot, nout, lerr, ok )
164 CALL dtrsyl3(
'N',
'N', 1, 0, -1, a, 1, b, 1, c, 1, scale,
165 $ iwork, nmax, work, nmax, info )
166 CALL chkxer(
'DTRSYL3', infot, nout, lerr, ok )
168 CALL dtrsyl3(
'N',
'N', 1, 2, 0, a, 1, b, 1, c, 2, scale,
169 $ iwork, nmax, work, nmax, info )
170 CALL chkxer(
'DTRSYL3', infot, nout, lerr, ok )
172 CALL dtrsyl3(
'N',
'N', 1, 0, 2, a, 1, b, 1, c, 1, scale,
173 $ iwork, nmax, work, nmax, info )
174 CALL chkxer(
'DTRSYL3', infot, nout, lerr, ok )
176 CALL dtrsyl3(
'N',
'N', 1, 2, 0, a, 2, b, 1, c, 1, scale,
177 $ iwork, nmax, work, nmax, info )
178 CALL chkxer(
'DTRSYL3', infot, nout, lerr, ok )
187 CALL dtrexc(
'X', 1, a, 1, b, 1, ifst, ilst, work, info )
188 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
190 CALL dtrexc(
'N', -1, a, 1, b, 1, ifst, ilst, work, info )
191 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
194 CALL dtrexc(
'N', 2, a, 1, b, 1, ifst, ilst, work, info )
195 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
197 CALL dtrexc(
'V', 2, a, 2, b, 1, ifst, ilst, work, info )
198 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
202 CALL dtrexc(
'V', 1, a, 1, b, 1, ifst, ilst, work, info )
203 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
206 CALL dtrexc(
'V', 1, a, 1, b, 1, ifst, ilst, work, info )
207 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
211 CALL dtrexc(
'V', 1, a, 1, b, 1, ifst, ilst, work, info )
212 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
215 CALL dtrexc(
'V', 1, a, 1, b, 1, ifst, ilst, work, info )
216 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
223 CALL dtrsna(
'X',
'A', sel, 0, a, 1, b, 1, c, 1, s, sep, 1, m,
224 $ work, 1, iwork, info )
225 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
227 CALL dtrsna(
'B',
'X', sel, 0, a, 1, b, 1, c, 1, s, sep, 1, m,
228 $ work, 1, iwork, info )
229 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
231 CALL dtrsna(
'B',
'A', sel, -1, a, 1, b, 1, c, 1, s, sep, 1, m,
232 $ work, 1, iwork, info )
233 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
235 CALL dtrsna(
'V',
'A', sel, 2, a, 1, b, 1, c, 1, s, sep, 2, m,
236 $ work, 2, iwork, info )
237 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
239 CALL dtrsna(
'B',
'A', sel, 2, a, 2, b, 1, c, 2, s, sep, 2, m,
240 $ work, 2, iwork, info )
241 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
243 CALL dtrsna(
'B',
'A', sel, 2, a, 2, b, 2, c, 1, s, sep, 2, m,
244 $ work, 2, iwork, info )
245 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
247 CALL dtrsna(
'B',
'A', sel, 1, a, 1, b, 1, c, 1, s, sep, 0, m,
248 $ work, 1, iwork, info )
249 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
251 CALL dtrsna(
'B',
'S', sel, 2, a, 2, b, 2, c, 2, s, sep, 1, m,
252 $ work, 2, iwork, info )
253 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
255 CALL dtrsna(
'B',
'A', sel, 2, a, 2, b, 2, c, 2, s, sep, 2, m,
256 $ work, 1, iwork, info )
257 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
265 CALL dtrsen(
'X',
'N', sel, 0, a, 1, b, 1, wr, wi, m, s( 1 ),
266 $ sep( 1 ), work, 1, iwork, 1, info )
267 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
269 CALL dtrsen(
'N',
'X', sel, 0, a, 1, b, 1, wr, wi, m, s( 1 ),
270 $ sep( 1 ), work, 1, iwork, 1, info )
271 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
273 CALL dtrsen(
'N',
'N', sel, -1, a, 1, b, 1, wr, wi, m, s( 1 ),
274 $ sep( 1 ), work, 1, iwork, 1, info )
275 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
277 CALL dtrsen(
'N',
'N', sel, 2, a, 1, b, 1, wr, wi, m, s( 1 ),
278 $ sep( 1 ), work, 2, iwork, 1, info )
279 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
281 CALL dtrsen(
'N',
'V', sel, 2, a, 2, b, 1, wr, wi, m, s( 1 ),
282 $ sep( 1 ), work, 1, iwork, 1, info )
283 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
285 CALL dtrsen(
'N',
'V', sel, 2, a, 2, b, 2, wr, wi, m, s( 1 ),
286 $ sep( 1 ), work, 0, iwork, 1, info )
287 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
289 CALL dtrsen(
'E',
'V', sel, 3, a, 3, b, 3, wr, wi, m, s( 1 ),
290 $ sep( 1 ), work, 1, iwork, 1, info )
291 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
293 CALL dtrsen(
'V',
'V', sel, 3, a, 3, b, 3, wr, wi, m, s( 1 ),
294 $ sep( 1 ), work, 3, iwork, 2, info )
295 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
297 CALL dtrsen(
'E',
'V', sel, 2, a, 2, b, 2, wr, wi, m, s( 1 ),
298 $ sep( 1 ), work, 1, iwork, 0, info )
299 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
301 CALL dtrsen(
'V',
'V', sel, 3, a, 3, b, 3, wr, wi, m, s( 1 ),
302 $ sep( 1 ), work, 4, iwork, 1, info )
303 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
309 WRITE( nout, fmt = 9999 )path, nt
311 WRITE( nout, fmt = 9998 )path
315 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
316 $ i3,
' tests done)' )
317 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ex',
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine derrec(path, nunit)
DERREC
subroutine dtrsyl3(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, iwork, liwork, swork, ldswork, info)
DTRSYL3
subroutine dtrexc(compq, n, t, ldt, q, ldq, ifst, ilst, work, info)
DTREXC
subroutine dtrsen(job, compq, select, n, t, ldt, q, ldq, wr, wi, m, s, sep, work, lwork, iwork, liwork, info)
DTRSEN
subroutine dtrsna(job, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, iwork, info)
DTRSNA
subroutine dtrsyl(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info)
DTRSYL