1 SUBROUTINE ZERRVX( PATH, NUNIT )
2 *
3 * -- LAPACK test routine (version 3.2.1) --
4 *
5 * -- April 2009 --
6 *
7 * -- LAPACK is a software package provided by Univ. of Tennessee, --
8 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
9 *
10 * .. Scalar Arguments ..
11 CHARACTER*3 PATH
12 INTEGER NUNIT
13 * ..
14 *
15 * Purpose
16 * =======
17 *
18 * ZERRVX tests the error exits for the COMPLEX*16 driver routines
19 * for solving linear systems of equations.
20 *
21 * Arguments
22 * =========
23 *
24 * PATH (input) CHARACTER*3
25 * The LAPACK path name for the routines to be tested.
26 *
27 * NUNIT (input) INTEGER
28 * The unit number for output.
29 *
30 * =====================================================================
31 *
32 * .. Parameters ..
33 INTEGER NMAX
34 PARAMETER ( NMAX = 4 )
35 * ..
36 * .. Local Scalars ..
37 CHARACTER EQ
38 CHARACTER*2 C2
39 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
40 DOUBLE PRECISION RCOND, RPVGRW, BERR
41 * ..
42 * .. Local Arrays ..
43 INTEGER IP( NMAX )
44 DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
45 $ RF( NMAX ), RW( NMAX ), ERR_BNDS_N( NMAX, 3 ),
46 $ ERR_BNDS_C( NMAX, 3 ), PARAMS
47 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
48 $ W( 2*NMAX ), X( NMAX )
49 * ..
50 * .. External Functions ..
51 LOGICAL LSAMEN
52 EXTERNAL LSAMEN
53 * ..
54 * .. External Subroutines ..
55 EXTERNAL CHKXER, ZGBSV, ZGBSVX, ZGESV, ZGESVX, ZGTSV,
56 $ ZGTSVX, ZHESV, ZHESVX, ZHPSV, ZHPSVX, ZPBSV,
57 $ ZPBSVX, ZPOSV, ZPOSVX, ZPPSV, ZPPSVX, ZPTSV,
58 $ ZPTSVX, ZSPSV, ZSPSVX, ZSYSV, ZSYSVX, ZGESVXX,
59 $ ZSYSVXX, ZPOSVXX, ZHESVXX, ZGBSVXX
60 * ..
61 * .. Scalars in Common ..
62 LOGICAL LERR, OK
63 CHARACTER*32 SRNAMT
64 INTEGER INFOT, NOUT
65 * ..
66 * .. Common blocks ..
67 COMMON / INFOC / INFOT, NOUT, OK, LERR
68 COMMON / SRNAMC / SRNAMT
69 * ..
70 * .. Intrinsic Functions ..
71 INTRINSIC DBLE, DCMPLX
72 * ..
73 * .. Executable Statements ..
74 *
75 NOUT = NUNIT
76 WRITE( NOUT, FMT = * )
77 C2 = PATH( 2: 3 )
78 *
79 * Set the variables to innocuous values.
80 *
81 DO 20 J = 1, NMAX
82 DO 10 I = 1, NMAX
83 A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
84 $ -1.D0 / DBLE( I+J ) )
85 AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
86 $ -1.D0 / DBLE( I+J ) )
87 10 CONTINUE
88 B( J ) = 0.D0
89 R1( J ) = 0.D0
90 R2( J ) = 0.D0
91 W( J ) = 0.D0
92 X( J ) = 0.D0
93 C( J ) = 0.D0
94 R( J ) = 0.D0
95 IP( J ) = J
96 20 CONTINUE
97 EQ = ' '
98 OK = .TRUE.
99 *
100 IF( LSAMEN( 2, C2, 'GE' ) ) THEN
101 *
102 * ZGESV
103 *
104 SRNAMT = 'ZGESV '
105 INFOT = 1
106 CALL ZGESV( -1, 0, A, 1, IP, B, 1, INFO )
107 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
108 INFOT = 2
109 CALL ZGESV( 0, -1, A, 1, IP, B, 1, INFO )
110 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
111 INFOT = 4
112 CALL ZGESV( 2, 1, A, 1, IP, B, 2, INFO )
113 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
114 INFOT = 7
115 CALL ZGESV( 2, 1, A, 2, IP, B, 1, INFO )
116 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
117 *
118 * ZGESVX
119 *
120 SRNAMT = 'ZGESVX'
121 INFOT = 1
122 CALL ZGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
123 $ X, 1, RCOND, R1, R2, W, RW, INFO )
124 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
125 INFOT = 2
126 CALL ZGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
127 $ X, 1, RCOND, R1, R2, W, RW, INFO )
128 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
129 INFOT = 3
130 CALL ZGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
131 $ X, 1, RCOND, R1, R2, W, RW, INFO )
132 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
133 INFOT = 4
134 CALL ZGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
135 $ X, 1, RCOND, R1, R2, W, RW, INFO )
136 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
137 INFOT = 6
138 CALL ZGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
139 $ X, 2, RCOND, R1, R2, W, RW, INFO )
140 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
141 INFOT = 8
142 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
143 $ X, 2, RCOND, R1, R2, W, RW, INFO )
144 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
145 INFOT = 10
146 EQ = '/'
147 CALL ZGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
148 $ X, 1, RCOND, R1, R2, W, RW, INFO )
149 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
150 INFOT = 11
151 EQ = 'R'
152 CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
153 $ X, 1, RCOND, R1, R2, W, RW, INFO )
154 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
155 INFOT = 12
156 EQ = 'C'
157 CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
158 $ X, 1, RCOND, R1, R2, W, RW, INFO )
159 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
160 INFOT = 14
161 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
162 $ X, 2, RCOND, R1, R2, W, RW, INFO )
163 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
164 INFOT = 16
165 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
166 $ X, 1, RCOND, R1, R2, W, RW, INFO )
167 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
168 *
169 * ZGESVXX
170 *
171 N_ERR_BNDS = 3
172 NPARAMS = 0
173 SRNAMT = 'ZGESVXX'
174 INFOT = 1
175 CALL ZGESVXX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
176 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
177 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
178 $ INFO )
179 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
180 INFOT = 2
181 CALL ZGESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
182 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
183 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
184 $ INFO )
185 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
186 INFOT = 3
187 CALL ZGESVXX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
188 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
189 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
190 $ INFO )
191 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
192 INFOT = 4
193 CALL ZGESVXX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B,
194 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
195 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
196 $ INFO )
197 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
198 INFOT = 6
199 CALL ZGESVXX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B,
200 $ 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
201 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
202 $ INFO )
203 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
204 INFOT = 8
205 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B,
206 $ 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
207 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
208 $ INFO )
209 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
210 INFOT = 10
211 EQ = '/'
212 CALL ZGESVXX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
213 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
214 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
215 $ INFO )
216 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
217 INFOT = 11
218 EQ = 'R'
219 CALL ZGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
220 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
221 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
222 $ INFO )
223 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
224 INFOT = 12
225 EQ = 'C'
226 CALL ZGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
227 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
228 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
229 $ INFO )
230 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
231 INFOT = 14
232 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B,
233 $ 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
234 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
235 $ INFO )
236 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
237 INFOT = 16
238 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B,
239 $ 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
240 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
241 $ INFO )
242 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
243 *
244 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
245 *
246 * ZGBSV
247 *
248 SRNAMT = 'ZGBSV '
249 INFOT = 1
250 CALL ZGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
251 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
252 INFOT = 2
253 CALL ZGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
254 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
255 INFOT = 3
256 CALL ZGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
257 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
258 INFOT = 4
259 CALL ZGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
260 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
261 INFOT = 6
262 CALL ZGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
263 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
264 INFOT = 9
265 CALL ZGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
266 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
267 *
268 * ZGBSVX
269 *
270 SRNAMT = 'ZGBSVX'
271 INFOT = 1
272 CALL ZGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
273 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
274 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
275 INFOT = 2
276 CALL ZGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
277 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
278 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
279 INFOT = 3
280 CALL ZGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
281 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
282 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
283 INFOT = 4
284 CALL ZGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
285 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
286 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
287 INFOT = 5
288 CALL ZGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
289 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
290 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
291 INFOT = 6
292 CALL ZGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
293 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
294 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
295 INFOT = 8
296 CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
297 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
298 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
299 INFOT = 10
300 CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
301 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
302 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
303 INFOT = 12
304 EQ = '/'
305 CALL ZGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
306 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
307 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
308 INFOT = 13
309 EQ = 'R'
310 CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
311 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
312 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
313 INFOT = 14
314 EQ = 'C'
315 CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
316 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
317 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
318 INFOT = 16
319 CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
320 $ B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
321 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
322 INFOT = 18
323 CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
324 $ B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
325 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
326 *
327 * ZGBSVXX
328 *
329 N_ERR_BNDS = 3
330 NPARAMS = 0
331 SRNAMT = 'ZGBSVXX'
332 INFOT = 1
333 CALL ZGBSVXX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
334 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
335 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
336 $ INFO )
337 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
338 INFOT = 2
339 CALL ZGBSVXX( 'N', '/', 0, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
340 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
341 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
342 $ INFO )
343 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
344 INFOT = 3
345 CALL ZGBSVXX( 'N', 'N', -1, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
346 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
347 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
348 $ INFO )
349 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
350 INFOT = 4
351 CALL ZGBSVXX( 'N', 'N', 2, -1, 1, 0, A, 1, AF, 1, IP, EQ,
352 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
353 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
354 $ INFO )
355 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
356 INFOT = 5
357 CALL ZGBSVXX( 'N', 'N', 2, 1, -1, 0, A, 1, AF, 1, IP, EQ,
358 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
359 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
360 $ INFO )
361 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
362 INFOT = 6
363 CALL ZGBSVXX( 'N', 'N', 0, 1, 1, -1, A, 1, AF, 1, IP, EQ, R, C,
364 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
365 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
366 $ INFO )
367 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
368 INFOT = 8
369 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 2, AF, 2, IP, EQ, R, C,
370 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
371 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
372 $ INFO )
373 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
374 INFOT = 10
375 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, EQ, R, C,
376 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
377 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
378 $ INFO )
379 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
380 INFOT = 12
381 EQ = '/'
382 CALL ZGBSVXX( 'F', 'N', 0, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
383 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
384 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
385 $ INFO )
386 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
387 INFOT = 13
388 EQ = 'R'
389 CALL ZGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
390 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
391 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
392 $ INFO )
393 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
394 INFOT = 14
395 EQ = 'C'
396 CALL ZGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
397 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
398 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
399 $ INFO )
400 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
401 INFOT = 15
402 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
403 $ B, 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
404 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
405 $ INFO )
406 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
407 INFOT = 16
408 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
409 $ B, 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
410 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
411 $ INFO )
412 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
413 *
414 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
415 *
416 * ZGTSV
417 *
418 SRNAMT = 'ZGTSV '
419 INFOT = 1
420 CALL ZGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
421 $ INFO )
422 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
423 INFOT = 2
424 CALL ZGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
425 $ INFO )
426 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
427 INFOT = 7
428 CALL ZGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
429 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
430 *
431 * ZGTSVX
432 *
433 SRNAMT = 'ZGTSVX'
434 INFOT = 1
435 CALL ZGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
436 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
437 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
438 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
439 INFOT = 2
440 CALL ZGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
441 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
442 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
443 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
444 INFOT = 3
445 CALL ZGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
446 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
447 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
448 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
449 INFOT = 4
450 CALL ZGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
451 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
452 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
453 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
454 INFOT = 14
455 CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
456 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
457 $ IP, B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
458 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
459 INFOT = 16
460 CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
461 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
462 $ IP, B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
463 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
464 *
465 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
466 *
467 * ZPOSV
468 *
469 SRNAMT = 'ZPOSV '
470 INFOT = 1
471 CALL ZPOSV( '/', 0, 0, A, 1, B, 1, INFO )
472 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
473 INFOT = 2
474 CALL ZPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
475 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
476 INFOT = 3
477 CALL ZPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
478 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
479 INFOT = 5
480 CALL ZPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
481 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
482 INFOT = 7
483 CALL ZPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
484 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
485 *
486 * ZPOSVX
487 *
488 SRNAMT = 'ZPOSVX'
489 INFOT = 1
490 CALL ZPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
491 $ RCOND, R1, R2, W, RW, INFO )
492 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
493 INFOT = 2
494 CALL ZPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
495 $ RCOND, R1, R2, W, RW, INFO )
496 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
497 INFOT = 3
498 CALL ZPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
499 $ RCOND, R1, R2, W, RW, INFO )
500 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
501 INFOT = 4
502 CALL ZPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
503 $ RCOND, R1, R2, W, RW, INFO )
504 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
505 INFOT = 6
506 CALL ZPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
507 $ RCOND, R1, R2, W, RW, INFO )
508 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
509 INFOT = 8
510 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
511 $ RCOND, R1, R2, W, RW, INFO )
512 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
513 INFOT = 9
514 EQ = '/'
515 CALL ZPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
516 $ RCOND, R1, R2, W, RW, INFO )
517 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
518 INFOT = 10
519 EQ = 'Y'
520 CALL ZPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
521 $ RCOND, R1, R2, W, RW, INFO )
522 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
523 INFOT = 12
524 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
525 $ RCOND, R1, R2, W, RW, INFO )
526 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
527 INFOT = 14
528 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
529 $ RCOND, R1, R2, W, RW, INFO )
530 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
531 *
532 * ZPOSVXX
533 *
534 N_ERR_BNDS = 3
535 NPARAMS = 0
536 SRNAMT = 'ZPOSVXX'
537 INFOT = 1
538 CALL ZPOSVXX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
539 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
540 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
541 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
542 INFOT = 2
543 CALL ZPOSVXX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
544 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
545 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
546 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
547 INFOT = 3
548 CALL ZPOSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
549 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
550 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
551 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
552 INFOT = 4
553 CALL ZPOSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
554 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
555 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
556 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
557 INFOT = 6
558 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
559 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
560 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
561 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
562 INFOT = 8
563 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
564 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
565 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
566 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
567 INFOT = 9
568 EQ = '/'
569 CALL ZPOSVXX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
570 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
571 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
572 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
573 INFOT = 10
574 EQ = 'Y'
575 CALL ZPOSVXX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
576 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
577 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
578 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
579 INFOT = 12
580 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
581 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
582 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
583 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
584 INFOT = 14
585 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
586 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
587 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
588 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
589 *
590 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
591 *
592 * ZPPSV
593 *
594 SRNAMT = 'ZPPSV '
595 INFOT = 1
596 CALL ZPPSV( '/', 0, 0, A, B, 1, INFO )
597 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
598 INFOT = 2
599 CALL ZPPSV( 'U', -1, 0, A, B, 1, INFO )
600 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
601 INFOT = 3
602 CALL ZPPSV( 'U', 0, -1, A, B, 1, INFO )
603 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
604 INFOT = 6
605 CALL ZPPSV( 'U', 2, 0, A, B, 1, INFO )
606 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
607 *
608 * ZPPSVX
609 *
610 SRNAMT = 'ZPPSVX'
611 INFOT = 1
612 CALL ZPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
613 $ R1, R2, W, RW, INFO )
614 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
615 INFOT = 2
616 CALL ZPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
617 $ R1, R2, W, RW, INFO )
618 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
619 INFOT = 3
620 CALL ZPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
621 $ R1, R2, W, RW, INFO )
622 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
623 INFOT = 4
624 CALL ZPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
625 $ R1, R2, W, RW, INFO )
626 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
627 INFOT = 7
628 EQ = '/'
629 CALL ZPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
630 $ R1, R2, W, RW, INFO )
631 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
632 INFOT = 8
633 EQ = 'Y'
634 CALL ZPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
635 $ R1, R2, W, RW, INFO )
636 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
637 INFOT = 10
638 CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
639 $ R1, R2, W, RW, INFO )
640 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
641 INFOT = 12
642 CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
643 $ R1, R2, W, RW, INFO )
644 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
645 *
646 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
647 *
648 * ZPBSV
649 *
650 SRNAMT = 'ZPBSV '
651 INFOT = 1
652 CALL ZPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
653 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
654 INFOT = 2
655 CALL ZPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
656 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
657 INFOT = 3
658 CALL ZPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
659 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
660 INFOT = 4
661 CALL ZPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
662 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
663 INFOT = 6
664 CALL ZPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
665 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
666 INFOT = 8
667 CALL ZPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
668 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
669 *
670 * ZPBSVX
671 *
672 SRNAMT = 'ZPBSVX'
673 INFOT = 1
674 CALL ZPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
675 $ RCOND, R1, R2, W, RW, INFO )
676 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
677 INFOT = 2
678 CALL ZPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
679 $ RCOND, R1, R2, W, RW, INFO )
680 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
681 INFOT = 3
682 CALL ZPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
683 $ 1, RCOND, R1, R2, W, RW, INFO )
684 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
685 INFOT = 4
686 CALL ZPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
687 $ 1, RCOND, R1, R2, W, RW, INFO )
688 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
689 INFOT = 5
690 CALL ZPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
691 $ 1, RCOND, R1, R2, W, RW, INFO )
692 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
693 INFOT = 7
694 CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
695 $ RCOND, R1, R2, W, RW, INFO )
696 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
697 INFOT = 9
698 CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
699 $ RCOND, R1, R2, W, RW, INFO )
700 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
701 INFOT = 10
702 EQ = '/'
703 CALL ZPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
704 $ RCOND, R1, R2, W, RW, INFO )
705 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
706 INFOT = 11
707 EQ = 'Y'
708 CALL ZPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
709 $ RCOND, R1, R2, W, RW, INFO )
710 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
711 INFOT = 13
712 CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
713 $ RCOND, R1, R2, W, RW, INFO )
714 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
715 INFOT = 15
716 CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
717 $ RCOND, R1, R2, W, RW, INFO )
718 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
719 *
720 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
721 *
722 * ZPTSV
723 *
724 SRNAMT = 'ZPTSV '
725 INFOT = 1
726 CALL ZPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO )
727 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
728 INFOT = 2
729 CALL ZPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO )
730 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
731 INFOT = 6
732 CALL ZPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO )
733 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
734 *
735 * ZPTSVX
736 *
737 SRNAMT = 'ZPTSVX'
738 INFOT = 1
739 CALL ZPTSVX( '/', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
740 $ 1, RCOND, R1, R2, W, RW, INFO )
741 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
742 INFOT = 2
743 CALL ZPTSVX( 'N', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
744 $ 1, RCOND, R1, R2, W, RW, INFO )
745 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
746 INFOT = 3
747 CALL ZPTSVX( 'N', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
748 $ 1, RCOND, R1, R2, W, RW, INFO )
749 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
750 INFOT = 9
751 CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
752 $ 2, RCOND, R1, R2, W, RW, INFO )
753 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
754 INFOT = 11
755 CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X,
756 $ 1, RCOND, R1, R2, W, RW, INFO )
757 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
758 *
759 ELSE IF( LSAMEN( 2, C2, 'HE' ) ) THEN
760 *
761 * ZHESV
762 *
763 SRNAMT = 'ZHESV '
764 INFOT = 1
765 CALL ZHESV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
766 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
767 INFOT = 2
768 CALL ZHESV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
769 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
770 INFOT = 3
771 CALL ZHESV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
772 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
773 INFOT = 5
774 CALL ZHESV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
775 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
776 INFOT = 8
777 CALL ZHESV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
778 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
779 *
780 * ZHESVX
781 *
782 SRNAMT = 'ZHESVX'
783 INFOT = 1
784 CALL ZHESVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
785 $ RCOND, R1, R2, W, 1, RW, INFO )
786 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
787 INFOT = 2
788 CALL ZHESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
789 $ RCOND, R1, R2, W, 1, RW, INFO )
790 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
791 INFOT = 3
792 CALL ZHESVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
793 $ RCOND, R1, R2, W, 1, RW, INFO )
794 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
795 INFOT = 4
796 CALL ZHESVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
797 $ RCOND, R1, R2, W, 1, RW, INFO )
798 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
799 INFOT = 6
800 CALL ZHESVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
801 $ RCOND, R1, R2, W, 4, RW, INFO )
802 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
803 INFOT = 8
804 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
805 $ RCOND, R1, R2, W, 4, RW, INFO )
806 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
807 INFOT = 11
808 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
809 $ RCOND, R1, R2, W, 4, RW, INFO )
810 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
811 INFOT = 13
812 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
813 $ RCOND, R1, R2, W, 4, RW, INFO )
814 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
815 INFOT = 18
816 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
817 $ RCOND, R1, R2, W, 3, RW, INFO )
818 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
819 *
820 * ZHESVXX
821 *
822 N_ERR_BNDS = 3
823 NPARAMS = 0
824 SRNAMT = 'ZHESVXX'
825 INFOT = 1
826 CALL ZHESVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
827 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
828 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
829 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
830 INFOT = 2
831 CALL ZHESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
832 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
833 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
834 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
835 INFOT = 3
836 CALL ZHESVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
837 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
838 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
839 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
840 INFOT = 4
841 CALL ZHESVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, C, B, 1, X,
842 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
843 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
844 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
845 INFOT = 6
846 CALL ZHESVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, C, B, 2, X,
847 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
848 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
849 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
850 INFOT = 8
851 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, C, B, 2, X,
852 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
853 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
854 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
855 INFOT = 9
856 EQ = '/'
857 CALL ZHESVXX( 'F', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
858 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
859 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
860 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
861 INFOT = 10
862 EQ = 'Y'
863 CALL ZHESVXX( 'F', 'U', 1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
864 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
865 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
866 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
867 INFOT = 12
868 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 1, X,
869 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
870 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
871 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
872 INFOT = 14
873 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 2, X,
874 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
875 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
876 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
877 *
878 ELSE IF( LSAMEN( 2, C2, 'HP' ) ) THEN
879 *
880 * ZHPSV
881 *
882 SRNAMT = 'ZHPSV '
883 INFOT = 1
884 CALL ZHPSV( '/', 0, 0, A, IP, B, 1, INFO )
885 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
886 INFOT = 2
887 CALL ZHPSV( 'U', -1, 0, A, IP, B, 1, INFO )
888 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
889 INFOT = 3
890 CALL ZHPSV( 'U', 0, -1, A, IP, B, 1, INFO )
891 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
892 INFOT = 7
893 CALL ZHPSV( 'U', 2, 0, A, IP, B, 1, INFO )
894 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
895 *
896 * ZHPSVX
897 *
898 SRNAMT = 'ZHPSVX'
899 INFOT = 1
900 CALL ZHPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
901 $ R2, W, RW, INFO )
902 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
903 INFOT = 2
904 CALL ZHPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
905 $ R2, W, RW, INFO )
906 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
907 INFOT = 3
908 CALL ZHPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
909 $ R2, W, RW, INFO )
910 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
911 INFOT = 4
912 CALL ZHPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
913 $ R2, W, RW, INFO )
914 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
915 INFOT = 9
916 CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
917 $ R2, W, RW, INFO )
918 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
919 INFOT = 11
920 CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
921 $ R2, W, RW, INFO )
922 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
923 *
924 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
925 *
926 * ZSYSV
927 *
928 SRNAMT = 'ZSYSV '
929 INFOT = 1
930 CALL ZSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
931 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
932 INFOT = 2
933 CALL ZSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
934 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
935 INFOT = 3
936 CALL ZSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
937 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
938 INFOT = 8
939 CALL ZSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
940 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
941 *
942 * ZSYSVX
943 *
944 SRNAMT = 'ZSYSVX'
945 INFOT = 1
946 CALL ZSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
947 $ RCOND, R1, R2, W, 1, RW, INFO )
948 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
949 INFOT = 2
950 CALL ZSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
951 $ RCOND, R1, R2, W, 1, RW, INFO )
952 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
953 INFOT = 3
954 CALL ZSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
955 $ RCOND, R1, R2, W, 1, RW, INFO )
956 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
957 INFOT = 4
958 CALL ZSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
959 $ RCOND, R1, R2, W, 1, RW, INFO )
960 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
961 INFOT = 6
962 CALL ZSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
963 $ RCOND, R1, R2, W, 4, RW, INFO )
964 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
965 INFOT = 8
966 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
967 $ RCOND, R1, R2, W, 4, RW, INFO )
968 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
969 INFOT = 11
970 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
971 $ RCOND, R1, R2, W, 4, RW, INFO )
972 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
973 INFOT = 13
974 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
975 $ RCOND, R1, R2, W, 4, RW, INFO )
976 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
977 INFOT = 18
978 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
979 $ RCOND, R1, R2, W, 3, RW, INFO )
980 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
981 *
982 * ZSYSVXX
983 *
984 N_ERR_BNDS = 3
985 NPARAMS = 0
986 SRNAMT = 'ZSYSVXX'
987 INFOT = 1
988 EQ = 'N'
989 CALL ZSYSVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
990 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
991 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
992 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
993 INFOT = 2
994 CALL ZSYSVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
995 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
996 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
997 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
998 INFOT = 3
999 CALL ZSYSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
1000 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1001 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1002 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1003 INFOT = 4
1004 EQ = '/'
1005 CALL ZSYSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, R, B, 1, X,
1006 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1007 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1008 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1009 EQ = 'Y'
1010 INFOT = 6
1011 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, R, B, 2, X,
1012 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1013 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1014 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1015 INFOT = 8
1016 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, R, B, 2, X,
1017 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1018 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1019 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1020 INFOT = 12
1021 EQ = 'N'
1022 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 1, X,
1023 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1024 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1025 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1026 INFOT = 14
1027 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X,
1028 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1029 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1030 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1031 *
1032 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
1033 *
1034 * ZSPSV
1035 *
1036 SRNAMT = 'ZSPSV '
1037 INFOT = 1
1038 CALL ZSPSV( '/', 0, 0, A, IP, B, 1, INFO )
1039 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
1040 INFOT = 2
1041 CALL ZSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
1042 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
1043 INFOT = 3
1044 CALL ZSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
1045 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
1046 INFOT = 7
1047 CALL ZSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
1048 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
1049 *
1050 * ZSPSVX
1051 *
1052 SRNAMT = 'ZSPSVX'
1053 INFOT = 1
1054 CALL ZSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
1055 $ R2, W, RW, INFO )
1056 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1057 INFOT = 2
1058 CALL ZSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
1059 $ R2, W, RW, INFO )
1060 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1061 INFOT = 3
1062 CALL ZSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
1063 $ R2, W, RW, INFO )
1064 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1065 INFOT = 4
1066 CALL ZSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
1067 $ R2, W, RW, INFO )
1068 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1069 INFOT = 9
1070 CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
1071 $ R2, W, RW, INFO )
1072 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1073 INFOT = 11
1074 CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
1075 $ R2, W, RW, INFO )
1076 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1077 END IF
1078 *
1079 * Print a summary line.
1080 *
1081 IF( OK ) THEN
1082 WRITE( NOUT, FMT = 9999 )PATH
1083 ELSE
1084 WRITE( NOUT, FMT = 9998 )PATH
1085 END IF
1086 *
1087 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
1088 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
1089 $ 'exits ***' )
1090 *
1091 RETURN
1092 *
1093 * End of ZERRVX
1094 *
1095 END
2 *
3 * -- LAPACK test routine (version 3.2.1) --
4 *
5 * -- April 2009 --
6 *
7 * -- LAPACK is a software package provided by Univ. of Tennessee, --
8 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
9 *
10 * .. Scalar Arguments ..
11 CHARACTER*3 PATH
12 INTEGER NUNIT
13 * ..
14 *
15 * Purpose
16 * =======
17 *
18 * ZERRVX tests the error exits for the COMPLEX*16 driver routines
19 * for solving linear systems of equations.
20 *
21 * Arguments
22 * =========
23 *
24 * PATH (input) CHARACTER*3
25 * The LAPACK path name for the routines to be tested.
26 *
27 * NUNIT (input) INTEGER
28 * The unit number for output.
29 *
30 * =====================================================================
31 *
32 * .. Parameters ..
33 INTEGER NMAX
34 PARAMETER ( NMAX = 4 )
35 * ..
36 * .. Local Scalars ..
37 CHARACTER EQ
38 CHARACTER*2 C2
39 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
40 DOUBLE PRECISION RCOND, RPVGRW, BERR
41 * ..
42 * .. Local Arrays ..
43 INTEGER IP( NMAX )
44 DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
45 $ RF( NMAX ), RW( NMAX ), ERR_BNDS_N( NMAX, 3 ),
46 $ ERR_BNDS_C( NMAX, 3 ), PARAMS
47 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
48 $ W( 2*NMAX ), X( NMAX )
49 * ..
50 * .. External Functions ..
51 LOGICAL LSAMEN
52 EXTERNAL LSAMEN
53 * ..
54 * .. External Subroutines ..
55 EXTERNAL CHKXER, ZGBSV, ZGBSVX, ZGESV, ZGESVX, ZGTSV,
56 $ ZGTSVX, ZHESV, ZHESVX, ZHPSV, ZHPSVX, ZPBSV,
57 $ ZPBSVX, ZPOSV, ZPOSVX, ZPPSV, ZPPSVX, ZPTSV,
58 $ ZPTSVX, ZSPSV, ZSPSVX, ZSYSV, ZSYSVX, ZGESVXX,
59 $ ZSYSVXX, ZPOSVXX, ZHESVXX, ZGBSVXX
60 * ..
61 * .. Scalars in Common ..
62 LOGICAL LERR, OK
63 CHARACTER*32 SRNAMT
64 INTEGER INFOT, NOUT
65 * ..
66 * .. Common blocks ..
67 COMMON / INFOC / INFOT, NOUT, OK, LERR
68 COMMON / SRNAMC / SRNAMT
69 * ..
70 * .. Intrinsic Functions ..
71 INTRINSIC DBLE, DCMPLX
72 * ..
73 * .. Executable Statements ..
74 *
75 NOUT = NUNIT
76 WRITE( NOUT, FMT = * )
77 C2 = PATH( 2: 3 )
78 *
79 * Set the variables to innocuous values.
80 *
81 DO 20 J = 1, NMAX
82 DO 10 I = 1, NMAX
83 A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
84 $ -1.D0 / DBLE( I+J ) )
85 AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
86 $ -1.D0 / DBLE( I+J ) )
87 10 CONTINUE
88 B( J ) = 0.D0
89 R1( J ) = 0.D0
90 R2( J ) = 0.D0
91 W( J ) = 0.D0
92 X( J ) = 0.D0
93 C( J ) = 0.D0
94 R( J ) = 0.D0
95 IP( J ) = J
96 20 CONTINUE
97 EQ = ' '
98 OK = .TRUE.
99 *
100 IF( LSAMEN( 2, C2, 'GE' ) ) THEN
101 *
102 * ZGESV
103 *
104 SRNAMT = 'ZGESV '
105 INFOT = 1
106 CALL ZGESV( -1, 0, A, 1, IP, B, 1, INFO )
107 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
108 INFOT = 2
109 CALL ZGESV( 0, -1, A, 1, IP, B, 1, INFO )
110 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
111 INFOT = 4
112 CALL ZGESV( 2, 1, A, 1, IP, B, 2, INFO )
113 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
114 INFOT = 7
115 CALL ZGESV( 2, 1, A, 2, IP, B, 1, INFO )
116 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
117 *
118 * ZGESVX
119 *
120 SRNAMT = 'ZGESVX'
121 INFOT = 1
122 CALL ZGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
123 $ X, 1, RCOND, R1, R2, W, RW, INFO )
124 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
125 INFOT = 2
126 CALL ZGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
127 $ X, 1, RCOND, R1, R2, W, RW, INFO )
128 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
129 INFOT = 3
130 CALL ZGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
131 $ X, 1, RCOND, R1, R2, W, RW, INFO )
132 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
133 INFOT = 4
134 CALL ZGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
135 $ X, 1, RCOND, R1, R2, W, RW, INFO )
136 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
137 INFOT = 6
138 CALL ZGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
139 $ X, 2, RCOND, R1, R2, W, RW, INFO )
140 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
141 INFOT = 8
142 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
143 $ X, 2, RCOND, R1, R2, W, RW, INFO )
144 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
145 INFOT = 10
146 EQ = '/'
147 CALL ZGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
148 $ X, 1, RCOND, R1, R2, W, RW, INFO )
149 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
150 INFOT = 11
151 EQ = 'R'
152 CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
153 $ X, 1, RCOND, R1, R2, W, RW, INFO )
154 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
155 INFOT = 12
156 EQ = 'C'
157 CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
158 $ X, 1, RCOND, R1, R2, W, RW, INFO )
159 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
160 INFOT = 14
161 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
162 $ X, 2, RCOND, R1, R2, W, RW, INFO )
163 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
164 INFOT = 16
165 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
166 $ X, 1, RCOND, R1, R2, W, RW, INFO )
167 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
168 *
169 * ZGESVXX
170 *
171 N_ERR_BNDS = 3
172 NPARAMS = 0
173 SRNAMT = 'ZGESVXX'
174 INFOT = 1
175 CALL ZGESVXX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
176 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
177 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
178 $ INFO )
179 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
180 INFOT = 2
181 CALL ZGESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
182 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
183 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
184 $ INFO )
185 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
186 INFOT = 3
187 CALL ZGESVXX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
188 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
189 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
190 $ INFO )
191 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
192 INFOT = 4
193 CALL ZGESVXX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B,
194 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
195 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
196 $ INFO )
197 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
198 INFOT = 6
199 CALL ZGESVXX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B,
200 $ 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
201 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
202 $ INFO )
203 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
204 INFOT = 8
205 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B,
206 $ 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
207 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
208 $ INFO )
209 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
210 INFOT = 10
211 EQ = '/'
212 CALL ZGESVXX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
213 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
214 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
215 $ INFO )
216 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
217 INFOT = 11
218 EQ = 'R'
219 CALL ZGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
220 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
221 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
222 $ INFO )
223 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
224 INFOT = 12
225 EQ = 'C'
226 CALL ZGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
227 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
228 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
229 $ INFO )
230 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
231 INFOT = 14
232 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B,
233 $ 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
234 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
235 $ INFO )
236 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
237 INFOT = 16
238 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B,
239 $ 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
240 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
241 $ INFO )
242 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
243 *
244 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
245 *
246 * ZGBSV
247 *
248 SRNAMT = 'ZGBSV '
249 INFOT = 1
250 CALL ZGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
251 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
252 INFOT = 2
253 CALL ZGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
254 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
255 INFOT = 3
256 CALL ZGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
257 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
258 INFOT = 4
259 CALL ZGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
260 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
261 INFOT = 6
262 CALL ZGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
263 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
264 INFOT = 9
265 CALL ZGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
266 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
267 *
268 * ZGBSVX
269 *
270 SRNAMT = 'ZGBSVX'
271 INFOT = 1
272 CALL ZGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
273 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
274 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
275 INFOT = 2
276 CALL ZGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
277 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
278 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
279 INFOT = 3
280 CALL ZGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
281 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
282 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
283 INFOT = 4
284 CALL ZGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
285 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
286 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
287 INFOT = 5
288 CALL ZGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
289 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
290 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
291 INFOT = 6
292 CALL ZGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
293 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
294 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
295 INFOT = 8
296 CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
297 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
298 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
299 INFOT = 10
300 CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
301 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
302 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
303 INFOT = 12
304 EQ = '/'
305 CALL ZGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
306 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
307 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
308 INFOT = 13
309 EQ = 'R'
310 CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
311 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
312 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
313 INFOT = 14
314 EQ = 'C'
315 CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
316 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
317 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
318 INFOT = 16
319 CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
320 $ B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
321 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
322 INFOT = 18
323 CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
324 $ B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
325 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
326 *
327 * ZGBSVXX
328 *
329 N_ERR_BNDS = 3
330 NPARAMS = 0
331 SRNAMT = 'ZGBSVXX'
332 INFOT = 1
333 CALL ZGBSVXX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
334 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
335 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
336 $ INFO )
337 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
338 INFOT = 2
339 CALL ZGBSVXX( 'N', '/', 0, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
340 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
341 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
342 $ INFO )
343 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
344 INFOT = 3
345 CALL ZGBSVXX( 'N', 'N', -1, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
346 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
347 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
348 $ INFO )
349 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
350 INFOT = 4
351 CALL ZGBSVXX( 'N', 'N', 2, -1, 1, 0, A, 1, AF, 1, IP, EQ,
352 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
353 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
354 $ INFO )
355 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
356 INFOT = 5
357 CALL ZGBSVXX( 'N', 'N', 2, 1, -1, 0, A, 1, AF, 1, IP, EQ,
358 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
359 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
360 $ INFO )
361 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
362 INFOT = 6
363 CALL ZGBSVXX( 'N', 'N', 0, 1, 1, -1, A, 1, AF, 1, IP, EQ, R, C,
364 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
365 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
366 $ INFO )
367 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
368 INFOT = 8
369 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 2, AF, 2, IP, EQ, R, C,
370 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
371 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
372 $ INFO )
373 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
374 INFOT = 10
375 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, EQ, R, C,
376 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
377 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
378 $ INFO )
379 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
380 INFOT = 12
381 EQ = '/'
382 CALL ZGBSVXX( 'F', 'N', 0, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
383 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
384 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
385 $ INFO )
386 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
387 INFOT = 13
388 EQ = 'R'
389 CALL ZGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
390 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
391 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
392 $ INFO )
393 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
394 INFOT = 14
395 EQ = 'C'
396 CALL ZGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
397 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
398 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
399 $ INFO )
400 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
401 INFOT = 15
402 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
403 $ B, 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
404 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
405 $ INFO )
406 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
407 INFOT = 16
408 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
409 $ B, 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
410 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
411 $ INFO )
412 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
413 *
414 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
415 *
416 * ZGTSV
417 *
418 SRNAMT = 'ZGTSV '
419 INFOT = 1
420 CALL ZGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
421 $ INFO )
422 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
423 INFOT = 2
424 CALL ZGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
425 $ INFO )
426 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
427 INFOT = 7
428 CALL ZGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
429 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
430 *
431 * ZGTSVX
432 *
433 SRNAMT = 'ZGTSVX'
434 INFOT = 1
435 CALL ZGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
436 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
437 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
438 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
439 INFOT = 2
440 CALL ZGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
441 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
442 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
443 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
444 INFOT = 3
445 CALL ZGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
446 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
447 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
448 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
449 INFOT = 4
450 CALL ZGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
451 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
452 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
453 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
454 INFOT = 14
455 CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
456 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
457 $ IP, B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
458 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
459 INFOT = 16
460 CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
461 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
462 $ IP, B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
463 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
464 *
465 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
466 *
467 * ZPOSV
468 *
469 SRNAMT = 'ZPOSV '
470 INFOT = 1
471 CALL ZPOSV( '/', 0, 0, A, 1, B, 1, INFO )
472 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
473 INFOT = 2
474 CALL ZPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
475 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
476 INFOT = 3
477 CALL ZPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
478 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
479 INFOT = 5
480 CALL ZPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
481 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
482 INFOT = 7
483 CALL ZPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
484 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
485 *
486 * ZPOSVX
487 *
488 SRNAMT = 'ZPOSVX'
489 INFOT = 1
490 CALL ZPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
491 $ RCOND, R1, R2, W, RW, INFO )
492 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
493 INFOT = 2
494 CALL ZPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
495 $ RCOND, R1, R2, W, RW, INFO )
496 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
497 INFOT = 3
498 CALL ZPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
499 $ RCOND, R1, R2, W, RW, INFO )
500 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
501 INFOT = 4
502 CALL ZPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
503 $ RCOND, R1, R2, W, RW, INFO )
504 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
505 INFOT = 6
506 CALL ZPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
507 $ RCOND, R1, R2, W, RW, INFO )
508 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
509 INFOT = 8
510 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
511 $ RCOND, R1, R2, W, RW, INFO )
512 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
513 INFOT = 9
514 EQ = '/'
515 CALL ZPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
516 $ RCOND, R1, R2, W, RW, INFO )
517 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
518 INFOT = 10
519 EQ = 'Y'
520 CALL ZPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
521 $ RCOND, R1, R2, W, RW, INFO )
522 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
523 INFOT = 12
524 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
525 $ RCOND, R1, R2, W, RW, INFO )
526 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
527 INFOT = 14
528 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
529 $ RCOND, R1, R2, W, RW, INFO )
530 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
531 *
532 * ZPOSVXX
533 *
534 N_ERR_BNDS = 3
535 NPARAMS = 0
536 SRNAMT = 'ZPOSVXX'
537 INFOT = 1
538 CALL ZPOSVXX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
539 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
540 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
541 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
542 INFOT = 2
543 CALL ZPOSVXX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
544 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
545 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
546 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
547 INFOT = 3
548 CALL ZPOSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
549 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
550 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
551 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
552 INFOT = 4
553 CALL ZPOSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
554 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
555 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
556 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
557 INFOT = 6
558 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
559 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
560 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
561 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
562 INFOT = 8
563 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
564 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
565 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
566 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
567 INFOT = 9
568 EQ = '/'
569 CALL ZPOSVXX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
570 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
571 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
572 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
573 INFOT = 10
574 EQ = 'Y'
575 CALL ZPOSVXX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
576 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
577 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
578 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
579 INFOT = 12
580 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
581 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
582 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
583 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
584 INFOT = 14
585 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
586 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
587 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
588 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
589 *
590 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
591 *
592 * ZPPSV
593 *
594 SRNAMT = 'ZPPSV '
595 INFOT = 1
596 CALL ZPPSV( '/', 0, 0, A, B, 1, INFO )
597 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
598 INFOT = 2
599 CALL ZPPSV( 'U', -1, 0, A, B, 1, INFO )
600 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
601 INFOT = 3
602 CALL ZPPSV( 'U', 0, -1, A, B, 1, INFO )
603 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
604 INFOT = 6
605 CALL ZPPSV( 'U', 2, 0, A, B, 1, INFO )
606 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
607 *
608 * ZPPSVX
609 *
610 SRNAMT = 'ZPPSVX'
611 INFOT = 1
612 CALL ZPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
613 $ R1, R2, W, RW, INFO )
614 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
615 INFOT = 2
616 CALL ZPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
617 $ R1, R2, W, RW, INFO )
618 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
619 INFOT = 3
620 CALL ZPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
621 $ R1, R2, W, RW, INFO )
622 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
623 INFOT = 4
624 CALL ZPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
625 $ R1, R2, W, RW, INFO )
626 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
627 INFOT = 7
628 EQ = '/'
629 CALL ZPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
630 $ R1, R2, W, RW, INFO )
631 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
632 INFOT = 8
633 EQ = 'Y'
634 CALL ZPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
635 $ R1, R2, W, RW, INFO )
636 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
637 INFOT = 10
638 CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
639 $ R1, R2, W, RW, INFO )
640 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
641 INFOT = 12
642 CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
643 $ R1, R2, W, RW, INFO )
644 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
645 *
646 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
647 *
648 * ZPBSV
649 *
650 SRNAMT = 'ZPBSV '
651 INFOT = 1
652 CALL ZPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
653 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
654 INFOT = 2
655 CALL ZPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
656 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
657 INFOT = 3
658 CALL ZPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
659 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
660 INFOT = 4
661 CALL ZPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
662 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
663 INFOT = 6
664 CALL ZPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
665 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
666 INFOT = 8
667 CALL ZPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
668 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
669 *
670 * ZPBSVX
671 *
672 SRNAMT = 'ZPBSVX'
673 INFOT = 1
674 CALL ZPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
675 $ RCOND, R1, R2, W, RW, INFO )
676 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
677 INFOT = 2
678 CALL ZPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
679 $ RCOND, R1, R2, W, RW, INFO )
680 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
681 INFOT = 3
682 CALL ZPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
683 $ 1, RCOND, R1, R2, W, RW, INFO )
684 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
685 INFOT = 4
686 CALL ZPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
687 $ 1, RCOND, R1, R2, W, RW, INFO )
688 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
689 INFOT = 5
690 CALL ZPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
691 $ 1, RCOND, R1, R2, W, RW, INFO )
692 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
693 INFOT = 7
694 CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
695 $ RCOND, R1, R2, W, RW, INFO )
696 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
697 INFOT = 9
698 CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
699 $ RCOND, R1, R2, W, RW, INFO )
700 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
701 INFOT = 10
702 EQ = '/'
703 CALL ZPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
704 $ RCOND, R1, R2, W, RW, INFO )
705 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
706 INFOT = 11
707 EQ = 'Y'
708 CALL ZPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
709 $ RCOND, R1, R2, W, RW, INFO )
710 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
711 INFOT = 13
712 CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
713 $ RCOND, R1, R2, W, RW, INFO )
714 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
715 INFOT = 15
716 CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
717 $ RCOND, R1, R2, W, RW, INFO )
718 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
719 *
720 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
721 *
722 * ZPTSV
723 *
724 SRNAMT = 'ZPTSV '
725 INFOT = 1
726 CALL ZPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO )
727 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
728 INFOT = 2
729 CALL ZPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO )
730 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
731 INFOT = 6
732 CALL ZPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO )
733 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
734 *
735 * ZPTSVX
736 *
737 SRNAMT = 'ZPTSVX'
738 INFOT = 1
739 CALL ZPTSVX( '/', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
740 $ 1, RCOND, R1, R2, W, RW, INFO )
741 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
742 INFOT = 2
743 CALL ZPTSVX( 'N', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
744 $ 1, RCOND, R1, R2, W, RW, INFO )
745 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
746 INFOT = 3
747 CALL ZPTSVX( 'N', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
748 $ 1, RCOND, R1, R2, W, RW, INFO )
749 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
750 INFOT = 9
751 CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
752 $ 2, RCOND, R1, R2, W, RW, INFO )
753 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
754 INFOT = 11
755 CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X,
756 $ 1, RCOND, R1, R2, W, RW, INFO )
757 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
758 *
759 ELSE IF( LSAMEN( 2, C2, 'HE' ) ) THEN
760 *
761 * ZHESV
762 *
763 SRNAMT = 'ZHESV '
764 INFOT = 1
765 CALL ZHESV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
766 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
767 INFOT = 2
768 CALL ZHESV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
769 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
770 INFOT = 3
771 CALL ZHESV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
772 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
773 INFOT = 5
774 CALL ZHESV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
775 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
776 INFOT = 8
777 CALL ZHESV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
778 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
779 *
780 * ZHESVX
781 *
782 SRNAMT = 'ZHESVX'
783 INFOT = 1
784 CALL ZHESVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
785 $ RCOND, R1, R2, W, 1, RW, INFO )
786 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
787 INFOT = 2
788 CALL ZHESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
789 $ RCOND, R1, R2, W, 1, RW, INFO )
790 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
791 INFOT = 3
792 CALL ZHESVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
793 $ RCOND, R1, R2, W, 1, RW, INFO )
794 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
795 INFOT = 4
796 CALL ZHESVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
797 $ RCOND, R1, R2, W, 1, RW, INFO )
798 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
799 INFOT = 6
800 CALL ZHESVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
801 $ RCOND, R1, R2, W, 4, RW, INFO )
802 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
803 INFOT = 8
804 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
805 $ RCOND, R1, R2, W, 4, RW, INFO )
806 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
807 INFOT = 11
808 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
809 $ RCOND, R1, R2, W, 4, RW, INFO )
810 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
811 INFOT = 13
812 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
813 $ RCOND, R1, R2, W, 4, RW, INFO )
814 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
815 INFOT = 18
816 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
817 $ RCOND, R1, R2, W, 3, RW, INFO )
818 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
819 *
820 * ZHESVXX
821 *
822 N_ERR_BNDS = 3
823 NPARAMS = 0
824 SRNAMT = 'ZHESVXX'
825 INFOT = 1
826 CALL ZHESVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
827 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
828 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
829 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
830 INFOT = 2
831 CALL ZHESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
832 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
833 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
834 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
835 INFOT = 3
836 CALL ZHESVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
837 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
838 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
839 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
840 INFOT = 4
841 CALL ZHESVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, C, B, 1, X,
842 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
843 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
844 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
845 INFOT = 6
846 CALL ZHESVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, C, B, 2, X,
847 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
848 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
849 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
850 INFOT = 8
851 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, C, B, 2, X,
852 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
853 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
854 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
855 INFOT = 9
856 EQ = '/'
857 CALL ZHESVXX( 'F', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
858 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
859 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
860 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
861 INFOT = 10
862 EQ = 'Y'
863 CALL ZHESVXX( 'F', 'U', 1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
864 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
865 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
866 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
867 INFOT = 12
868 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 1, X,
869 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
870 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
871 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
872 INFOT = 14
873 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 2, X,
874 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
875 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
876 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
877 *
878 ELSE IF( LSAMEN( 2, C2, 'HP' ) ) THEN
879 *
880 * ZHPSV
881 *
882 SRNAMT = 'ZHPSV '
883 INFOT = 1
884 CALL ZHPSV( '/', 0, 0, A, IP, B, 1, INFO )
885 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
886 INFOT = 2
887 CALL ZHPSV( 'U', -1, 0, A, IP, B, 1, INFO )
888 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
889 INFOT = 3
890 CALL ZHPSV( 'U', 0, -1, A, IP, B, 1, INFO )
891 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
892 INFOT = 7
893 CALL ZHPSV( 'U', 2, 0, A, IP, B, 1, INFO )
894 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
895 *
896 * ZHPSVX
897 *
898 SRNAMT = 'ZHPSVX'
899 INFOT = 1
900 CALL ZHPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
901 $ R2, W, RW, INFO )
902 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
903 INFOT = 2
904 CALL ZHPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
905 $ R2, W, RW, INFO )
906 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
907 INFOT = 3
908 CALL ZHPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
909 $ R2, W, RW, INFO )
910 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
911 INFOT = 4
912 CALL ZHPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
913 $ R2, W, RW, INFO )
914 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
915 INFOT = 9
916 CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
917 $ R2, W, RW, INFO )
918 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
919 INFOT = 11
920 CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
921 $ R2, W, RW, INFO )
922 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
923 *
924 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
925 *
926 * ZSYSV
927 *
928 SRNAMT = 'ZSYSV '
929 INFOT = 1
930 CALL ZSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
931 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
932 INFOT = 2
933 CALL ZSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
934 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
935 INFOT = 3
936 CALL ZSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
937 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
938 INFOT = 8
939 CALL ZSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
940 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
941 *
942 * ZSYSVX
943 *
944 SRNAMT = 'ZSYSVX'
945 INFOT = 1
946 CALL ZSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
947 $ RCOND, R1, R2, W, 1, RW, INFO )
948 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
949 INFOT = 2
950 CALL ZSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
951 $ RCOND, R1, R2, W, 1, RW, INFO )
952 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
953 INFOT = 3
954 CALL ZSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
955 $ RCOND, R1, R2, W, 1, RW, INFO )
956 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
957 INFOT = 4
958 CALL ZSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
959 $ RCOND, R1, R2, W, 1, RW, INFO )
960 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
961 INFOT = 6
962 CALL ZSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
963 $ RCOND, R1, R2, W, 4, RW, INFO )
964 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
965 INFOT = 8
966 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
967 $ RCOND, R1, R2, W, 4, RW, INFO )
968 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
969 INFOT = 11
970 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
971 $ RCOND, R1, R2, W, 4, RW, INFO )
972 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
973 INFOT = 13
974 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
975 $ RCOND, R1, R2, W, 4, RW, INFO )
976 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
977 INFOT = 18
978 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
979 $ RCOND, R1, R2, W, 3, RW, INFO )
980 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
981 *
982 * ZSYSVXX
983 *
984 N_ERR_BNDS = 3
985 NPARAMS = 0
986 SRNAMT = 'ZSYSVXX'
987 INFOT = 1
988 EQ = 'N'
989 CALL ZSYSVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
990 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
991 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
992 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
993 INFOT = 2
994 CALL ZSYSVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
995 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
996 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
997 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
998 INFOT = 3
999 CALL ZSYSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
1000 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1001 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1002 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1003 INFOT = 4
1004 EQ = '/'
1005 CALL ZSYSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, R, B, 1, X,
1006 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1007 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1008 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1009 EQ = 'Y'
1010 INFOT = 6
1011 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, R, B, 2, X,
1012 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1013 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1014 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1015 INFOT = 8
1016 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, R, B, 2, X,
1017 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1018 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1019 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1020 INFOT = 12
1021 EQ = 'N'
1022 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 1, X,
1023 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1024 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1025 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1026 INFOT = 14
1027 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X,
1028 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
1029 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
1030 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
1031 *
1032 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
1033 *
1034 * ZSPSV
1035 *
1036 SRNAMT = 'ZSPSV '
1037 INFOT = 1
1038 CALL ZSPSV( '/', 0, 0, A, IP, B, 1, INFO )
1039 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
1040 INFOT = 2
1041 CALL ZSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
1042 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
1043 INFOT = 3
1044 CALL ZSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
1045 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
1046 INFOT = 7
1047 CALL ZSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
1048 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
1049 *
1050 * ZSPSVX
1051 *
1052 SRNAMT = 'ZSPSVX'
1053 INFOT = 1
1054 CALL ZSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
1055 $ R2, W, RW, INFO )
1056 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1057 INFOT = 2
1058 CALL ZSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
1059 $ R2, W, RW, INFO )
1060 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1061 INFOT = 3
1062 CALL ZSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
1063 $ R2, W, RW, INFO )
1064 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1065 INFOT = 4
1066 CALL ZSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
1067 $ R2, W, RW, INFO )
1068 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1069 INFOT = 9
1070 CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
1071 $ R2, W, RW, INFO )
1072 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1073 INFOT = 11
1074 CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
1075 $ R2, W, RW, INFO )
1076 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
1077 END IF
1078 *
1079 * Print a summary line.
1080 *
1081 IF( OK ) THEN
1082 WRITE( NOUT, FMT = 9999 )PATH
1083 ELSE
1084 WRITE( NOUT, FMT = 9998 )PATH
1085 END IF
1086 *
1087 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
1088 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
1089 $ 'exits ***' )
1090 *
1091 RETURN
1092 *
1093 * End of ZERRVX
1094 *
1095 END