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
subroutine sptsv(N, NRHS, D, E, B, LDB, INFO)
SPTSV computes the solution to system of linear equations A * X = B for PT matrices ...
Definition: sptsv.f:115
subroutine ssysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: ssysv.f:171
subroutine sppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: sppsvx.f:312
subroutine sposvxx(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, IWORK, INFO)
SPOSVXX computes the solution to system of linear equations A * X = B for PO matrices ...
Definition: sposvxx.f:495
subroutine sgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
SGTSV computes the solution to system of linear equations A * X = B for GT matrices ...
Definition: sgtsv.f:128
subroutine sposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
SPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
Definition: sposv.f:131
subroutine sspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: sspsvx.f:277
subroutine sgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
SGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver) ...
Definition: sgesv.f:123
subroutine sgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGESVX computes the solution to system of linear equations A * X = B for GE matrices ...
Definition: sgesvx.f:348
subroutine sppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
SPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: sppsv.f:145
subroutine spbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
SPBSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: spbsv.f:165
subroutine sgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGBSVX computes the solution to system of linear equations A * X = B for GB matrices ...
Definition: sgbsvx.f:367
subroutine ssysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, IWORK, INFO)
SSYSVX computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: ssysvx.f:283
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3198
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine sgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
SGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver) ...
Definition: sgbsv.f:163
subroutine ssysvxx(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, IWORK, INFO)
SSYSVXX
Definition: ssysvxx.f:506
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:75
subroutine sposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPOSVX computes the solution to system of linear equations A * X = B for PO matrices ...
Definition: sposvx.f:306
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
Definition: xerbla-fortran:9
subroutine sspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
SSPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: sspsv.f:163
subroutine sgbsvxx(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, IWORK, INFO)
SGBSVXX computes the solution to system of linear equations A * X = B for GB matrices ...
Definition: sgbsvxx.f:560
subroutine sgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGTSVX computes the solution to system of linear equations A * X = B for GT matrices ...
Definition: sgtsvx.f:292
subroutine sptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, INFO)
SPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
Definition: sptsvx.f:228
subroutine sgesvxx(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, IWORK, INFO)
SGESVXX computes the solution to system of linear equations A * X = B for GE matrices ...
Definition: sgesvxx.f:540
subroutine spbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: spbsvx.f:342
subroutine serrvx(PATH, NUNIT)
SERRVX
Definition: serrvx.f:56
subroutine ssysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: ssysv_rook.f:204