1 SUBROUTINE ZERRTR( 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 * ZERRTR tests the error exits for the COMPLEX*16 triangular routines.
16 *
17 * Arguments
18 * =========
19 *
20 * PATH (input) CHARACTER*3
21 * The LAPACK path name for the routines to be tested.
22 *
23 * NUNIT (input) INTEGER
24 * The unit number for output.
25 *
26 * =====================================================================
27 *
28 * .. Parameters ..
29 INTEGER NMAX
30 PARAMETER ( NMAX = 2 )
31 * ..
32 * .. Local Scalars ..
33 CHARACTER*2 C2
34 INTEGER INFO
35 DOUBLE PRECISION RCOND, SCALE
36 * ..
37 * .. Local Arrays ..
38 DOUBLE PRECISION R1( NMAX ), R2( NMAX ), RW( NMAX )
39 COMPLEX*16 A( NMAX, NMAX ), B( NMAX ), W( NMAX ),
40 $ X( NMAX )
41 * ..
42 * .. External Functions ..
43 LOGICAL LSAMEN
44 EXTERNAL LSAMEN
45 * ..
46 * .. External Subroutines ..
47 EXTERNAL ALAESM, CHKXER, ZLATBS, ZLATPS, ZLATRS, ZTBCON,
48 $ ZTBRFS, ZTBTRS, ZTPCON, ZTPRFS, ZTPTRI, ZTPTRS,
49 $ ZTRCON, ZTRRFS, ZTRTI2, ZTRTRI, ZTRTRS
50 * ..
51 * .. Scalars in Common ..
52 LOGICAL LERR, OK
53 CHARACTER*32 SRNAMT
54 INTEGER INFOT, NOUT
55 * ..
56 * .. Common blocks ..
57 COMMON / INFOC / INFOT, NOUT, OK, LERR
58 COMMON / SRNAMC / SRNAMT
59 * ..
60 * .. Executable Statements ..
61 *
62 NOUT = NUNIT
63 WRITE( NOUT, FMT = * )
64 C2 = PATH( 2: 3 )
65 A( 1, 1 ) = 1.D0
66 A( 1, 2 ) = 2.D0
67 A( 2, 2 ) = 3.D0
68 A( 2, 1 ) = 4.D0
69 OK = .TRUE.
70 *
71 * Test error exits for the general triangular routines.
72 *
73 IF( LSAMEN( 2, C2, 'TR' ) ) THEN
74 *
75 * ZTRTRI
76 *
77 SRNAMT = 'ZTRTRI'
78 INFOT = 1
79 CALL ZTRTRI( '/', 'N', 0, A, 1, INFO )
80 CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
81 INFOT = 2
82 CALL ZTRTRI( 'U', '/', 0, A, 1, INFO )
83 CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
84 INFOT = 3
85 CALL ZTRTRI( 'U', 'N', -1, A, 1, INFO )
86 CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
87 INFOT = 5
88 CALL ZTRTRI( 'U', 'N', 2, A, 1, INFO )
89 CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
90 *
91 * ZTRTI2
92 *
93 SRNAMT = 'ZTRTI2'
94 INFOT = 1
95 CALL ZTRTI2( '/', 'N', 0, A, 1, INFO )
96 CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
97 INFOT = 2
98 CALL ZTRTI2( 'U', '/', 0, A, 1, INFO )
99 CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
100 INFOT = 3
101 CALL ZTRTI2( 'U', 'N', -1, A, 1, INFO )
102 CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
103 INFOT = 5
104 CALL ZTRTI2( 'U', 'N', 2, A, 1, INFO )
105 CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
106 *
107 *
108 * ZTRTRS
109 *
110 SRNAMT = 'ZTRTRS'
111 INFOT = 1
112 CALL ZTRTRS( '/', 'N', 'N', 0, 0, A, 1, X, 1, INFO )
113 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
114 INFOT = 2
115 CALL ZTRTRS( 'U', '/', 'N', 0, 0, A, 1, X, 1, INFO )
116 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
117 INFOT = 3
118 CALL ZTRTRS( 'U', 'N', '/', 0, 0, A, 1, X, 1, INFO )
119 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
120 INFOT = 4
121 CALL ZTRTRS( 'U', 'N', 'N', -1, 0, A, 1, X, 1, INFO )
122 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
123 INFOT = 5
124 CALL ZTRTRS( 'U', 'N', 'N', 0, -1, A, 1, X, 1, INFO )
125 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
126 INFOT = 7
127 *
128 * ZTRRFS
129 *
130 SRNAMT = 'ZTRRFS'
131 INFOT = 1
132 CALL ZTRRFS( '/', 'N', 'N', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
133 $ RW, INFO )
134 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
135 INFOT = 2
136 CALL ZTRRFS( 'U', '/', 'N', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
137 $ RW, INFO )
138 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
139 INFOT = 3
140 CALL ZTRRFS( 'U', 'N', '/', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
141 $ RW, INFO )
142 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
143 INFOT = 4
144 CALL ZTRRFS( 'U', 'N', 'N', -1, 0, A, 1, B, 1, X, 1, R1, R2, W,
145 $ RW, INFO )
146 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
147 INFOT = 5
148 CALL ZTRRFS( 'U', 'N', 'N', 0, -1, A, 1, B, 1, X, 1, R1, R2, W,
149 $ RW, INFO )
150 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
151 INFOT = 7
152 CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 1, B, 2, X, 2, R1, R2, W,
153 $ RW, INFO )
154 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
155 INFOT = 9
156 CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 2, B, 1, X, 2, R1, R2, W,
157 $ RW, INFO )
158 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
159 INFOT = 11
160 CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 2, B, 2, X, 1, R1, R2, W,
161 $ RW, INFO )
162 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
163 *
164 * ZTRCON
165 *
166 SRNAMT = 'ZTRCON'
167 INFOT = 1
168 CALL ZTRCON( '/', 'U', 'N', 0, A, 1, RCOND, W, RW, INFO )
169 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
170 INFOT = 2
171 CALL ZTRCON( '1', '/', 'N', 0, A, 1, RCOND, W, RW, INFO )
172 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
173 INFOT = 3
174 CALL ZTRCON( '1', 'U', '/', 0, A, 1, RCOND, W, RW, INFO )
175 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
176 INFOT = 4
177 CALL ZTRCON( '1', 'U', 'N', -1, A, 1, RCOND, W, RW, INFO )
178 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
179 INFOT = 6
180 CALL ZTRCON( '1', 'U', 'N', 2, A, 1, RCOND, W, RW, INFO )
181 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
182 *
183 * ZLATRS
184 *
185 SRNAMT = 'ZLATRS'
186 INFOT = 1
187 CALL ZLATRS( '/', 'N', 'N', 'N', 0, A, 1, X, SCALE, RW, INFO )
188 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
189 INFOT = 2
190 CALL ZLATRS( 'U', '/', 'N', 'N', 0, A, 1, X, SCALE, RW, INFO )
191 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
192 INFOT = 3
193 CALL ZLATRS( 'U', 'N', '/', 'N', 0, A, 1, X, SCALE, RW, INFO )
194 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
195 INFOT = 4
196 CALL ZLATRS( 'U', 'N', 'N', '/', 0, A, 1, X, SCALE, RW, INFO )
197 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
198 INFOT = 5
199 CALL ZLATRS( 'U', 'N', 'N', 'N', -1, A, 1, X, SCALE, RW, INFO )
200 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
201 INFOT = 7
202 CALL ZLATRS( 'U', 'N', 'N', 'N', 2, A, 1, X, SCALE, RW, INFO )
203 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
204 *
205 * Test error exits for the packed triangular routines.
206 *
207 ELSE IF( LSAMEN( 2, C2, 'TP' ) ) THEN
208 *
209 * ZTPTRI
210 *
211 SRNAMT = 'ZTPTRI'
212 INFOT = 1
213 CALL ZTPTRI( '/', 'N', 0, A, INFO )
214 CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
215 INFOT = 2
216 CALL ZTPTRI( 'U', '/', 0, A, INFO )
217 CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
218 INFOT = 3
219 CALL ZTPTRI( 'U', 'N', -1, A, INFO )
220 CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
221 *
222 * ZTPTRS
223 *
224 SRNAMT = 'ZTPTRS'
225 INFOT = 1
226 CALL ZTPTRS( '/', 'N', 'N', 0, 0, A, X, 1, INFO )
227 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
228 INFOT = 2
229 CALL ZTPTRS( 'U', '/', 'N', 0, 0, A, X, 1, INFO )
230 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
231 INFOT = 3
232 CALL ZTPTRS( 'U', 'N', '/', 0, 0, A, X, 1, INFO )
233 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
234 INFOT = 4
235 CALL ZTPTRS( 'U', 'N', 'N', -1, 0, A, X, 1, INFO )
236 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
237 INFOT = 5
238 CALL ZTPTRS( 'U', 'N', 'N', 0, -1, A, X, 1, INFO )
239 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
240 INFOT = 8
241 CALL ZTPTRS( 'U', 'N', 'N', 2, 1, A, X, 1, INFO )
242 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
243 *
244 * ZTPRFS
245 *
246 SRNAMT = 'ZTPRFS'
247 INFOT = 1
248 CALL ZTPRFS( '/', 'N', 'N', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
249 $ INFO )
250 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
251 INFOT = 2
252 CALL ZTPRFS( 'U', '/', 'N', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
253 $ INFO )
254 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
255 INFOT = 3
256 CALL ZTPRFS( 'U', 'N', '/', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
257 $ INFO )
258 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
259 INFOT = 4
260 CALL ZTPRFS( 'U', 'N', 'N', -1, 0, A, B, 1, X, 1, R1, R2, W,
261 $ RW, INFO )
262 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
263 INFOT = 5
264 CALL ZTPRFS( 'U', 'N', 'N', 0, -1, A, B, 1, X, 1, R1, R2, W,
265 $ RW, INFO )
266 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
267 INFOT = 8
268 CALL ZTPRFS( 'U', 'N', 'N', 2, 1, A, B, 1, X, 2, R1, R2, W, RW,
269 $ INFO )
270 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
271 INFOT = 10
272 CALL ZTPRFS( 'U', 'N', 'N', 2, 1, A, B, 2, X, 1, R1, R2, W, RW,
273 $ INFO )
274 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
275 *
276 * ZTPCON
277 *
278 SRNAMT = 'ZTPCON'
279 INFOT = 1
280 CALL ZTPCON( '/', 'U', 'N', 0, A, RCOND, W, RW, INFO )
281 CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
282 INFOT = 2
283 CALL ZTPCON( '1', '/', 'N', 0, A, RCOND, W, RW, INFO )
284 CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
285 INFOT = 3
286 CALL ZTPCON( '1', 'U', '/', 0, A, RCOND, W, RW, INFO )
287 CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
288 INFOT = 4
289 CALL ZTPCON( '1', 'U', 'N', -1, A, RCOND, W, RW, INFO )
290 CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
291 *
292 * ZLATPS
293 *
294 SRNAMT = 'ZLATPS'
295 INFOT = 1
296 CALL ZLATPS( '/', 'N', 'N', 'N', 0, A, X, SCALE, RW, INFO )
297 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
298 INFOT = 2
299 CALL ZLATPS( 'U', '/', 'N', 'N', 0, A, X, SCALE, RW, INFO )
300 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
301 INFOT = 3
302 CALL ZLATPS( 'U', 'N', '/', 'N', 0, A, X, SCALE, RW, INFO )
303 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
304 INFOT = 4
305 CALL ZLATPS( 'U', 'N', 'N', '/', 0, A, X, SCALE, RW, INFO )
306 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
307 INFOT = 5
308 CALL ZLATPS( 'U', 'N', 'N', 'N', -1, A, X, SCALE, RW, INFO )
309 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
310 *
311 * Test error exits for the banded triangular routines.
312 *
313 ELSE IF( LSAMEN( 2, C2, 'TB' ) ) THEN
314 *
315 * ZTBTRS
316 *
317 SRNAMT = 'ZTBTRS'
318 INFOT = 1
319 CALL ZTBTRS( '/', 'N', 'N', 0, 0, 0, A, 1, X, 1, INFO )
320 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
321 INFOT = 2
322 CALL ZTBTRS( 'U', '/', 'N', 0, 0, 0, A, 1, X, 1, INFO )
323 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
324 INFOT = 3
325 CALL ZTBTRS( 'U', 'N', '/', 0, 0, 0, A, 1, X, 1, INFO )
326 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
327 INFOT = 4
328 CALL ZTBTRS( 'U', 'N', 'N', -1, 0, 0, A, 1, X, 1, INFO )
329 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
330 INFOT = 5
331 CALL ZTBTRS( 'U', 'N', 'N', 0, -1, 0, A, 1, X, 1, INFO )
332 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
333 INFOT = 6
334 CALL ZTBTRS( 'U', 'N', 'N', 0, 0, -1, A, 1, X, 1, INFO )
335 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
336 INFOT = 8
337 CALL ZTBTRS( 'U', 'N', 'N', 2, 1, 1, A, 1, X, 2, INFO )
338 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
339 INFOT = 10
340 CALL ZTBTRS( 'U', 'N', 'N', 2, 0, 1, A, 1, X, 1, INFO )
341 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
342 *
343 * ZTBRFS
344 *
345 SRNAMT = 'ZTBRFS'
346 INFOT = 1
347 CALL ZTBRFS( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
348 $ W, RW, INFO )
349 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
350 INFOT = 2
351 CALL ZTBRFS( 'U', '/', 'N', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
352 $ W, RW, INFO )
353 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
354 INFOT = 3
355 CALL ZTBRFS( 'U', 'N', '/', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
356 $ W, RW, INFO )
357 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
358 INFOT = 4
359 CALL ZTBRFS( 'U', 'N', 'N', -1, 0, 0, A, 1, B, 1, X, 1, R1, R2,
360 $ W, RW, INFO )
361 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
362 INFOT = 5
363 CALL ZTBRFS( 'U', 'N', 'N', 0, -1, 0, A, 1, B, 1, X, 1, R1, R2,
364 $ W, RW, INFO )
365 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
366 INFOT = 6
367 CALL ZTBRFS( 'U', 'N', 'N', 0, 0, -1, A, 1, B, 1, X, 1, R1, R2,
368 $ W, RW, INFO )
369 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
370 INFOT = 8
371 CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 1, B, 2, X, 2, R1, R2,
372 $ W, RW, INFO )
373 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
374 INFOT = 10
375 CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 2, B, 1, X, 2, R1, R2,
376 $ W, RW, INFO )
377 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
378 INFOT = 12
379 CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 2, B, 2, X, 1, R1, R2,
380 $ W, RW, INFO )
381 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
382 *
383 * ZTBCON
384 *
385 SRNAMT = 'ZTBCON'
386 INFOT = 1
387 CALL ZTBCON( '/', 'U', 'N', 0, 0, A, 1, RCOND, W, RW, INFO )
388 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
389 INFOT = 2
390 CALL ZTBCON( '1', '/', 'N', 0, 0, A, 1, RCOND, W, RW, INFO )
391 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
392 INFOT = 3
393 CALL ZTBCON( '1', 'U', '/', 0, 0, A, 1, RCOND, W, RW, INFO )
394 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
395 INFOT = 4
396 CALL ZTBCON( '1', 'U', 'N', -1, 0, A, 1, RCOND, W, RW, INFO )
397 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
398 INFOT = 5
399 CALL ZTBCON( '1', 'U', 'N', 0, -1, A, 1, RCOND, W, RW, INFO )
400 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
401 INFOT = 7
402 CALL ZTBCON( '1', 'U', 'N', 2, 1, A, 1, RCOND, W, RW, INFO )
403 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
404 *
405 * ZLATBS
406 *
407 SRNAMT = 'ZLATBS'
408 INFOT = 1
409 CALL ZLATBS( '/', 'N', 'N', 'N', 0, 0, A, 1, X, SCALE, RW,
410 $ INFO )
411 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
412 INFOT = 2
413 CALL ZLATBS( 'U', '/', 'N', 'N', 0, 0, A, 1, X, SCALE, RW,
414 $ INFO )
415 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
416 INFOT = 3
417 CALL ZLATBS( 'U', 'N', '/', 'N', 0, 0, A, 1, X, SCALE, RW,
418 $ INFO )
419 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
420 INFOT = 4
421 CALL ZLATBS( 'U', 'N', 'N', '/', 0, 0, A, 1, X, SCALE, RW,
422 $ INFO )
423 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
424 INFOT = 5
425 CALL ZLATBS( 'U', 'N', 'N', 'N', -1, 0, A, 1, X, SCALE, RW,
426 $ INFO )
427 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
428 INFOT = 6
429 CALL ZLATBS( 'U', 'N', 'N', 'N', 1, -1, A, 1, X, SCALE, RW,
430 $ INFO )
431 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
432 INFOT = 8
433 CALL ZLATBS( 'U', 'N', 'N', 'N', 2, 1, A, 1, X, SCALE, RW,
434 $ INFO )
435 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
436 END IF
437 *
438 * Print a summary line.
439 *
440 CALL ALAESM( PATH, OK, NOUT )
441 *
442 RETURN
443 *
444 * End of ZERRTR
445 *
446 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 * ZERRTR tests the error exits for the COMPLEX*16 triangular routines.
16 *
17 * Arguments
18 * =========
19 *
20 * PATH (input) CHARACTER*3
21 * The LAPACK path name for the routines to be tested.
22 *
23 * NUNIT (input) INTEGER
24 * The unit number for output.
25 *
26 * =====================================================================
27 *
28 * .. Parameters ..
29 INTEGER NMAX
30 PARAMETER ( NMAX = 2 )
31 * ..
32 * .. Local Scalars ..
33 CHARACTER*2 C2
34 INTEGER INFO
35 DOUBLE PRECISION RCOND, SCALE
36 * ..
37 * .. Local Arrays ..
38 DOUBLE PRECISION R1( NMAX ), R2( NMAX ), RW( NMAX )
39 COMPLEX*16 A( NMAX, NMAX ), B( NMAX ), W( NMAX ),
40 $ X( NMAX )
41 * ..
42 * .. External Functions ..
43 LOGICAL LSAMEN
44 EXTERNAL LSAMEN
45 * ..
46 * .. External Subroutines ..
47 EXTERNAL ALAESM, CHKXER, ZLATBS, ZLATPS, ZLATRS, ZTBCON,
48 $ ZTBRFS, ZTBTRS, ZTPCON, ZTPRFS, ZTPTRI, ZTPTRS,
49 $ ZTRCON, ZTRRFS, ZTRTI2, ZTRTRI, ZTRTRS
50 * ..
51 * .. Scalars in Common ..
52 LOGICAL LERR, OK
53 CHARACTER*32 SRNAMT
54 INTEGER INFOT, NOUT
55 * ..
56 * .. Common blocks ..
57 COMMON / INFOC / INFOT, NOUT, OK, LERR
58 COMMON / SRNAMC / SRNAMT
59 * ..
60 * .. Executable Statements ..
61 *
62 NOUT = NUNIT
63 WRITE( NOUT, FMT = * )
64 C2 = PATH( 2: 3 )
65 A( 1, 1 ) = 1.D0
66 A( 1, 2 ) = 2.D0
67 A( 2, 2 ) = 3.D0
68 A( 2, 1 ) = 4.D0
69 OK = .TRUE.
70 *
71 * Test error exits for the general triangular routines.
72 *
73 IF( LSAMEN( 2, C2, 'TR' ) ) THEN
74 *
75 * ZTRTRI
76 *
77 SRNAMT = 'ZTRTRI'
78 INFOT = 1
79 CALL ZTRTRI( '/', 'N', 0, A, 1, INFO )
80 CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
81 INFOT = 2
82 CALL ZTRTRI( 'U', '/', 0, A, 1, INFO )
83 CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
84 INFOT = 3
85 CALL ZTRTRI( 'U', 'N', -1, A, 1, INFO )
86 CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
87 INFOT = 5
88 CALL ZTRTRI( 'U', 'N', 2, A, 1, INFO )
89 CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
90 *
91 * ZTRTI2
92 *
93 SRNAMT = 'ZTRTI2'
94 INFOT = 1
95 CALL ZTRTI2( '/', 'N', 0, A, 1, INFO )
96 CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
97 INFOT = 2
98 CALL ZTRTI2( 'U', '/', 0, A, 1, INFO )
99 CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
100 INFOT = 3
101 CALL ZTRTI2( 'U', 'N', -1, A, 1, INFO )
102 CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
103 INFOT = 5
104 CALL ZTRTI2( 'U', 'N', 2, A, 1, INFO )
105 CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
106 *
107 *
108 * ZTRTRS
109 *
110 SRNAMT = 'ZTRTRS'
111 INFOT = 1
112 CALL ZTRTRS( '/', 'N', 'N', 0, 0, A, 1, X, 1, INFO )
113 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
114 INFOT = 2
115 CALL ZTRTRS( 'U', '/', 'N', 0, 0, A, 1, X, 1, INFO )
116 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
117 INFOT = 3
118 CALL ZTRTRS( 'U', 'N', '/', 0, 0, A, 1, X, 1, INFO )
119 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
120 INFOT = 4
121 CALL ZTRTRS( 'U', 'N', 'N', -1, 0, A, 1, X, 1, INFO )
122 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
123 INFOT = 5
124 CALL ZTRTRS( 'U', 'N', 'N', 0, -1, A, 1, X, 1, INFO )
125 CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
126 INFOT = 7
127 *
128 * ZTRRFS
129 *
130 SRNAMT = 'ZTRRFS'
131 INFOT = 1
132 CALL ZTRRFS( '/', 'N', 'N', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
133 $ RW, INFO )
134 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
135 INFOT = 2
136 CALL ZTRRFS( 'U', '/', 'N', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
137 $ RW, INFO )
138 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
139 INFOT = 3
140 CALL ZTRRFS( 'U', 'N', '/', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
141 $ RW, INFO )
142 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
143 INFOT = 4
144 CALL ZTRRFS( 'U', 'N', 'N', -1, 0, A, 1, B, 1, X, 1, R1, R2, W,
145 $ RW, INFO )
146 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
147 INFOT = 5
148 CALL ZTRRFS( 'U', 'N', 'N', 0, -1, A, 1, B, 1, X, 1, R1, R2, W,
149 $ RW, INFO )
150 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
151 INFOT = 7
152 CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 1, B, 2, X, 2, R1, R2, W,
153 $ RW, INFO )
154 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
155 INFOT = 9
156 CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 2, B, 1, X, 2, R1, R2, W,
157 $ RW, INFO )
158 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
159 INFOT = 11
160 CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 2, B, 2, X, 1, R1, R2, W,
161 $ RW, INFO )
162 CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
163 *
164 * ZTRCON
165 *
166 SRNAMT = 'ZTRCON'
167 INFOT = 1
168 CALL ZTRCON( '/', 'U', 'N', 0, A, 1, RCOND, W, RW, INFO )
169 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
170 INFOT = 2
171 CALL ZTRCON( '1', '/', 'N', 0, A, 1, RCOND, W, RW, INFO )
172 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
173 INFOT = 3
174 CALL ZTRCON( '1', 'U', '/', 0, A, 1, RCOND, W, RW, INFO )
175 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
176 INFOT = 4
177 CALL ZTRCON( '1', 'U', 'N', -1, A, 1, RCOND, W, RW, INFO )
178 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
179 INFOT = 6
180 CALL ZTRCON( '1', 'U', 'N', 2, A, 1, RCOND, W, RW, INFO )
181 CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
182 *
183 * ZLATRS
184 *
185 SRNAMT = 'ZLATRS'
186 INFOT = 1
187 CALL ZLATRS( '/', 'N', 'N', 'N', 0, A, 1, X, SCALE, RW, INFO )
188 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
189 INFOT = 2
190 CALL ZLATRS( 'U', '/', 'N', 'N', 0, A, 1, X, SCALE, RW, INFO )
191 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
192 INFOT = 3
193 CALL ZLATRS( 'U', 'N', '/', 'N', 0, A, 1, X, SCALE, RW, INFO )
194 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
195 INFOT = 4
196 CALL ZLATRS( 'U', 'N', 'N', '/', 0, A, 1, X, SCALE, RW, INFO )
197 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
198 INFOT = 5
199 CALL ZLATRS( 'U', 'N', 'N', 'N', -1, A, 1, X, SCALE, RW, INFO )
200 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
201 INFOT = 7
202 CALL ZLATRS( 'U', 'N', 'N', 'N', 2, A, 1, X, SCALE, RW, INFO )
203 CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
204 *
205 * Test error exits for the packed triangular routines.
206 *
207 ELSE IF( LSAMEN( 2, C2, 'TP' ) ) THEN
208 *
209 * ZTPTRI
210 *
211 SRNAMT = 'ZTPTRI'
212 INFOT = 1
213 CALL ZTPTRI( '/', 'N', 0, A, INFO )
214 CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
215 INFOT = 2
216 CALL ZTPTRI( 'U', '/', 0, A, INFO )
217 CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
218 INFOT = 3
219 CALL ZTPTRI( 'U', 'N', -1, A, INFO )
220 CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
221 *
222 * ZTPTRS
223 *
224 SRNAMT = 'ZTPTRS'
225 INFOT = 1
226 CALL ZTPTRS( '/', 'N', 'N', 0, 0, A, X, 1, INFO )
227 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
228 INFOT = 2
229 CALL ZTPTRS( 'U', '/', 'N', 0, 0, A, X, 1, INFO )
230 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
231 INFOT = 3
232 CALL ZTPTRS( 'U', 'N', '/', 0, 0, A, X, 1, INFO )
233 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
234 INFOT = 4
235 CALL ZTPTRS( 'U', 'N', 'N', -1, 0, A, X, 1, INFO )
236 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
237 INFOT = 5
238 CALL ZTPTRS( 'U', 'N', 'N', 0, -1, A, X, 1, INFO )
239 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
240 INFOT = 8
241 CALL ZTPTRS( 'U', 'N', 'N', 2, 1, A, X, 1, INFO )
242 CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
243 *
244 * ZTPRFS
245 *
246 SRNAMT = 'ZTPRFS'
247 INFOT = 1
248 CALL ZTPRFS( '/', 'N', 'N', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
249 $ INFO )
250 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
251 INFOT = 2
252 CALL ZTPRFS( 'U', '/', 'N', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
253 $ INFO )
254 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
255 INFOT = 3
256 CALL ZTPRFS( 'U', 'N', '/', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
257 $ INFO )
258 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
259 INFOT = 4
260 CALL ZTPRFS( 'U', 'N', 'N', -1, 0, A, B, 1, X, 1, R1, R2, W,
261 $ RW, INFO )
262 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
263 INFOT = 5
264 CALL ZTPRFS( 'U', 'N', 'N', 0, -1, A, B, 1, X, 1, R1, R2, W,
265 $ RW, INFO )
266 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
267 INFOT = 8
268 CALL ZTPRFS( 'U', 'N', 'N', 2, 1, A, B, 1, X, 2, R1, R2, W, RW,
269 $ INFO )
270 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
271 INFOT = 10
272 CALL ZTPRFS( 'U', 'N', 'N', 2, 1, A, B, 2, X, 1, R1, R2, W, RW,
273 $ INFO )
274 CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
275 *
276 * ZTPCON
277 *
278 SRNAMT = 'ZTPCON'
279 INFOT = 1
280 CALL ZTPCON( '/', 'U', 'N', 0, A, RCOND, W, RW, INFO )
281 CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
282 INFOT = 2
283 CALL ZTPCON( '1', '/', 'N', 0, A, RCOND, W, RW, INFO )
284 CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
285 INFOT = 3
286 CALL ZTPCON( '1', 'U', '/', 0, A, RCOND, W, RW, INFO )
287 CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
288 INFOT = 4
289 CALL ZTPCON( '1', 'U', 'N', -1, A, RCOND, W, RW, INFO )
290 CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
291 *
292 * ZLATPS
293 *
294 SRNAMT = 'ZLATPS'
295 INFOT = 1
296 CALL ZLATPS( '/', 'N', 'N', 'N', 0, A, X, SCALE, RW, INFO )
297 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
298 INFOT = 2
299 CALL ZLATPS( 'U', '/', 'N', 'N', 0, A, X, SCALE, RW, INFO )
300 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
301 INFOT = 3
302 CALL ZLATPS( 'U', 'N', '/', 'N', 0, A, X, SCALE, RW, INFO )
303 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
304 INFOT = 4
305 CALL ZLATPS( 'U', 'N', 'N', '/', 0, A, X, SCALE, RW, INFO )
306 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
307 INFOT = 5
308 CALL ZLATPS( 'U', 'N', 'N', 'N', -1, A, X, SCALE, RW, INFO )
309 CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
310 *
311 * Test error exits for the banded triangular routines.
312 *
313 ELSE IF( LSAMEN( 2, C2, 'TB' ) ) THEN
314 *
315 * ZTBTRS
316 *
317 SRNAMT = 'ZTBTRS'
318 INFOT = 1
319 CALL ZTBTRS( '/', 'N', 'N', 0, 0, 0, A, 1, X, 1, INFO )
320 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
321 INFOT = 2
322 CALL ZTBTRS( 'U', '/', 'N', 0, 0, 0, A, 1, X, 1, INFO )
323 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
324 INFOT = 3
325 CALL ZTBTRS( 'U', 'N', '/', 0, 0, 0, A, 1, X, 1, INFO )
326 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
327 INFOT = 4
328 CALL ZTBTRS( 'U', 'N', 'N', -1, 0, 0, A, 1, X, 1, INFO )
329 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
330 INFOT = 5
331 CALL ZTBTRS( 'U', 'N', 'N', 0, -1, 0, A, 1, X, 1, INFO )
332 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
333 INFOT = 6
334 CALL ZTBTRS( 'U', 'N', 'N', 0, 0, -1, A, 1, X, 1, INFO )
335 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
336 INFOT = 8
337 CALL ZTBTRS( 'U', 'N', 'N', 2, 1, 1, A, 1, X, 2, INFO )
338 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
339 INFOT = 10
340 CALL ZTBTRS( 'U', 'N', 'N', 2, 0, 1, A, 1, X, 1, INFO )
341 CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
342 *
343 * ZTBRFS
344 *
345 SRNAMT = 'ZTBRFS'
346 INFOT = 1
347 CALL ZTBRFS( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
348 $ W, RW, INFO )
349 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
350 INFOT = 2
351 CALL ZTBRFS( 'U', '/', 'N', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
352 $ W, RW, INFO )
353 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
354 INFOT = 3
355 CALL ZTBRFS( 'U', 'N', '/', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
356 $ W, RW, INFO )
357 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
358 INFOT = 4
359 CALL ZTBRFS( 'U', 'N', 'N', -1, 0, 0, A, 1, B, 1, X, 1, R1, R2,
360 $ W, RW, INFO )
361 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
362 INFOT = 5
363 CALL ZTBRFS( 'U', 'N', 'N', 0, -1, 0, A, 1, B, 1, X, 1, R1, R2,
364 $ W, RW, INFO )
365 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
366 INFOT = 6
367 CALL ZTBRFS( 'U', 'N', 'N', 0, 0, -1, A, 1, B, 1, X, 1, R1, R2,
368 $ W, RW, INFO )
369 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
370 INFOT = 8
371 CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 1, B, 2, X, 2, R1, R2,
372 $ W, RW, INFO )
373 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
374 INFOT = 10
375 CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 2, B, 1, X, 2, R1, R2,
376 $ W, RW, INFO )
377 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
378 INFOT = 12
379 CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 2, B, 2, X, 1, R1, R2,
380 $ W, RW, INFO )
381 CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
382 *
383 * ZTBCON
384 *
385 SRNAMT = 'ZTBCON'
386 INFOT = 1
387 CALL ZTBCON( '/', 'U', 'N', 0, 0, A, 1, RCOND, W, RW, INFO )
388 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
389 INFOT = 2
390 CALL ZTBCON( '1', '/', 'N', 0, 0, A, 1, RCOND, W, RW, INFO )
391 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
392 INFOT = 3
393 CALL ZTBCON( '1', 'U', '/', 0, 0, A, 1, RCOND, W, RW, INFO )
394 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
395 INFOT = 4
396 CALL ZTBCON( '1', 'U', 'N', -1, 0, A, 1, RCOND, W, RW, INFO )
397 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
398 INFOT = 5
399 CALL ZTBCON( '1', 'U', 'N', 0, -1, A, 1, RCOND, W, RW, INFO )
400 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
401 INFOT = 7
402 CALL ZTBCON( '1', 'U', 'N', 2, 1, A, 1, RCOND, W, RW, INFO )
403 CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
404 *
405 * ZLATBS
406 *
407 SRNAMT = 'ZLATBS'
408 INFOT = 1
409 CALL ZLATBS( '/', 'N', 'N', 'N', 0, 0, A, 1, X, SCALE, RW,
410 $ INFO )
411 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
412 INFOT = 2
413 CALL ZLATBS( 'U', '/', 'N', 'N', 0, 0, A, 1, X, SCALE, RW,
414 $ INFO )
415 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
416 INFOT = 3
417 CALL ZLATBS( 'U', 'N', '/', 'N', 0, 0, A, 1, X, SCALE, RW,
418 $ INFO )
419 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
420 INFOT = 4
421 CALL ZLATBS( 'U', 'N', 'N', '/', 0, 0, A, 1, X, SCALE, RW,
422 $ INFO )
423 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
424 INFOT = 5
425 CALL ZLATBS( 'U', 'N', 'N', 'N', -1, 0, A, 1, X, SCALE, RW,
426 $ INFO )
427 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
428 INFOT = 6
429 CALL ZLATBS( 'U', 'N', 'N', 'N', 1, -1, A, 1, X, SCALE, RW,
430 $ INFO )
431 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
432 INFOT = 8
433 CALL ZLATBS( 'U', 'N', 'N', 'N', 2, 1, A, 1, X, SCALE, RW,
434 $ INFO )
435 CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
436 END IF
437 *
438 * Print a summary line.
439 *
440 CALL ALAESM( PATH, OK, NOUT )
441 *
442 RETURN
443 *
444 * End of ZERRTR
445 *
446 END