LAPACK  3.7.0
LAPACK: Linear Algebra PACKage
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 December 2016
52 *
53 *> \ingroup complex_lin
54 *
55 * =====================================================================
56  SUBROUTINE cerrvx( PATH, NUNIT )
57 *
58 * -- LAPACK test routine (version 3.7.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 * December 2016
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  REAL one
74  parameter ( one = 1.0e+0 )
75 * ..
76 * .. Local Scalars ..
77  CHARACTER eq
78  CHARACTER*2 c2
79  INTEGER i, info, j, n_err_bnds, nparams
80  REAL rcond, rpvgrw, berr
81 * ..
82 * .. Local Arrays ..
83  INTEGER ip( nmax )
84  REAL c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
85  $ rf( nmax ), rw( nmax ), err_bnds_n( nmax, 3 ),
86  $ err_bnds_c( nmax, 3 ), params( 1 )
87  COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
88  $ e( nmax ), w( 2*nmax ), x( nmax )
89 * ..
90 * .. External Functions ..
91  LOGICAL lsamen
92  EXTERNAL lsamen
93 * ..
94 * .. External Subroutines ..
95  EXTERNAL cgbsv, cgbsvx, cgesv, cgesvx, cgtsv, cgtsvx,
101 * ..
102 * .. Scalars in Common ..
103  LOGICAL lerr, ok
104  CHARACTER*32 srnamt
105  INTEGER infot, nout
106 * ..
107 * .. Common blocks ..
108  COMMON / infoc / infot, nout, ok, lerr
109  COMMON / srnamc / srnamt
110 * ..
111 * .. Intrinsic Functions ..
112  INTRINSIC cmplx, real
113 * ..
114 * .. Executable Statements ..
115 *
116  nout = nunit
117  WRITE( nout, fmt = * )
118  c2 = path( 2: 3 )
119 *
120 * Set the variables to innocuous values.
121 *
122  DO 20 j = 1, nmax
123  DO 10 i = 1, nmax
124  a( i, j ) = cmplx( 1. / REAL( I+J ), -1. / REAL( I+J ) )
125  af( i, j ) = cmplx( 1. / REAL( I+J ), -1. / REAL( I+J ) )
126  10 CONTINUE
127  b( j ) = 0.e+0
128  e( j ) = 0e+0
129  r1( j ) = 0.e+0
130  r2( j ) = 0.e+0
131  w( j ) = 0.e+0
132  x( j ) = 0.e+0
133  c( j ) = 0.e+0
134  r( j ) = 0.e+0
135  ip( j ) = j
136  20 CONTINUE
137  eq = ' '
138  ok = .true.
139 *
140  IF( lsamen( 2, c2, 'GE' ) ) THEN
141 *
142 * CGESV
143 *
144  srnamt = 'CGESV '
145  infot = 1
146  CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
147  CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
148  infot = 2
149  CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
150  CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
151  infot = 4
152  CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
153  CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
154  infot = 7
155  CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
156  CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
157 *
158 * CGESVX
159 *
160  srnamt = 'CGESVX'
161  infot = 1
162  CALL cgesvx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
163  $ x, 1, rcond, r1, r2, w, rw, info )
164  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
165  infot = 2
166  CALL cgesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
167  $ x, 1, rcond, r1, r2, w, rw, info )
168  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
169  infot = 3
170  CALL cgesvx( 'N', 'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
171  $ x, 1, rcond, r1, r2, w, rw, info )
172  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
173  infot = 4
174  CALL cgesvx( 'N', 'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
175  $ x, 1, rcond, r1, r2, w, rw, info )
176  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
177  infot = 6
178  CALL cgesvx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
179  $ x, 2, rcond, r1, r2, w, rw, info )
180  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
181  infot = 8
182  CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
183  $ x, 2, rcond, r1, r2, w, rw, info )
184  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
185  infot = 10
186  eq = '/'
187  CALL cgesvx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
188  $ x, 1, rcond, r1, r2, w, rw, info )
189  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
190  infot = 11
191  eq = 'R'
192  CALL cgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
193  $ x, 1, rcond, r1, r2, w, rw, info )
194  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
195  infot = 12
196  eq = 'C'
197  CALL cgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
198  $ x, 1, rcond, r1, r2, w, rw, info )
199  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
200  infot = 14
201  CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
202  $ x, 2, rcond, r1, r2, w, rw, info )
203  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
204  infot = 16
205  CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
206  $ x, 1, rcond, r1, r2, w, rw, info )
207  CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
208 *
209 * CGESVXX
210 *
211  n_err_bnds = 3
212  nparams = 1
213  srnamt = 'CGESVXX'
214  infot = 1
215  CALL cgesvxx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
216  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
217  $ err_bnds_c, nparams, params, w, rw, info )
218  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
219  infot = 2
220  CALL cgesvxx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
221  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
222  $ err_bnds_c, nparams, params, w, rw, info )
223  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
224  infot = 3
225  CALL cgesvxx( 'N', 'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
226  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
227  $ err_bnds_c, nparams, params, w, rw, info )
228  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
229  infot = 4
230  CALL cgesvxx( 'N', 'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
231  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
232  $ err_bnds_c, nparams, params, w, rw, info )
233  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
234  infot = 6
235  CALL cgesvxx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
236  $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
237  $ err_bnds_c, nparams, params, w, rw, info )
238  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
239  infot = 8
240  CALL cgesvxx( 'N', 'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
241  $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
242  $ err_bnds_c, nparams, params, w, rw, info )
243  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
244  infot = 10
245  eq = '/'
246  CALL cgesvxx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
247  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
248  $ err_bnds_c, nparams, params, w, rw, info )
249  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
250  infot = 11
251  eq = 'R'
252  CALL cgesvxx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
253  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
254  $ err_bnds_c, nparams, params, w, rw, info )
255  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
256  infot = 12
257  eq = 'C'
258  CALL cgesvxx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
259  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
260  $ err_bnds_c, nparams, params, w, rw, info )
261  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
262  infot = 14
263  CALL cgesvxx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
264  $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
265  $ err_bnds_c, nparams, params, w, rw, info )
266  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
267  infot = 16
268  CALL cgesvxx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
269  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
270  $ err_bnds_c, nparams, params, w, rw, info )
271  CALL chkxer( 'CGESVXX', infot, nout, lerr, ok )
272 *
273  ELSE IF( lsamen( 2, c2, 'GB' ) ) THEN
274 *
275 * CGBSV
276 *
277  srnamt = 'CGBSV '
278  infot = 1
279  CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
280  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
281  infot = 2
282  CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
283  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
284  infot = 3
285  CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
286  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
287  infot = 4
288  CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
289  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
290  infot = 6
291  CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
292  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
293  infot = 9
294  CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
295  CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
296 *
297 * CGBSVX
298 *
299  srnamt = 'CGBSVX'
300  infot = 1
301  CALL cgbsvx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
302  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
303  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
304  infot = 2
305  CALL cgbsvx( 'N', '/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
306  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
307  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
308  infot = 3
309  CALL cgbsvx( 'N', 'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
310  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
311  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
312  infot = 4
313  CALL cgbsvx( 'N', 'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
314  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
315  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
316  infot = 5
317  CALL cgbsvx( 'N', 'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
318  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
319  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
320  infot = 6
321  CALL cgbsvx( 'N', 'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
322  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
323  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
324  infot = 8
325  CALL cgbsvx( 'N', 'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
326  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
327  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
328  infot = 10
329  CALL cgbsvx( 'N', 'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
330  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
331  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
332  infot = 12
333  eq = '/'
334  CALL cgbsvx( 'F', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
335  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
336  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
337  infot = 13
338  eq = 'R'
339  CALL cgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
340  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
341  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
342  infot = 14
343  eq = 'C'
344  CALL cgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
345  $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
346  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
347  infot = 16
348  CALL cgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
349  $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
350  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
351  infot = 18
352  CALL cgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
353  $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
354  CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
355 *
356 * CGBSVXX
357 *
358  n_err_bnds = 3
359  nparams = 1
360  srnamt = 'CGBSVXX'
361  infot = 1
362  CALL cgbsvxx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
363  $ b, 1, x, 1, 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 = 2
368  CALL cgbsvxx( 'N', '/', 0, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
369  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
370  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
371  $ info )
372  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
373  infot = 3
374  CALL cgbsvxx( 'N', 'N', -1, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
375  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
376  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
377  $ info )
378  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
379  infot = 4
380  CALL cgbsvxx( 'N', 'N', 2, -1, 1, 0, a, 1, af, 1, ip, eq,
381  $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
382  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
383  $ info )
384  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
385  infot = 5
386  CALL cgbsvxx( 'N', 'N', 2, 1, -1, 0, a, 1, af, 1, ip, eq,
387  $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
388  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
389  $ info )
390  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
391  infot = 6
392  CALL cgbsvxx( 'N', 'N', 0, 1, 1, -1, a, 1, af, 1, ip, eq, r, c,
393  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
394  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
395  $ info )
396  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
397  infot = 8
398  CALL cgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 2, af, 2, ip, eq, r, c,
399  $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
400  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
401  $ info )
402  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
403  infot = 10
404  CALL cgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 3, ip, eq, r, c,
405  $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
406  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
407  $ info )
408  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
409  infot = 12
410  eq = '/'
411  CALL cgbsvxx( 'F', 'N', 0, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
412  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
413  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
414  $ info )
415  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
416  infot = 13
417  eq = 'R'
418  CALL cgbsvxx( 'F', 'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
419  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
420  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
421  $ info )
422  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
423  infot = 14
424  eq = 'C'
425  CALL cgbsvxx( 'F', 'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
426  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
427  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
428  $ info )
429  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
430  infot = 15
431  CALL cgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
432  $ b, 1, x, 2, rcond, rpvgrw, berr, n_err_bnds,
433  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
434  $ info )
435  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
436  infot = 16
437  CALL cgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
438  $ b, 2, x, 1, rcond, rpvgrw, berr, n_err_bnds,
439  $ err_bnds_n, err_bnds_c, nparams, params, w, rw,
440  $ info )
441  CALL chkxer( 'CGBSVXX', infot, nout, lerr, ok )
442 *
443  ELSE IF( lsamen( 2, c2, 'GT' ) ) THEN
444 *
445 * CGTSV
446 *
447  srnamt = 'CGTSV '
448  infot = 1
449  CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
450  $ info )
451  CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
452  infot = 2
453  CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
454  $ info )
455  CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
456  infot = 7
457  CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
458  CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
459 *
460 * CGTSVX
461 *
462  srnamt = 'CGTSVX'
463  infot = 1
464  CALL cgtsvx( '/', 'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
465  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
466  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
467  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
468  infot = 2
469  CALL cgtsvx( 'N', '/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
470  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
471  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
472  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
473  infot = 3
474  CALL cgtsvx( 'N', 'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
475  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
476  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
477  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
478  infot = 4
479  CALL cgtsvx( 'N', 'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
480  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
481  $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
482  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
483  infot = 14
484  CALL cgtsvx( 'N', 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
485  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
486  $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
487  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
488  infot = 16
489  CALL cgtsvx( 'N', 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
490  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
491  $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
492  CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
493 *
494  ELSE IF( lsamen( 2, c2, 'PO' ) ) THEN
495 *
496 * CPOSV
497 *
498  srnamt = 'CPOSV '
499  infot = 1
500  CALL cposv( '/', 0, 0, a, 1, b, 1, info )
501  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
502  infot = 2
503  CALL cposv( 'U', -1, 0, a, 1, b, 1, info )
504  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
505  infot = 3
506  CALL cposv( 'U', 0, -1, a, 1, b, 1, info )
507  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
508  infot = 5
509  CALL cposv( 'U', 2, 0, a, 1, b, 2, info )
510  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
511  infot = 7
512  CALL cposv( 'U', 2, 0, a, 2, b, 1, info )
513  CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
514 *
515 * CPOSVX
516 *
517  srnamt = 'CPOSVX'
518  infot = 1
519  CALL cposvx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
520  $ rcond, r1, r2, w, rw, info )
521  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
522  infot = 2
523  CALL cposvx( 'N', '/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
524  $ rcond, r1, r2, w, rw, info )
525  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
526  infot = 3
527  CALL cposvx( 'N', 'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
528  $ rcond, r1, r2, w, rw, info )
529  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
530  infot = 4
531  CALL cposvx( 'N', 'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
532  $ rcond, r1, r2, w, rw, info )
533  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
534  infot = 6
535  CALL cposvx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
536  $ rcond, r1, r2, w, rw, info )
537  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
538  infot = 8
539  CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
540  $ rcond, r1, r2, w, rw, info )
541  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
542  infot = 9
543  eq = '/'
544  CALL cposvx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
545  $ rcond, r1, r2, w, rw, info )
546  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
547  infot = 10
548  eq = 'Y'
549  CALL cposvx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
550  $ rcond, r1, r2, w, rw, info )
551  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
552  infot = 12
553  CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
554  $ rcond, r1, r2, w, rw, info )
555  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
556  infot = 14
557  CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
558  $ rcond, r1, r2, w, rw, info )
559  CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
560 *
561 * CPOSVXX
562 *
563  n_err_bnds = 3
564  nparams = 1
565  srnamt = 'CPOSVXX'
566  infot = 1
567  CALL cposvxx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
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 = 2
572  CALL cposvxx( 'N', '/', 0, 0, a, 1, af, 1, eq, c, b, 1, 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  infot = 3
577  CALL cposvxx( 'N', 'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
578  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
579  $ err_bnds_c, nparams, params, w, rw, info )
580  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
581  infot = 4
582  CALL cposvxx( 'N', 'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
583  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
584  $ err_bnds_c, nparams, params, w, rw, info )
585  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
586  infot = 6
587  CALL cposvxx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
588  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
589  $ err_bnds_c, nparams, params, w, rw, info )
590  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
591  infot = 8
592  CALL cposvxx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
593  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
594  $ err_bnds_c, nparams, params, w, rw, info )
595  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
596  infot = 9
597  eq = '/'
598  CALL cposvxx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
599  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
600  $ err_bnds_c, nparams, params, w, rw, info )
601  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
602  infot = 10
603  eq = 'Y'
604  CALL cposvxx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
605  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
606  $ err_bnds_c, nparams, params, w, rw, info )
607  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
608  infot = 12
609  CALL cposvxx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
610  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
611  $ err_bnds_c, nparams, params, w, rw, info )
612  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
613  infot = 14
614  CALL cposvxx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
615  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
616  $ err_bnds_c, nparams, params, w, rw, info )
617  CALL chkxer( 'CPOSVXX', infot, nout, lerr, ok )
618 *
619  ELSE IF( lsamen( 2, c2, 'PP' ) ) THEN
620 *
621 * CPPSV
622 *
623  srnamt = 'CPPSV '
624  infot = 1
625  CALL cppsv( '/', 0, 0, a, b, 1, info )
626  CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
627  infot = 2
628  CALL cppsv( 'U', -1, 0, a, b, 1, info )
629  CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
630  infot = 3
631  CALL cppsv( 'U', 0, -1, a, b, 1, info )
632  CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
633  infot = 6
634  CALL cppsv( 'U', 2, 0, a, b, 1, info )
635  CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
636 *
637 * CPPSVX
638 *
639  srnamt = 'CPPSVX'
640  infot = 1
641  CALL cppsvx( '/', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
642  $ r1, r2, w, rw, info )
643  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
644  infot = 2
645  CALL cppsvx( 'N', '/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
646  $ r1, r2, w, rw, info )
647  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
648  infot = 3
649  CALL cppsvx( 'N', 'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
650  $ r1, r2, w, rw, info )
651  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
652  infot = 4
653  CALL cppsvx( 'N', 'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
654  $ r1, r2, w, rw, info )
655  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
656  infot = 7
657  eq = '/'
658  CALL cppsvx( 'F', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
659  $ r1, r2, w, rw, info )
660  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
661  infot = 8
662  eq = 'Y'
663  CALL cppsvx( 'F', 'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
664  $ r1, r2, w, rw, info )
665  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
666  infot = 10
667  CALL cppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
668  $ r1, r2, w, rw, info )
669  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
670  infot = 12
671  CALL cppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
672  $ r1, r2, w, rw, info )
673  CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
674 *
675  ELSE IF( lsamen( 2, c2, 'PB' ) ) THEN
676 *
677 * CPBSV
678 *
679  srnamt = 'CPBSV '
680  infot = 1
681  CALL cpbsv( '/', 0, 0, 0, a, 1, b, 1, info )
682  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
683  infot = 2
684  CALL cpbsv( 'U', -1, 0, 0, a, 1, b, 1, info )
685  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
686  infot = 3
687  CALL cpbsv( 'U', 1, -1, 0, a, 1, b, 1, info )
688  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
689  infot = 4
690  CALL cpbsv( 'U', 0, 0, -1, a, 1, b, 1, info )
691  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
692  infot = 6
693  CALL cpbsv( 'U', 1, 1, 0, a, 1, b, 2, info )
694  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
695  infot = 8
696  CALL cpbsv( 'U', 2, 0, 0, a, 1, b, 1, info )
697  CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
698 *
699 * CPBSVX
700 *
701  srnamt = 'CPBSVX'
702  infot = 1
703  CALL cpbsvx( '/', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
704  $ rcond, r1, r2, w, rw, info )
705  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
706  infot = 2
707  CALL cpbsvx( 'N', '/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
708  $ rcond, r1, r2, w, rw, info )
709  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
710  infot = 3
711  CALL cpbsvx( 'N', 'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
712  $ 1, rcond, r1, r2, w, rw, info )
713  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
714  infot = 4
715  CALL cpbsvx( 'N', 'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
716  $ 1, rcond, r1, r2, w, rw, info )
717  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
718  infot = 5
719  CALL cpbsvx( 'N', 'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
720  $ 1, rcond, r1, r2, w, rw, info )
721  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
722  infot = 7
723  CALL cpbsvx( 'N', 'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
724  $ rcond, r1, r2, w, rw, info )
725  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
726  infot = 9
727  CALL cpbsvx( 'N', 'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
728  $ rcond, r1, r2, w, rw, info )
729  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
730  infot = 10
731  eq = '/'
732  CALL cpbsvx( 'F', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
733  $ rcond, r1, r2, w, rw, info )
734  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
735  infot = 11
736  eq = 'Y'
737  CALL cpbsvx( 'F', 'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
738  $ rcond, r1, r2, w, rw, info )
739  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
740  infot = 13
741  CALL cpbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
742  $ rcond, r1, r2, w, rw, info )
743  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
744  infot = 15
745  CALL cpbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
746  $ rcond, r1, r2, w, rw, info )
747  CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
748 *
749  ELSE IF( lsamen( 2, c2, 'PT' ) ) THEN
750 *
751 * CPTSV
752 *
753  srnamt = 'CPTSV '
754  infot = 1
755  CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
756  CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
757  infot = 2
758  CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
759  CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
760  infot = 6
761  CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
762  CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
763 *
764 * CPTSVX
765 *
766  srnamt = 'CPTSVX'
767  infot = 1
768  CALL cptsvx( '/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
769  $ 1, rcond, r1, r2, w, rw, info )
770  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
771  infot = 2
772  CALL cptsvx( 'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
773  $ 1, rcond, r1, r2, w, rw, info )
774  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
775  infot = 3
776  CALL cptsvx( 'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
777  $ 1, rcond, r1, r2, w, rw, info )
778  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
779  infot = 9
780  CALL cptsvx( 'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
781  $ 2, rcond, r1, r2, w, rw, info )
782  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
783  infot = 11
784  CALL cptsvx( 'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
785  $ 1, rcond, r1, r2, w, rw, info )
786  CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
787 *
788  ELSE IF( lsamen( 2, c2, 'HE' ) ) THEN
789 *
790 * CHESV
791 *
792  srnamt = 'CHESV '
793  infot = 1
794  CALL chesv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
795  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
796  infot = 2
797  CALL chesv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
798  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
799  infot = 3
800  CALL chesv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
801  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
802  infot = 5
803  CALL chesv( 'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
804  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
805  infot = 8
806  CALL chesv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
807  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
808  infot = 10
809  CALL chesv( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
810  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
811  infot = 10
812  CALL chesv( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
813  CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
814 *
815 * CHESVX
816 *
817  srnamt = 'CHESVX'
818  infot = 1
819  CALL chesvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
820  $ rcond, r1, r2, w, 1, rw, info )
821  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
822  infot = 2
823  CALL chesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
824  $ rcond, r1, r2, w, 1, rw, info )
825  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
826  infot = 3
827  CALL chesvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
828  $ rcond, r1, r2, w, 1, rw, info )
829  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
830  infot = 4
831  CALL chesvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
832  $ rcond, r1, r2, w, 1, rw, info )
833  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
834  infot = 6
835  CALL chesvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
836  $ rcond, r1, r2, w, 4, rw, info )
837  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
838  infot = 8
839  CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
840  $ rcond, r1, r2, w, 4, rw, info )
841  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
842  infot = 11
843  CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
844  $ rcond, r1, r2, w, 4, rw, info )
845  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
846  infot = 13
847  CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
848  $ rcond, r1, r2, w, 4, rw, info )
849  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
850  infot = 18
851  CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
852  $ rcond, r1, r2, w, 3, rw, info )
853  CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
854 *
855 * CHESVXX
856 *
857  n_err_bnds = 3
858  nparams = 1
859  srnamt = 'CHESVXX'
860  infot = 1
861  CALL chesvxx( '/', 'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
862  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
863  $ err_bnds_c, nparams, params, w, rw, info )
864  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
865  infot = 2
866  CALL chesvxx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
867  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
868  $ err_bnds_c, nparams, params, w, rw, info )
869  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
870  infot = 3
871  CALL chesvxx( 'N', 'U', -1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
872  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
873  $ err_bnds_c, nparams, params, w, rw, info )
874  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
875  infot = 4
876  CALL chesvxx( 'N', 'U', 0, -1, a, 1, af, 1, ip, eq, c, b, 1, x,
877  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
878  $ err_bnds_c, nparams, params, w, rw, info )
879  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
880  infot = 6
881  CALL chesvxx( 'N', 'U', 2, 0, a, 1, af, 2, ip, eq, c, b, 2, x,
882  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
883  $ err_bnds_c, nparams, params, w, rw, info )
884  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
885  infot = 8
886  CALL chesvxx( 'N', 'U', 2, 0, a, 2, af, 1, ip, eq, c, b, 2, x,
887  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
888  $ err_bnds_c, nparams, params, w, rw, info )
889  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
890  infot = 9
891  eq = '/'
892  CALL chesvxx( 'F', 'U', 0, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
893  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
894  $ err_bnds_c, nparams, params, w, rw, info )
895  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
896  infot = 10
897  eq = 'Y'
898  CALL chesvxx( 'F', 'U', 1, 0, a, 1, af, 1, ip, eq, c, b, 1, x,
899  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
900  $ err_bnds_c, nparams, params, w, rw, info )
901  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
902  infot = 12
903  CALL chesvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 1, x,
904  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
905  $ err_bnds_c, nparams, params, w, rw, info )
906  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
907  infot = 14
908  CALL chesvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, c, b, 2, x,
909  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
910  $ err_bnds_c, nparams, params, w, rw, info )
911  CALL chkxer( 'CHESVXX', infot, nout, lerr, ok )
912 *
913  ELSE IF( lsamen( 2, c2, 'HR' ) ) THEN
914 *
915 * CHESV_ROOK
916 *
917  srnamt = 'CHESV_ROOK'
918  infot = 1
919  CALL chesv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
920  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
921  infot = 2
922  CALL chesv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
923  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
924  infot = 3
925  CALL chesv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
926  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
927  infot = 8
928  CALL chesv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
929  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
930  infot = 10
931  CALL chesv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
932  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
933  infot = 10
934  CALL chesv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
935  CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
936 *
937  ELSE IF( lsamen( 2, c2, 'HK' ) ) THEN
938 *
939 * CHESV_RK
940 *
941 * Test error exits of the driver that uses factorization
942 * of a symmetric indefinite matrix with rook
943 * (bounded Bunch-Kaufman) pivoting with the new storage
944 * format for factors L ( or U) and D.
945 *
946 * L (or U) is stored in A, diagonal of D is stored on the
947 * diagonal of A, subdiagonal of D is stored in a separate array E.
948 *
949  srnamt = 'CHESV_RK'
950  infot = 1
951  CALL chesv_rk( '/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
952  CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
953  infot = 2
954  CALL chesv_rk( 'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
955  CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
956  infot = 3
957  CALL chesv_rk( 'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
958  CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
959  infot = 5
960  CALL chesv_rk( 'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
961  CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
962  infot = 9
963  CALL chesv_rk( 'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
964  CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
965  infot = 11
966  CALL chesv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
967  CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
968  infot = 11
969  CALL chesv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
970  CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
971 *
972  ELSE IF( lsamen( 2, c2, 'HP' ) ) THEN
973 *
974 * CHPSV
975 *
976  srnamt = 'CHPSV '
977  infot = 1
978  CALL chpsv( '/', 0, 0, a, ip, b, 1, info )
979  CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
980  infot = 2
981  CALL chpsv( 'U', -1, 0, a, ip, b, 1, info )
982  CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
983  infot = 3
984  CALL chpsv( 'U', 0, -1, a, ip, b, 1, info )
985  CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
986  infot = 7
987  CALL chpsv( 'U', 2, 0, a, ip, b, 1, info )
988  CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
989 *
990 * CHPSVX
991 *
992  srnamt = 'CHPSVX'
993  infot = 1
994  CALL chpsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
995  $ r2, w, rw, info )
996  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
997  infot = 2
998  CALL chpsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
999  $ r2, w, rw, info )
1000  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
1001  infot = 3
1002  CALL chpsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1003  $ r2, w, rw, info )
1004  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
1005  infot = 4
1006  CALL chpsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1007  $ r2, w, rw, info )
1008  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
1009  infot = 9
1010  CALL chpsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1011  $ r2, w, rw, info )
1012  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
1013  infot = 11
1014  CALL chpsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1015  $ r2, w, rw, info )
1016  CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
1017 *
1018  ELSE IF( lsamen( 2, c2, 'SY' ) ) THEN
1019 *
1020 * CSYSV
1021 *
1022  srnamt = 'CSYSV '
1023  infot = 1
1024  CALL csysv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1025  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
1026  infot = 2
1027  CALL csysv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1028  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
1029  infot = 3
1030  CALL csysv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1031  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
1032  infot = 8
1033  CALL csysv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1034  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
1035  infot = 10
1036  CALL csysv( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
1037  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
1038  infot = 10
1039  CALL csysv( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
1040  CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
1041 *
1042 * CSYSVX
1043 *
1044  srnamt = 'CSYSVX'
1045  infot = 1
1046  CALL csysvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
1047  $ rcond, r1, r2, w, 1, rw, info )
1048  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1049  infot = 2
1050  CALL csysvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
1051  $ rcond, r1, r2, w, 1, rw, info )
1052  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1053  infot = 3
1054  CALL csysvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
1055  $ rcond, r1, r2, w, 1, rw, info )
1056  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1057  infot = 4
1058  CALL csysvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
1059  $ rcond, r1, r2, w, 1, rw, info )
1060  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1061  infot = 6
1062  CALL csysvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
1063  $ rcond, r1, r2, w, 4, rw, info )
1064  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1065  infot = 8
1066  CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
1067  $ rcond, r1, r2, w, 4, rw, info )
1068  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1069  infot = 11
1070  CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
1071  $ rcond, r1, r2, w, 4, rw, info )
1072  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1073  infot = 13
1074  CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
1075  $ rcond, r1, r2, w, 4, rw, info )
1076  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1077  infot = 18
1078  CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
1079  $ rcond, r1, r2, w, 3, rw, info )
1080  CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
1081 *
1082 * CSYSVXX
1083 *
1084  n_err_bnds = 3
1085  nparams = 1
1086  srnamt = 'CSYSVXX'
1087  infot = 1
1088  eq = 'N'
1089  CALL csysvxx( '/', 'U', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1090  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1091  $ err_bnds_c, nparams, params, w, rw, info )
1092  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1093  infot = 2
1094  CALL csysvxx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1095  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1096  $ err_bnds_c, nparams, params, w, rw, info )
1097  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1098  infot = 3
1099  CALL csysvxx( 'N', 'U', -1, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
1100  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1101  $ err_bnds_c, nparams, params, w, rw, info )
1102  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1103  infot = 4
1104  eq = '/'
1105  CALL csysvxx( 'N', 'U', 0, -1, a, 1, af, 1, ip, eq, r, b, 1, x,
1106  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1107  $ err_bnds_c, nparams, params, w, rw, info )
1108  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1109  eq = 'Y'
1110  infot = 6
1111  CALL csysvxx( 'N', 'U', 2, 0, a, 1, af, 2, ip, eq, r, b, 2, x,
1112  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1113  $ err_bnds_c, nparams, params, w, rw, info )
1114  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1115  infot = 8
1116  CALL csysvxx( 'N', 'U', 2, 0, a, 2, af, 1, ip, eq, r, b, 2, x,
1117  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1118  $ err_bnds_c, nparams, params, w, rw, info )
1119  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1120  infot = 10
1121  CALL csysvxx( 'F', 'U', 2, 0, a, 2, af, 2, ip, 'A', r, b, 2, x,
1122  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1123  $ err_bnds_c, nparams, params, w, rw, info )
1124  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1125  infot = 11
1126  eq='Y'
1127  CALL csysvxx( 'F', 'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1128  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1129  $ err_bnds_c, nparams, params, w, rw, info )
1130  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1131  infot = 11
1132  eq='Y'
1133  r(1) = -one
1134  CALL csysvxx( 'F', 'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1135  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1136  $ err_bnds_c, nparams, params, w, rw, info )
1137  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1138  infot = 13
1139  eq = 'N'
1140  CALL csysvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 1, x,
1141  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1142  $ err_bnds_c, nparams, params, w, rw, info )
1143  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1144  infot = 15
1145  CALL csysvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
1146  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
1147  $ err_bnds_c, nparams, params, w, rw, info )
1148  CALL chkxer( 'CSYSVXX', infot, nout, lerr, ok )
1149 *
1150  ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
1151 *
1152 * CSYSV_ROOK
1153 *
1154  srnamt = 'CSYSV_ROOK'
1155  infot = 1
1156  CALL csysv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
1157  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1158  infot = 2
1159  CALL csysv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
1160  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1161  infot = 3
1162  CALL csysv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
1163  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1164  infot = 8
1165  CALL csysv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
1166  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1167  infot = 10
1168  CALL csysv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
1169  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1170  infot = 10
1171  CALL csysv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
1172  CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
1173 *
1174  ELSE IF( lsamen( 2, c2, 'SK' ) ) THEN
1175 *
1176 * CSYSV_RK
1177 *
1178 * Test error exits of the driver that uses factorization
1179 * of a symmetric indefinite matrix with rook
1180 * (bounded Bunch-Kaufman) pivoting with the new storage
1181 * format for factors L ( or U) and D.
1182 *
1183 * L (or U) is stored in A, diagonal of D is stored on the
1184 * diagonal of A, subdiagonal of D is stored in a separate array E.
1185 *
1186  srnamt = 'CSYSV_RK'
1187  infot = 1
1188  CALL csysv_rk( '/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
1189  CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
1190  infot = 2
1191  CALL csysv_rk( 'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
1192  CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
1193  infot = 3
1194  CALL csysv_rk( 'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
1195  CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
1196  infot = 5
1197  CALL csysv_rk( 'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
1198  CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
1199  infot = 9
1200  CALL csysv_rk( 'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
1201  CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
1202  infot = 11
1203  CALL csysv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
1204  CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
1205  infot = 11
1206  CALL csysv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
1207  CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
1208 *
1209  ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
1210 *
1211 * CSPSV
1212 *
1213  srnamt = 'CSPSV '
1214  infot = 1
1215  CALL cspsv( '/', 0, 0, a, ip, b, 1, info )
1216  CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
1217  infot = 2
1218  CALL cspsv( 'U', -1, 0, a, ip, b, 1, info )
1219  CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
1220  infot = 3
1221  CALL cspsv( 'U', 0, -1, a, ip, b, 1, info )
1222  CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
1223  infot = 7
1224  CALL cspsv( 'U', 2, 0, a, ip, b, 1, info )
1225  CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
1226 *
1227 * CSPSVX
1228 *
1229  srnamt = 'CSPSVX'
1230  infot = 1
1231  CALL cspsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1232  $ r2, w, rw, info )
1233  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1234  infot = 2
1235  CALL cspsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1236  $ r2, w, rw, info )
1237  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1238  infot = 3
1239  CALL cspsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
1240  $ r2, w, rw, info )
1241  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1242  infot = 4
1243  CALL cspsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
1244  $ r2, w, rw, info )
1245  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1246  infot = 9
1247  CALL cspsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
1248  $ r2, w, rw, info )
1249  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1250  infot = 11
1251  CALL cspsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
1252  $ r2, w, rw, info )
1253  CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
1254  END IF
1255 *
1256 * Print a summary line.
1257 *
1258  IF( ok ) THEN
1259  WRITE( nout, fmt = 9999 )path
1260  ELSE
1261  WRITE( nout, fmt = 9998 )path
1262  END IF
1263 *
1264  9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
1265  9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
1266  $ 'exits ***' )
1267 *
1268  RETURN
1269 *
1270 * End of CERRVX
1271 *
1272  END
subroutine csysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_RK computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: csysv_rk.f:230
subroutine cgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
CGTSV computes the solution to system of linear equations A * X = B for GT matrices ...
Definition: cgtsv.f:126
subroutine cgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
CGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver) ...
Definition: cgbsv.f:164
subroutine cposvxx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CPOSVXX computes the solution to system of linear equations A * X = B for PO matrices ...
Definition: cposvxx.f:498
subroutine chesvxx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, S, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CHESVXX computes the solution to system of linear equations A * X = B for HE matrices ...
Definition: chesvxx.f:511
subroutine cppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: cppsvx.f:313
subroutine cppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
CPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: cppsv.f:146
subroutine chesv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_ROOK computes the solution to a system of linear equations A * X = B for HE matrices using the ...
Definition: chesv_rook.f:207
subroutine cerrvx(PATH, NUNIT)
CERRVX
Definition: cerrvx.f:57
subroutine cgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGTSVX computes the solution to system of linear equations A * X = B for GT matrices ...
Definition: cgtsvx.f:296
subroutine chesv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV computes the solution to system of linear equations A * X = B for HE matrices ...
Definition: chesv.f:173
subroutine cptsv(N, NRHS, D, E, B, LDB, INFO)
CPTSV computes the solution to system of linear equations A * X = B for PT matrices ...
Definition: cptsv.f:117
subroutine cpbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
CPBSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: cpbsv.f:166
subroutine cspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: cspsvx.f:279
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3199
subroutine csysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: csysv_rook.f:206
subroutine csysvxx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, S, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CSYSVXX computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: csysvxx.f:511
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:76
subroutine chesvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
CHESVX computes the solution to system of linear equations A * X = B for HE matrices ...
Definition: chesvx.f:287
subroutine cgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGESVX computes the solution to system of linear equations A * X = B for GE matrices ...
Definition: cgesvx.f:352
subroutine cgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGBSVX computes the solution to system of linear equations A * X = B for GB matrices ...
Definition: cgbsvx.f:372
subroutine chpsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CHPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: chpsvx.f:279
subroutine cgbsvxx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CGBSVXX computes the solution to system of linear equations A * X = B for GB matrices ...
Definition: cgbsvxx.f:565
subroutine csysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
CSYSVX computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: csysvx.f:287
subroutine cposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPOSVX computes the solution to system of linear equations A * X = B for PO matrices ...
Definition: cposvx.f:308
subroutine csysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: csysv.f:173
subroutine cposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
CPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
Definition: cposv.f:132
subroutine chpsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CHPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: chpsv.f:164
subroutine cpbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: cpbsvx.f:344
subroutine cptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
Definition: cptsvx.f:236
subroutine chesv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_RK computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: chesv_rk.f:230
subroutine cgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver) ...
Definition: cgesv.f:124
subroutine cgesvxx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK, INFO)
CGESVXX computes the solution to system of linear equations A * X = B for GE matrices ...
Definition: cgesvxx.f:545
subroutine cspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CSPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: cspsv.f:164