LAPACK  3.5.0
LAPACK: Linear Algebra PACKage
 All Classes Files Functions Variables Typedefs Macros
serrvxx.f
Go to the documentation of this file.
1 *> \brief \b SERRVXX
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 SERRVX( 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 *> SERRVX tests the error exits for the REAL 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 single_lin
54 *
55 * =====================================================================
56  SUBROUTINE serrvx( 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 ), iw( nmax )
82  REAL a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
83  $ c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
84  $ w( 2*nmax ), x( nmax ), err_bnds_n( nmax, 3 ),
85  $ err_bnds_c( nmax, 3 ), params( 1 )
86 * ..
87 * .. External Functions ..
88  LOGICAL lsamen
89  EXTERNAL lsamen
90 * ..
91 * .. External Subroutines ..
92  EXTERNAL chkxer, sgbsv, sgbsvx, sgesv, sgesvx, sgtsv,
96  $ sgbsvxx
97 * ..
98 * .. Scalars in Common ..
99  LOGICAL lerr, ok
100  CHARACTER*32 srnamt
101  INTEGER infot, nout
102 * ..
103 * .. Common blocks ..
104  COMMON / infoc / infot, nout, ok, lerr
105  COMMON / srnamc / srnamt
106 * ..
107 * .. Intrinsic Functions ..
108  INTRINSIC real
109 * ..
110 * .. Executable Statements ..
111 *
112  nout = nunit
113  WRITE( nout, fmt = * )
114  c2 = path( 2: 3 )
115 *
116 * Set the variables to innocuous values.
117 *
118  DO 20 j = 1, nmax
119  DO 10 i = 1, nmax
120  a( i, j ) = 1. / REAL( i+j )
121  af( i, j ) = 1. / REAL( i+j )
122  10 CONTINUE
123  b( j ) = 0.
124  r1( j ) = 0.
125  r2( j ) = 0.
126  w( j ) = 0.
127  x( j ) = 0.
128  c( j ) = 0.
129  r( j ) = 0.
130  ip( j ) = j
131  20 CONTINUE
132  eq = ' '
133  ok = .true.
134 *
135  IF( lsamen( 2, c2, 'GE' ) ) THEN
136 *
137 * SGESV
138 *
139  srnamt = 'SGESV '
140  infot = 1
141  CALL sgesv( -1, 0, a, 1, ip, b, 1, info )
142  CALL chkxer( 'SGESV ', infot, nout, lerr, ok )
143  infot = 2
144  CALL sgesv( 0, -1, a, 1, ip, b, 1, info )
145  CALL chkxer( 'SGESV ', infot, nout, lerr, ok )
146  infot = 4
147  CALL sgesv( 2, 1, a, 1, ip, b, 2, info )
148  CALL chkxer( 'SGESV ', infot, nout, lerr, ok )
149  infot = 7
150  CALL sgesv( 2, 1, a, 2, ip, b, 1, info )
151  CALL chkxer( 'SGESV ', infot, nout, lerr, ok )
152 *
153 * SGESVX
154 *
155  srnamt = 'SGESVX'
156  infot = 1
157  CALL sgesvx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
158  $ x, 1, rcond, r1, r2, w, iw, info )
159  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
160  infot = 2
161  CALL sgesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
162  $ x, 1, rcond, r1, r2, w, iw, info )
163  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
164  infot = 3
165  CALL sgesvx( 'N', 'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
166  $ x, 1, rcond, r1, r2, w, iw, info )
167  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
168  infot = 4
169  CALL sgesvx( 'N', 'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
170  $ x, 1, rcond, r1, r2, w, iw, info )
171  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
172  infot = 6
173  CALL sgesvx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
174  $ x, 2, rcond, r1, r2, w, iw, info )
175  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
176  infot = 8
177  CALL sgesvx( 'N', 'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
178  $ x, 2, rcond, r1, r2, w, iw, info )
179  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
180  infot = 10
181  eq = '/'
182  CALL sgesvx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
183  $ x, 1, rcond, r1, r2, w, iw, info )
184  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
185  infot = 11
186  eq = 'R'
187  CALL sgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
188  $ x, 1, rcond, r1, r2, w, iw, info )
189  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
190  infot = 12
191  eq = 'C'
192  CALL sgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
193  $ x, 1, rcond, r1, r2, w, iw, info )
194  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
195  infot = 14
196  CALL sgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
197  $ x, 2, rcond, r1, r2, w, iw, info )
198  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
199  infot = 16
200  CALL sgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
201  $ x, 1, rcond, r1, r2, w, iw, info )
202  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
203 *
204 * SGESVXX
205 *
206  n_err_bnds = 3
207  nparams = 1
208  srnamt = 'SGESVXX'
209  infot = 1
210  CALL sgesvxx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
211  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
212  $ err_bnds_c, nparams, params, w, iw, info )
213  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
214  infot = 2
215  CALL sgesvxx( '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, iw, info )
218  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
219  infot = 3
220  CALL sgesvxx( 'N', 'N', -1, 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, iw, info )
223  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
224  infot = 4
225  CALL sgesvxx( 'N', 'N', 0, -1, 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, iw, info )
228  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
229  infot = 6
230  CALL sgesvxx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
231  $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
232  $ err_bnds_c, nparams, params, w, iw, info )
233  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
234  infot = 8
235  CALL sgesvxx( 'N', 'N', 2, 1, a, 2, af, 1, 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, iw, info )
238  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
239  infot = 10
240  eq = '/'
241  CALL sgesvxx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
242  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
243  $ err_bnds_c, nparams, params, w, iw, info )
244  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
245  infot = 11
246  eq = 'R'
247  CALL sgesvxx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
248  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
249  $ err_bnds_c, nparams, params, w, iw, info )
250  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
251  infot = 12
252  eq = 'C'
253  CALL sgesvxx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
254  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
255  $ err_bnds_c, nparams, params, w, iw, info )
256  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
257  infot = 14
258  CALL sgesvxx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
259  $ x, 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
260  $ err_bnds_c, nparams, params, w, iw, info )
261  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
262  infot = 16
263  CALL sgesvxx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
264  $ x, 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
265  $ err_bnds_c, nparams, params, w, iw, info )
266  CALL chkxer( 'SGESVXX', infot, nout, lerr, ok )
267 *
268  ELSE IF( lsamen( 2, c2, 'GB' ) ) THEN
269 *
270 * SGBSV
271 *
272  srnamt = 'SGBSV '
273  infot = 1
274  CALL sgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
275  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
276  infot = 2
277  CALL sgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
278  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
279  infot = 3
280  CALL sgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
281  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
282  infot = 4
283  CALL sgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
284  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
285  infot = 6
286  CALL sgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
287  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
288  infot = 9
289  CALL sgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
290  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
291 *
292 * SGBSVX
293 *
294  srnamt = 'SGBSVX'
295  infot = 1
296  CALL sgbsvx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
297  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
298  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
299  infot = 2
300  CALL sgbsvx( 'N', '/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
301  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
302  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
303  infot = 3
304  CALL sgbsvx( 'N', 'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
305  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
306  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
307  infot = 4
308  CALL sgbsvx( 'N', 'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
309  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
310  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
311  infot = 5
312  CALL sgbsvx( 'N', 'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
313  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
314  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
315  infot = 6
316  CALL sgbsvx( 'N', 'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
317  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
318  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
319  infot = 8
320  CALL sgbsvx( 'N', 'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
321  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
322  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
323  infot = 10
324  CALL sgbsvx( 'N', 'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
325  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
326  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
327  infot = 12
328  eq = '/'
329  CALL sgbsvx( 'F', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
330  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
331  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
332  infot = 13
333  eq = 'R'
334  CALL sgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
335  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
336  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
337  infot = 14
338  eq = 'C'
339  CALL sgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
340  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
341  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
342  infot = 16
343  CALL sgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
344  $ b, 1, x, 2, rcond, r1, r2, w, iw, info )
345  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
346  infot = 18
347  CALL sgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
348  $ b, 2, x, 1, rcond, r1, r2, w, iw, info )
349  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
350 *
351 * SGBSVXX
352 *
353  n_err_bnds = 3
354  nparams = 1
355  srnamt = 'SGBSVXX'
356  infot = 1
357  CALL sgbsvxx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
358  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
359  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
360  $ info )
361  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
362  infot = 2
363  CALL sgbsvxx( 'N', '/', 0, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
364  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
365  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
366  $ info )
367  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
368  infot = 3
369  CALL sgbsvxx( 'N', 'N', -1, 1, 1, 0, a, 1, af, 1, ip, eq, r, c,
370  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
371  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
372  $ info )
373  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
374  infot = 4
375  CALL sgbsvxx( 'N', 'N', 2, -1, 1, 0, a, 1, af, 1, ip, eq,
376  $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
377  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
378  $ info )
379  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
380  infot = 5
381  CALL sgbsvxx( 'N', 'N', 2, 1, -1, 0, a, 1, af, 1, ip, eq,
382  $ r, c, b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
383  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
384  $ info )
385  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
386  infot = 6
387  CALL sgbsvxx( 'N', 'N', 0, 1, 1, -1, a, 1, af, 1, ip, eq, r, c,
388  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
389  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
390  $ info )
391  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
392  infot = 8
393  CALL sgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 2, af, 2, ip, eq, r, c,
394  $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
395  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
396  $ info )
397  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
398  infot = 10
399  CALL sgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 3, ip, eq, r, c,
400  $ b, 2, x, 2, rcond, rpvgrw, berr, n_err_bnds,
401  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
402  $ info )
403  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
404  infot = 12
405  eq = '/'
406  CALL sgbsvxx( 'F', 'N', 0, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
407  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
408  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
409  $ info )
410  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
411  infot = 13
412  eq = 'R'
413  CALL sgbsvxx( 'F', 'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
414  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
415  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
416  $ info )
417  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
418  infot = 14
419  eq = 'C'
420  CALL sgbsvxx( 'F', 'N', 1, 1, 1, 0, a, 3, af, 4, ip, eq, r, c,
421  $ b, 1, x, 1, rcond, rpvgrw, berr, n_err_bnds,
422  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
423  $ info )
424  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
425  infot = 15
426  CALL sgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
427  $ b, 1, x, 2, rcond, rpvgrw, berr, n_err_bnds,
428  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
429  $ info )
430  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
431  infot = 16
432  CALL sgbsvxx( 'N', 'N', 2, 1, 1, 1, a, 3, af, 4, ip, eq, r, c,
433  $ b, 2, x, 1, rcond, rpvgrw, berr, n_err_bnds,
434  $ err_bnds_n, err_bnds_c, nparams, params, w, iw,
435  $ info )
436  CALL chkxer( 'SGBSVXX', infot, nout, lerr, ok )
437 *
438  ELSE IF( lsamen( 2, c2, 'GT' ) ) THEN
439 *
440 * SGTSV
441 *
442  srnamt = 'SGTSV '
443  infot = 1
444  CALL sgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
445  $ info )
446  CALL chkxer( 'SGTSV ', infot, nout, lerr, ok )
447  infot = 2
448  CALL sgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
449  $ info )
450  CALL chkxer( 'SGTSV ', infot, nout, lerr, ok )
451  infot = 7
452  CALL sgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
453  CALL chkxer( 'SGTSV ', infot, nout, lerr, ok )
454 *
455 * SGTSVX
456 *
457  srnamt = 'SGTSVX'
458  infot = 1
459  CALL sgtsvx( '/', 'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
460  $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
461  $ ip, b, 1, x, 1, rcond, r1, r2, w, iw, info )
462  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
463  infot = 2
464  CALL sgtsvx( '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, iw, info )
467  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
468  infot = 3
469  CALL sgtsvx( 'N', 'N', -1, 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, iw, info )
472  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
473  infot = 4
474  CALL sgtsvx( 'N', 'N', 0, -1, 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, iw, info )
477  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
478  infot = 14
479  CALL sgtsvx( 'N', 'N', 2, 0, 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, 2, rcond, r1, r2, w, iw, info )
482  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
483  infot = 16
484  CALL sgtsvx( '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, 2, x, 1, rcond, r1, r2, w, iw, info )
487  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
488 *
489  ELSE IF( lsamen( 2, c2, 'PO' ) ) THEN
490 *
491 * SPOSV
492 *
493  srnamt = 'SPOSV '
494  infot = 1
495  CALL sposv( '/', 0, 0, a, 1, b, 1, info )
496  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
497  infot = 2
498  CALL sposv( 'U', -1, 0, a, 1, b, 1, info )
499  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
500  infot = 3
501  CALL sposv( 'U', 0, -1, a, 1, b, 1, info )
502  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
503  infot = 5
504  CALL sposv( 'U', 2, 0, a, 1, b, 2, info )
505  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
506  infot = 7
507  CALL sposv( 'U', 2, 0, a, 2, b, 1, info )
508  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
509 *
510 * SPOSVX
511 *
512  srnamt = 'SPOSVX'
513  infot = 1
514  CALL sposvx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
515  $ rcond, r1, r2, w, iw, info )
516  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
517  infot = 2
518  CALL sposvx( 'N', '/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
519  $ rcond, r1, r2, w, iw, info )
520  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
521  infot = 3
522  CALL sposvx( 'N', 'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
523  $ rcond, r1, r2, w, iw, info )
524  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
525  infot = 4
526  CALL sposvx( 'N', 'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
527  $ rcond, r1, r2, w, iw, info )
528  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
529  infot = 6
530  CALL sposvx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
531  $ rcond, r1, r2, w, iw, info )
532  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
533  infot = 8
534  CALL sposvx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
535  $ rcond, r1, r2, w, iw, info )
536  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
537  infot = 9
538  eq = '/'
539  CALL sposvx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
540  $ rcond, r1, r2, w, iw, info )
541  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
542  infot = 10
543  eq = 'Y'
544  CALL sposvx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
545  $ rcond, r1, r2, w, iw, info )
546  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
547  infot = 12
548  CALL sposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
549  $ rcond, r1, r2, w, iw, info )
550  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
551  infot = 14
552  CALL sposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
553  $ rcond, r1, r2, w, iw, info )
554  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
555 *
556 * SPOSVXX
557 *
558  n_err_bnds = 3
559  nparams = 1
560  srnamt = 'SPOSVXX'
561  infot = 1
562  CALL sposvxx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
563  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
564  $ err_bnds_c, nparams, params, w, iw, info )
565  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
566  infot = 2
567  CALL sposvxx( 'N', '/', 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, iw, info )
570  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
571  infot = 3
572  CALL sposvxx( 'N', 'U', -1, 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, iw, info )
575  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
576  infot = 4
577  CALL sposvxx( 'N', 'U', 0, -1, 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, iw, info )
580  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
581  infot = 6
582  CALL sposvxx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
583  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
584  $ err_bnds_c, nparams, params, w, iw, info )
585  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
586  infot = 8
587  CALL sposvxx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
588  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
589  $ err_bnds_c, nparams, params, w, iw, info )
590  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
591  infot = 9
592  eq = '/'
593  CALL sposvxx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
594  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
595  $ err_bnds_c, nparams, params, w, iw, info )
596  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
597  infot = 10
598  eq = 'Y'
599  CALL sposvxx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
600  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
601  $ err_bnds_c, nparams, params, w, iw, info )
602  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
603  infot = 12
604  CALL sposvxx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
605  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
606  $ err_bnds_c, nparams, params, w, iw, info )
607  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
608  infot = 14
609  CALL sposvxx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
610  $ rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
611  $ err_bnds_c, nparams, params, w, iw, info )
612  CALL chkxer( 'SPOSVXX', infot, nout, lerr, ok )
613 *
614  ELSE IF( lsamen( 2, c2, 'PP' ) ) THEN
615 *
616 * SPPSV
617 *
618  srnamt = 'SPPSV '
619  infot = 1
620  CALL sppsv( '/', 0, 0, a, b, 1, info )
621  CALL chkxer( 'SPPSV ', infot, nout, lerr, ok )
622  infot = 2
623  CALL sppsv( 'U', -1, 0, a, b, 1, info )
624  CALL chkxer( 'SPPSV ', infot, nout, lerr, ok )
625  infot = 3
626  CALL sppsv( 'U', 0, -1, a, b, 1, info )
627  CALL chkxer( 'SPPSV ', infot, nout, lerr, ok )
628  infot = 6
629  CALL sppsv( 'U', 2, 0, a, b, 1, info )
630  CALL chkxer( 'SPPSV ', infot, nout, lerr, ok )
631 *
632 * SPPSVX
633 *
634  srnamt = 'SPPSVX'
635  infot = 1
636  CALL sppsvx( '/', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
637  $ r1, r2, w, iw, info )
638  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
639  infot = 2
640  CALL sppsvx( 'N', '/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
641  $ r1, r2, w, iw, info )
642  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
643  infot = 3
644  CALL sppsvx( 'N', 'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
645  $ r1, r2, w, iw, info )
646  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
647  infot = 4
648  CALL sppsvx( 'N', 'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
649  $ r1, r2, w, iw, info )
650  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
651  infot = 7
652  eq = '/'
653  CALL sppsvx( 'F', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
654  $ r1, r2, w, iw, info )
655  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
656  infot = 8
657  eq = 'Y'
658  CALL sppsvx( 'F', 'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
659  $ r1, r2, w, iw, info )
660  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
661  infot = 10
662  CALL sppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
663  $ r1, r2, w, iw, info )
664  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
665  infot = 12
666  CALL sppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
667  $ r1, r2, w, iw, info )
668  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
669 *
670  ELSE IF( lsamen( 2, c2, 'PB' ) ) THEN
671 *
672 * SPBSV
673 *
674  srnamt = 'SPBSV '
675  infot = 1
676  CALL spbsv( '/', 0, 0, 0, a, 1, b, 1, info )
677  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
678  infot = 2
679  CALL spbsv( 'U', -1, 0, 0, a, 1, b, 1, info )
680  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
681  infot = 3
682  CALL spbsv( 'U', 1, -1, 0, a, 1, b, 1, info )
683  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
684  infot = 4
685  CALL spbsv( 'U', 0, 0, -1, a, 1, b, 1, info )
686  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
687  infot = 6
688  CALL spbsv( 'U', 1, 1, 0, a, 1, b, 2, info )
689  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
690  infot = 8
691  CALL spbsv( 'U', 2, 0, 0, a, 1, b, 1, info )
692  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
693 *
694 * SPBSVX
695 *
696  srnamt = 'SPBSVX'
697  infot = 1
698  CALL spbsvx( '/', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
699  $ rcond, r1, r2, w, iw, info )
700  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
701  infot = 2
702  CALL spbsvx( 'N', '/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
703  $ rcond, r1, r2, w, iw, info )
704  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
705  infot = 3
706  CALL spbsvx( 'N', 'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
707  $ 1, rcond, r1, r2, w, iw, info )
708  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
709  infot = 4
710  CALL spbsvx( 'N', 'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
711  $ 1, rcond, r1, r2, w, iw, info )
712  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
713  infot = 5
714  CALL spbsvx( 'N', 'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
715  $ 1, rcond, r1, r2, w, iw, info )
716  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
717  infot = 7
718  CALL spbsvx( 'N', 'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
719  $ rcond, r1, r2, w, iw, info )
720  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
721  infot = 9
722  CALL spbsvx( 'N', 'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
723  $ rcond, r1, r2, w, iw, info )
724  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
725  infot = 10
726  eq = '/'
727  CALL spbsvx( 'F', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
728  $ rcond, r1, r2, w, iw, info )
729  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
730  infot = 11
731  eq = 'Y'
732  CALL spbsvx( 'F', 'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
733  $ rcond, r1, r2, w, iw, info )
734  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
735  infot = 13
736  CALL spbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
737  $ rcond, r1, r2, w, iw, info )
738  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
739  infot = 15
740  CALL spbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
741  $ rcond, r1, r2, w, iw, info )
742  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
743 *
744  ELSE IF( lsamen( 2, c2, 'PT' ) ) THEN
745 *
746 * SPTSV
747 *
748  srnamt = 'SPTSV '
749  infot = 1
750  CALL sptsv( -1, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
751  CALL chkxer( 'SPTSV ', infot, nout, lerr, ok )
752  infot = 2
753  CALL sptsv( 0, -1, a( 1, 1 ), a( 1, 2 ), b, 1, info )
754  CALL chkxer( 'SPTSV ', infot, nout, lerr, ok )
755  infot = 6
756  CALL sptsv( 2, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
757  CALL chkxer( 'SPTSV ', infot, nout, lerr, ok )
758 *
759 * SPTSVX
760 *
761  srnamt = 'SPTSVX'
762  infot = 1
763  CALL sptsvx( '/', 0, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
764  $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
765  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
766  infot = 2
767  CALL sptsvx( 'N', -1, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
768  $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
769  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
770  infot = 3
771  CALL sptsvx( 'N', 0, -1, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
772  $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
773  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
774  infot = 9
775  CALL sptsvx( 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
776  $ af( 1, 2 ), b, 1, x, 2, rcond, r1, r2, w, info )
777  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
778  infot = 11
779  CALL sptsvx( 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
780  $ af( 1, 2 ), b, 2, x, 1, rcond, r1, r2, w, info )
781  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
782 *
783  ELSE IF( lsamen( 2, c2, 'SY' ) ) THEN
784 *
785 * SSYSV
786 *
787  srnamt = 'SSYSV '
788  infot = 1
789  CALL ssysv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
790  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
791  infot = 2
792  CALL ssysv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
793  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
794  infot = 3
795  CALL ssysv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
796  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
797  infot = 8
798  CALL ssysv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
799  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
800 *
801 * SSYSVX
802 *
803  srnamt = 'SSYSVX'
804  infot = 1
805  CALL ssysvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
806  $ rcond, r1, r2, w, 1, iw, info )
807  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
808  infot = 2
809  CALL ssysvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
810  $ rcond, r1, r2, w, 1, iw, info )
811  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
812  infot = 3
813  CALL ssysvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
814  $ rcond, r1, r2, w, 1, iw, info )
815  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
816  infot = 4
817  CALL ssysvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
818  $ rcond, r1, r2, w, 1, iw, info )
819  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
820  infot = 6
821  CALL ssysvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
822  $ rcond, r1, r2, w, 4, iw, info )
823  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
824  infot = 8
825  CALL ssysvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
826  $ rcond, r1, r2, w, 4, iw, info )
827  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
828  infot = 11
829  CALL ssysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
830  $ rcond, r1, r2, w, 4, iw, info )
831  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
832  infot = 13
833  CALL ssysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
834  $ rcond, r1, r2, w, 4, iw, info )
835  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
836  infot = 18
837  CALL ssysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
838  $ rcond, r1, r2, w, 3, iw, info )
839  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
840 *
841 * SSYSVXX
842 *
843  n_err_bnds = 3
844  nparams = 1
845  srnamt = 'SSYSVXX'
846  infot = 1
847  eq = 'N'
848  CALL ssysvxx( '/', 'U', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
849  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
850  $ err_bnds_c, nparams, params, w, iw, info )
851  CALL chkxer( 'SSYSVXX', infot, nout, lerr, ok )
852  infot = 2
853  CALL ssysvxx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
854  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
855  $ err_bnds_c, nparams, params, w, iw, info )
856  CALL chkxer( 'SSYSVXX', infot, nout, lerr, ok )
857  infot = 3
858  CALL ssysvxx( 'N', 'U', -1, 0, a, 1, af, 1, ip, eq, r, b, 1, x,
859  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
860  $ err_bnds_c, nparams, params, w, iw, info )
861  CALL chkxer( 'SSYSVXX', infot, nout, lerr, ok )
862  infot = 4
863  eq = '/'
864  CALL ssysvxx( 'N', 'U', 0, -1, a, 1, af, 1, ip, eq, r, b, 1, x,
865  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
866  $ err_bnds_c, nparams, params, w, iw, info )
867  CALL chkxer( 'SSYSVXX', infot, nout, lerr, ok )
868  eq = 'Y'
869  infot = 6
870  CALL ssysvxx( 'N', 'U', 2, 0, a, 1, af, 2, ip, eq, r, b, 2, x,
871  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
872  $ err_bnds_c, nparams, params, w, iw, info )
873  CALL chkxer( 'SSYSVXX', infot, nout, lerr, ok )
874  infot = 8
875  CALL ssysvxx( 'N', 'U', 2, 0, a, 2, af, 1, ip, eq, r, b, 2, x,
876  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
877  $ err_bnds_c, nparams, params, w, iw, info )
878  CALL chkxer( 'SSYSVXX', infot, nout, lerr, ok )
879  infot = 12
880  eq = 'N'
881  CALL ssysvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 1, x,
882  $ 2, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
883  $ err_bnds_c, nparams, params, w, iw, info )
884  CALL chkxer( 'SSYSVXX', infot, nout, lerr, ok )
885  infot = 14
886  CALL ssysvxx( 'N', 'U', 2, 0, a, 2, af, 2, ip, eq, r, b, 2, x,
887  $ 1, rcond, rpvgrw, berr, n_err_bnds, err_bnds_n,
888  $ err_bnds_c, nparams, params, w, iw, info )
889  CALL chkxer( 'SSYSVXX', infot, nout, lerr, ok )
890 *
891 * SSYSV_ROOK
892 *
893  srnamt = 'SSYSV_ROOK'
894  infot = 1
895  CALL ssysv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
896  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
897  infot = 2
898  CALL ssysv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
899  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
900  infot = 3
901  CALL ssysv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
902  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
903  infot = 8
904  CALL ssysv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
905  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
906 *
907  ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
908 *
909 * SSPSV
910 *
911  srnamt = 'SSPSV '
912  infot = 1
913  CALL sspsv( '/', 0, 0, a, ip, b, 1, info )
914  CALL chkxer( 'SSPSV ', infot, nout, lerr, ok )
915  infot = 2
916  CALL sspsv( 'U', -1, 0, a, ip, b, 1, info )
917  CALL chkxer( 'SSPSV ', infot, nout, lerr, ok )
918  infot = 3
919  CALL sspsv( 'U', 0, -1, a, ip, b, 1, info )
920  CALL chkxer( 'SSPSV ', infot, nout, lerr, ok )
921  infot = 7
922  CALL sspsv( 'U', 2, 0, a, ip, b, 1, info )
923  CALL chkxer( 'SSPSV ', infot, nout, lerr, ok )
924 *
925 * SSPSVX
926 *
927  srnamt = 'SSPSVX'
928  infot = 1
929  CALL sspsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
930  $ r2, w, iw, info )
931  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
932  infot = 2
933  CALL sspsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
934  $ r2, w, iw, info )
935  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
936  infot = 3
937  CALL sspsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
938  $ r2, w, iw, info )
939  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
940  infot = 4
941  CALL sspsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
942  $ r2, w, iw, info )
943  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
944  infot = 9
945  CALL sspsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
946  $ r2, w, iw, info )
947  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
948  infot = 11
949  CALL sspsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
950  $ r2, w, iw, info )
951  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
952  END IF
953 *
954 * Print a summary line.
955 *
956  IF( ok ) THEN
957  WRITE( nout, fmt = 9999 )path
958  ELSE
959  WRITE( nout, fmt = 9998 )path
960  END IF
961 *
962  9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
963  9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
964  $ 'exits ***' )
965 *
966  RETURN
967 *
968 * End of SERRVX
969 *
970  END