1 SUBROUTINE CERRGG( PATH, NUNIT )
2 *
3 * -- LAPACK test routine (version 3.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
6 *
7 * .. Scalar Arguments ..
8 CHARACTER*3 PATH
9 INTEGER NUNIT
10 * ..
11 *
12 * Purpose
13 * =======
14 *
15 * CERRGG tests the error exits for CGGES, CGGESX, CGGEV, CGGEVX,
16 * CGGGLM, CGGHRD, CGGLSE, CGGQRF, CGGRQF, CGGSVD, CGGSVP, CHGEQZ,
17 * CTGEVC, CTGEXC, CTGSEN, CTGSJA, CTGSNA, and CTGSYL.
18 *
19 * Arguments
20 * =========
21 *
22 * PATH (input) CHARACTER*3
23 * The LAPACK path name for the routines to be tested.
24 *
25 * NUNIT (input) INTEGER
26 * The unit number for output.
27 *
28 * =====================================================================
29 *
30 * .. Parameters ..
31 INTEGER NMAX, LW
32 PARAMETER ( NMAX = 3, LW = 6*NMAX )
33 REAL ONE, ZERO
34 PARAMETER ( ONE = 1.0E+0, ZERO = 0.0E+0 )
35 * ..
36 * .. Local Scalars ..
37 CHARACTER*2 C2
38 INTEGER DUMMYK, DUMMYL, I, IFST, ILST, INFO, J, M,
39 $ NCYCLE, NT, SDIM
40 REAL ANRM, BNRM, DIF, SCALE, TOLA, TOLB
41 * ..
42 * .. Local Arrays ..
43 LOGICAL BW( NMAX ), SEL( NMAX )
44 INTEGER IW( LW )
45 REAL LS( NMAX ), R1( NMAX ), R2( NMAX ),
46 $ RCE( NMAX ), RCV( NMAX ), RS( NMAX ), RW( LW )
47 COMPLEX A( NMAX, NMAX ), ALPHA( NMAX ),
48 $ B( NMAX, NMAX ), BETA( NMAX ), Q( NMAX, NMAX ),
49 $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
50 $ W( LW ), Z( NMAX, NMAX )
51 * ..
52 * .. External Functions ..
53 LOGICAL CLCTES, CLCTSX, LSAMEN
54 EXTERNAL CLCTES, CLCTSX, LSAMEN
55 * ..
56 * .. External Subroutines ..
57 EXTERNAL CGGES, CGGESX, CGGEV, CGGEVX, CGGGLM, CGGHRD,
58 $ CGGLSE, CGGQRF, CGGRQF, CGGSVD, CGGSVP, CHGEQZ,
59 $ CHKXER, CTGEVC, CTGEXC, CTGSEN, CTGSJA, CTGSNA,
60 $ CTGSYL
61 * ..
62 * .. Scalars in Common ..
63 LOGICAL LERR, OK
64 CHARACTER*32 SRNAMT
65 INTEGER INFOT, NOUT
66 * ..
67 * .. Common blocks ..
68 COMMON / INFOC / INFOT, NOUT, OK, LERR
69 COMMON / SRNAMC / SRNAMT
70 * ..
71 * .. Executable Statements ..
72 *
73 NOUT = NUNIT
74 WRITE( NOUT, FMT = * )
75 C2 = PATH( 2: 3 )
76 *
77 * Set the variables to innocuous values.
78 *
79 DO 20 J = 1, NMAX
80 SEL( J ) = .TRUE.
81 DO 10 I = 1, NMAX
82 A( I, J ) = ZERO
83 B( I, J ) = ZERO
84 10 CONTINUE
85 20 CONTINUE
86 DO 30 I = 1, NMAX
87 A( I, I ) = ONE
88 B( I, I ) = ONE
89 30 CONTINUE
90 OK = .TRUE.
91 TOLA = 1.0E0
92 TOLB = 1.0E0
93 IFST = 1
94 ILST = 1
95 NT = 0
96 *
97 * Test error exits for the GG path.
98 *
99 IF( LSAMEN( 2, C2, 'GG' ) ) THEN
100 *
101 * CGGHRD
102 *
103 SRNAMT = 'CGGHRD'
104 INFOT = 1
105 CALL CGGHRD( '/', 'N', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
106 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
107 INFOT = 2
108 CALL CGGHRD( 'N', '/', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
109 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
110 INFOT = 3
111 CALL CGGHRD( 'N', 'N', -1, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
112 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
113 INFOT = 4
114 CALL CGGHRD( 'N', 'N', 0, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
115 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
116 INFOT = 5
117 CALL CGGHRD( 'N', 'N', 0, 1, 1, A, 1, B, 1, Q, 1, Z, 1, INFO )
118 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
119 INFOT = 7
120 CALL CGGHRD( 'N', 'N', 2, 1, 1, A, 1, B, 2, Q, 1, Z, 1, INFO )
121 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
122 INFOT = 9
123 CALL CGGHRD( 'N', 'N', 2, 1, 1, A, 2, B, 1, Q, 1, Z, 1, INFO )
124 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
125 INFOT = 11
126 CALL CGGHRD( 'V', 'N', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
127 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
128 INFOT = 13
129 CALL CGGHRD( 'N', 'V', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
130 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
131 NT = NT + 9
132 *
133 * CHGEQZ
134 *
135 SRNAMT = 'CHGEQZ'
136 INFOT = 1
137 CALL CHGEQZ( '/', 'N', 'N', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
138 $ Q, 1, Z, 1, W, 1, RW, INFO )
139 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
140 INFOT = 2
141 CALL CHGEQZ( 'E', '/', 'N', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
142 $ Q, 1, Z, 1, W, 1, RW, INFO )
143 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
144 INFOT = 3
145 CALL CHGEQZ( 'E', 'N', '/', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
146 $ Q, 1, Z, 1, W, 1, RW, INFO )
147 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
148 INFOT = 4
149 CALL CHGEQZ( 'E', 'N', 'N', -1, 0, 0, A, 1, B, 1, ALPHA, BETA,
150 $ Q, 1, Z, 1, W, 1, RW, INFO )
151 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
152 INFOT = 5
153 CALL CHGEQZ( 'E', 'N', 'N', 0, 0, 0, A, 1, B, 1, ALPHA, BETA,
154 $ Q, 1, Z, 1, W, 1, RW, INFO )
155 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
156 INFOT = 6
157 CALL CHGEQZ( 'E', 'N', 'N', 0, 1, 1, A, 1, B, 1, ALPHA, BETA,
158 $ Q, 1, Z, 1, W, 1, RW, INFO )
159 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
160 INFOT = 8
161 CALL CHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 1, B, 2, ALPHA, BETA,
162 $ Q, 1, Z, 1, W, 1, RW, INFO )
163 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
164 INFOT = 10
165 CALL CHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 2, B, 1, ALPHA, BETA,
166 $ Q, 1, Z, 1, W, 1, RW, INFO )
167 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
168 INFOT = 14
169 CALL CHGEQZ( 'E', 'V', 'N', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
170 $ Q, 1, Z, 1, W, 1, RW, INFO )
171 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
172 INFOT = 16
173 CALL CHGEQZ( 'E', 'N', 'V', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
174 $ Q, 1, Z, 1, W, 1, RW, INFO )
175 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
176 NT = NT + 10
177 *
178 * CTGEVC
179 *
180 SRNAMT = 'CTGEVC'
181 INFOT = 1
182 CALL CTGEVC( '/', 'A', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
183 $ RW, INFO )
184 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
185 INFOT = 2
186 CALL CTGEVC( 'R', '/', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
187 $ RW, INFO )
188 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
189 INFOT = 4
190 CALL CTGEVC( 'R', 'A', SEL, -1, A, 1, B, 1, Q, 1, Z, 1, 0, M,
191 $ W, RW, INFO )
192 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
193 INFOT = 6
194 CALL CTGEVC( 'R', 'A', SEL, 2, A, 1, B, 2, Q, 1, Z, 2, 0, M, W,
195 $ RW, INFO )
196 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
197 INFOT = 8
198 CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 1, Q, 1, Z, 2, 0, M, W,
199 $ RW, INFO )
200 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
201 INFOT = 10
202 CALL CTGEVC( 'L', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
203 $ RW, INFO )
204 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
205 INFOT = 12
206 CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
207 $ RW, INFO )
208 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
209 INFOT = 13
210 CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 2, 1, M, W,
211 $ RW, INFO )
212 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
213 NT = NT + 8
214 *
215 * Test error exits for the GSV path.
216 *
217 ELSE IF( LSAMEN( 3, PATH, 'GSV' ) ) THEN
218 *
219 * CGGSVD
220 *
221 SRNAMT = 'CGGSVD'
222 INFOT = 1
223 CALL CGGSVD( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
224 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
225 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
226 INFOT = 2
227 CALL CGGSVD( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
228 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
229 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
230 INFOT = 3
231 CALL CGGSVD( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
232 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
233 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
234 INFOT = 4
235 CALL CGGSVD( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B,
236 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
237 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
238 INFOT = 5
239 CALL CGGSVD( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B,
240 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
241 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
242 INFOT = 6
243 CALL CGGSVD( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B,
244 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
245 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
246 INFOT = 10
247 CALL CGGSVD( 'N', 'N', 'N', 2, 1, 1, DUMMYK, DUMMYL, A, 1, B,
248 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
249 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
250 INFOT = 12
251 CALL CGGSVD( 'N', 'N', 'N', 1, 1, 2, DUMMYK, DUMMYL, A, 1, B,
252 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
253 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
254 INFOT = 16
255 CALL CGGSVD( 'U', 'N', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
256 $ 2, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
257 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
258 INFOT = 18
259 CALL CGGSVD( 'N', 'V', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
260 $ 2, R1, R2, U, 2, V, 1, Q, 1, W, RW, IW, INFO )
261 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
262 INFOT = 20
263 CALL CGGSVD( 'N', 'N', 'Q', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
264 $ 2, R1, R2, U, 2, V, 2, Q, 1, W, RW, IW, INFO )
265 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
266 NT = NT + 11
267 *
268 * CGGSVP
269 *
270 SRNAMT = 'CGGSVP'
271 INFOT = 1
272 CALL CGGSVP( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
273 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
274 $ INFO )
275 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
276 INFOT = 2
277 CALL CGGSVP( 'N', '/', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
278 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
279 $ INFO )
280 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
281 INFOT = 3
282 CALL CGGSVP( 'N', 'N', '/', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
283 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
284 $ INFO )
285 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
286 INFOT = 4
287 CALL CGGSVP( 'N', 'N', 'N', -1, 0, 0, A, 1, B, 1, TOLA, TOLB,
288 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
289 $ INFO )
290 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
291 INFOT = 5
292 CALL CGGSVP( 'N', 'N', 'N', 0, -1, 0, A, 1, B, 1, TOLA, TOLB,
293 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
294 $ INFO )
295 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
296 INFOT = 6
297 CALL CGGSVP( 'N', 'N', 'N', 0, 0, -1, A, 1, B, 1, TOLA, TOLB,
298 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
299 $ INFO )
300 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
301 INFOT = 8
302 CALL CGGSVP( 'N', 'N', 'N', 2, 1, 1, A, 1, B, 1, TOLA, TOLB,
303 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
304 $ INFO )
305 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
306 INFOT = 10
307 CALL CGGSVP( 'N', 'N', 'N', 1, 2, 1, A, 1, B, 1, TOLA, TOLB,
308 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
309 $ INFO )
310 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
311 INFOT = 16
312 CALL CGGSVP( 'U', 'N', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
313 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
314 $ INFO )
315 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
316 INFOT = 18
317 CALL CGGSVP( 'N', 'V', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
318 $ DUMMYK, DUMMYL, U, 2, V, 1, Q, 1, IW, RW, TAU, W,
319 $ INFO )
320 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
321 INFOT = 20
322 CALL CGGSVP( 'N', 'N', 'Q', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
323 $ DUMMYK, DUMMYL, U, 2, V, 2, Q, 1, IW, RW, TAU, W,
324 $ INFO )
325 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
326 NT = NT + 11
327 *
328 * CTGSJA
329 *
330 SRNAMT = 'CTGSJA'
331 INFOT = 1
332 CALL CTGSJA( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
333 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
334 $ NCYCLE, INFO )
335 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
336 INFOT = 2
337 CALL CTGSJA( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
338 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
339 $ NCYCLE, INFO )
340 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
341 INFOT = 3
342 CALL CTGSJA( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
343 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
344 $ NCYCLE, INFO )
345 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
346 INFOT = 4
347 CALL CTGSJA( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B,
348 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
349 $ NCYCLE, INFO )
350 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
351 INFOT = 5
352 CALL CTGSJA( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B,
353 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
354 $ NCYCLE, INFO )
355 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
356 INFOT = 6
357 CALL CTGSJA( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B,
358 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
359 $ NCYCLE, INFO )
360 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
361 INFOT = 10
362 CALL CTGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 0, B,
363 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
364 $ NCYCLE, INFO )
365 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
366 INFOT = 12
367 CALL CTGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
368 $ 0, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
369 $ NCYCLE, INFO )
370 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
371 INFOT = 18
372 CALL CTGSJA( 'U', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
373 $ 1, TOLA, TOLB, R1, R2, U, 0, V, 1, Q, 1, W,
374 $ NCYCLE, INFO )
375 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
376 INFOT = 20
377 CALL CTGSJA( 'N', 'V', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
378 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 0, Q, 1, W,
379 $ NCYCLE, INFO )
380 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
381 INFOT = 22
382 CALL CTGSJA( 'N', 'N', 'Q', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
383 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 0, W,
384 $ NCYCLE, INFO )
385 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
386 NT = NT + 11
387 *
388 * Test error exits for the GLM path.
389 *
390 ELSE IF( LSAMEN( 3, PATH, 'GLM' ) ) THEN
391 *
392 * CGGGLM
393 *
394 SRNAMT = 'CGGGLM'
395 INFOT = 1
396 CALL CGGGLM( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
397 $ INFO )
398 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
399 INFOT = 2
400 CALL CGGGLM( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
401 $ INFO )
402 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
403 INFOT = 2
404 CALL CGGGLM( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
405 $ INFO )
406 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
407 INFOT = 3
408 CALL CGGGLM( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
409 $ INFO )
410 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
411 INFOT = 3
412 CALL CGGGLM( 1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
413 $ INFO )
414 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
415 INFOT = 5
416 CALL CGGGLM( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
417 $ INFO )
418 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
419 INFOT = 7
420 CALL CGGGLM( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
421 $ INFO )
422 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
423 INFOT = 12
424 CALL CGGGLM( 1, 1, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, 1,
425 $ INFO )
426 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
427 NT = NT + 8
428 *
429 * Test error exits for the LSE path.
430 *
431 ELSE IF( LSAMEN( 3, PATH, 'LSE' ) ) THEN
432 *
433 * CGGLSE
434 *
435 SRNAMT = 'CGGLSE'
436 INFOT = 1
437 CALL CGGLSE( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
438 $ INFO )
439 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
440 INFOT = 2
441 CALL CGGLSE( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
442 $ INFO )
443 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
444 INFOT = 3
445 CALL CGGLSE( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
446 $ INFO )
447 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
448 INFOT = 3
449 CALL CGGLSE( 0, 0, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
450 $ INFO )
451 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
452 INFOT = 3
453 CALL CGGLSE( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
454 $ INFO )
455 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
456 INFOT = 5
457 CALL CGGLSE( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
458 $ INFO )
459 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
460 INFOT = 7
461 CALL CGGLSE( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
462 $ INFO )
463 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
464 INFOT = 12
465 CALL CGGLSE( 1, 1, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, 1,
466 $ INFO )
467 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
468 NT = NT + 8
469 *
470 * Test error exits for the GQR path.
471 *
472 ELSE IF( LSAMEN( 3, PATH, 'GQR' ) ) THEN
473 *
474 * CGGQRF
475 *
476 SRNAMT = 'CGGQRF'
477 INFOT = 1
478 CALL CGGQRF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
479 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
480 INFOT = 2
481 CALL CGGQRF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
482 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
483 INFOT = 3
484 CALL CGGQRF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
485 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
486 INFOT = 5
487 CALL CGGQRF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
488 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
489 INFOT = 8
490 CALL CGGQRF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
491 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
492 INFOT = 11
493 CALL CGGQRF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
494 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
495 NT = NT + 6
496 *
497 * CGGRQF
498 *
499 SRNAMT = 'CGGRQF'
500 INFOT = 1
501 CALL CGGRQF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
502 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
503 INFOT = 2
504 CALL CGGRQF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
505 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
506 INFOT = 3
507 CALL CGGRQF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
508 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
509 INFOT = 5
510 CALL CGGRQF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
511 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
512 INFOT = 8
513 CALL CGGRQF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
514 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
515 INFOT = 11
516 CALL CGGRQF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
517 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
518 NT = NT + 6
519 *
520 * Test error exits for the CGS, CGV, CGX, and CXV paths.
521 *
522 ELSE IF( LSAMEN( 3, PATH, 'CGS' ) .OR.
523 $ LSAMEN( 3, PATH, 'CGV' ) .OR.
524 $ LSAMEN( 3, PATH, 'CGX' ) .OR. LSAMEN( 3, PATH, 'CXV' ) )
525 $ THEN
526 *
527 * CGGES
528 *
529 SRNAMT = 'CGGES '
530 INFOT = 1
531 CALL CGGES( '/', 'N', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
532 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
533 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
534 INFOT = 2
535 CALL CGGES( 'N', '/', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
536 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
537 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
538 INFOT = 3
539 CALL CGGES( 'N', 'V', '/', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
540 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
541 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
542 INFOT = 5
543 CALL CGGES( 'N', 'V', 'S', CLCTES, -1, A, 1, B, 1, SDIM, ALPHA,
544 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
545 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
546 INFOT = 7
547 CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 0, B, 1, SDIM, ALPHA,
548 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
549 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
550 INFOT = 9
551 CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 0, SDIM, ALPHA,
552 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
553 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
554 INFOT = 14
555 CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
556 $ BETA, Q, 0, U, 1, W, 1, RW, BW, INFO )
557 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
558 INFOT = 14
559 CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
560 $ BETA, Q, 1, U, 2, W, 1, RW, BW, INFO )
561 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
562 INFOT = 16
563 CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
564 $ BETA, Q, 1, U, 0, W, 1, RW, BW, INFO )
565 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
566 INFOT = 16
567 CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
568 $ BETA, Q, 2, U, 1, W, 1, RW, BW, INFO )
569 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
570 INFOT = 18
571 CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
572 $ BETA, Q, 2, U, 2, W, 1, RW, BW, INFO )
573 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
574 NT = NT + 11
575 *
576 * CGGESX
577 *
578 SRNAMT = 'CGGESX'
579 INFOT = 1
580 CALL CGGESX( '/', 'N', 'S', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
581 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
582 $ 1, BW, INFO )
583 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
584 INFOT = 2
585 CALL CGGESX( 'N', '/', 'S', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
586 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
587 $ 1, BW, INFO )
588 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
589 INFOT = 3
590 CALL CGGESX( 'V', 'V', '/', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
591 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
592 $ 1, BW, INFO )
593 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
594 INFOT = 5
595 CALL CGGESX( 'V', 'V', 'S', CLCTSX, '/', 1, A, 1, B, 1, SDIM,
596 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
597 $ 1, BW, INFO )
598 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
599 INFOT = 6
600 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', -1, A, 1, B, 1, SDIM,
601 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
602 $ 1, BW, INFO )
603 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
604 INFOT = 8
605 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 0, B, 1, SDIM,
606 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
607 $ 1, BW, INFO )
608 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
609 INFOT = 10
610 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 0, SDIM,
611 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
612 $ 1, BW, INFO )
613 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
614 INFOT = 15
615 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 1, SDIM,
616 $ ALPHA, BETA, Q, 0, U, 1, RCE, RCV, W, 1, RW, IW,
617 $ 1, BW, INFO )
618 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
619 INFOT = 15
620 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
621 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
622 $ 1, BW, INFO )
623 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
624 INFOT = 17
625 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 1, SDIM,
626 $ ALPHA, BETA, Q, 1, U, 0, RCE, RCV, W, 1, RW, IW,
627 $ 1, BW, INFO )
628 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
629 INFOT = 17
630 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
631 $ ALPHA, BETA, Q, 2, U, 1, RCE, RCV, W, 1, RW, IW,
632 $ 1, BW, INFO )
633 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
634 INFOT = 21
635 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
636 $ ALPHA, BETA, Q, 2, U, 2, RCE, RCV, W, 1, RW, IW,
637 $ 1, BW, INFO )
638 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
639 INFOT = 24
640 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'V', 1, A, 1, B, 1, SDIM,
641 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 32, RW, IW,
642 $ 0, BW, INFO )
643 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
644 NT = NT + 13
645 *
646 * CGGEV
647 *
648 SRNAMT = 'CGGEV '
649 INFOT = 1
650 CALL CGGEV( '/', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
651 $ W, 1, RW, INFO )
652 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
653 INFOT = 2
654 CALL CGGEV( 'N', '/', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
655 $ W, 1, RW, INFO )
656 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
657 INFOT = 3
658 CALL CGGEV( 'V', 'V', -1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
659 $ W, 1, RW, INFO )
660 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
661 INFOT = 5
662 CALL CGGEV( 'V', 'V', 1, A, 0, B, 1, ALPHA, BETA, Q, 1, U, 1,
663 $ W, 1, RW, INFO )
664 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
665 INFOT = 7
666 CALL CGGEV( 'V', 'V', 1, A, 1, B, 0, ALPHA, BETA, Q, 1, U, 1,
667 $ W, 1, RW, INFO )
668 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
669 INFOT = 11
670 CALL CGGEV( 'N', 'V', 1, A, 1, B, 1, ALPHA, BETA, Q, 0, U, 1,
671 $ W, 1, RW, INFO )
672 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
673 INFOT = 11
674 CALL CGGEV( 'V', 'V', 2, A, 2, B, 2, ALPHA, BETA, Q, 1, U, 2,
675 $ W, 1, RW, INFO )
676 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
677 INFOT = 13
678 CALL CGGEV( 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 0,
679 $ W, 1, RW, INFO )
680 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
681 INFOT = 13
682 CALL CGGEV( 'V', 'V', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 1,
683 $ W, 1, RW, INFO )
684 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
685 INFOT = 15
686 CALL CGGEV( 'V', 'V', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
687 $ W, 1, RW, INFO )
688 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
689 NT = NT + 10
690 *
691 * CGGEVX
692 *
693 SRNAMT = 'CGGEVX'
694 INFOT = 1
695 CALL CGGEVX( '/', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
696 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
697 $ RW, IW, BW, INFO )
698 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
699 INFOT = 2
700 CALL CGGEVX( 'N', '/', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
701 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
702 $ RW, IW, BW, INFO )
703 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
704 INFOT = 3
705 CALL CGGEVX( 'N', 'N', '/', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
706 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
707 $ RW, IW, BW, INFO )
708 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
709 INFOT = 4
710 CALL CGGEVX( 'N', 'N', 'N', '/', 1, A, 1, B, 1, ALPHA, BETA, Q,
711 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
712 $ RW, IW, BW, INFO )
713 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
714 INFOT = 5
715 CALL CGGEVX( 'N', 'N', 'N', 'N', -1, A, 1, B, 1, ALPHA, BETA,
716 $ Q, 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W,
717 $ 1, RW, IW, BW, INFO )
718 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
719 INFOT = 7
720 CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 0, B, 1, ALPHA, BETA, Q,
721 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
722 $ RW, IW, BW, INFO )
723 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
724 INFOT = 9
725 CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 0, ALPHA, BETA, Q,
726 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
727 $ RW, IW, BW, INFO )
728 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
729 INFOT = 13
730 CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
731 $ 0, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
732 $ RW, IW, BW, INFO )
733 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
734 INFOT = 13
735 CALL CGGEVX( 'N', 'V', 'N', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
736 $ 1, U, 2, 1, 2, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
737 $ RW, IW, BW, INFO )
738 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
739 INFOT = 15
740 CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
741 $ 1, U, 0, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
742 $ RW, IW, BW, INFO )
743 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
744 INFOT = 15
745 CALL CGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
746 $ 2, U, 1, 1, 2, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
747 $ RW, IW, BW, INFO )
748 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
749 INFOT = 25
750 CALL CGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
751 $ 2, U, 2, 1, 2, LS, RS, ANRM, BNRM, RCE, RCV, W, 0,
752 $ RW, IW, BW, INFO )
753 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
754 NT = NT + 12
755 *
756 * CTGEXC
757 *
758 SRNAMT = 'CTGEXC'
759 INFOT = 3
760 CALL CTGEXC( .TRUE., .TRUE., -1, A, 1, B, 1, Q, 1, Z, 1, IFST,
761 $ ILST, INFO )
762 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
763 INFOT = 5
764 CALL CTGEXC( .TRUE., .TRUE., 1, A, 0, B, 1, Q, 1, Z, 1, IFST,
765 $ ILST, INFO )
766 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
767 INFOT = 7
768 CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 0, Q, 1, Z, 1, IFST,
769 $ ILST, INFO )
770 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
771 INFOT = 9
772 CALL CTGEXC( .FALSE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST,
773 $ ILST, INFO )
774 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
775 INFOT = 9
776 CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST,
777 $ ILST, INFO )
778 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
779 INFOT = 11
780 CALL CTGEXC( .TRUE., .FALSE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST,
781 $ ILST, INFO )
782 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
783 INFOT = 11
784 CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST,
785 $ ILST, INFO )
786 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
787 NT = NT + 7
788 *
789 * CTGSEN
790 *
791 SRNAMT = 'CTGSEN'
792 INFOT = 1
793 CALL CTGSEN( -1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
794 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
795 $ INFO )
796 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
797 INFOT = 5
798 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, -1, A, 1, B, 1, ALPHA,
799 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
800 $ INFO )
801 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
802 INFOT = 7
803 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 0, B, 1, ALPHA,
804 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
805 $ INFO )
806 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
807 INFOT = 9
808 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 0, ALPHA,
809 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
810 $ INFO )
811 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
812 INFOT = 13
813 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
814 $ BETA, Q, 0, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
815 $ INFO )
816 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
817 INFOT = 15
818 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
819 $ BETA, Q, 1, Z, 0, M, TOLA, TOLB, RCV, W, 1, IW, 1,
820 $ INFO )
821 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
822 INFOT = 21
823 CALL CTGSEN( 3, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
824 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, -5, IW,
825 $ 1, INFO )
826 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
827 INFOT = 23
828 CALL CTGSEN( 0, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
829 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
830 $ 0, INFO )
831 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
832 INFOT = 23
833 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
834 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
835 $ 0, INFO )
836 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
837 INFOT = 23
838 CALL CTGSEN( 5, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
839 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
840 $ 1, INFO )
841 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
842 NT = NT + 11
843 *
844 * CTGSNA
845 *
846 SRNAMT = 'CTGSNA'
847 INFOT = 1
848 CALL CTGSNA( '/', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
849 $ 1, M, W, 1, IW, INFO )
850 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
851 INFOT = 2
852 CALL CTGSNA( 'B', '/', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
853 $ 1, M, W, 1, IW, INFO )
854 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
855 INFOT = 4
856 CALL CTGSNA( 'B', 'A', SEL, -1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
857 $ 1, M, W, 1, IW, INFO )
858 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
859 INFOT = 6
860 CALL CTGSNA( 'B', 'A', SEL, 1, A, 0, B, 1, Q, 1, U, 1, R1, R2,
861 $ 1, M, W, 1, IW, INFO )
862 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
863 INFOT = 8
864 CALL CTGSNA( 'B', 'A', SEL, 1, A, 1, B, 0, Q, 1, U, 1, R1, R2,
865 $ 1, M, W, 1, IW, INFO )
866 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
867 INFOT = 10
868 CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 0, U, 1, R1, R2,
869 $ 1, M, W, 1, IW, INFO )
870 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
871 INFOT = 12
872 CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 0, R1, R2,
873 $ 1, M, W, 1, IW, INFO )
874 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
875 INFOT = 15
876 CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
877 $ 0, M, W, 1, IW, INFO )
878 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
879 INFOT = 18
880 CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
881 $ 1, M, W, 0, IW, INFO )
882 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
883 NT = NT + 9
884 *
885 * CTGSYL
886 *
887 SRNAMT = 'CTGSYL'
888 INFOT = 1
889 CALL CTGSYL( '/', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
890 $ SCALE, DIF, W, 1, IW, INFO )
891 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
892 INFOT = 2
893 CALL CTGSYL( 'N', -1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
894 $ SCALE, DIF, W, 1, IW, INFO )
895 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
896 INFOT = 3
897 CALL CTGSYL( 'N', 0, 0, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
898 $ SCALE, DIF, W, 1, IW, INFO )
899 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
900 INFOT = 4
901 CALL CTGSYL( 'N', 0, 1, 0, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
902 $ SCALE, DIF, W, 1, IW, INFO )
903 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
904 INFOT = 6
905 CALL CTGSYL( 'N', 0, 1, 1, A, 0, B, 1, Q, 1, U, 1, V, 1, Z, 1,
906 $ SCALE, DIF, W, 1, IW, INFO )
907 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
908 INFOT = 8
909 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 0, Q, 1, U, 1, V, 1, Z, 1,
910 $ SCALE, DIF, W, 1, IW, INFO )
911 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
912 INFOT = 10
913 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 0, U, 1, V, 1, Z, 1,
914 $ SCALE, DIF, W, 1, IW, INFO )
915 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
916 INFOT = 12
917 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 0, V, 1, Z, 1,
918 $ SCALE, DIF, W, 1, IW, INFO )
919 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
920 INFOT = 14
921 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 0, Z, 1,
922 $ SCALE, DIF, W, 1, IW, INFO )
923 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
924 INFOT = 16
925 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 0,
926 $ SCALE, DIF, W, 1, IW, INFO )
927 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
928 INFOT = 20
929 CALL CTGSYL( 'N', 1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
930 $ SCALE, DIF, W, 1, IW, INFO )
931 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
932 INFOT = 20
933 CALL CTGSYL( 'N', 2, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
934 $ SCALE, DIF, W, 1, IW, INFO )
935 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
936 NT = NT + 12
937 END IF
938 *
939 * Print a summary line.
940 *
941 IF( OK ) THEN
942 WRITE( NOUT, FMT = 9999 )PATH, NT
943 ELSE
944 WRITE( NOUT, FMT = 9998 )PATH
945 END IF
946 *
947 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits (',
948 $ I3, ' tests done)' )
949 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
950 $ 'exits ***' )
951 *
952 RETURN
953 *
954 * End of CERRGG
955 *
956 END
2 *
3 * -- LAPACK test routine (version 3.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
6 *
7 * .. Scalar Arguments ..
8 CHARACTER*3 PATH
9 INTEGER NUNIT
10 * ..
11 *
12 * Purpose
13 * =======
14 *
15 * CERRGG tests the error exits for CGGES, CGGESX, CGGEV, CGGEVX,
16 * CGGGLM, CGGHRD, CGGLSE, CGGQRF, CGGRQF, CGGSVD, CGGSVP, CHGEQZ,
17 * CTGEVC, CTGEXC, CTGSEN, CTGSJA, CTGSNA, and CTGSYL.
18 *
19 * Arguments
20 * =========
21 *
22 * PATH (input) CHARACTER*3
23 * The LAPACK path name for the routines to be tested.
24 *
25 * NUNIT (input) INTEGER
26 * The unit number for output.
27 *
28 * =====================================================================
29 *
30 * .. Parameters ..
31 INTEGER NMAX, LW
32 PARAMETER ( NMAX = 3, LW = 6*NMAX )
33 REAL ONE, ZERO
34 PARAMETER ( ONE = 1.0E+0, ZERO = 0.0E+0 )
35 * ..
36 * .. Local Scalars ..
37 CHARACTER*2 C2
38 INTEGER DUMMYK, DUMMYL, I, IFST, ILST, INFO, J, M,
39 $ NCYCLE, NT, SDIM
40 REAL ANRM, BNRM, DIF, SCALE, TOLA, TOLB
41 * ..
42 * .. Local Arrays ..
43 LOGICAL BW( NMAX ), SEL( NMAX )
44 INTEGER IW( LW )
45 REAL LS( NMAX ), R1( NMAX ), R2( NMAX ),
46 $ RCE( NMAX ), RCV( NMAX ), RS( NMAX ), RW( LW )
47 COMPLEX A( NMAX, NMAX ), ALPHA( NMAX ),
48 $ B( NMAX, NMAX ), BETA( NMAX ), Q( NMAX, NMAX ),
49 $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
50 $ W( LW ), Z( NMAX, NMAX )
51 * ..
52 * .. External Functions ..
53 LOGICAL CLCTES, CLCTSX, LSAMEN
54 EXTERNAL CLCTES, CLCTSX, LSAMEN
55 * ..
56 * .. External Subroutines ..
57 EXTERNAL CGGES, CGGESX, CGGEV, CGGEVX, CGGGLM, CGGHRD,
58 $ CGGLSE, CGGQRF, CGGRQF, CGGSVD, CGGSVP, CHGEQZ,
59 $ CHKXER, CTGEVC, CTGEXC, CTGSEN, CTGSJA, CTGSNA,
60 $ CTGSYL
61 * ..
62 * .. Scalars in Common ..
63 LOGICAL LERR, OK
64 CHARACTER*32 SRNAMT
65 INTEGER INFOT, NOUT
66 * ..
67 * .. Common blocks ..
68 COMMON / INFOC / INFOT, NOUT, OK, LERR
69 COMMON / SRNAMC / SRNAMT
70 * ..
71 * .. Executable Statements ..
72 *
73 NOUT = NUNIT
74 WRITE( NOUT, FMT = * )
75 C2 = PATH( 2: 3 )
76 *
77 * Set the variables to innocuous values.
78 *
79 DO 20 J = 1, NMAX
80 SEL( J ) = .TRUE.
81 DO 10 I = 1, NMAX
82 A( I, J ) = ZERO
83 B( I, J ) = ZERO
84 10 CONTINUE
85 20 CONTINUE
86 DO 30 I = 1, NMAX
87 A( I, I ) = ONE
88 B( I, I ) = ONE
89 30 CONTINUE
90 OK = .TRUE.
91 TOLA = 1.0E0
92 TOLB = 1.0E0
93 IFST = 1
94 ILST = 1
95 NT = 0
96 *
97 * Test error exits for the GG path.
98 *
99 IF( LSAMEN( 2, C2, 'GG' ) ) THEN
100 *
101 * CGGHRD
102 *
103 SRNAMT = 'CGGHRD'
104 INFOT = 1
105 CALL CGGHRD( '/', 'N', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
106 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
107 INFOT = 2
108 CALL CGGHRD( 'N', '/', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
109 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
110 INFOT = 3
111 CALL CGGHRD( 'N', 'N', -1, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
112 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
113 INFOT = 4
114 CALL CGGHRD( 'N', 'N', 0, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
115 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
116 INFOT = 5
117 CALL CGGHRD( 'N', 'N', 0, 1, 1, A, 1, B, 1, Q, 1, Z, 1, INFO )
118 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
119 INFOT = 7
120 CALL CGGHRD( 'N', 'N', 2, 1, 1, A, 1, B, 2, Q, 1, Z, 1, INFO )
121 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
122 INFOT = 9
123 CALL CGGHRD( 'N', 'N', 2, 1, 1, A, 2, B, 1, Q, 1, Z, 1, INFO )
124 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
125 INFOT = 11
126 CALL CGGHRD( 'V', 'N', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
127 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
128 INFOT = 13
129 CALL CGGHRD( 'N', 'V', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
130 CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
131 NT = NT + 9
132 *
133 * CHGEQZ
134 *
135 SRNAMT = 'CHGEQZ'
136 INFOT = 1
137 CALL CHGEQZ( '/', 'N', 'N', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
138 $ Q, 1, Z, 1, W, 1, RW, INFO )
139 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
140 INFOT = 2
141 CALL CHGEQZ( 'E', '/', 'N', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
142 $ Q, 1, Z, 1, W, 1, RW, INFO )
143 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
144 INFOT = 3
145 CALL CHGEQZ( 'E', 'N', '/', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
146 $ Q, 1, Z, 1, W, 1, RW, INFO )
147 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
148 INFOT = 4
149 CALL CHGEQZ( 'E', 'N', 'N', -1, 0, 0, A, 1, B, 1, ALPHA, BETA,
150 $ Q, 1, Z, 1, W, 1, RW, INFO )
151 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
152 INFOT = 5
153 CALL CHGEQZ( 'E', 'N', 'N', 0, 0, 0, A, 1, B, 1, ALPHA, BETA,
154 $ Q, 1, Z, 1, W, 1, RW, INFO )
155 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
156 INFOT = 6
157 CALL CHGEQZ( 'E', 'N', 'N', 0, 1, 1, A, 1, B, 1, ALPHA, BETA,
158 $ Q, 1, Z, 1, W, 1, RW, INFO )
159 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
160 INFOT = 8
161 CALL CHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 1, B, 2, ALPHA, BETA,
162 $ Q, 1, Z, 1, W, 1, RW, INFO )
163 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
164 INFOT = 10
165 CALL CHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 2, B, 1, ALPHA, BETA,
166 $ Q, 1, Z, 1, W, 1, RW, INFO )
167 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
168 INFOT = 14
169 CALL CHGEQZ( 'E', 'V', 'N', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
170 $ Q, 1, Z, 1, W, 1, RW, INFO )
171 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
172 INFOT = 16
173 CALL CHGEQZ( 'E', 'N', 'V', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
174 $ Q, 1, Z, 1, W, 1, RW, INFO )
175 CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
176 NT = NT + 10
177 *
178 * CTGEVC
179 *
180 SRNAMT = 'CTGEVC'
181 INFOT = 1
182 CALL CTGEVC( '/', 'A', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
183 $ RW, INFO )
184 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
185 INFOT = 2
186 CALL CTGEVC( 'R', '/', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
187 $ RW, INFO )
188 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
189 INFOT = 4
190 CALL CTGEVC( 'R', 'A', SEL, -1, A, 1, B, 1, Q, 1, Z, 1, 0, M,
191 $ W, RW, INFO )
192 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
193 INFOT = 6
194 CALL CTGEVC( 'R', 'A', SEL, 2, A, 1, B, 2, Q, 1, Z, 2, 0, M, W,
195 $ RW, INFO )
196 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
197 INFOT = 8
198 CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 1, Q, 1, Z, 2, 0, M, W,
199 $ RW, INFO )
200 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
201 INFOT = 10
202 CALL CTGEVC( 'L', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
203 $ RW, INFO )
204 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
205 INFOT = 12
206 CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
207 $ RW, INFO )
208 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
209 INFOT = 13
210 CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 2, 1, M, W,
211 $ RW, INFO )
212 CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
213 NT = NT + 8
214 *
215 * Test error exits for the GSV path.
216 *
217 ELSE IF( LSAMEN( 3, PATH, 'GSV' ) ) THEN
218 *
219 * CGGSVD
220 *
221 SRNAMT = 'CGGSVD'
222 INFOT = 1
223 CALL CGGSVD( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
224 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
225 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
226 INFOT = 2
227 CALL CGGSVD( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
228 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
229 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
230 INFOT = 3
231 CALL CGGSVD( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
232 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
233 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
234 INFOT = 4
235 CALL CGGSVD( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B,
236 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
237 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
238 INFOT = 5
239 CALL CGGSVD( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B,
240 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
241 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
242 INFOT = 6
243 CALL CGGSVD( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B,
244 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
245 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
246 INFOT = 10
247 CALL CGGSVD( 'N', 'N', 'N', 2, 1, 1, DUMMYK, DUMMYL, A, 1, B,
248 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
249 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
250 INFOT = 12
251 CALL CGGSVD( 'N', 'N', 'N', 1, 1, 2, DUMMYK, DUMMYL, A, 1, B,
252 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
253 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
254 INFOT = 16
255 CALL CGGSVD( 'U', 'N', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
256 $ 2, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
257 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
258 INFOT = 18
259 CALL CGGSVD( 'N', 'V', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
260 $ 2, R1, R2, U, 2, V, 1, Q, 1, W, RW, IW, INFO )
261 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
262 INFOT = 20
263 CALL CGGSVD( 'N', 'N', 'Q', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
264 $ 2, R1, R2, U, 2, V, 2, Q, 1, W, RW, IW, INFO )
265 CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
266 NT = NT + 11
267 *
268 * CGGSVP
269 *
270 SRNAMT = 'CGGSVP'
271 INFOT = 1
272 CALL CGGSVP( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
273 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
274 $ INFO )
275 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
276 INFOT = 2
277 CALL CGGSVP( 'N', '/', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
278 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
279 $ INFO )
280 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
281 INFOT = 3
282 CALL CGGSVP( 'N', 'N', '/', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
283 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
284 $ INFO )
285 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
286 INFOT = 4
287 CALL CGGSVP( 'N', 'N', 'N', -1, 0, 0, A, 1, B, 1, TOLA, TOLB,
288 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
289 $ INFO )
290 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
291 INFOT = 5
292 CALL CGGSVP( 'N', 'N', 'N', 0, -1, 0, A, 1, B, 1, TOLA, TOLB,
293 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
294 $ INFO )
295 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
296 INFOT = 6
297 CALL CGGSVP( 'N', 'N', 'N', 0, 0, -1, A, 1, B, 1, TOLA, TOLB,
298 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
299 $ INFO )
300 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
301 INFOT = 8
302 CALL CGGSVP( 'N', 'N', 'N', 2, 1, 1, A, 1, B, 1, TOLA, TOLB,
303 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
304 $ INFO )
305 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
306 INFOT = 10
307 CALL CGGSVP( 'N', 'N', 'N', 1, 2, 1, A, 1, B, 1, TOLA, TOLB,
308 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
309 $ INFO )
310 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
311 INFOT = 16
312 CALL CGGSVP( 'U', 'N', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
313 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
314 $ INFO )
315 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
316 INFOT = 18
317 CALL CGGSVP( 'N', 'V', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
318 $ DUMMYK, DUMMYL, U, 2, V, 1, Q, 1, IW, RW, TAU, W,
319 $ INFO )
320 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
321 INFOT = 20
322 CALL CGGSVP( 'N', 'N', 'Q', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
323 $ DUMMYK, DUMMYL, U, 2, V, 2, Q, 1, IW, RW, TAU, W,
324 $ INFO )
325 CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
326 NT = NT + 11
327 *
328 * CTGSJA
329 *
330 SRNAMT = 'CTGSJA'
331 INFOT = 1
332 CALL CTGSJA( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
333 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
334 $ NCYCLE, INFO )
335 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
336 INFOT = 2
337 CALL CTGSJA( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
338 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
339 $ NCYCLE, INFO )
340 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
341 INFOT = 3
342 CALL CTGSJA( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
343 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
344 $ NCYCLE, INFO )
345 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
346 INFOT = 4
347 CALL CTGSJA( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B,
348 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
349 $ NCYCLE, INFO )
350 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
351 INFOT = 5
352 CALL CTGSJA( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B,
353 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
354 $ NCYCLE, INFO )
355 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
356 INFOT = 6
357 CALL CTGSJA( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B,
358 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
359 $ NCYCLE, INFO )
360 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
361 INFOT = 10
362 CALL CTGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 0, B,
363 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
364 $ NCYCLE, INFO )
365 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
366 INFOT = 12
367 CALL CTGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
368 $ 0, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
369 $ NCYCLE, INFO )
370 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
371 INFOT = 18
372 CALL CTGSJA( 'U', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
373 $ 1, TOLA, TOLB, R1, R2, U, 0, V, 1, Q, 1, W,
374 $ NCYCLE, INFO )
375 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
376 INFOT = 20
377 CALL CTGSJA( 'N', 'V', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
378 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 0, Q, 1, W,
379 $ NCYCLE, INFO )
380 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
381 INFOT = 22
382 CALL CTGSJA( 'N', 'N', 'Q', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
383 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 0, W,
384 $ NCYCLE, INFO )
385 CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
386 NT = NT + 11
387 *
388 * Test error exits for the GLM path.
389 *
390 ELSE IF( LSAMEN( 3, PATH, 'GLM' ) ) THEN
391 *
392 * CGGGLM
393 *
394 SRNAMT = 'CGGGLM'
395 INFOT = 1
396 CALL CGGGLM( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
397 $ INFO )
398 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
399 INFOT = 2
400 CALL CGGGLM( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
401 $ INFO )
402 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
403 INFOT = 2
404 CALL CGGGLM( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
405 $ INFO )
406 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
407 INFOT = 3
408 CALL CGGGLM( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
409 $ INFO )
410 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
411 INFOT = 3
412 CALL CGGGLM( 1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
413 $ INFO )
414 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
415 INFOT = 5
416 CALL CGGGLM( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
417 $ INFO )
418 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
419 INFOT = 7
420 CALL CGGGLM( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
421 $ INFO )
422 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
423 INFOT = 12
424 CALL CGGGLM( 1, 1, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, 1,
425 $ INFO )
426 CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
427 NT = NT + 8
428 *
429 * Test error exits for the LSE path.
430 *
431 ELSE IF( LSAMEN( 3, PATH, 'LSE' ) ) THEN
432 *
433 * CGGLSE
434 *
435 SRNAMT = 'CGGLSE'
436 INFOT = 1
437 CALL CGGLSE( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
438 $ INFO )
439 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
440 INFOT = 2
441 CALL CGGLSE( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
442 $ INFO )
443 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
444 INFOT = 3
445 CALL CGGLSE( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
446 $ INFO )
447 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
448 INFOT = 3
449 CALL CGGLSE( 0, 0, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
450 $ INFO )
451 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
452 INFOT = 3
453 CALL CGGLSE( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
454 $ INFO )
455 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
456 INFOT = 5
457 CALL CGGLSE( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
458 $ INFO )
459 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
460 INFOT = 7
461 CALL CGGLSE( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
462 $ INFO )
463 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
464 INFOT = 12
465 CALL CGGLSE( 1, 1, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, 1,
466 $ INFO )
467 CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
468 NT = NT + 8
469 *
470 * Test error exits for the GQR path.
471 *
472 ELSE IF( LSAMEN( 3, PATH, 'GQR' ) ) THEN
473 *
474 * CGGQRF
475 *
476 SRNAMT = 'CGGQRF'
477 INFOT = 1
478 CALL CGGQRF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
479 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
480 INFOT = 2
481 CALL CGGQRF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
482 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
483 INFOT = 3
484 CALL CGGQRF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
485 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
486 INFOT = 5
487 CALL CGGQRF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
488 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
489 INFOT = 8
490 CALL CGGQRF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
491 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
492 INFOT = 11
493 CALL CGGQRF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
494 CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
495 NT = NT + 6
496 *
497 * CGGRQF
498 *
499 SRNAMT = 'CGGRQF'
500 INFOT = 1
501 CALL CGGRQF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
502 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
503 INFOT = 2
504 CALL CGGRQF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
505 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
506 INFOT = 3
507 CALL CGGRQF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
508 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
509 INFOT = 5
510 CALL CGGRQF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
511 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
512 INFOT = 8
513 CALL CGGRQF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
514 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
515 INFOT = 11
516 CALL CGGRQF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
517 CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
518 NT = NT + 6
519 *
520 * Test error exits for the CGS, CGV, CGX, and CXV paths.
521 *
522 ELSE IF( LSAMEN( 3, PATH, 'CGS' ) .OR.
523 $ LSAMEN( 3, PATH, 'CGV' ) .OR.
524 $ LSAMEN( 3, PATH, 'CGX' ) .OR. LSAMEN( 3, PATH, 'CXV' ) )
525 $ THEN
526 *
527 * CGGES
528 *
529 SRNAMT = 'CGGES '
530 INFOT = 1
531 CALL CGGES( '/', 'N', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
532 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
533 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
534 INFOT = 2
535 CALL CGGES( 'N', '/', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
536 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
537 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
538 INFOT = 3
539 CALL CGGES( 'N', 'V', '/', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
540 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
541 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
542 INFOT = 5
543 CALL CGGES( 'N', 'V', 'S', CLCTES, -1, A, 1, B, 1, SDIM, ALPHA,
544 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
545 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
546 INFOT = 7
547 CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 0, B, 1, SDIM, ALPHA,
548 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
549 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
550 INFOT = 9
551 CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 0, SDIM, ALPHA,
552 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
553 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
554 INFOT = 14
555 CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
556 $ BETA, Q, 0, U, 1, W, 1, RW, BW, INFO )
557 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
558 INFOT = 14
559 CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
560 $ BETA, Q, 1, U, 2, W, 1, RW, BW, INFO )
561 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
562 INFOT = 16
563 CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
564 $ BETA, Q, 1, U, 0, W, 1, RW, BW, INFO )
565 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
566 INFOT = 16
567 CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
568 $ BETA, Q, 2, U, 1, W, 1, RW, BW, INFO )
569 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
570 INFOT = 18
571 CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
572 $ BETA, Q, 2, U, 2, W, 1, RW, BW, INFO )
573 CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
574 NT = NT + 11
575 *
576 * CGGESX
577 *
578 SRNAMT = 'CGGESX'
579 INFOT = 1
580 CALL CGGESX( '/', 'N', 'S', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
581 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
582 $ 1, BW, INFO )
583 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
584 INFOT = 2
585 CALL CGGESX( 'N', '/', 'S', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
586 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
587 $ 1, BW, INFO )
588 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
589 INFOT = 3
590 CALL CGGESX( 'V', 'V', '/', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
591 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
592 $ 1, BW, INFO )
593 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
594 INFOT = 5
595 CALL CGGESX( 'V', 'V', 'S', CLCTSX, '/', 1, A, 1, B, 1, SDIM,
596 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
597 $ 1, BW, INFO )
598 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
599 INFOT = 6
600 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', -1, A, 1, B, 1, SDIM,
601 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
602 $ 1, BW, INFO )
603 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
604 INFOT = 8
605 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 0, B, 1, SDIM,
606 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
607 $ 1, BW, INFO )
608 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
609 INFOT = 10
610 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 0, SDIM,
611 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
612 $ 1, BW, INFO )
613 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
614 INFOT = 15
615 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 1, SDIM,
616 $ ALPHA, BETA, Q, 0, U, 1, RCE, RCV, W, 1, RW, IW,
617 $ 1, BW, INFO )
618 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
619 INFOT = 15
620 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
621 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
622 $ 1, BW, INFO )
623 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
624 INFOT = 17
625 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 1, SDIM,
626 $ ALPHA, BETA, Q, 1, U, 0, RCE, RCV, W, 1, RW, IW,
627 $ 1, BW, INFO )
628 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
629 INFOT = 17
630 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
631 $ ALPHA, BETA, Q, 2, U, 1, RCE, RCV, W, 1, RW, IW,
632 $ 1, BW, INFO )
633 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
634 INFOT = 21
635 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
636 $ ALPHA, BETA, Q, 2, U, 2, RCE, RCV, W, 1, RW, IW,
637 $ 1, BW, INFO )
638 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
639 INFOT = 24
640 CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'V', 1, A, 1, B, 1, SDIM,
641 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 32, RW, IW,
642 $ 0, BW, INFO )
643 CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
644 NT = NT + 13
645 *
646 * CGGEV
647 *
648 SRNAMT = 'CGGEV '
649 INFOT = 1
650 CALL CGGEV( '/', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
651 $ W, 1, RW, INFO )
652 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
653 INFOT = 2
654 CALL CGGEV( 'N', '/', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
655 $ W, 1, RW, INFO )
656 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
657 INFOT = 3
658 CALL CGGEV( 'V', 'V', -1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
659 $ W, 1, RW, INFO )
660 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
661 INFOT = 5
662 CALL CGGEV( 'V', 'V', 1, A, 0, B, 1, ALPHA, BETA, Q, 1, U, 1,
663 $ W, 1, RW, INFO )
664 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
665 INFOT = 7
666 CALL CGGEV( 'V', 'V', 1, A, 1, B, 0, ALPHA, BETA, Q, 1, U, 1,
667 $ W, 1, RW, INFO )
668 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
669 INFOT = 11
670 CALL CGGEV( 'N', 'V', 1, A, 1, B, 1, ALPHA, BETA, Q, 0, U, 1,
671 $ W, 1, RW, INFO )
672 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
673 INFOT = 11
674 CALL CGGEV( 'V', 'V', 2, A, 2, B, 2, ALPHA, BETA, Q, 1, U, 2,
675 $ W, 1, RW, INFO )
676 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
677 INFOT = 13
678 CALL CGGEV( 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 0,
679 $ W, 1, RW, INFO )
680 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
681 INFOT = 13
682 CALL CGGEV( 'V', 'V', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 1,
683 $ W, 1, RW, INFO )
684 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
685 INFOT = 15
686 CALL CGGEV( 'V', 'V', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
687 $ W, 1, RW, INFO )
688 CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
689 NT = NT + 10
690 *
691 * CGGEVX
692 *
693 SRNAMT = 'CGGEVX'
694 INFOT = 1
695 CALL CGGEVX( '/', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
696 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
697 $ RW, IW, BW, INFO )
698 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
699 INFOT = 2
700 CALL CGGEVX( 'N', '/', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
701 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
702 $ RW, IW, BW, INFO )
703 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
704 INFOT = 3
705 CALL CGGEVX( 'N', 'N', '/', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
706 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
707 $ RW, IW, BW, INFO )
708 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
709 INFOT = 4
710 CALL CGGEVX( 'N', 'N', 'N', '/', 1, A, 1, B, 1, ALPHA, BETA, Q,
711 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
712 $ RW, IW, BW, INFO )
713 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
714 INFOT = 5
715 CALL CGGEVX( 'N', 'N', 'N', 'N', -1, A, 1, B, 1, ALPHA, BETA,
716 $ Q, 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W,
717 $ 1, RW, IW, BW, INFO )
718 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
719 INFOT = 7
720 CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 0, B, 1, ALPHA, BETA, Q,
721 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
722 $ RW, IW, BW, INFO )
723 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
724 INFOT = 9
725 CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 0, ALPHA, BETA, Q,
726 $ 1, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
727 $ RW, IW, BW, INFO )
728 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
729 INFOT = 13
730 CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
731 $ 0, U, 1, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
732 $ RW, IW, BW, INFO )
733 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
734 INFOT = 13
735 CALL CGGEVX( 'N', 'V', 'N', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
736 $ 1, U, 2, 1, 2, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
737 $ RW, IW, BW, INFO )
738 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
739 INFOT = 15
740 CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
741 $ 1, U, 0, 1, 1, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
742 $ RW, IW, BW, INFO )
743 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
744 INFOT = 15
745 CALL CGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
746 $ 2, U, 1, 1, 2, LS, RS, ANRM, BNRM, RCE, RCV, W, 1,
747 $ RW, IW, BW, INFO )
748 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
749 INFOT = 25
750 CALL CGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
751 $ 2, U, 2, 1, 2, LS, RS, ANRM, BNRM, RCE, RCV, W, 0,
752 $ RW, IW, BW, INFO )
753 CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
754 NT = NT + 12
755 *
756 * CTGEXC
757 *
758 SRNAMT = 'CTGEXC'
759 INFOT = 3
760 CALL CTGEXC( .TRUE., .TRUE., -1, A, 1, B, 1, Q, 1, Z, 1, IFST,
761 $ ILST, INFO )
762 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
763 INFOT = 5
764 CALL CTGEXC( .TRUE., .TRUE., 1, A, 0, B, 1, Q, 1, Z, 1, IFST,
765 $ ILST, INFO )
766 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
767 INFOT = 7
768 CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 0, Q, 1, Z, 1, IFST,
769 $ ILST, INFO )
770 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
771 INFOT = 9
772 CALL CTGEXC( .FALSE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST,
773 $ ILST, INFO )
774 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
775 INFOT = 9
776 CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST,
777 $ ILST, INFO )
778 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
779 INFOT = 11
780 CALL CTGEXC( .TRUE., .FALSE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST,
781 $ ILST, INFO )
782 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
783 INFOT = 11
784 CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST,
785 $ ILST, INFO )
786 CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
787 NT = NT + 7
788 *
789 * CTGSEN
790 *
791 SRNAMT = 'CTGSEN'
792 INFOT = 1
793 CALL CTGSEN( -1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
794 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
795 $ INFO )
796 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
797 INFOT = 5
798 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, -1, A, 1, B, 1, ALPHA,
799 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
800 $ INFO )
801 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
802 INFOT = 7
803 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 0, B, 1, ALPHA,
804 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
805 $ INFO )
806 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
807 INFOT = 9
808 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 0, ALPHA,
809 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
810 $ INFO )
811 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
812 INFOT = 13
813 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
814 $ BETA, Q, 0, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
815 $ INFO )
816 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
817 INFOT = 15
818 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
819 $ BETA, Q, 1, Z, 0, M, TOLA, TOLB, RCV, W, 1, IW, 1,
820 $ INFO )
821 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
822 INFOT = 21
823 CALL CTGSEN( 3, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
824 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, -5, IW,
825 $ 1, INFO )
826 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
827 INFOT = 23
828 CALL CTGSEN( 0, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
829 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
830 $ 0, INFO )
831 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
832 INFOT = 23
833 CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
834 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
835 $ 0, INFO )
836 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
837 INFOT = 23
838 CALL CTGSEN( 5, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
839 $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
840 $ 1, INFO )
841 CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
842 NT = NT + 11
843 *
844 * CTGSNA
845 *
846 SRNAMT = 'CTGSNA'
847 INFOT = 1
848 CALL CTGSNA( '/', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
849 $ 1, M, W, 1, IW, INFO )
850 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
851 INFOT = 2
852 CALL CTGSNA( 'B', '/', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
853 $ 1, M, W, 1, IW, INFO )
854 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
855 INFOT = 4
856 CALL CTGSNA( 'B', 'A', SEL, -1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
857 $ 1, M, W, 1, IW, INFO )
858 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
859 INFOT = 6
860 CALL CTGSNA( 'B', 'A', SEL, 1, A, 0, B, 1, Q, 1, U, 1, R1, R2,
861 $ 1, M, W, 1, IW, INFO )
862 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
863 INFOT = 8
864 CALL CTGSNA( 'B', 'A', SEL, 1, A, 1, B, 0, Q, 1, U, 1, R1, R2,
865 $ 1, M, W, 1, IW, INFO )
866 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
867 INFOT = 10
868 CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 0, U, 1, R1, R2,
869 $ 1, M, W, 1, IW, INFO )
870 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
871 INFOT = 12
872 CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 0, R1, R2,
873 $ 1, M, W, 1, IW, INFO )
874 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
875 INFOT = 15
876 CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
877 $ 0, M, W, 1, IW, INFO )
878 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
879 INFOT = 18
880 CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
881 $ 1, M, W, 0, IW, INFO )
882 CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
883 NT = NT + 9
884 *
885 * CTGSYL
886 *
887 SRNAMT = 'CTGSYL'
888 INFOT = 1
889 CALL CTGSYL( '/', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
890 $ SCALE, DIF, W, 1, IW, INFO )
891 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
892 INFOT = 2
893 CALL CTGSYL( 'N', -1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
894 $ SCALE, DIF, W, 1, IW, INFO )
895 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
896 INFOT = 3
897 CALL CTGSYL( 'N', 0, 0, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
898 $ SCALE, DIF, W, 1, IW, INFO )
899 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
900 INFOT = 4
901 CALL CTGSYL( 'N', 0, 1, 0, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
902 $ SCALE, DIF, W, 1, IW, INFO )
903 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
904 INFOT = 6
905 CALL CTGSYL( 'N', 0, 1, 1, A, 0, B, 1, Q, 1, U, 1, V, 1, Z, 1,
906 $ SCALE, DIF, W, 1, IW, INFO )
907 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
908 INFOT = 8
909 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 0, Q, 1, U, 1, V, 1, Z, 1,
910 $ SCALE, DIF, W, 1, IW, INFO )
911 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
912 INFOT = 10
913 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 0, U, 1, V, 1, Z, 1,
914 $ SCALE, DIF, W, 1, IW, INFO )
915 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
916 INFOT = 12
917 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 0, V, 1, Z, 1,
918 $ SCALE, DIF, W, 1, IW, INFO )
919 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
920 INFOT = 14
921 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 0, Z, 1,
922 $ SCALE, DIF, W, 1, IW, INFO )
923 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
924 INFOT = 16
925 CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 0,
926 $ SCALE, DIF, W, 1, IW, INFO )
927 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
928 INFOT = 20
929 CALL CTGSYL( 'N', 1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
930 $ SCALE, DIF, W, 1, IW, INFO )
931 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
932 INFOT = 20
933 CALL CTGSYL( 'N', 2, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
934 $ SCALE, DIF, W, 1, IW, INFO )
935 CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
936 NT = NT + 12
937 END IF
938 *
939 * Print a summary line.
940 *
941 IF( OK ) THEN
942 WRITE( NOUT, FMT = 9999 )PATH, NT
943 ELSE
944 WRITE( NOUT, FMT = 9998 )PATH
945 END IF
946 *
947 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits (',
948 $ I3, ' tests done)' )
949 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
950 $ 'exits ***' )
951 *
952 RETURN
953 *
954 * End of CERRGG
955 *
956 END