71 parameter( nmax = 4, one = 1.0e0, zero = 0.0e0 )
74 INTEGER I, IFST, ILST, INFO, J, M, NT
80 REAL 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 strsyl(
'X',
'N', 1, 0, 0, a, 1, b, 1, c, 1, scale, info )
120 CALL chkxer(
'STRSYL', infot, nout, lerr, ok )
122 CALL strsyl(
'N',
'X', 1, 0, 0, a, 1, b, 1, c, 1, scale, info )
123 CALL chkxer(
'STRSYL', infot, nout, lerr, ok )
125 CALL strsyl(
'N',
'N', 0, 0, 0, a, 1, b, 1, c, 1, scale, info )
126 CALL chkxer(
'STRSYL', infot, nout, lerr, ok )
128 CALL strsyl(
'N',
'N', 1, -1, 0, a, 1, b, 1, c, 1, scale, info )
129 CALL chkxer(
'STRSYL', infot, nout, lerr, ok )
131 CALL strsyl(
'N',
'N', 1, 0, -1, a, 1, b, 1, c, 1, scale, info )
132 CALL chkxer(
'STRSYL', infot, nout, lerr, ok )
134 CALL strsyl(
'N',
'N', 1, 2, 0, a, 1, b, 1, c, 2, scale, info )
135 CALL chkxer(
'STRSYL', infot, nout, lerr, ok )
137 CALL strsyl(
'N',
'N', 1, 0, 2, a, 1, b, 1, c, 1, scale, info )
138 CALL chkxer(
'STRSYL', infot, nout, lerr, ok )
140 CALL strsyl(
'N',
'N', 1, 2, 0, a, 2, b, 1, c, 1, scale, info )
141 CALL chkxer(
'STRSYL', infot, nout, lerr, ok )
148 CALL strsyl3(
'X',
'N', 1, 0, 0, a, 1, b, 1, c, 1, scale,
149 $ iwork, nmax, work, nmax, info )
150 CALL chkxer(
'STRSYL3', infot, nout, lerr, ok )
152 CALL strsyl3(
'N',
'X', 1, 0, 0, a, 1, b, 1, c, 1, scale,
153 $ iwork, nmax, work, nmax, info )
154 CALL chkxer(
'STRSYL3', infot, nout, lerr, ok )
156 CALL strsyl3(
'N',
'N', 0, 0, 0, a, 1, b, 1, c, 1, scale,
157 $ iwork, nmax, work, nmax, info )
158 CALL chkxer(
'STRSYL3', infot, nout, lerr, ok )
160 CALL strsyl3(
'N',
'N', 1, -1, 0, a, 1, b, 1, c, 1, scale,
161 $ iwork, nmax, work, nmax, info )
162 CALL chkxer(
'STRSYL3', infot, nout, lerr, ok )
164 CALL strsyl3(
'N',
'N', 1, 0, -1, a, 1, b, 1, c, 1, scale,
165 $ iwork, nmax, work, nmax, info )
166 CALL chkxer(
'STRSYL3', infot, nout, lerr, ok )
168 CALL strsyl3(
'N',
'N', 1, 2, 0, a, 1, b, 1, c, 2, scale,
169 $ iwork, nmax, work, nmax, info )
170 CALL chkxer(
'STRSYL3', infot, nout, lerr, ok )
172 CALL strsyl3(
'N',
'N', 1, 0, 2, a, 1, b, 1, c, 1, scale,
173 $ iwork, nmax, work, nmax, info )
174 CALL chkxer(
'STRSYL3', infot, nout, lerr, ok )
176 CALL strsyl3(
'N',
'N', 1, 2, 0, a, 2, b, 1, c, 1, scale,
177 $ iwork, nmax, work, nmax, info )
178 CALL chkxer(
'STRSYL3', infot, nout, lerr, ok )
187 CALL strexc(
'X', 1, a, 1, b, 1, ifst, ilst, work, info )
188 CALL chkxer(
'STREXC', infot, nout, lerr, ok )
190 CALL strexc(
'N', -1, a, 1, b, 1, ifst, ilst, work, info )
191 CALL chkxer(
'STREXC', infot, nout, lerr, ok )
194 CALL strexc(
'N', 2, a, 1, b, 1, ifst, ilst, work, info )
195 CALL chkxer(
'STREXC', infot, nout, lerr, ok )
197 CALL strexc(
'V', 2, a, 2, b, 1, ifst, ilst, work, info )
198 CALL chkxer(
'STREXC', infot, nout, lerr, ok )
202 CALL strexc(
'V', 1, a, 1, b, 1, ifst, ilst, work, info )
203 CALL chkxer(
'STREXC', infot, nout, lerr, ok )
206 CALL strexc(
'V', 1, a, 1, b, 1, ifst, ilst, work, info )
207 CALL chkxer(
'STREXC', infot, nout, lerr, ok )
211 CALL strexc(
'V', 1, a, 1, b, 1, ifst, ilst, work, info )
212 CALL chkxer(
'STREXC', infot, nout, lerr, ok )
215 CALL strexc(
'V', 1, a, 1, b, 1, ifst, ilst, work, info )
216 CALL chkxer(
'STREXC', infot, nout, lerr, ok )
223 CALL strsna(
'X',
'A', sel, 0, a, 1, b, 1, c, 1, s, sep, 1, m,
224 $ work, 1, iwork, info )
225 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
227 CALL strsna(
'B',
'X', sel, 0, a, 1, b, 1, c, 1, s, sep, 1, m,
228 $ work, 1, iwork, info )
229 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
231 CALL strsna(
'B',
'A', sel, -1, a, 1, b, 1, c, 1, s, sep, 1, m,
232 $ work, 1, iwork, info )
233 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
235 CALL strsna(
'V',
'A', sel, 2, a, 1, b, 1, c, 1, s, sep, 2, m,
236 $ work, 2, iwork, info )
237 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
239 CALL strsna(
'B',
'A', sel, 2, a, 2, b, 1, c, 2, s, sep, 2, m,
240 $ work, 2, iwork, info )
241 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
243 CALL strsna(
'B',
'A', sel, 2, a, 2, b, 2, c, 1, s, sep, 2, m,
244 $ work, 2, iwork, info )
245 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
247 CALL strsna(
'B',
'A', sel, 1, a, 1, b, 1, c, 1, s, sep, 0, m,
248 $ work, 1, iwork, info )
249 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
251 CALL strsna(
'B',
'S', sel, 2, a, 2, b, 2, c, 2, s, sep, 1, m,
252 $ work, 2, iwork, info )
253 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
255 CALL strsna(
'B',
'A', sel, 2, a, 2, b, 2, c, 2, s, sep, 2, m,
256 $ work, 1, iwork, info )
257 CALL chkxer(
'STRSNA', infot, nout, lerr, ok )
265 CALL strsen(
'X',
'N', sel, 0, a, 1, b, 1, wr, wi, m, s( 1 ),
266 $ sep( 1 ), work, 1, iwork, 1, info )
267 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
269 CALL strsen(
'N',
'X', sel, 0, a, 1, b, 1, wr, wi, m, s( 1 ),
270 $ sep( 1 ), work, 1, iwork, 1, info )
271 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
273 CALL strsen(
'N',
'N', sel, -1, a, 1, b, 1, wr, wi, m, s( 1 ),
274 $ sep( 1 ), work, 1, iwork, 1, info )
275 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
277 CALL strsen(
'N',
'N', sel, 2, a, 1, b, 1, wr, wi, m, s( 1 ),
278 $ sep( 1 ), work, 2, iwork, 1, info )
279 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
281 CALL strsen(
'N',
'V', sel, 2, a, 2, b, 1, wr, wi, m, s( 1 ),
282 $ sep( 1 ), work, 1, iwork, 1, info )
283 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
285 CALL strsen(
'N',
'V', sel, 2, a, 2, b, 2, wr, wi, m, s( 1 ),
286 $ sep( 1 ), work, 0, iwork, 1, info )
287 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
289 CALL strsen(
'E',
'V', sel, 3, a, 3, b, 3, wr, wi, m, s( 1 ),
290 $ sep( 1 ), work, 1, iwork, 1, info )
291 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
293 CALL strsen(
'V',
'V', sel, 3, a, 3, b, 3, wr, wi, m, s( 1 ),
294 $ sep( 1 ), work, 3, iwork, 2, info )
295 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
297 CALL strsen(
'E',
'V', sel, 2, a, 2, b, 2, wr, wi, m, s( 1 ),
298 $ sep( 1 ), work, 1, iwork, 0, info )
299 CALL chkxer(
'STRSEN', infot, nout, lerr, ok )
301 CALL strsen(
'V',
'V', sel, 3, a, 3, b, 3, wr, wi, m, s( 1 ),
302 $ sep( 1 ), work, 4, iwork, 1, info )
303 CALL chkxer(
'STRSEN', 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 strexc(compq, n, t, ldt, q, ldq, ifst, ilst, work, info)
STREXC
subroutine strsen(job, compq, select, n, t, ldt, q, ldq, wr, wi, m, s, sep, work, lwork, iwork, liwork, info)
STRSEN
subroutine strsna(job, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr, s, sep, mm, m, work, ldwork, iwork, info)
STRSNA
subroutine strsyl(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info)
STRSYL
subroutine serrec(path, nunit)
SERREC
subroutine strsyl3(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, iwork, liwork, swork, ldswork, info)
STRSYL3