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