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