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