70 parameter( nmax = 4, lw = nmax*( nmax+2 ) )
72 parameter( one = 1.0e0, zero = 0.0e0 )
75 INTEGER I, IFST, ILST, INFO, J, M, NT
80 REAL RW( LW ), S( NMAX ), SEP( NMAX )
81 COMPLEX A( NMAX, NMAX ), B( NMAX, NMAX ),
82 $ C( NMAX, NMAX ), WORK( LW ), X( NMAX )
93 COMMON / infoc / infot, nout, ok, lerr
94 COMMON / srnamc / srnamt
119 CALL ctrsyl(
'X',
'N', 1, 0, 0, a, 1, b, 1, c, 1, scale, info )
120 CALL chkxer(
'CTRSYL', infot, nout, lerr, ok )
122 CALL ctrsyl(
'N',
'X', 1, 0, 0, a, 1, b, 1, c, 1, scale, info )
123 CALL chkxer(
'CTRSYL', infot, nout, lerr, ok )
125 CALL ctrsyl(
'N',
'N', 0, 0, 0, a, 1, b, 1, c, 1, scale, info )
126 CALL chkxer(
'CTRSYL', infot, nout, lerr, ok )
128 CALL ctrsyl(
'N',
'N', 1, -1, 0, a, 1, b, 1, c, 1, scale, info )
129 CALL chkxer(
'CTRSYL', infot, nout, lerr, ok )
131 CALL ctrsyl(
'N',
'N', 1, 0, -1, a, 1, b, 1, c, 1, scale, info )
132 CALL chkxer(
'CTRSYL', infot, nout, lerr, ok )
134 CALL ctrsyl(
'N',
'N', 1, 2, 0, a, 1, b, 1, c, 2, scale, info )
135 CALL chkxer(
'CTRSYL', infot, nout, lerr, ok )
137 CALL ctrsyl(
'N',
'N', 1, 0, 2, a, 1, b, 1, c, 1, scale, info )
138 CALL chkxer(
'CTRSYL', infot, nout, lerr, ok )
140 CALL ctrsyl(
'N',
'N', 1, 2, 0, a, 2, b, 1, c, 1, scale, info )
141 CALL chkxer(
'CTRSYL', infot, nout, lerr, ok )
150 CALL ctrexc(
'X', 1, a, 1, b, 1, ifst, ilst, info )
151 CALL chkxer(
'CTREXC', infot, nout, lerr, ok )
153 CALL ctrexc(
'N', -1, a, 1, b, 1, ifst, ilst, info )
154 CALL chkxer(
'CTREXC', infot, nout, lerr, ok )
157 CALL ctrexc(
'N', 2, a, 1, b, 1, ifst, ilst, info )
158 CALL chkxer(
'CTREXC', infot, nout, lerr, ok )
160 CALL ctrexc(
'V', 2, a, 2, b, 1, ifst, ilst, info )
161 CALL chkxer(
'CTREXC', infot, nout, lerr, ok )
165 CALL ctrexc(
'V', 1, a, 1, b, 1, ifst, ilst, info )
166 CALL chkxer(
'CTREXC', infot, nout, lerr, ok )
169 CALL ctrexc(
'V', 1, a, 1, b, 1, ifst, ilst, info )
170 CALL chkxer(
'CTREXC', infot, nout, lerr, ok )
174 CALL ctrexc(
'V', 1, a, 1, b, 1, ifst, ilst, info )
175 CALL chkxer(
'CTREXC', infot, nout, lerr, ok )
178 CALL ctrexc(
'V', 1, a, 1, b, 1, ifst, ilst, info )
179 CALL chkxer(
'CTREXC', infot, nout, lerr, ok )
186 CALL ctrsna(
'X',
'A', sel, 0, a, 1, b, 1, c, 1, s, sep, 1, m,
187 $ work, 1, rw, info )
188 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
190 CALL ctrsna(
'B',
'X', sel, 0, a, 1, b, 1, c, 1, s, sep, 1, m,
191 $ work, 1, rw, info )
192 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
194 CALL ctrsna(
'B',
'A', sel, -1, a, 1, b, 1, c, 1, s, sep, 1, m,
195 $ work, 1, rw, info )
196 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
198 CALL ctrsna(
'V',
'A', sel, 2, a, 1, b, 1, c, 1, s, sep, 2, m,
199 $ work, 2, rw, info )
200 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
202 CALL ctrsna(
'B',
'A', sel, 2, a, 2, b, 1, c, 2, s, sep, 2, m,
203 $ work, 2, rw, info )
204 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
206 CALL ctrsna(
'B',
'A', sel, 2, a, 2, b, 2, c, 1, s, sep, 2, m,
207 $ work, 2, rw, info )
208 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
210 CALL ctrsna(
'B',
'A', sel, 1, a, 1, b, 1, c, 1, s, sep, 0, m,
211 $ work, 1, rw, info )
212 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
214 CALL ctrsna(
'B',
'S', sel, 2, a, 2, b, 2, c, 2, s, sep, 1, m,
215 $ work, 1, rw, info )
216 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
218 CALL ctrsna(
'B',
'A', sel, 2, a, 2, b, 2, c, 2, s, sep, 2, m,
219 $ work, 1, rw, info )
220 CALL chkxer(
'CTRSNA', infot, nout, lerr, ok )
228 CALL ctrsen(
'X',
'N', sel, 0, a, 1, b, 1, x, m, s( 1 ), sep( 1 ),
230 CALL chkxer(
'CTRSEN', infot, nout, lerr, ok )
232 CALL ctrsen(
'N',
'X', sel, 0, a, 1, b, 1, x, m, s( 1 ), sep( 1 ),
234 CALL chkxer(
'CTRSEN', infot, nout, lerr, ok )
236 CALL ctrsen(
'N',
'N', sel, -1, a, 1, b, 1, x, m, s( 1 ),
237 $ sep( 1 ), work, 1, info )
238 CALL chkxer(
'CTRSEN', infot, nout, lerr, ok )
240 CALL ctrsen(
'N',
'N', sel, 2, a, 1, b, 1, x, m, s( 1 ), sep( 1 ),
242 CALL chkxer(
'CTRSEN', infot, nout, lerr, ok )
244 CALL ctrsen(
'N',
'V', sel, 2, a, 2, b, 1, x, m, s( 1 ), sep( 1 ),
246 CALL chkxer(
'CTRSEN', infot, nout, lerr, ok )
248 CALL ctrsen(
'N',
'V', sel, 2, a, 2, b, 2, x, m, s( 1 ), sep( 1 ),
250 CALL chkxer(
'CTRSEN', infot, nout, lerr, ok )
252 CALL ctrsen(
'E',
'V', sel, 3, a, 3, b, 3, x, m, s( 1 ), sep( 1 ),
254 CALL chkxer(
'CTRSEN', infot, nout, lerr, ok )
256 CALL ctrsen(
'V',
'V', sel, 3, a, 3, b, 3, x, m, s( 1 ), sep( 1 ),
258 CALL chkxer(
'CTRSEN', infot, nout, lerr, ok )
264 WRITE( nout, fmt = 9999 )path, nt
266 WRITE( nout, fmt = 9998 )path
269 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
270 $ i3,
' tests done)' )
271 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine ctrsna(JOB, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR, LDVR, S, SEP, MM, M, WORK, LDWORK, RWORK, INFO)
CTRSNA
subroutine ctrsen(JOB, COMPQ, SELECT, N, T, LDT, Q, LDQ, W, M, S, SEP, WORK, LWORK, INFO)
CTRSEN
subroutine ctrexc(COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO)
CTREXC
subroutine ctrsyl(TRANA, TRANB, ISGN, M, N, A, LDA, B, LDB, C, LDC, SCALE, INFO)
CTRSYL