LAPACK  3.5.0
LAPACK: Linear Algebra PACKage
 All Classes Files Functions Variables Typedefs Macros
cerrvxx.f
Go to the documentation of this file.
1 *> \brief \b CERRVXX
2 *
3 * =========== DOCUMENTATION ===========
4 *
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
7 *
8 * Definition:
9 * ===========
10 *
11 * SUBROUTINE CERRVX( PATH, NUNIT )
12 *
13 * .. Scalar Arguments ..
14 * CHARACTER*3 PATH
15 * INTEGER NUNIT
16 * ..
17 *
18 *
19 *> \par Purpose:
20 * =============
21 *>
22 *> \verbatim
23 *>
24 *> CERRVX tests the error exits for the COMPLEX driver routines
25 *> for solving linear systems of equations.
26 *> \endverbatim
27 *
28 * Arguments:
29 * ==========
30 *
31 *> \param[in] PATH
32 *> \verbatim
33 *> PATH is CHARACTER*3
34 *> The LAPACK path name for the routines to be tested.
35 *> \endverbatim
36 *>
37 *> \param[in] NUNIT
38 *> \verbatim
39 *> NUNIT is INTEGER
40 *> The unit number for output.
41 *> \endverbatim
42 *
43 * Authors:
44 * ========
45 *
46 *> \author Univ. of Tennessee
47 *> \author Univ. of California Berkeley
48 *> \author Univ. of Colorado Denver
49 *> \author NAG Ltd.
50 *
51 *> \date November 2013
52 *
53 *> \ingroup complex_lin
54 *
55 * =====================================================================
56  SUBROUTINE cerrvx( PATH, NUNIT )
57 *
58 * -- LAPACK test routine (version 3.5.0) --
59 * -- LAPACK is a software package provided by Univ. of Tennessee, --
60 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
61 * November 2013
62 *
63 * .. Scalar Arguments ..
64  CHARACTER*3 path
65  INTEGER nunit
66 * ..
67 *
68 * =====================================================================
69 *
70 * .. Parameters ..
71  INTEGER nmax
72  parameter( nmax = 4 )
73 * ..
74 * .. Local Scalars ..
75  CHARACTER eq
76  CHARACTER*2 c2
77  INTEGER i, info, j, n_err_bnds, nparams
78  REAL rcond, rpvgrw, berr
79 * ..
80 * .. Local Arrays ..
81  INTEGER ip( nmax )
82  REAL c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
83  $ rf( nmax ), rw( nmax ), err_bnds_n( nmax, 3 ),
84  $ err_bnds_c( nmax, 3 ), params( 1 )
85  COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
86  $ w( 2*nmax ), x( nmax )
87 * ..
88 * .. External Functions ..
89  LOGICAL lsamen
90  EXTERNAL lsamen
91 * ..
92 * .. External Subroutines ..
93  EXTERNAL cgbsv, cgbsvx, cgesv, cgesvx, cgtsv, cgtsvx,
98  $ chesvxx, cgbsvxx
99 * ..
100 * .. Scalars in Common ..
101  LOGICAL lerr, ok
102  CHARACTER*32 srnamt
103  INTEGER infot, nout
104 * ..
105 * .. Common blocks ..
106  COMMON / infoc / infot, nout, ok, lerr
107  COMMON / srnamc / srnamt
108 * ..
109 * .. Intrinsic Functions ..
110  INTRINSIC cmplx, real
111 * ..
112 * .. Executable Statements ..
113 *
114  nout = nunit
115  WRITE( nout, fmt = * )
116  c2 = path( 2: 3 )
117 *
118 * Set the variables to innocuous values.
119 *
120  DO 20 j = 1, nmax
121  DO 10 i = 1, nmax
122  a( i, j ) = cmplx( 1. / REAL( I+J ), -1. / REAL( I+J ) )
123  af( i, j ) = cmplx( 1. / REAL( I+J ), -1. / REAL( I+J ) )
124  10 CONTINUE
125  b( j ) = 0.
126  r1( j ) = 0.
127  r2( j ) = 0.
128  w( j ) = 0.
129  x( j ) = 0.
130  c( j ) = 0.
131  r( j ) = 0.
132  ip( j ) = j
133  20 CONTINUE
134  eq = ' '
135  ok = .true.
136 *
137  IF( lsamen( 2, c2, 'GE' ) ) THEN
138 *
139 * CGESV
140 *
141  srnamt = 'CGESV '
142  infot = 1
143  CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
144  CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
145  infot = 2
146  CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
147  CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
148  infot = 4
149  CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
150  CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
151  infot = 7
152  CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
153  CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
154 *
155 * CGESVX
156 *
157  srnamt = 'CGESVX'
158  infot = 1
159  CALL cgesvx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
160  $ x, 1, rcond, r1, r2, w, rw, info )
161  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
162  infot = 2
163  CALL cgesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
164  $ x, 1, rcond, r1, r2, w, rw, info )
165  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
166  infot = 3
167  CALL cgesvx( 'N', 'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
168  $ x, 1, rcond, r1, r2, w, rw, info )
169  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
170  infot = 4
171  CALL cgesvx( 'N', 'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
172  $ x, 1, rcond, r1, r2, w, rw, info )
173  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
174  infot = 6
175  CALL cgesvx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
176  $ x, 2, rcond, r1, r2, w, rw, info )
177  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
178  infot = 8
179  CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
180  $ x, 2, rcond, r1, r2, w, rw, info )
181  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
182  infot = 10
183  eq = '/'
184  CALL cgesvx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
185  $ x, 1, rcond, r1, r2, w, rw, info )
186  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
187  infot = 11
188  eq = 'R'
189  CALL cgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
190  $ x, 1, rcond, r1, r2, w, rw, info )
191  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
192  infot = 12
193  eq = 'C'
194  CALL cgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
195  $ x, 1, rcond, r1, r2, w, rw, info )
196  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
197  infot = 14
198  CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
199  $ x, 2, rcond, r1, r2, w, rw, info )
200  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
201  infot = 16
202  CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
203  $ x, 1, rcond, r1, r2, w, rw, info )
204  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
205 *
206 * CGESVXX
207 *
208  n_err_bnds = 3
209  nparams = 1
210  srnamt = 'CGESVXX'
211  infot = 1
212  CALL cgesvxx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
213  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
214  $ err_bnds_c, nparams, params, w, rw, info )
215  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
216  infot = 2
217  CALL cgesvxx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
218  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
219  $ err_bnds_c, nparams, params, w, rw, info )
220  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
221  infot = 3
222  CALL cgesvxx( 'N', 'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
223  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
224  $ err_bnds_c, nparams, params, w, rw, info )
225  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
226  infot = 4
227  CALL cgesvxx( 'N', 'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
228  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
229  $ err_bnds_c, nparams, params, w, rw, info )
230  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
231  infot = 6
232  CALL cgesvxx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
233  $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
234  $ err_bnds_c, nparams, params, w, rw, info )
235  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
236  infot = 8
237  CALL cgesvxx( 'N', 'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
238  $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
239  $ err_bnds_c, nparams, params, w, rw, info )
240  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
241  infot = 10
242  eq = '/'
243  CALL cgesvxx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
244  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
245  $ err_bnds_c, nparams, params, w, rw, info )
246  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
247  infot = 11
248  eq = 'R'
249  CALL cgesvxx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
250  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
251  $ err_bnds_c, nparams, params, w, rw, info )
252  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
253  infot = 12
254  eq = 'C'
255  CALL cgesvxx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
256  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
257  $ err_bnds_c, nparams, params, w, rw, info )
258  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
259  infot = 14
260  CALL cgesvxx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
261  $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
262  $ err_bnds_c, nparams, params, w, rw, info )
263  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
264  infot = 16
265  CALL cgesvxx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
266  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
267  $ err_bnds_c, nparams, params, w, rw, info )
268  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
269 *
270  ELSE IF( lsamen( 2, c2, 'GB' ) ) THEN
271 *
272 * CGBSV
273 *
274  srnamt = 'CGBSV '
275  infot = 1
276  CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
277  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
278  infot = 2
279  CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
280  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
281  infot = 3
282  CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
283  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
284  infot = 4
285  CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
286  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
287  infot = 6
288  CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
289  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
290  infot = 9
291  CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
292  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
293 *
294 * CGBSVX
295 *
296  srnamt = 'CGBSVX'
297  infot = 1
298  CALL cgbsvx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
299  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
300  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
301  infot = 2
302  CALL cgbsvx( 'N', '/', 0, 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 = 3
306  CALL cgbsvx( 'N', 'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
307  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
308  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
309  infot = 4
310  CALL cgbsvx( 'N', 'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
311  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
312  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
313  infot = 5
314  CALL cgbsvx( 'N', 'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
315  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
316  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
317  infot = 6
318  CALL cgbsvx( 'N', 'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
319  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
320  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
321  infot = 8
322  CALL cgbsvx( 'N', 'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
323  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
324  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
325  infot = 10
326  CALL cgbsvx( 'N', 'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
327  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
328  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
329  infot = 12
330  eq = '/'
331  CALL cgbsvx( 'F', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
332  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
333  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
334  infot = 13
335  eq = 'R'
336  CALL cgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
337  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
338  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
339  infot = 14
340  eq = 'C'
341  CALL cgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
342  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
343  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
344  infot = 16
345  CALL cgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
346  $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
347  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
348  infot = 18
349  CALL cgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
350  $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
351  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
352 *
353 * CGBSVXX
354 *
355  n_err_bnds = 3
356  nparams = 1
357  srnamt = 'CGBSVXX'
358  infot = 1
359  CALL cgbsvxx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
360  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
361  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
362  $ info )
363  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
364  infot = 2
365  CALL cgbsvxx( 'N', '/', 0, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
366  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
367  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
368  $ info )
369  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
370  infot = 3
371  CALL cgbsvxx( 'N', 'N', -1, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
372  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
373  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
374  $ info )
375  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
376  infot = 4
377  CALL cgbsvxx( 'N', 'N', 2, -1, 1, 0, a, 1, af, 1, ip, eq,
378  $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
379  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
380  $ info )
381  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
382  infot = 5
383  CALL cgbsvxx( 'N', 'N', 2, 1, -1, 0, a, 1, af, 1, ip, eq,
384  $ r, c, 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 = 6
389  CALL cgbsvxx( 'N', 'N', 0, 1, 1, -1, a, 1, af, 1, 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( 'CGBSVXX', infot, nout, lerr, ok )
394  infot = 8
395  CALL cgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 2, af, 2, ip, eq, r, c,
396  $ b, 2, x, 2, 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  infot = 10
401  CALL cgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 3, ip, eq, r, c,
402  $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
403  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
404  $ info )
405  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
406  infot = 12
407  eq = '/'
408  CALL cgbsvxx( 'F', 'N', 0, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
409  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
410  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
411  $ info )
412  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
413  infot = 13
414  eq = 'R'
415  CALL cgbsvxx( 'F', 'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
416  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
417  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
418  $ info )
419  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
420  infot = 14
421  eq = 'C'
422  CALL cgbsvxx( 'F', 'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
423  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
424  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
425  $ info )
426  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
427  infot = 15
428  CALL cgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
429  $ b, 1, x, 2, rcond, rpvgrw, berr, n_err_bnds,
430  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
431  $ info )
432  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
433  infot = 16
434  CALL cgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
435  $ b, 2, x, 1, rcond, rpvgrw, berr, n_err_bnds,
436  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
437  $ info )
438  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
439 *
440  ELSE IF( lsamen( 2, c2, 'GT' ) ) THEN
441 *
442 * CGTSV
443 *
444  srnamt = 'CGTSV '
445  infot = 1
446  CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
447  $ info )
448  CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
449  infot = 2
450  CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
451  $ info )
452  CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
453  infot = 7
454  CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
455  CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
456 *
457 * CGTSVX
458 *
459  srnamt = 'CGTSVX'
460  infot = 1
461  CALL cgtsvx( '/', 'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
462  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
463  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
464  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
465  infot = 2
466  CALL cgtsvx( 'N', '/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
467  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
468  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
469  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
470  infot = 3
471  CALL cgtsvx( 'N', 'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
472  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
473  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
474  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
475  infot = 4
476  CALL cgtsvx( 'N', 'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
477  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
478  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
479  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
480  infot = 14
481  CALL cgtsvx( 'N', 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
482  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
483  $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
484  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
485  infot = 16
486  CALL cgtsvx( 'N', 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
487  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
488  $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
489  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
490 *
491  ELSE IF( lsamen( 2, c2, 'PO' ) ) THEN
492 *
493 * CPOSV
494 *
495  srnamt = 'CPOSV '
496  infot = 1
497  CALL cposv( '/', 0, 0, a, 1, b, 1, info )
498  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
499  infot = 2
500  CALL cposv( 'U', -1, 0, a, 1, b, 1, info )
501  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
502  infot = 3
503  CALL cposv( 'U', 0, -1, a, 1, b, 1, info )
504  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
505  infot = 5
506  CALL cposv( 'U', 2, 0, a, 1, b, 2, info )
507  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
508  infot = 7
509  CALL cposv( 'U', 2, 0, a, 2, b, 1, info )
510  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
511 *
512 * CPOSVX
513 *
514  srnamt = 'CPOSVX'
515  infot = 1
516  CALL cposvx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
517  $ rcond, r1, r2, w, rw, info )
518  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
519  infot = 2
520  CALL cposvx( 'N', '/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
521  $ rcond, r1, r2, w, rw, info )
522  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
523  infot = 3
524  CALL cposvx( 'N', 'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
525  $ rcond, r1, r2, w, rw, info )
526  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
527  infot = 4
528  CALL cposvx( 'N', 'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
529  $ rcond, r1, r2, w, rw, info )
530  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
531  infot = 6
532  CALL cposvx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
533  $ rcond, r1, r2, w, rw, info )
534  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
535  infot = 8
536  CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
537  $ rcond, r1, r2, w, rw, info )
538  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
539  infot = 9
540  eq = '/'
541  CALL cposvx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
542  $ rcond, r1, r2, w, rw, info )
543  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
544  infot = 10
545  eq = 'Y'
546  CALL cposvx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
547  $ rcond, r1, r2, w, rw, info )
548  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
549  infot = 12
550  CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
551  $ rcond, r1, r2, w, rw, info )
552  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
553  infot = 14
554  CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
555  $ rcond, r1, r2, w, rw, info )
556  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
557 *
558 * CPOSVXX
559 *
560  n_err_bnds = 3
561  nparams = 1
562  srnamt = 'CPOSVXX'
563  infot = 1
564  CALL cposvxx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
565  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
566  $ err_bnds_c, nparams, params, w, rw, info )
567  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
568  infot = 2
569  CALL cposvxx( 'N', '/', 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( 'CPOSVXX', infot, nout, lerr, ok )
573  infot = 3
574  CALL cposvxx( 'N', 'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
575  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
576  $ err_bnds_c, nparams, params, w, rw, info )
577  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
578  infot = 4
579  CALL cposvxx( 'N', 'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
580  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
581  $ err_bnds_c, nparams, params, w, rw, info )
582  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
583  infot = 6
584  CALL cposvxx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
585  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
586  $ err_bnds_c, nparams, params, w, rw, info )
587  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
588  infot = 8
589  CALL cposvxx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
590  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
591  $ err_bnds_c, nparams, params, w, rw, info )
592  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
593  infot = 9
594  eq = '/'
595  CALL cposvxx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
596  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
597  $ err_bnds_c, nparams, params, w, rw, info )
598  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
599  infot = 10
600  eq = 'Y'
601  CALL cposvxx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
602  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
603  $ err_bnds_c, nparams, params, w, rw, info )
604  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
605  infot = 12
606  CALL cposvxx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
607  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
608  $ err_bnds_c, nparams, params, w, rw, info )
609  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
610  infot = 14
611  CALL cposvxx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
612  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
613  $ err_bnds_c, nparams, params, w, rw, info )
614  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
615 *
616  ELSE IF( lsamen( 2, c2, 'PP' ) ) THEN
617 *
618 * CPPSV
619 *
620  srnamt = 'CPPSV '
621  infot = 1
622  CALL cppsv( '/', 0, 0, a, b, 1, info )
623  CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
624  infot = 2
625  CALL cppsv( 'U', -1, 0, a, b, 1, info )
626  CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
627  infot = 3
628  CALL cppsv( 'U', 0, -1, a, b, 1, info )
629  CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
630  infot = 6
631  CALL cppsv( 'U', 2, 0, a, b, 1, info )
632  CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
633 *
634 * CPPSVX
635 *
636  srnamt = 'CPPSVX'
637  infot = 1
638  CALL cppsvx( '/', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
639  $ r1, r2, w, rw, info )
640  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
641  infot = 2
642  CALL cppsvx( 'N', '/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
643  $ r1, r2, w, rw, info )
644  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
645  infot = 3
646  CALL cppsvx( 'N', 'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
647  $ r1, r2, w, rw, info )
648  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
649  infot = 4
650  CALL cppsvx( 'N', 'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
651  $ r1, r2, w, rw, info )
652  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
653  infot = 7
654  eq = '/'
655  CALL cppsvx( 'F', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
656  $ r1, r2, w, rw, info )
657  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
658  infot = 8
659  eq = 'Y'
660  CALL cppsvx( 'F', 'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
661  $ r1, r2, w, rw, info )
662  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
663  infot = 10
664  CALL cppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
665  $ r1, r2, w, rw, info )
666  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
667  infot = 12
668  CALL cppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
669  $ r1, r2, w, rw, info )
670  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
671 *
672  ELSE IF( lsamen( 2, c2, 'PB' ) ) THEN
673 *
674 * CPBSV
675 *
676  srnamt = 'CPBSV '
677  infot = 1
678  CALL cpbsv( '/', 0, 0, 0, a, 1, b, 1, info )
679  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
680  infot = 2
681  CALL cpbsv( 'U', -1, 0, 0, a, 1, b, 1, info )
682  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
683  infot = 3
684  CALL cpbsv( 'U', 1, -1, 0, a, 1, b, 1, info )
685  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
686  infot = 4
687  CALL cpbsv( 'U', 0, 0, -1, a, 1, b, 1, info )
688  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
689  infot = 6
690  CALL cpbsv( 'U', 1, 1, 0, a, 1, b, 2, info )
691  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
692  infot = 8
693  CALL cpbsv( 'U', 2, 0, 0, a, 1, b, 1, info )
694  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
695 *
696 * CPBSVX
697 *
698  srnamt = 'CPBSVX'
699  infot = 1
700  CALL cpbsvx( '/', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
701  $ rcond, r1, r2, w, rw, info )
702  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
703  infot = 2
704  CALL cpbsvx( 'N', '/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
705  $ rcond, r1, r2, w, rw, info )
706  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
707  infot = 3
708  CALL cpbsvx( 'N', 'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
709  $ 1, rcond, r1, r2, w, rw, info )
710  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
711  infot = 4
712  CALL cpbsvx( 'N', 'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
713  $ 1, rcond, r1, r2, w, rw, info )
714  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
715  infot = 5
716  CALL cpbsvx( 'N', 'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
717  $ 1, rcond, r1, r2, w, rw, info )
718  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
719  infot = 7
720  CALL cpbsvx( 'N', 'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
721  $ rcond, r1, r2, w, rw, info )
722  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
723  infot = 9
724  CALL cpbsvx( 'N', 'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
725  $ rcond, r1, r2, w, rw, info )
726  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
727  infot = 10
728  eq = '/'
729  CALL cpbsvx( 'F', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
730  $ rcond, r1, r2, w, rw, info )
731  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
732  infot = 11
733  eq = 'Y'
734  CALL cpbsvx( 'F', 'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
735  $ rcond, r1, r2, w, rw, info )
736  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
737  infot = 13
738  CALL cpbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
739  $ rcond, r1, r2, w, rw, info )
740  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
741  infot = 15
742  CALL cpbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
743  $ rcond, r1, r2, w, rw, info )
744  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
745 *
746  ELSE IF( lsamen( 2, c2, 'PT' ) ) THEN
747 *
748 * CPTSV
749 *
750  srnamt = 'CPTSV '
751  infot = 1
752  CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
753  CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
754  infot = 2
755  CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
756  CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
757  infot = 6
758  CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
759  CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
760 *
761 * CPTSVX
762 *
763  srnamt = 'CPTSVX'
764  infot = 1
765  CALL cptsvx( '/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
766  $ 1, rcond, r1, r2, w, rw, info )
767  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
768  infot = 2
769  CALL cptsvx( 'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
770  $ 1, rcond, r1, r2, w, rw, info )
771  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
772  infot = 3
773  CALL cptsvx( 'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
774  $ 1, rcond, r1, r2, w, rw, info )
775  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
776  infot = 9
777  CALL cptsvx( 'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
778  $ 2, rcond, r1, r2, w, rw, info )
779  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
780  infot = 11
781  CALL cptsvx( 'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
782  $ 1, rcond, r1, r2, w, rw, info )
783  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
784 *
785  ELSE IF( lsamen( 2, c2, 'HE' ) ) THEN
786 *
787 * CHESV
788 *
789  srnamt = 'CHESV '
790  infot = 1
791  CALL chesv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
792  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
793  infot = 2
794  CALL chesv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
795  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
796  infot = 3
797  CALL chesv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
798  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
799  infot = 5
800  CALL chesv( 'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
801  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
802  infot = 8
803  CALL chesv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
804  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
805 *
806 * CHESVX
807 *
808  srnamt = 'CHESVX'
809  infot = 1
810  CALL chesvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
811  $ rcond, r1, r2, w, 1, rw, info )
812  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
813  infot = 2
814  CALL chesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
815  $ rcond, r1, r2, w, 1, rw, info )
816  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
817  infot = 3
818  CALL chesvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
819  $ rcond, r1, r2, w, 1, rw, info )
820  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
821  infot = 4
822  CALL chesvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
823  $ rcond, r1, r2, w, 1, rw, info )
824  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
825  infot = 6
826  CALL chesvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
827  $ rcond, r1, r2, w, 4, rw, info )
828  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
829  infot = 8
830  CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
831  $ rcond, r1, r2, w, 4, rw, info )
832  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
833  infot = 11
834  CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
835  $ rcond, r1, r2, w, 4, rw, info )
836  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
837  infot = 13
838  CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
839  $ rcond, r1, r2, w, 4, rw, info )
840  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
841  infot = 18
842  CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
843  $ rcond, r1, r2, w, 3, rw, info )
844  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
845 *
846 * CHESVXX
847 *
848  n_err_bnds = 3
849  nparams = 1
850  srnamt = 'CHESVXX'
851  infot = 1
852  CALL chesvxx( '/', 'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
853  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
854  $ err_bnds_c, nparams, params, w, rw, info )
855  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
856  infot = 2
857  CALL chesvxx( 'N', '/', 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( 'CHESVXX', infot, nout, lerr, ok )
861  infot = 3
862  CALL chesvxx( 'N', 'U', -1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
863  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
864  $ err_bnds_c, nparams, params, w, rw, info )
865  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
866  infot = 4
867  CALL chesvxx( 'N', 'U', 0, -1, a, 1, af, 1, ip, eq, c, b, 1, x,
868  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
869  $ err_bnds_c, nparams, params, w, rw, info )
870  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
871  infot = 6
872  CALL chesvxx( 'N', 'U', 2, 0, a, 1, af, 2, ip, eq, c, b, 2, x,
873  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
874  $ err_bnds_c, nparams, params, w, rw, info )
875  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
876  infot = 8
877  CALL chesvxx( 'N', 'U', 2, 0, a, 2, af, 1, ip, eq, c, b, 2, x,
878  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
879  $ err_bnds_c, nparams, params, w, rw, info )
880  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
881  infot = 9
882  eq = '/'
883  CALL chesvxx( 'F', 'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
884  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
885  $ err_bnds_c, nparams, params, w, rw, info )
886  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
887  infot = 10
888  eq = 'Y'
889  CALL chesvxx( 'F', 'U', 1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
890  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
891  $ err_bnds_c, nparams, params, w, rw, info )
892  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
893  infot = 12
894  CALL chesvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 1, x,
895  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
896  $ err_bnds_c, nparams, params, w, rw, info )
897  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
898  infot = 14
899  CALL chesvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 2, x,
900  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
901  $ err_bnds_c, nparams, params, w, rw, info )
902  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
903 *
904  ELSE IF( lsamen( 2, c2, 'HR' ) ) THEN
905 *
906 * CHESV_ROOK
907 *
908  srnamt = 'CHESV_ROOK'
909  infot = 1
910  CALL chesv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
911  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
912  infot = 2
913  CALL chesv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
914  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
915  infot = 3
916  CALL chesv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
917  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
918  infot = 8
919  CALL chesv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
920  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
921 *
922  ELSE IF( lsamen( 2, c2, 'HP' ) ) THEN
923 *
924 * CHPSV
925 *
926  srnamt = 'CHPSV '
927  infot = 1
928  CALL chpsv( '/', 0, 0, a, ip, b, 1, info )
929  CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
930  infot = 2
931  CALL chpsv( 'U', -1, 0, a, ip, b, 1, info )
932  CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
933  infot = 3
934  CALL chpsv( 'U', 0, -1, a, ip, b, 1, info )
935  CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
936  infot = 7
937  CALL chpsv( 'U', 2, 0, a, ip, b, 1, info )
938  CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
939 *
940 * CHPSVX
941 *
942  srnamt = 'CHPSVX'
943  infot = 1
944  CALL chpsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
945  $ r2, w, rw, info )
946  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
947  infot = 2
948  CALL chpsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
949  $ r2, w, rw, info )
950  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
951  infot = 3
952  CALL chpsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
953  $ r2, w, rw, info )
954  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
955  infot = 4
956  CALL chpsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
957  $ r2, w, rw, info )
958  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
959  infot = 9
960  CALL chpsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
961  $ r2, w, rw, info )
962  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
963  infot = 11
964  CALL chpsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
965  $ r2, w, rw, info )
966  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
967 *
968  ELSE IF( lsamen( 2, c2, 'SY' ) ) THEN
969 *
970 * CSYSV
971 *
972  srnamt = 'CSYSV '
973  infot = 1
974  CALL csysv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
975  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
976  infot = 2
977  CALL csysv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
978  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
979  infot = 3
980  CALL csysv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
981  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
982  infot = 8
983  CALL csysv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
984  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
985 *
986 * CSYSVX
987 *
988  srnamt = 'CSYSVX'
989  infot = 1
990  CALL csysvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
991  $ rcond, r1, r2, w, 1, rw, info )
992  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
993  infot = 2
994  CALL csysvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
995  $ rcond, r1, r2, w, 1, rw, info )
996  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
997  infot = 3
998  CALL csysvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
999  $ rcond, r1, r2, w, 1, rw, info )
1000  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1001  infot = 4
1002  CALL csysvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
1003  $ rcond, r1, r2, w, 1, rw, info )
1004  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1005  infot = 6
1006  CALL csysvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
1007  $ rcond, r1, r2, w, 4, rw, info )
1008  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1009  infot = 8
1010  CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
1011  $ rcond, r1, r2, w, 4, rw, info )
1012  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1013  infot = 11
1014  CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
1015  $ rcond, r1, r2, w, 4, rw, info )
1016  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1017  infot = 13
1018  CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
1019  $ rcond, r1, r2, w, 4, rw, info )
1020  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1021  infot = 18
1022  CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
1023  $ rcond, r1, r2, w, 3, rw, info )
1024  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1025 *
1026 * CSYSVXX
1027 *
1028  n_err_bnds = 3
1029  nparams = 1
1030  srnamt = 'CSYSVXX'
1031  infot = 1
1032  eq = 'N'
1033  CALL csysvxx( '/', 'U', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1034  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1035  $ err_bnds_c, nparams, params, w, rw, info )
1036  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1037  infot = 2
1038  CALL csysvxx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1039  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1040  $ err_bnds_c, nparams, params, w, rw, info )
1041  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1042  infot = 3
1043  CALL csysvxx( 'N', 'U', -1, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1044  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1045  $ err_bnds_c, nparams, params, w, rw, info )
1046  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1047  infot = 4
1048  eq = '/'
1049  CALL csysvxx( 'N', 'U', 0, -1, a, 1, af, 1, ip, eq, r, b, 1, x,
1050  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1051  $ err_bnds_c, nparams, params, w, rw, info )
1052  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1053  eq = 'Y'
1054  infot = 6
1055  CALL csysvxx( 'N', 'U', 2, 0, a, 1, af, 2, ip, eq, r, b, 2, x,
1056  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1057  $ err_bnds_c, nparams, params, w, rw, info )
1058  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1059  infot = 8
1060  CALL csysvxx( 'N', 'U', 2, 0, a, 2, af, 1, ip, eq, r, b, 2, x,
1061  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1062  $ err_bnds_c, nparams, params, w, rw, info )
1063  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1064  infot = 12
1065  eq = 'N'
1066  CALL csysvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 1, x,
1067  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1068  $ err_bnds_c, nparams, params, w, rw, info )
1069  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1070  infot = 14
1071  CALL csysvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1072  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1073  $ err_bnds_c, nparams, params, w, rw, info )
1074  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1075 *
1076  ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
1077 *
1078 * CSYSV_ROOK
1079 *
1080  srnamt = 'CSYSV_ROOK'
1081  infot = 1
1082  CALL csysv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1083  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1084  infot = 2
1085  CALL csysv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1086  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1087  infot = 3
1088  CALL csysv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1089  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1090  infot = 8
1091  CALL csysv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1092  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1093 *
1094  ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
1095 *
1096 * CSPSV
1097 *
1098  srnamt = 'CSPSV '
1099  infot = 1
1100  CALL cspsv( '/', 0, 0, a, ip, b, 1, info )
1101  CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
1102  infot = 2
1103  CALL cspsv( 'U', -1, 0, a, ip, b, 1, info )
1104  CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
1105  infot = 3
1106  CALL cspsv( 'U', 0, -1, a, ip, b, 1, info )
1107  CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
1108  infot = 7
1109  CALL cspsv( 'U', 2, 0, a, ip, b, 1, info )
1110  CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
1111 *
1112 * CSPSVX
1113 *
1114  srnamt = 'CSPSVX'
1115  infot = 1
1116  CALL cspsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1117  $ r2, w, rw, info )
1118  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1119  infot = 2
1120  CALL cspsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1121  $ r2, w, rw, info )
1122  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1123  infot = 3
1124  CALL cspsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1125  $ r2, w, rw, info )
1126  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1127  infot = 4
1128  CALL cspsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1129  $ r2, w, rw, info )
1130  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1131  infot = 9
1132  CALL cspsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1133  $ r2, w, rw, info )
1134  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1135  infot = 11
1136  CALL cspsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1137  $ r2, w, rw, info )
1138  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1139  END IF
1140 *
1141 * Print a summary line.
1142 *
1143  IF( ok ) THEN
1144  WRITE( nout, fmt = 9999 )path
1145  ELSE
1146  WRITE( nout, fmt = 9998 )path
1147  END IF
1148 *
1149  9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
1150  9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
1151  $ 'exits ***' )
1152 *
1153  RETURN
1154 *
1155 * End of CERRVX
1156 *
1157  END