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 )
150 CALL dtrexc(
'X', 1, a, 1, b, 1, ifst, ilst, work, info )
151 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
153 CALL dtrexc(
'N', -1, a, 1, b, 1, ifst, ilst, work, info )
154 CALL chkxer(
'DTREXC', infot, nout, lerr, ok )
157 CALL dtrexc(
'N', 2, a, 1, b, 1, ifst, ilst, work, info )
160 CALL DTREXC( 'v
', 2, A, 2, B, 1, IFST, ILST, WORK, INFO )
161 CALL CHKXER( 'dtrexc', INFOT, NOUT, LERR, OK )
165 CALL DTREXC( 'v
', 1, A, 1, B, 1, IFST, ILST, WORK, INFO )
166 CALL CHKXER( 'dtrexc', INFOT, NOUT, LERR, OK )
169 CALL DTREXC( 'v
', 1, A, 1, B, 1, IFST, ILST, WORK, INFO )
170 CALL CHKXER( 'dtrexc', INFOT, NOUT, LERR, OK )
174 CALL DTREXC( 'v
', 1, A, 1, B, 1, IFST, ILST, WORK, INFO )
175 CALL CHKXER( 'dtrexc', INFOT, NOUT, LERR, OK )
178 CALL DTREXC( 'v
', 1, A, 1, B, 1, IFST, ILST, WORK, INFO )
179 CALL CHKXER( 'dtrexc', INFOT, NOUT, LERR, OK )
186 CALL DTRSNA( 'x
', 'a
', SEL, 0, A, 1, B, 1, C, 1, S, SEP, 1, M,
187 $ WORK, 1, IWORK, INFO )
188 CALL CHKXER( 'dtrsna', INFOT, NOUT, LERR, OK )
190 CALL DTRSNA( 'b
', 'x
', SEL, 0, A, 1, B, 1, C, 1, S, SEP, 1, M,
191 $ WORK, 1, IWORK, INFO )
192 CALL CHKXER( 'dtrsna', INFOT, NOUT, LERR, OK )
194 CALL DTRSNA( 'b
', 'a
', SEL, -1, A, 1, B, 1, C, 1, S, SEP, 1, M,
195 $ WORK, 1, IWORK, INFO )
196 CALL CHKXER( 'dtrsna', INFOT, NOUT, LERR, OK )
198 CALL DTRSNA( 'v
', 'a
', SEL, 2, A, 1, B, 1, C, 1, S, SEP, 2, M,
199 $ WORK, 2, IWORK, INFO )
200 CALL CHKXER( 'dtrsna', INFOT, NOUT, LERR, OK )
202 CALL DTRSNA( 'b
', 'a
', SEL, 2, A, 2, B, 1, C, 2, S, SEP, 2, M,
203 $ WORK, 2, IWORK, INFO )
204 CALL CHKXER( 'dtrsna', INFOT, NOUT, LERR, OK )
206 CALL DTRSNA( 'b
', 'a
', SEL, 2, A, 2, B, 2, C, 1, S, SEP, 2, M,
207 $ WORK, 2, IWORK, INFO )
208 CALL CHKXER( 'dtrsna', INFOT, NOUT, LERR, OK )
210 CALL DTRSNA( 'b
', 'a
', SEL, 1, A, 1, B, 1, C, 1, S, SEP, 0, M,
211 $ WORK, 1, IWORK, INFO )
212 CALL CHKXER( 'dtrsna', INFOT, NOUT, LERR, OK )
214 CALL DTRSNA( 'b
', 's
', SEL, 2, A, 2, B, 2, C, 2, S, SEP, 1, M,
215 $ WORK, 2, IWORK, INFO )
216 CALL CHKXER( 'dtrsna', INFOT, NOUT, LERR, OK )
218 CALL DTRSNA( 'b',
'A', sel, 2, a, 2, b, 2, c, 2, s, sep, 2, m,
219 $ work, 1, iwork, info )
220 CALL chkxer(
'DTRSNA', infot, nout, lerr, ok )
228 CALL dtrsen(
'X',
'N', sel, 0, a, 1, b, 1, wr, wi, m, s( 1 ),
229 $ sep( 1 ), work, 1, iwork, 1, info )
230 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
232 CALL dtrsen(
'N',
'X', sel, 0, a, 1, b, 1, wr, wi, m, s( 1 ),
233 $ sep( 1 ), work, 1, iwork, 1, info )
234 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
236 CALL dtrsen(
'N',
'N', sel, -1, a, 1, b, 1, wr, wi, m, s( 1 ),
237 $ sep( 1 ), work, 1, iwork, 1, info )
238 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
240 CALL dtrsen(
'N',
'N', sel, 2, a, 1, b, 1, wr, wi, m, s( 1 ),
241 $ sep( 1 ), work, 2, iwork, 1, info )
242 CALL chkxer(
'DTRSEN', infot, nout, lerr, ok )
244 CALL dtrsen(
'N', 'v
', SEL, 2, A, 2, B, 1, WR, WI, M, S( 1 ),
245 $ SEP( 1 ), WORK, 1, IWORK, 1, INFO )
246 CALL CHKXER( 'dtrsen', INFOT, NOUT, LERR, OK )
248 CALL DTRSEN( 'n
', 'v
', SEL, 2, A, 2, B, 2, WR, WI, M, S( 1 ),
249 $ SEP( 1 ), WORK, 0, IWORK, 1, INFO )
250 CALL CHKXER( 'dtrsen', INFOT, NOUT, LERR, OK )
252 CALL DTRSEN( 'e
', 'v
', SEL, 3, A, 3, B, 3, WR, WI, M, S( 1 ),
253 $ SEP( 1 ), WORK, 1, IWORK, 1, INFO )
254 CALL CHKXER( 'dtrsen', INFOT, NOUT, LERR, OK )
256 CALL DTRSEN( 'v
', 'v
', SEL, 3, A, 3, B, 3, WR, WI, M, S( 1 ),
257 $ SEP( 1 ), WORK, 3, IWORK, 2, INFO )
258 CALL CHKXER( 'dtrsen', INFOT, NOUT, LERR, OK )
260 CALL DTRSEN( 'e
', 'v
', SEL, 2, A, 2, B, 2, WR, WI, M, S( 1 ),
261 $ SEP( 1 ), WORK, 1, IWORK, 0, INFO )
262 CALL CHKXER( 'dtrsen', INFOT, NOUT, LERR, OK )
264 CALL DTRSEN( 'v
', 'v
', SEL, 3, A, 3, B, 3, WR, WI, M, S( 1 ),
265 $ SEP( 1 ), WORK, 4, IWORK, 1, INFO )
266 CALL CHKXER( 'dtrsen', INFOT, NOUT, LERR, OK )
272 WRITE( NOUT, FMT = 9999 )PATH, NT
274 WRITE( NOUT, FMT = 9998 )PATH
278 9999 FORMAT( 1X, A3, ' routines passed
the tests of
the error exits(
',
279 $ I3, ' tests done)
' )
280 9998 FORMAT( ' ***
', A3, ' routines failed
the tests of
the error ex
',